From 428654cefbab8c2c651705354f5070d5c34e354c Mon Sep 17 00:00:00 2001 From: Huaweicloud-SDK Date: Sat, 31 Oct 2020 16:58:12 +0800 Subject: [PATCH] release 0.0.19-beta source code for go --- CHANGELOG.md | 71 +- CHANGELOG_CN.md | 71 +- core/converter/converters.go | 3 + core/converter/types.go | 85 +- core/def/field.go | 12 + core/def/field_tags.go | 26 - core/def/http_request_def.go | 23 +- core/def/http_response_def.go | 45 - core/hc_http_client.go | 170 +- core/response/default_http_response.go | 5 - core/sdktime/sdk_time.go | 6 + services/apig/v2/apig_client.go | 441 ++- services/apig/v2/apig_meta.go | 2139 +++++------- services/as/v1/as_client.go | 273 +- services/as/v1/as_meta.go | 1035 ++---- services/bss/v2/bss_client.go | 509 ++- services/bss/v2/bss_meta.go | 2021 +++++------- .../model_list_resource_types_request.go | 25 + .../model_list_resource_types_response.go | 25 + .../model_list_service_resources_request.go | 27 + .../model_list_service_resources_response.go | 27 + .../model/model_list_service_types_request.go | 25 + .../model_list_service_types_response.go | 25 + .../bss/v2/model/model_resource_basic_info.go | 30 + services/bss/v2/model/model_resource_type.go | 28 + .../v2/model/model_service_resource_info.go | 23 + services/bss/v2/model/model_service_type.go | 28 + .../model_sub_customer_res_fee_record_v2.go | 2 + services/cbr/v1/cbr_client.go | 297 +- services/cbr/v1/cbr_meta.go | 1038 +++--- .../cbr/v1/model/model_backup_extend_info.go | 2 +- ...ch_create_and_delete_vault_tags_request.go | 25 + ...h_create_and_delete_vault_tags_response.go | 23 + ...l_bulk_create_and_delete_vault_tags_req.go | 68 + .../model/model_create_vault_tags_request.go | 25 + .../model_create_vault_tags_response.go} | 8 +- .../model/model_delete_vault_tag_request.go | 25 + .../model/model_delete_vault_tag_response.go} | 8 +- services/cbr/v1/model/model_image_data.go | 25 + services/cbr/v1/model/model_match.go | 27 + .../model_show_vault_project_tag_request.go | 23 + .../model_show_vault_project_tag_response.go | 25 + ...l_show_vault_resource_instances_request.go | 24 + ..._show_vault_resource_instances_response.go | 27 + .../v1/model/model_show_vault_tag_request.go | 24 + .../v1/model/model_show_vault_tag_response.go | 27 + services/cbr/v1/model/model_sys_tags.go | 27 + services/cbr/v1/model/model_tags_req.go | 27 + .../model_vault_resource_instances_req.go | 122 + .../v1/model/model_vault_tags_create_req.go | 24 + services/ces/v1/ces_client.go | 150 +- services/ces/v1/ces_meta.go | 560 ++-- .../ces/v1/model/model_additional_info.go | 29 + .../ces/v1/model/model_alarm_history_info.go | 56 + services/ces/v1/model/model_alarm_template.go | 35 + .../model/model_alarm_template_condition.go | 37 + ...del_batch_list_metric_data_request_body.go | 4 +- services/ces/v1/model/model_condition.go | 1 + .../model_create_alarm_template_request.go | 25 + ...odel_create_alarm_template_request_body.go | 33 + .../model_create_alarm_template_response.go | 25 + .../model_data_point_for_alarm_history.go | 27 + .../model/model_datapoint_for_batch_metric.go | 10 +- .../model_delete_alarm_template_request.go | 25 + .../model_delete_alarm_template_response.go | 23 + services/ces/v1/model/model_event_item.go | 2 +- .../model_list_alarm_histories_request.go | 34 + .../model_list_alarm_histories_response.go | 26 + .../model_list_alarm_templates_request.go | 29 + .../model_list_alarm_templates_response.go | 26 + services/ces/v1/model/model_metric_alarms.go | 8 +- .../v1/model/model_metric_info_for_alarm.go | 33 + .../ces/v1/model/model_metrics_dimension.go | 4 +- services/ces/v1/model/model_resource_group.go | 29 + .../model_show_resource_group_request.go | 30 + .../model_show_resource_group_response.go | 36 + services/ces/v1/model/model_template_item.go | 28 + .../model_update_alarm_template_request.go | 26 + ...odel_update_alarm_template_request_body.go | 33 + .../model_update_alarm_template_response.go | 23 + services/classroom/v3/classroom_client.go | 56 +- services/classroom/v3/classroom_meta.go | 251 +- services/cloudide/v2/cloudide_client.go | 91 +- services/cloudide/v2/cloudide_meta.go | 340 +- .../v2/devcloudpipeline_client.go | 84 +- .../cloudpipeline/v2/devcloudpipeline_meta.go | 349 +- services/cts/v3/cts_client.go | 46 +- services/cts/v3/cts_meta.go | 170 +- .../cts/v3/model/model_data_bucket_query.go | 5 +- .../v3/model/model_list_quotas_request.go} | 8 +- .../v3/model/model_list_quotas_response.go | 25 + services/cts/v3/model/model_quota.go | 28 + services/devstar/v1/devStar_client.go | 101 +- services/devstar/v1/devStar_meta.go | 261 +- .../v1/model/model_codehub_job_info.go | 37 + ..._create_template_view_histories_request.go | 64 + ...create_template_view_histories_response.go | 27 + ...el_list_template_view_histories_request.go | 101 + ...l_list_template_view_histories_response.go | 27 + .../model/model_list_templates_v2_request.go | 65 + .../model/model_list_templates_v2_response.go | 27 + .../v1/model/model_pipeline_template_info.go | 28 + services/devstar/v1/model/model_reference.go | 30 + .../model_run_codehub_template_job_request.go | 64 + ...model_run_codehub_template_job_response.go | 25 + .../model/model_show_template_file_request.go | 104 + .../model_show_template_file_response.go | 33 + .../model/model_show_template_v3_request.go | 64 + .../model/model_show_template_v3_response.go | 77 + services/devstar/v1/model/model_tag_info.go | 26 + .../devstar/v1/model/model_template_info.go | 91 + .../v1/model/model_template_product_ext.go | 38 + .../v1/model/model_template_query_v2.go | 52 + .../v1/model/model_template_view_history.go | 26 + .../devstar/v1/model/model_templates_info.go | 26 + .../devstar/v1/model/model_topic_category.go | 30 + services/ecs/v2/ecs_client.go | 322 +- services/ecs/v2/ecs_meta.go | 1174 +++---- services/eip/v2/eip_client.go | 196 +- services/eip/v2/eip_meta.go | 708 ++-- services/eip/v3/eip_client.go | 28 +- services/eip/v3/eip_meta.go | 217 +- services/elb/v2/elb_client.go | 322 +- services/elb/v2/elb_meta.go | 1428 ++++---- services/elb/v3/elb_client.go | 366 +-- services/elb/v3/elb_meta.go | 1677 ++++------ .../elb/v3/model/model_availability_zone.go | 6 +- .../model_count_preoccupy_ip_num_request.go | 4 +- .../model_create_certificate_response.go | 2 +- .../model_create_health_monitor_option.go | 2 +- .../model_create_health_monitor_response.go | 2 +- .../model/model_create_ip_group_response.go | 2 +- .../model/model_create_l7_policy_response.go | 2 +- .../v3/model/model_create_l7_rule_response.go | 2 +- .../model/model_create_listener_response.go | 2 +- .../model_create_load_balancer_request.go | 3 +- .../model_create_load_balancer_response.go | 2 +- .../v3/model/model_create_member_response.go | 2 +- .../v3/model/model_create_pool_response.go | 2 +- .../v3/model/model_delete_member_request.go | 2 +- services/elb/v3/model/model_flavor.go | 2 +- services/elb/v3/model/model_health_monitor.go | 2 +- services/elb/v3/model/model_l7_rule.go | 2 +- .../model_list_availability_zones_response.go | 4 +- .../model/model_list_certificates_request.go | 12 +- .../model/model_list_certificates_response.go | 2 +- .../v3/model/model_list_flavors_request.go | 8 +- .../v3/model/model_list_flavors_response.go | 2 +- .../model_list_health_monitors_request.go | 22 +- .../model_list_health_monitors_response.go | 2 +- .../v3/model/model_list_ip_groups_request.go | 10 +- .../v3/model/model_list_ip_groups_response.go | 2 +- .../model/model_list_l7_policies_request.go | 22 +- .../model/model_list_l7_policies_response.go | 2 +- .../v3/model/model_list_l7_rules_request.go | 14 +- .../v3/model/model_list_l7_rules_response.go | 2 +- .../v3/model/model_list_listeners_request.go | 30 +- .../v3/model/model_list_listeners_response.go | 2 +- .../model_list_load_balancers_request.go | 44 +- .../model_list_load_balancers_response.go | 2 +- .../v3/model/model_list_members_request.go | 18 +- .../v3/model/model_list_members_response.go | 2 +- .../elb/v3/model/model_list_pools_request.go | 20 +- .../elb/v3/model/model_list_pools_response.go | 2 +- .../model/model_show_certificate_response.go | 2 +- .../v3/model/model_show_flavor_response.go | 2 +- .../model_show_health_monitor_response.go | 2 +- .../v3/model/model_show_ip_group_response.go | 2 +- .../v3/model/model_show_l7_policy_response.go | 2 +- .../v3/model/model_show_l7_rule_response.go | 2 +- .../v3/model/model_show_listener_response.go | 2 +- .../model_show_load_balancer_response.go | 2 +- ...odel_show_load_balancer_status_response.go | 2 +- .../elb/v3/model/model_show_member_request.go | 2 +- .../v3/model/model_show_member_response.go | 2 +- .../elb/v3/model/model_show_pool_response.go | 2 +- .../model_show_quota_defaults_response.go | 2 +- .../elb/v3/model/model_show_quota_response.go | 2 +- .../model_update_certificate_response.go | 2 +- .../model_update_health_monitor_option.go | 2 +- .../model_update_health_monitor_response.go | 2 +- .../model/model_update_ip_group_response.go | 2 +- .../model/model_update_l7_policy_response.go | 2 +- .../v3/model/model_update_l7_rule_response.go | 2 +- .../model/model_update_listener_response.go | 2 +- .../model_update_load_balancer_response.go | 2 +- .../v3/model/model_update_member_response.go | 2 +- .../v3/model/model_update_pool_response.go | 2 +- services/eps/v1/eps_client.go | 93 +- services/eps/v1/eps_meta.go | 271 +- ...odel_create_enterprise_project_request.go} | 6 +- ...del_create_enterprise_project_response.go} | 6 +- ...del_disable_enterprise_project_request.go} | 6 +- ...del_disable_enterprise_project_response.go | 23 + ...odel_enable_enterprise_project_request.go} | 6 +- ...odel_enable_enterprise_project_response.go | 23 + .../eps/v1/model/model_enterprise_project.go | 2 + services/eps/v1/model/model_ep_detail.go | 39 +- .../model_list_enterprise_project_request.go | 107 + ...model_list_enterprise_project_response.go} | 6 +- .../eps/v1/model/model_list_ep_request.go | 107 - ...odel_modify_enterprise_project_request.go} | 6 +- ...del_modify_enterprise_project_response.go} | 6 +- ...l_show_enterprise_project_quota_request.go | 23 + ...show_enterprise_project_quota_response.go} | 6 +- ... model_show_enterprise_project_request.go} | 6 +- ...model_show_enterprise_project_response.go} | 6 +- ...source_bind_enterprise_project_request.go} | 6 +- ...ource_bind_enterprise_project_response.go} | 6 +- services/evs/v2/evs_client.go | 154 +- services/evs/v2/evs_meta.go | 587 ++-- services/iam/v3/iam_client.go | 950 +++--- services/iam/v3/iam_meta.go | 2889 ++++++++--------- .../iam/v3/model/model_agency_assumedby.go | 24 + .../v3/model/model_agency_assumedby_user.go | 30 + .../model_agency_assumedby_user_domain.go | 27 + .../v3/model/model_agency_token_assumerole.go | 29 + .../iam/v3/model/model_agency_token_auth.go | 25 + .../iam/v3/model/model_agency_token_domain.go | 27 + .../v3/model/model_agency_token_identity.go | 61 + .../v3/model/model_agency_token_project.go | 28 + .../model_agency_token_project_domain.go | 27 + .../iam/v3/model/model_agency_token_result.go | 37 + .../iam/v3/model/model_agency_token_scope.go | 25 + .../model/model_agency_token_scope_domain.go | 27 + .../model/model_agency_token_scope_project.go | 27 + .../iam/v3/model/model_agency_token_user.go | 28 + .../model/model_agency_token_user_domain.go | 27 + services/iam/v3/model/model_auth_scope.go | 25 + .../iam/v3/model/model_auth_scope_domain.go | 27 + .../iam/v3/model/model_auth_scope_project.go | 27 + .../model/model_create_login_token_request.go | 24 + .../model_create_login_token_request_body.go | 24 + .../model_create_login_token_response.go | 25 + .../v3/model/model_create_metadata_request.go | 26 + .../model_create_metadata_request_body.go | 29 + .../model/model_create_metadata_response.go | 25 + ..._unscope_token_by_idp_initiated_request.go | 25 + ...unscope_token_by_idp_initiated_response.go | 25 + .../v3/model/model_identityprovider_option.go | 27 + .../v3/model/model_identityproviders_links.go | 27 + .../model/model_identityproviders_result.go | 32 + services/iam/v3/model/model_idp_token.go | 30 + ...el_keystone_create_agency_token_request.go | 25 + ...ystone_create_agency_token_request_body.go | 24 + ...l_keystone_create_agency_token_response.go | 25 + ...ystone_create_identity_provider_request.go | 25 + ...e_create_identity_provider_request_body.go | 24 + ...stone_create_identity_provider_response.go | 24 + .../model_keystone_create_mapping_request.go | 25 + ...el_keystone_create_mapping_request_body.go | 24 + .../model_keystone_create_mapping_response.go | 24 + .../model_keystone_create_protocol_request.go | 26 + ...l_keystone_create_protocol_request_body.go | 24 + ...model_keystone_create_protocol_response.go | 24 + ...el_keystone_create_scoped_token_request.go | 24 + ...ystone_create_scoped_token_request_body.go | 24 + ...l_keystone_create_scoped_token_response.go | 25 + ..._user_token_by_password_and_mfa_request.go | 25 + ..._token_by_password_and_mfa_request_body.go | 24 + ...user_token_by_password_and_mfa_response.go | 25 + ...e_create_user_token_by_password_request.go | 25 + ...ate_user_token_by_password_request_body.go | 24 + ..._create_user_token_by_password_response.go | 25 + ...ystone_delete_identity_provider_request.go | 24 + ...stone_delete_identity_provider_response.go | 23 + .../model_keystone_delete_mapping_request.go | 24 + .../model_keystone_delete_mapping_response.go | 23 + .../model_keystone_delete_protocol_request.go | 25 + ...model_keystone_delete_protocol_response.go | 23 + ...eystone_list_identity_providers_request.go | 23 + ...ystone_list_identity_providers_response.go | 26 + .../model_keystone_list_mappings_request.go | 23 + .../model_keystone_list_mappings_response.go | 26 + .../model_keystone_list_protocols_request.go | 24 + .../model_keystone_list_protocols_response.go | 26 + ...keystone_show_identity_provider_request.go | 24 + ...eystone_show_identity_provider_response.go | 24 + .../model_keystone_show_mapping_request.go | 24 + .../model_keystone_show_mapping_response.go | 24 + .../model_keystone_show_protocol_request.go | 25 + .../model_keystone_show_protocol_response.go | 24 + ...ystone_update_identity_provider_request.go | 25 + ...e_update_identity_provider_request_body.go | 24 + ...stone_update_identity_provider_response.go | 24 + .../model_keystone_update_mapping_request.go | 25 + ...el_keystone_update_mapping_request_body.go | 24 + .../model_keystone_update_mapping_response.go | 24 + .../model_keystone_update_protocol_request.go | 26 + ...l_keystone_update_protocol_request_body.go | 24 + ...model_keystone_update_protocol_response.go | 24 + .../model_keystone_validate_token_request.go | 25 + .../model_keystone_validate_token_response.go | 25 + services/iam/v3/model/model_login_token.go | 38 + .../v3/model/model_login_token_assumed_by.go | 24 + .../iam/v3/model/model_login_token_auth.go | 24 + .../iam/v3/model/model_login_token_domain.go | 27 + .../model/model_login_token_security_token.go | 29 + .../iam/v3/model/model_login_token_user.go | 30 + services/iam/v3/model/model_mapping_option.go | 25 + services/iam/v3/model/model_mapping_result.go | 28 + services/iam/v3/model/model_mapping_rules.go | 27 + services/iam/v3/model/model_mfa_auth.go | 25 + services/iam/v3/model/model_mfa_identity.go | 66 + services/iam/v3/model/model_mfa_totp.go | 24 + services/iam/v3/model/model_mfa_totp_user.go | 27 + .../iam/v3/model/model_osfederation_groups.go | 27 + .../model_osfederation_identityprovider.go | 25 + .../v3/model/model_osfederation_protocol.go | 25 + services/iam/v3/model/model_protocol_links.go | 27 + .../iam/v3/model/model_protocol_option.go | 25 + .../iam/v3/model/model_protocol_result.go | 28 + services/iam/v3/model/model_pwd_auth.go | 25 + services/iam/v3/model/model_pwd_identity.go | 61 + services/iam/v3/model/model_pwd_password.go | 24 + .../iam/v3/model/model_pwd_password_user.go | 28 + .../model/model_pwd_password_user_domain.go | 25 + .../v3/model/model_rules_local_additional.go | 25 + services/iam/v3/model/model_rules_remote.go | 29 + .../iam/v3/model/model_scope_domain_option.go | 27 + .../v3/model/model_scope_project_option.go | 28 + .../iam/v3/model/model_scope_token_result.go | 36 + services/iam/v3/model/model_scoped_token.go | 25 + .../iam/v3/model/model_scoped_token_auth.go | 25 + .../v3/model/model_scoped_token_identity.go | 26 + .../iam/v3/model/model_scoped_token_user.go | 31 + .../v3/model/model_show_metadata_request.go | 25 + .../v3/model/model_show_metadata_response.go | 39 + services/iam/v3/model/model_token_catalog.go | 31 + .../v3/model/model_token_catalog_endpoint.go | 33 + .../iam/v3/model/model_token_domain_result.go | 27 + .../model_token_project_domain_result.go | 27 + .../v3/model/model_token_project_result.go | 28 + services/iam/v3/model/model_token_result.go | 36 + services/iam/v3/model/model_token_role.go | 27 + .../iam/v3/model/model_token_socpe_option.go | 25 + .../model/model_token_user_domain_result.go | 27 + .../v3/model/model_token_user_osfederation.go | 27 + .../iam/v3/model/model_token_user_result.go | 30 + .../iam/v3/model/model_unscoped_token_user.go | 29 + services/ims/v2/ims_client.go | 238 +- services/ims/v2/ims_meta.go | 1025 +++--- services/kms/v1/kms_client.go | 266 +- services/kms/v1/kms_meta.go | 926 ++---- services/kps/v3/kps_client.go | 84 +- services/kps/v3/kps_meta.go | 260 +- services/live/v1/liveAPI_client.go | 98 +- services/live/v1/liveAPI_meta.go | 422 +-- services/live/v2/liveAPI_client.go | 105 +- services/live/v2/liveAPI_meta.go | 630 ++-- services/mpc/v1/mpc_client.go | 231 +- services/mpc/v1/mpc_meta.go | 889 ++--- ..._add_apply_join_project_for_agc_request.go | 26 + ...add_apply_join_project_for_agc_response.go | 23 + .../v4/model/model_add_member_request_v4.go | 28 + .../v4/model/model_add_member_v4_request.go | 25 + .../v4/model/model_add_member_v4_response.go | 23 + .../model_batch_add_member_request_v4.go | 26 + .../model_batch_add_members_v4_request.go | 25 + ...model_batch_add_members_v4_request_body.go | 24 + .../model_batch_add_members_v4_response.go | 23 + .../model_batch_delelte_issues_request_v4.go | 24 + .../model_batch_delete_issues_v4_request.go | 25 + .../model_batch_delete_issues_v4_response.go | 23 + ...odel_batch_delete_iterations_v4_request.go | 25 + ...batch_delete_iterations_v4_request_body.go | 24 + ...del_batch_delete_iterations_v4_response.go | 23 + .../model_batch_delete_members_v4_request.go | 25 + ...el_batch_delete_members_v4_request_body.go | 24 + .../model_batch_delete_members_v4_response.go | 23 + .../model/model_bug_statistic_response_v4.go | 37 + services/projectman/v4/model/model_chart.go | 34 + .../model_check_project_name_request_v4.go | 24 + .../model_check_project_name_v4_request.go | 24 + .../model_check_project_name_v4_response.go | 25 + .../v4/model/model_create_issue_request_v4.go | 57 + ...l_create_issue_response_v4_parent_issue.go | 27 + .../v4/model/model_create_issue_v4_request.go | 25 + .../model/model_create_issue_v4_response.go | 53 + .../model_create_iteration_request_v4.go | 30 + .../model_create_iteration_v4_request.go | 25 + .../model_create_iteration_v4_response.go | 25 + .../model_create_project_v4_request_body.go | 2 +- .../projectman/v4/model/model_custom_field.go | 27 + .../v4/model/model_delete_issue_v4_request.go | 25 + .../model/model_delete_issue_v4_response.go | 23 + .../model_delete_iteration_v4_request.go | 25 + .../model_delete_iteration_v4_response.go | 23 + ....go => model_delete_project_v4_request.go} | 6 +- .../model/model_delete_project_v4_response.go | 23 + .../model_demand_statistic_response_v4.go | 39 + ...model_issue_completion_rate_response_v4.go | 26 + .../v4/model/model_issue_item_sfv4_domain.go | 27 + .../model/model_issue_item_sfv4_iteration.go | 27 + .../v4/model/model_issue_item_sfv4_module.go | 27 + .../model/model_issue_item_sfv4_priority.go | 27 + .../model/model_issue_item_sfv4_severity.go | 27 + .../v4/model/model_issue_item_sfv4_status.go | 27 + .../v4/model/model_issue_item_sfv4_tracker.go | 27 + .../model/model_issue_project_response_v4.go | 28 + .../v4/model/model_issue_request_v4.go | 57 + .../v4/model/model_issue_response_v4.go | 57 + .../model/model_issue_status_response_v4.go | 35 + .../projectman/v4/model/model_issue_user.go | 28 + .../model_list_child_issues_v4_request.go | 25 + .../model_list_child_issues_v4_response.go | 27 + .../v4/model/model_list_issue_request_v4.go | 52 + .../v4/model/model_list_issues_v4_request.go | 25 + .../v4/model/model_list_issues_v4_response.go | 27 + ...del_list_project_bug_statics_v4_request.go | 24 + ...el_list_project_bug_statics_v4_response.go | 25 + ...l_list_project_demand_static_v4_request.go | 24 + ..._list_project_demand_static_v4_response.go | 25 + ...odel_list_project_iterations_v4_request.go | 24 + ...el_list_project_iterations_v4_response.go} | 6 +- ...el_list_project_work_hours_request_body.go | 4 +- .../v4/model/model_member_list_v4_members.go | 2 +- .../model_show_cur_user_role_response.go | 4 +- .../v4/model/model_show_issue_v4_request.go | 25 + .../v4/model/model_show_issue_v4_response.go | 57 + .../model/model_show_iteration_v4_request.go | 24 + .../model/model_show_iteration_v4_response.go | 47 + .../model_show_project_summary_v4_request.go | 24 + .../model_show_project_summary_v4_response.go | 31 + .../v4/model/model_update_issue_v4_request.go | 26 + .../model/model_update_issue_v4_response.go | 57 + .../model_update_iteration_v4_request.go | 26 + .../model_update_iteration_v4_response.go | 23 + ...odel_update_membes_role_v4_request_body.go | 2 +- .../model_update_nick_name_v4_request.go | 24 + .../model_update_nick_name_v4_response.go | 23 + .../model/model_update_project_request_v4.go | 27 + .../model/model_update_project_v4_request.go | 25 + .../model/model_update_project_v4_response.go | 23 + .../model_update_user_nick_name_request_v4.go | 25 + services/projectman/v4/projectMan_client.go | 377 ++- services/projectman/v4/projectMan_meta.go | 805 +++-- .../v2/model/model_access_password.go | 28 + .../v2/model/model_access_token.go | 28 + .../model/model_application_config_modify.go | 25 + ...application_config_modify_configuration.go | 25 + ...ication_config_modify_configuration_env.go | 26 + .../v2/model/model_application_create.go | 28 + ...l_application_list_config_configuration.go | 25 + ...application_list_config_configuration_1.go | 27 + ...plication_list_config_configuration_env.go | 26 + .../v2/model/model_application_modify.go | 26 + .../v2/model/model_application_view.go | 40 + .../v2/model/model_authorization_vo.go | 43 + services/servicestage/v2/model/model_build.go | 24 + .../servicestage/v2/model/model_build_info.go | 26 + .../v2/model/model_build_info_parameters.go | 29 + ...hange_application_configuration_request.go | 25 + ...ange_application_configuration_response.go | 28 + .../model/model_change_application_request.go | 25 + .../model_change_application_response.go | 39 + .../model/model_change_component_request.go | 26 + .../model/model_change_component_response.go | 46 + .../model/model_change_environment_request.go | 25 + .../model_change_environment_response.go | 49 + .../v2/model/model_change_instance_request.go | 27 + .../model/model_change_instance_response.go | 25 + ..._change_resource_in_environment_request.go | 25 + ...change_resource_in_environment_response.go | 49 + .../v2/model/model_charge_mode.go | 58 + .../v2/model/model_commits_commits.go | 28 + .../v2/model/model_component_category.go | 58 + .../v2/model/model_component_create.go | 31 + .../v2/model/model_component_modify.go | 28 + .../v2/model/model_component_sub_category.go | 74 + .../v2/model/model_component_view.go | 42 + .../model/model_create_application_request.go | 24 + .../model_create_application_response.go | 39 + .../model/model_create_component_request.go | 25 + .../model/model_create_component_response.go | 46 + .../model/model_create_environment_request.go | 24 + .../model_create_environment_response.go | 49 + .../v2/model/model_create_file_request.go | 29 + .../v2/model/model_create_file_response.go | 25 + .../v2/model/model_create_hook_request.go | 27 + .../v2/model/model_create_hook_response.go | 29 + .../v2/model/model_create_instance_request.go | 26 + .../model/model_create_instance_response.go | 27 + .../v2/model/model_create_o_auth_request.go | 73 + .../v2/model/model_create_o_auth_response.go | 24 + .../model_create_password_auth_request.go | 68 + .../model_create_password_auth_response.go | 24 + .../model_create_personal_auth_request.go | 68 + .../model_create_personal_auth_response.go | 24 + .../v2/model/model_create_project_request.go | 26 + .../v2/model/model_create_project_response.go | 29 + .../v2/model/model_create_tag_request.go | 28 + .../v2/model/model_create_tag_response.go | 25 + ...elete_application_configuration_request.go | 25 + ...lete_application_configuration_response.go | 23 + .../model/model_delete_application_request.go | 24 + .../model_delete_application_response.go | 23 + .../model/model_delete_authorize_request.go | 24 + .../model/model_delete_authorize_response.go | 23 + .../model/model_delete_component_request.go | 26 + .../model/model_delete_component_response.go | 23 + .../model/model_delete_environment_request.go | 24 + .../model_delete_environment_response.go | 23 + .../v2/model/model_delete_file_request.go | 30 + .../v2/model/model_delete_file_response.go | 23 + .../v2/model/model_delete_hook_request.go | 27 + .../v2/model/model_delete_hook_response.go | 23 + .../v2/model/model_delete_instance_request.go | 27 + .../model/model_delete_instance_response.go | 25 + .../v2/model/model_delete_tag_request.go | 27 + .../v2/model/model_delete_tag_response.go | 23 + .../v2/model/model_environment.go | 48 + .../v2/model/model_environment_create.go | 37 + .../v2/model/model_environment_modify.go | 28 + .../model_environment_resource_modify.go | 28 + .../model/model_external_access_protocol.go | 54 + .../v2/model/model_external_access_status.go | 54 + .../v2/model/model_external_access_type.go | 58 + .../v2/model/model_external_accesses.go | 36 + .../model/model_external_accesses_create.go | 68 + .../v2/model/model_file_create.go | 26 + .../v2/model/model_file_update.go | 28 + .../servicestage/v2/model/model_flavor_id.go | 70 + .../v2/model/model_flavor_view.go | 35 + services/servicestage/v2/model/model_hook.go | 28 + .../v2/model/model_hook_create.go | 26 + .../v2/model/model_instance_action.go | 24 + .../model/model_instance_action_parameters.go | 29 + .../v2/model/model_instance_action_type.go | 66 + .../v2/model/model_instance_create.go | 41 + .../v2/model/model_instance_fail_detail.go | 74 + .../v2/model/model_instance_list_view.go | 54 + .../v2/model/model_instance_modify.go | 35 + .../v2/model/model_instance_platform_type.go | 54 + .../v2/model/model_instance_snapshot_view.go | 31 + .../v2/model/model_instance_status_type.go | 106 + .../v2/model/model_instance_status_view.go | 33 + .../servicestage/v2/model/model_job_info.go | 84 + .../model/model_list_applications_request.go | 66 + .../model/model_list_applications_response.go | 27 + .../model_list_authorizations_request.go | 23 + .../model_list_authorizations_response.go | 25 + .../v2/model/model_list_branches_request.go | 26 + .../v2/model/model_list_branches_response.go | 25 + .../v2/model/model_list_commits_request.go | 27 + .../v2/model/model_list_commits_response.go | 25 + .../v2/model/model_list_components_request.go | 67 + .../model/model_list_components_response.go | 27 + .../model/model_list_environments_request.go | 66 + .../model/model_list_environments_response.go | 27 + .../v2/model/model_list_flavors_request.go | 23 + .../v2/model/model_list_flavors_response.go | 25 + .../v2/model/model_list_hooks_request.go | 26 + .../v2/model/model_list_hooks_response.go | 25 + .../model_list_instance_snapshots_request.go | 69 + .../model_list_instance_snapshots_response.go | 27 + .../v2/model/model_list_instances_request.go | 68 + .../v2/model/model_list_instances_response.go | 27 + .../v2/model/model_list_namespaces_request.go | 24 + .../model/model_list_namespaces_response.go | 25 + .../v2/model/model_list_projects_request.go | 25 + .../v2/model/model_list_projects_response.go | 25 + .../v2/model/model_list_runtimes_request.go | 23 + .../v2/model/model_list_runtimes_response.go | 25 + .../v2/model/model_list_tags_request.go | 26 + .../v2/model/model_list_tags_response.go | 25 + .../v2/model/model_list_templates_request.go | 23 + .../v2/model/model_list_templates_response.go | 25 + .../v2/model/model_list_trees_request.go | 27 + .../v2/model/model_list_trees_response.go | 25 + .../v2/model/model_namespaces_namespaces.go | 26 + .../servicestage/v2/model/model_o_auth.go | 28 + .../servicestage/v2/model/model_project.go | 28 + .../v2/model/model_project_create.go | 24 + .../v2/model/model_refer_resource_create.go | 30 + .../v2/model/model_refer_resources.go | 30 + .../servicestage/v2/model/model_resource.go | 25 + .../v2/model/model_resource_refer_alias.go | 23 + .../v2/model/model_resource_type.go | 94 + .../v2/model/model_runtime_type.go | 74 + .../v2/model/model_runtime_type_view.go | 31 + ..._show_application_configuration_request.go | 25 + ...show_application_configuration_response.go | 25 + .../model_show_application_detail_request.go | 24 + .../model_show_application_detail_response.go | 41 + .../model_show_component_detail_request.go | 25 + .../model_show_component_detail_response.go | 46 + .../v2/model/model_show_content_request.go | 28 + .../v2/model/model_show_content_response.go | 70 + .../model_show_environment_detail_request.go | 24 + .../model_show_environment_detail_response.go | 49 + .../model_show_instance_detail_request.go | 26 + .../model_show_instance_detail_response.go | 50 + .../v2/model/model_show_job_detail_request.go | 28 + .../model/model_show_job_detail_response.go | 28 + .../model_show_project_detail_request.go | 25 + .../model_show_project_detail_response.go | 31 + .../model/model_show_redirect_url_request.go | 72 + .../model/model_show_redirect_url_response.go | 25 + .../v2/model/model_source_kind.go | 54 + .../v2/model/model_source_object.go | 25 + .../v2/model/model_source_or_artifact.go | 111 + .../v2/model/model_source_repo_type.go | 62 + .../servicestage/v2/model/model_tag_create.go | 26 + .../servicestage/v2/model/model_task_info.go | 88 + .../servicestage/v2/model/model_template.go | 58 + .../v2/model/model_template_view.go | 31 + .../v2/model/model_update_file_request.go | 29 + .../v2/model/model_update_file_response.go | 25 + .../model_update_instance_action_request.go | 27 + .../model_update_instance_action_response.go | 25 + .../servicestage/v2/serviceStage_client.go | 602 ++++ services/servicestage/v2/serviceStage_meta.go | 1417 ++++++++ services/tms/v1/tms_client.go | 42 +- services/tms/v1/tms_meta.go | 144 +- services/vpc/v2/vpc_client.go | 280 +- services/vpc/v2/vpc_meta.go | 1047 ++---- ...ch_create_sub_network_interface_request.go | 24 + ...ate_sub_network_interface_request_body.go} | 6 +- ..._create_sub_network_interface_response.go} | 6 +- ...create_sub_network_interface_v3_request.go | 24 - services/vpc/v3/vpc_client.go | 114 +- services/vpc/v3/vpc_meta.go | 430 +-- 623 files changed, 30312 insertions(+), 17567 deletions(-) delete mode 100644 core/def/field_tags.go delete mode 100644 core/def/http_response_def.go create mode 100644 services/bss/v2/model/model_list_resource_types_request.go create mode 100644 services/bss/v2/model/model_list_resource_types_response.go create mode 100644 services/bss/v2/model/model_list_service_resources_request.go create mode 100644 services/bss/v2/model/model_list_service_resources_response.go create mode 100644 services/bss/v2/model/model_list_service_types_request.go create mode 100644 services/bss/v2/model/model_list_service_types_response.go create mode 100644 services/bss/v2/model/model_resource_basic_info.go create mode 100644 services/bss/v2/model/model_resource_type.go create mode 100644 services/bss/v2/model/model_service_resource_info.go create mode 100644 services/bss/v2/model/model_service_type.go create mode 100644 services/cbr/v1/model/model_batch_create_and_delete_vault_tags_request.go create mode 100644 services/cbr/v1/model/model_batch_create_and_delete_vault_tags_response.go create mode 100644 services/cbr/v1/model/model_bulk_create_and_delete_vault_tags_req.go create mode 100644 services/cbr/v1/model/model_create_vault_tags_request.go rename services/{eps/v1/model/model_disable_ep_response.go => cbr/v1/model/model_create_vault_tags_response.go} (57%) create mode 100644 services/cbr/v1/model/model_delete_vault_tag_request.go rename services/{eps/v1/model/model_enable_ep_response.go => cbr/v1/model/model_delete_vault_tag_response.go} (57%) create mode 100644 services/cbr/v1/model/model_image_data.go create mode 100644 services/cbr/v1/model/model_match.go create mode 100644 services/cbr/v1/model/model_show_vault_project_tag_request.go create mode 100644 services/cbr/v1/model/model_show_vault_project_tag_response.go create mode 100644 services/cbr/v1/model/model_show_vault_resource_instances_request.go create mode 100644 services/cbr/v1/model/model_show_vault_resource_instances_response.go create mode 100644 services/cbr/v1/model/model_show_vault_tag_request.go create mode 100644 services/cbr/v1/model/model_show_vault_tag_response.go create mode 100644 services/cbr/v1/model/model_sys_tags.go create mode 100644 services/cbr/v1/model/model_tags_req.go create mode 100644 services/cbr/v1/model/model_vault_resource_instances_req.go create mode 100644 services/cbr/v1/model/model_vault_tags_create_req.go create mode 100644 services/ces/v1/model/model_additional_info.go create mode 100644 services/ces/v1/model/model_alarm_history_info.go create mode 100644 services/ces/v1/model/model_alarm_template.go create mode 100644 services/ces/v1/model/model_alarm_template_condition.go create mode 100644 services/ces/v1/model/model_create_alarm_template_request.go create mode 100644 services/ces/v1/model/model_create_alarm_template_request_body.go create mode 100644 services/ces/v1/model/model_create_alarm_template_response.go create mode 100644 services/ces/v1/model/model_data_point_for_alarm_history.go create mode 100644 services/ces/v1/model/model_delete_alarm_template_request.go create mode 100644 services/ces/v1/model/model_delete_alarm_template_response.go create mode 100644 services/ces/v1/model/model_list_alarm_histories_request.go create mode 100644 services/ces/v1/model/model_list_alarm_histories_response.go create mode 100644 services/ces/v1/model/model_list_alarm_templates_request.go create mode 100644 services/ces/v1/model/model_list_alarm_templates_response.go create mode 100644 services/ces/v1/model/model_metric_info_for_alarm.go create mode 100644 services/ces/v1/model/model_resource_group.go create mode 100644 services/ces/v1/model/model_show_resource_group_request.go create mode 100644 services/ces/v1/model/model_show_resource_group_response.go create mode 100644 services/ces/v1/model/model_template_item.go create mode 100644 services/ces/v1/model/model_update_alarm_template_request.go create mode 100644 services/ces/v1/model/model_update_alarm_template_request_body.go create mode 100644 services/ces/v1/model/model_update_alarm_template_response.go rename services/{eps/v1/model/model_show_ep_quota_request.go => cts/v3/model/model_list_quotas_request.go} (59%) create mode 100644 services/cts/v3/model/model_list_quotas_response.go create mode 100644 services/cts/v3/model/model_quota.go create mode 100644 services/devstar/v1/model/model_codehub_job_info.go create mode 100644 services/devstar/v1/model/model_create_template_view_histories_request.go create mode 100644 services/devstar/v1/model/model_create_template_view_histories_response.go create mode 100644 services/devstar/v1/model/model_list_template_view_histories_request.go create mode 100644 services/devstar/v1/model/model_list_template_view_histories_response.go create mode 100644 services/devstar/v1/model/model_list_templates_v2_request.go create mode 100644 services/devstar/v1/model/model_list_templates_v2_response.go create mode 100644 services/devstar/v1/model/model_pipeline_template_info.go create mode 100644 services/devstar/v1/model/model_reference.go create mode 100644 services/devstar/v1/model/model_run_codehub_template_job_request.go create mode 100644 services/devstar/v1/model/model_run_codehub_template_job_response.go create mode 100644 services/devstar/v1/model/model_show_template_file_request.go create mode 100644 services/devstar/v1/model/model_show_template_file_response.go create mode 100644 services/devstar/v1/model/model_show_template_v3_request.go create mode 100644 services/devstar/v1/model/model_show_template_v3_response.go create mode 100644 services/devstar/v1/model/model_tag_info.go create mode 100644 services/devstar/v1/model/model_template_info.go create mode 100644 services/devstar/v1/model/model_template_product_ext.go create mode 100644 services/devstar/v1/model/model_template_query_v2.go create mode 100644 services/devstar/v1/model/model_template_view_history.go create mode 100644 services/devstar/v1/model/model_templates_info.go create mode 100644 services/devstar/v1/model/model_topic_category.go rename services/eps/v1/model/{model_create_ep_request.go => model_create_enterprise_project_request.go} (60%) rename services/eps/v1/model/{model_modify_ep_response.go => model_create_enterprise_project_response.go} (61%) rename services/eps/v1/model/{model_disable_ep_request.go => model_disable_enterprise_project_request.go} (65%) create mode 100644 services/eps/v1/model/model_disable_enterprise_project_response.go rename services/eps/v1/model/{model_enable_ep_request.go => model_enable_enterprise_project_request.go} (66%) create mode 100644 services/eps/v1/model/model_enable_enterprise_project_response.go create mode 100644 services/eps/v1/model/model_list_enterprise_project_request.go rename services/eps/v1/model/{model_list_ep_response.go => model_list_enterprise_project_response.go} (68%) delete mode 100644 services/eps/v1/model/model_list_ep_request.go rename services/eps/v1/model/{model_modify_ep_request.go => model_modify_enterprise_project_request.go} (66%) rename services/eps/v1/model/{model_create_ep_response.go => model_modify_enterprise_project_response.go} (61%) create mode 100644 services/eps/v1/model/model_show_enterprise_project_quota_request.go rename services/eps/v1/model/{model_show_ep_quota_response.go => model_show_enterprise_project_quota_response.go} (59%) rename services/eps/v1/model/{model_show_ep_request.go => model_show_enterprise_project_request.go} (62%) rename services/eps/v1/model/{model_show_ep_response.go => model_show_enterprise_project_response.go} (62%) rename services/eps/v1/model/{model_show_resource_bind_ep_request.go => model_show_resource_bind_enterprise_project_request.go} (62%) rename services/eps/v1/model/{model_show_resource_bind_ep_response.go => model_show_resource_bind_enterprise_project_response.go} (68%) create mode 100644 services/iam/v3/model/model_agency_assumedby.go create mode 100644 services/iam/v3/model/model_agency_assumedby_user.go create mode 100644 services/iam/v3/model/model_agency_assumedby_user_domain.go create mode 100644 services/iam/v3/model/model_agency_token_assumerole.go create mode 100644 services/iam/v3/model/model_agency_token_auth.go create mode 100644 services/iam/v3/model/model_agency_token_domain.go create mode 100644 services/iam/v3/model/model_agency_token_identity.go create mode 100644 services/iam/v3/model/model_agency_token_project.go create mode 100644 services/iam/v3/model/model_agency_token_project_domain.go create mode 100644 services/iam/v3/model/model_agency_token_result.go create mode 100644 services/iam/v3/model/model_agency_token_scope.go create mode 100644 services/iam/v3/model/model_agency_token_scope_domain.go create mode 100644 services/iam/v3/model/model_agency_token_scope_project.go create mode 100644 services/iam/v3/model/model_agency_token_user.go create mode 100644 services/iam/v3/model/model_agency_token_user_domain.go create mode 100644 services/iam/v3/model/model_auth_scope.go create mode 100644 services/iam/v3/model/model_auth_scope_domain.go create mode 100644 services/iam/v3/model/model_auth_scope_project.go create mode 100644 services/iam/v3/model/model_create_login_token_request.go create mode 100644 services/iam/v3/model/model_create_login_token_request_body.go create mode 100644 services/iam/v3/model/model_create_login_token_response.go create mode 100644 services/iam/v3/model/model_create_metadata_request.go create mode 100644 services/iam/v3/model/model_create_metadata_request_body.go create mode 100644 services/iam/v3/model/model_create_metadata_response.go create mode 100644 services/iam/v3/model/model_create_unscope_token_by_idp_initiated_request.go create mode 100644 services/iam/v3/model/model_create_unscope_token_by_idp_initiated_response.go create mode 100644 services/iam/v3/model/model_identityprovider_option.go create mode 100644 services/iam/v3/model/model_identityproviders_links.go create mode 100644 services/iam/v3/model/model_identityproviders_result.go create mode 100644 services/iam/v3/model/model_idp_token.go create mode 100644 services/iam/v3/model/model_keystone_create_agency_token_request.go create mode 100644 services/iam/v3/model/model_keystone_create_agency_token_request_body.go create mode 100644 services/iam/v3/model/model_keystone_create_agency_token_response.go create mode 100644 services/iam/v3/model/model_keystone_create_identity_provider_request.go create mode 100644 services/iam/v3/model/model_keystone_create_identity_provider_request_body.go create mode 100644 services/iam/v3/model/model_keystone_create_identity_provider_response.go create mode 100644 services/iam/v3/model/model_keystone_create_mapping_request.go create mode 100644 services/iam/v3/model/model_keystone_create_mapping_request_body.go create mode 100644 services/iam/v3/model/model_keystone_create_mapping_response.go create mode 100644 services/iam/v3/model/model_keystone_create_protocol_request.go create mode 100644 services/iam/v3/model/model_keystone_create_protocol_request_body.go create mode 100644 services/iam/v3/model/model_keystone_create_protocol_response.go create mode 100644 services/iam/v3/model/model_keystone_create_scoped_token_request.go create mode 100644 services/iam/v3/model/model_keystone_create_scoped_token_request_body.go create mode 100644 services/iam/v3/model/model_keystone_create_scoped_token_response.go create mode 100644 services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_request.go create mode 100644 services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_request_body.go create mode 100644 services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_response.go create mode 100644 services/iam/v3/model/model_keystone_create_user_token_by_password_request.go create mode 100644 services/iam/v3/model/model_keystone_create_user_token_by_password_request_body.go create mode 100644 services/iam/v3/model/model_keystone_create_user_token_by_password_response.go create mode 100644 services/iam/v3/model/model_keystone_delete_identity_provider_request.go create mode 100644 services/iam/v3/model/model_keystone_delete_identity_provider_response.go create mode 100644 services/iam/v3/model/model_keystone_delete_mapping_request.go create mode 100644 services/iam/v3/model/model_keystone_delete_mapping_response.go create mode 100644 services/iam/v3/model/model_keystone_delete_protocol_request.go create mode 100644 services/iam/v3/model/model_keystone_delete_protocol_response.go create mode 100644 services/iam/v3/model/model_keystone_list_identity_providers_request.go create mode 100644 services/iam/v3/model/model_keystone_list_identity_providers_response.go create mode 100644 services/iam/v3/model/model_keystone_list_mappings_request.go create mode 100644 services/iam/v3/model/model_keystone_list_mappings_response.go create mode 100644 services/iam/v3/model/model_keystone_list_protocols_request.go create mode 100644 services/iam/v3/model/model_keystone_list_protocols_response.go create mode 100644 services/iam/v3/model/model_keystone_show_identity_provider_request.go create mode 100644 services/iam/v3/model/model_keystone_show_identity_provider_response.go create mode 100644 services/iam/v3/model/model_keystone_show_mapping_request.go create mode 100644 services/iam/v3/model/model_keystone_show_mapping_response.go create mode 100644 services/iam/v3/model/model_keystone_show_protocol_request.go create mode 100644 services/iam/v3/model/model_keystone_show_protocol_response.go create mode 100644 services/iam/v3/model/model_keystone_update_identity_provider_request.go create mode 100644 services/iam/v3/model/model_keystone_update_identity_provider_request_body.go create mode 100644 services/iam/v3/model/model_keystone_update_identity_provider_response.go create mode 100644 services/iam/v3/model/model_keystone_update_mapping_request.go create mode 100644 services/iam/v3/model/model_keystone_update_mapping_request_body.go create mode 100644 services/iam/v3/model/model_keystone_update_mapping_response.go create mode 100644 services/iam/v3/model/model_keystone_update_protocol_request.go create mode 100644 services/iam/v3/model/model_keystone_update_protocol_request_body.go create mode 100644 services/iam/v3/model/model_keystone_update_protocol_response.go create mode 100644 services/iam/v3/model/model_keystone_validate_token_request.go create mode 100644 services/iam/v3/model/model_keystone_validate_token_response.go create mode 100644 services/iam/v3/model/model_login_token.go create mode 100644 services/iam/v3/model/model_login_token_assumed_by.go create mode 100644 services/iam/v3/model/model_login_token_auth.go create mode 100644 services/iam/v3/model/model_login_token_domain.go create mode 100644 services/iam/v3/model/model_login_token_security_token.go create mode 100644 services/iam/v3/model/model_login_token_user.go create mode 100644 services/iam/v3/model/model_mapping_option.go create mode 100644 services/iam/v3/model/model_mapping_result.go create mode 100644 services/iam/v3/model/model_mapping_rules.go create mode 100644 services/iam/v3/model/model_mfa_auth.go create mode 100644 services/iam/v3/model/model_mfa_identity.go create mode 100644 services/iam/v3/model/model_mfa_totp.go create mode 100644 services/iam/v3/model/model_mfa_totp_user.go create mode 100644 services/iam/v3/model/model_osfederation_groups.go create mode 100644 services/iam/v3/model/model_osfederation_identityprovider.go create mode 100644 services/iam/v3/model/model_osfederation_protocol.go create mode 100644 services/iam/v3/model/model_protocol_links.go create mode 100644 services/iam/v3/model/model_protocol_option.go create mode 100644 services/iam/v3/model/model_protocol_result.go create mode 100644 services/iam/v3/model/model_pwd_auth.go create mode 100644 services/iam/v3/model/model_pwd_identity.go create mode 100644 services/iam/v3/model/model_pwd_password.go create mode 100644 services/iam/v3/model/model_pwd_password_user.go create mode 100644 services/iam/v3/model/model_pwd_password_user_domain.go create mode 100644 services/iam/v3/model/model_rules_local_additional.go create mode 100644 services/iam/v3/model/model_rules_remote.go create mode 100644 services/iam/v3/model/model_scope_domain_option.go create mode 100644 services/iam/v3/model/model_scope_project_option.go create mode 100644 services/iam/v3/model/model_scope_token_result.go create mode 100644 services/iam/v3/model/model_scoped_token.go create mode 100644 services/iam/v3/model/model_scoped_token_auth.go create mode 100644 services/iam/v3/model/model_scoped_token_identity.go create mode 100644 services/iam/v3/model/model_scoped_token_user.go create mode 100644 services/iam/v3/model/model_show_metadata_request.go create mode 100644 services/iam/v3/model/model_show_metadata_response.go create mode 100644 services/iam/v3/model/model_token_catalog.go create mode 100644 services/iam/v3/model/model_token_catalog_endpoint.go create mode 100644 services/iam/v3/model/model_token_domain_result.go create mode 100644 services/iam/v3/model/model_token_project_domain_result.go create mode 100644 services/iam/v3/model/model_token_project_result.go create mode 100644 services/iam/v3/model/model_token_result.go create mode 100644 services/iam/v3/model/model_token_role.go create mode 100644 services/iam/v3/model/model_token_socpe_option.go create mode 100644 services/iam/v3/model/model_token_user_domain_result.go create mode 100644 services/iam/v3/model/model_token_user_osfederation.go create mode 100644 services/iam/v3/model/model_token_user_result.go create mode 100644 services/iam/v3/model/model_unscoped_token_user.go create mode 100644 services/projectman/v4/model/model_add_apply_join_project_for_agc_request.go create mode 100644 services/projectman/v4/model/model_add_apply_join_project_for_agc_response.go create mode 100644 services/projectman/v4/model/model_add_member_request_v4.go create mode 100644 services/projectman/v4/model/model_add_member_v4_request.go create mode 100644 services/projectman/v4/model/model_add_member_v4_response.go create mode 100644 services/projectman/v4/model/model_batch_add_member_request_v4.go create mode 100644 services/projectman/v4/model/model_batch_add_members_v4_request.go create mode 100644 services/projectman/v4/model/model_batch_add_members_v4_request_body.go create mode 100644 services/projectman/v4/model/model_batch_add_members_v4_response.go create mode 100644 services/projectman/v4/model/model_batch_delelte_issues_request_v4.go create mode 100644 services/projectman/v4/model/model_batch_delete_issues_v4_request.go create mode 100644 services/projectman/v4/model/model_batch_delete_issues_v4_response.go create mode 100644 services/projectman/v4/model/model_batch_delete_iterations_v4_request.go create mode 100644 services/projectman/v4/model/model_batch_delete_iterations_v4_request_body.go create mode 100644 services/projectman/v4/model/model_batch_delete_iterations_v4_response.go create mode 100644 services/projectman/v4/model/model_batch_delete_members_v4_request.go create mode 100644 services/projectman/v4/model/model_batch_delete_members_v4_request_body.go create mode 100644 services/projectman/v4/model/model_batch_delete_members_v4_response.go create mode 100644 services/projectman/v4/model/model_bug_statistic_response_v4.go create mode 100644 services/projectman/v4/model/model_chart.go create mode 100644 services/projectman/v4/model/model_check_project_name_request_v4.go create mode 100644 services/projectman/v4/model/model_check_project_name_v4_request.go create mode 100644 services/projectman/v4/model/model_check_project_name_v4_response.go create mode 100644 services/projectman/v4/model/model_create_issue_request_v4.go create mode 100644 services/projectman/v4/model/model_create_issue_response_v4_parent_issue.go create mode 100644 services/projectman/v4/model/model_create_issue_v4_request.go create mode 100644 services/projectman/v4/model/model_create_issue_v4_response.go create mode 100644 services/projectman/v4/model/model_create_iteration_request_v4.go create mode 100644 services/projectman/v4/model/model_create_iteration_v4_request.go create mode 100644 services/projectman/v4/model/model_create_iteration_v4_response.go create mode 100644 services/projectman/v4/model/model_custom_field.go create mode 100644 services/projectman/v4/model/model_delete_issue_v4_request.go create mode 100644 services/projectman/v4/model/model_delete_issue_v4_response.go create mode 100644 services/projectman/v4/model/model_delete_iteration_v4_request.go create mode 100644 services/projectman/v4/model/model_delete_iteration_v4_response.go rename services/projectman/v4/model/{model_list_project_versions_v4_request.go => model_delete_project_v4_request.go} (52%) create mode 100644 services/projectman/v4/model/model_delete_project_v4_response.go create mode 100644 services/projectman/v4/model/model_demand_statistic_response_v4.go create mode 100644 services/projectman/v4/model/model_issue_completion_rate_response_v4.go create mode 100644 services/projectman/v4/model/model_issue_item_sfv4_domain.go create mode 100644 services/projectman/v4/model/model_issue_item_sfv4_iteration.go create mode 100644 services/projectman/v4/model/model_issue_item_sfv4_module.go create mode 100644 services/projectman/v4/model/model_issue_item_sfv4_priority.go create mode 100644 services/projectman/v4/model/model_issue_item_sfv4_severity.go create mode 100644 services/projectman/v4/model/model_issue_item_sfv4_status.go create mode 100644 services/projectman/v4/model/model_issue_item_sfv4_tracker.go create mode 100644 services/projectman/v4/model/model_issue_project_response_v4.go create mode 100644 services/projectman/v4/model/model_issue_request_v4.go create mode 100644 services/projectman/v4/model/model_issue_response_v4.go create mode 100644 services/projectman/v4/model/model_issue_status_response_v4.go create mode 100644 services/projectman/v4/model/model_issue_user.go create mode 100644 services/projectman/v4/model/model_list_child_issues_v4_request.go create mode 100644 services/projectman/v4/model/model_list_child_issues_v4_response.go create mode 100644 services/projectman/v4/model/model_list_issue_request_v4.go create mode 100644 services/projectman/v4/model/model_list_issues_v4_request.go create mode 100644 services/projectman/v4/model/model_list_issues_v4_response.go create mode 100644 services/projectman/v4/model/model_list_project_bug_statics_v4_request.go create mode 100644 services/projectman/v4/model/model_list_project_bug_statics_v4_response.go create mode 100644 services/projectman/v4/model/model_list_project_demand_static_v4_request.go create mode 100644 services/projectman/v4/model/model_list_project_demand_static_v4_response.go create mode 100644 services/projectman/v4/model/model_list_project_iterations_v4_request.go rename services/projectman/v4/model/{model_list_project_versions_v4_response.go => model_list_project_iterations_v4_response.go} (63%) create mode 100644 services/projectman/v4/model/model_show_issue_v4_request.go create mode 100644 services/projectman/v4/model/model_show_issue_v4_response.go create mode 100644 services/projectman/v4/model/model_show_iteration_v4_request.go create mode 100644 services/projectman/v4/model/model_show_iteration_v4_response.go create mode 100644 services/projectman/v4/model/model_show_project_summary_v4_request.go create mode 100644 services/projectman/v4/model/model_show_project_summary_v4_response.go create mode 100644 services/projectman/v4/model/model_update_issue_v4_request.go create mode 100644 services/projectman/v4/model/model_update_issue_v4_response.go create mode 100644 services/projectman/v4/model/model_update_iteration_v4_request.go create mode 100644 services/projectman/v4/model/model_update_iteration_v4_response.go create mode 100644 services/projectman/v4/model/model_update_nick_name_v4_request.go create mode 100644 services/projectman/v4/model/model_update_nick_name_v4_response.go create mode 100644 services/projectman/v4/model/model_update_project_request_v4.go create mode 100644 services/projectman/v4/model/model_update_project_v4_request.go create mode 100644 services/projectman/v4/model/model_update_project_v4_response.go create mode 100644 services/projectman/v4/model/model_update_user_nick_name_request_v4.go create mode 100644 services/servicestage/v2/model/model_access_password.go create mode 100644 services/servicestage/v2/model/model_access_token.go create mode 100644 services/servicestage/v2/model/model_application_config_modify.go create mode 100644 services/servicestage/v2/model/model_application_config_modify_configuration.go create mode 100644 services/servicestage/v2/model/model_application_config_modify_configuration_env.go create mode 100644 services/servicestage/v2/model/model_application_create.go create mode 100644 services/servicestage/v2/model/model_application_list_config_configuration.go create mode 100644 services/servicestage/v2/model/model_application_list_config_configuration_1.go create mode 100644 services/servicestage/v2/model/model_application_list_config_configuration_env.go create mode 100644 services/servicestage/v2/model/model_application_modify.go create mode 100644 services/servicestage/v2/model/model_application_view.go create mode 100644 services/servicestage/v2/model/model_authorization_vo.go create mode 100644 services/servicestage/v2/model/model_build.go create mode 100644 services/servicestage/v2/model/model_build_info.go create mode 100644 services/servicestage/v2/model/model_build_info_parameters.go create mode 100644 services/servicestage/v2/model/model_change_application_configuration_request.go create mode 100644 services/servicestage/v2/model/model_change_application_configuration_response.go create mode 100644 services/servicestage/v2/model/model_change_application_request.go create mode 100644 services/servicestage/v2/model/model_change_application_response.go create mode 100644 services/servicestage/v2/model/model_change_component_request.go create mode 100644 services/servicestage/v2/model/model_change_component_response.go create mode 100644 services/servicestage/v2/model/model_change_environment_request.go create mode 100644 services/servicestage/v2/model/model_change_environment_response.go create mode 100644 services/servicestage/v2/model/model_change_instance_request.go create mode 100644 services/servicestage/v2/model/model_change_instance_response.go create mode 100644 services/servicestage/v2/model/model_change_resource_in_environment_request.go create mode 100644 services/servicestage/v2/model/model_change_resource_in_environment_response.go create mode 100644 services/servicestage/v2/model/model_charge_mode.go create mode 100644 services/servicestage/v2/model/model_commits_commits.go create mode 100644 services/servicestage/v2/model/model_component_category.go create mode 100644 services/servicestage/v2/model/model_component_create.go create mode 100644 services/servicestage/v2/model/model_component_modify.go create mode 100644 services/servicestage/v2/model/model_component_sub_category.go create mode 100644 services/servicestage/v2/model/model_component_view.go create mode 100644 services/servicestage/v2/model/model_create_application_request.go create mode 100644 services/servicestage/v2/model/model_create_application_response.go create mode 100644 services/servicestage/v2/model/model_create_component_request.go create mode 100644 services/servicestage/v2/model/model_create_component_response.go create mode 100644 services/servicestage/v2/model/model_create_environment_request.go create mode 100644 services/servicestage/v2/model/model_create_environment_response.go create mode 100644 services/servicestage/v2/model/model_create_file_request.go create mode 100644 services/servicestage/v2/model/model_create_file_response.go create mode 100644 services/servicestage/v2/model/model_create_hook_request.go create mode 100644 services/servicestage/v2/model/model_create_hook_response.go create mode 100644 services/servicestage/v2/model/model_create_instance_request.go create mode 100644 services/servicestage/v2/model/model_create_instance_response.go create mode 100644 services/servicestage/v2/model/model_create_o_auth_request.go create mode 100644 services/servicestage/v2/model/model_create_o_auth_response.go create mode 100644 services/servicestage/v2/model/model_create_password_auth_request.go create mode 100644 services/servicestage/v2/model/model_create_password_auth_response.go create mode 100644 services/servicestage/v2/model/model_create_personal_auth_request.go create mode 100644 services/servicestage/v2/model/model_create_personal_auth_response.go create mode 100644 services/servicestage/v2/model/model_create_project_request.go create mode 100644 services/servicestage/v2/model/model_create_project_response.go create mode 100644 services/servicestage/v2/model/model_create_tag_request.go create mode 100644 services/servicestage/v2/model/model_create_tag_response.go create mode 100644 services/servicestage/v2/model/model_delete_application_configuration_request.go create mode 100644 services/servicestage/v2/model/model_delete_application_configuration_response.go create mode 100644 services/servicestage/v2/model/model_delete_application_request.go create mode 100644 services/servicestage/v2/model/model_delete_application_response.go create mode 100644 services/servicestage/v2/model/model_delete_authorize_request.go create mode 100644 services/servicestage/v2/model/model_delete_authorize_response.go create mode 100644 services/servicestage/v2/model/model_delete_component_request.go create mode 100644 services/servicestage/v2/model/model_delete_component_response.go create mode 100644 services/servicestage/v2/model/model_delete_environment_request.go create mode 100644 services/servicestage/v2/model/model_delete_environment_response.go create mode 100644 services/servicestage/v2/model/model_delete_file_request.go create mode 100644 services/servicestage/v2/model/model_delete_file_response.go create mode 100644 services/servicestage/v2/model/model_delete_hook_request.go create mode 100644 services/servicestage/v2/model/model_delete_hook_response.go create mode 100644 services/servicestage/v2/model/model_delete_instance_request.go create mode 100644 services/servicestage/v2/model/model_delete_instance_response.go create mode 100644 services/servicestage/v2/model/model_delete_tag_request.go create mode 100644 services/servicestage/v2/model/model_delete_tag_response.go create mode 100644 services/servicestage/v2/model/model_environment.go create mode 100644 services/servicestage/v2/model/model_environment_create.go create mode 100644 services/servicestage/v2/model/model_environment_modify.go create mode 100644 services/servicestage/v2/model/model_environment_resource_modify.go create mode 100644 services/servicestage/v2/model/model_external_access_protocol.go create mode 100644 services/servicestage/v2/model/model_external_access_status.go create mode 100644 services/servicestage/v2/model/model_external_access_type.go create mode 100644 services/servicestage/v2/model/model_external_accesses.go create mode 100644 services/servicestage/v2/model/model_external_accesses_create.go create mode 100644 services/servicestage/v2/model/model_file_create.go create mode 100644 services/servicestage/v2/model/model_file_update.go create mode 100644 services/servicestage/v2/model/model_flavor_id.go create mode 100644 services/servicestage/v2/model/model_flavor_view.go create mode 100644 services/servicestage/v2/model/model_hook.go create mode 100644 services/servicestage/v2/model/model_hook_create.go create mode 100644 services/servicestage/v2/model/model_instance_action.go create mode 100644 services/servicestage/v2/model/model_instance_action_parameters.go create mode 100644 services/servicestage/v2/model/model_instance_action_type.go create mode 100644 services/servicestage/v2/model/model_instance_create.go create mode 100644 services/servicestage/v2/model/model_instance_fail_detail.go create mode 100644 services/servicestage/v2/model/model_instance_list_view.go create mode 100644 services/servicestage/v2/model/model_instance_modify.go create mode 100644 services/servicestage/v2/model/model_instance_platform_type.go create mode 100644 services/servicestage/v2/model/model_instance_snapshot_view.go create mode 100644 services/servicestage/v2/model/model_instance_status_type.go create mode 100644 services/servicestage/v2/model/model_instance_status_view.go create mode 100644 services/servicestage/v2/model/model_job_info.go create mode 100644 services/servicestage/v2/model/model_list_applications_request.go create mode 100644 services/servicestage/v2/model/model_list_applications_response.go create mode 100644 services/servicestage/v2/model/model_list_authorizations_request.go create mode 100644 services/servicestage/v2/model/model_list_authorizations_response.go create mode 100644 services/servicestage/v2/model/model_list_branches_request.go create mode 100644 services/servicestage/v2/model/model_list_branches_response.go create mode 100644 services/servicestage/v2/model/model_list_commits_request.go create mode 100644 services/servicestage/v2/model/model_list_commits_response.go create mode 100644 services/servicestage/v2/model/model_list_components_request.go create mode 100644 services/servicestage/v2/model/model_list_components_response.go create mode 100644 services/servicestage/v2/model/model_list_environments_request.go create mode 100644 services/servicestage/v2/model/model_list_environments_response.go create mode 100644 services/servicestage/v2/model/model_list_flavors_request.go create mode 100644 services/servicestage/v2/model/model_list_flavors_response.go create mode 100644 services/servicestage/v2/model/model_list_hooks_request.go create mode 100644 services/servicestage/v2/model/model_list_hooks_response.go create mode 100644 services/servicestage/v2/model/model_list_instance_snapshots_request.go create mode 100644 services/servicestage/v2/model/model_list_instance_snapshots_response.go create mode 100644 services/servicestage/v2/model/model_list_instances_request.go create mode 100644 services/servicestage/v2/model/model_list_instances_response.go create mode 100644 services/servicestage/v2/model/model_list_namespaces_request.go create mode 100644 services/servicestage/v2/model/model_list_namespaces_response.go create mode 100644 services/servicestage/v2/model/model_list_projects_request.go create mode 100644 services/servicestage/v2/model/model_list_projects_response.go create mode 100644 services/servicestage/v2/model/model_list_runtimes_request.go create mode 100644 services/servicestage/v2/model/model_list_runtimes_response.go create mode 100644 services/servicestage/v2/model/model_list_tags_request.go create mode 100644 services/servicestage/v2/model/model_list_tags_response.go create mode 100644 services/servicestage/v2/model/model_list_templates_request.go create mode 100644 services/servicestage/v2/model/model_list_templates_response.go create mode 100644 services/servicestage/v2/model/model_list_trees_request.go create mode 100644 services/servicestage/v2/model/model_list_trees_response.go create mode 100644 services/servicestage/v2/model/model_namespaces_namespaces.go create mode 100644 services/servicestage/v2/model/model_o_auth.go create mode 100644 services/servicestage/v2/model/model_project.go create mode 100644 services/servicestage/v2/model/model_project_create.go create mode 100644 services/servicestage/v2/model/model_refer_resource_create.go create mode 100644 services/servicestage/v2/model/model_refer_resources.go create mode 100644 services/servicestage/v2/model/model_resource.go create mode 100644 services/servicestage/v2/model/model_resource_refer_alias.go create mode 100644 services/servicestage/v2/model/model_resource_type.go create mode 100644 services/servicestage/v2/model/model_runtime_type.go create mode 100644 services/servicestage/v2/model/model_runtime_type_view.go create mode 100644 services/servicestage/v2/model/model_show_application_configuration_request.go create mode 100644 services/servicestage/v2/model/model_show_application_configuration_response.go create mode 100644 services/servicestage/v2/model/model_show_application_detail_request.go create mode 100644 services/servicestage/v2/model/model_show_application_detail_response.go create mode 100644 services/servicestage/v2/model/model_show_component_detail_request.go create mode 100644 services/servicestage/v2/model/model_show_component_detail_response.go create mode 100644 services/servicestage/v2/model/model_show_content_request.go create mode 100644 services/servicestage/v2/model/model_show_content_response.go create mode 100644 services/servicestage/v2/model/model_show_environment_detail_request.go create mode 100644 services/servicestage/v2/model/model_show_environment_detail_response.go create mode 100644 services/servicestage/v2/model/model_show_instance_detail_request.go create mode 100644 services/servicestage/v2/model/model_show_instance_detail_response.go create mode 100644 services/servicestage/v2/model/model_show_job_detail_request.go create mode 100644 services/servicestage/v2/model/model_show_job_detail_response.go create mode 100644 services/servicestage/v2/model/model_show_project_detail_request.go create mode 100644 services/servicestage/v2/model/model_show_project_detail_response.go create mode 100644 services/servicestage/v2/model/model_show_redirect_url_request.go create mode 100644 services/servicestage/v2/model/model_show_redirect_url_response.go create mode 100644 services/servicestage/v2/model/model_source_kind.go create mode 100644 services/servicestage/v2/model/model_source_object.go create mode 100644 services/servicestage/v2/model/model_source_or_artifact.go create mode 100644 services/servicestage/v2/model/model_source_repo_type.go create mode 100644 services/servicestage/v2/model/model_tag_create.go create mode 100644 services/servicestage/v2/model/model_task_info.go create mode 100644 services/servicestage/v2/model/model_template.go create mode 100644 services/servicestage/v2/model/model_template_view.go create mode 100644 services/servicestage/v2/model/model_update_file_request.go create mode 100644 services/servicestage/v2/model/model_update_file_response.go create mode 100644 services/servicestage/v2/model/model_update_instance_action_request.go create mode 100644 services/servicestage/v2/model/model_update_instance_action_response.go create mode 100644 services/servicestage/v2/serviceStage_client.go create mode 100644 services/servicestage/v2/serviceStage_meta.go create mode 100644 services/vpc/v3/model/model_batch_create_sub_network_interface_request.go rename services/vpc/v3/model/{model_batch_create_sub_network_interface_v3_request_body.go => model_batch_create_sub_network_interface_request_body.go} (77%) rename services/vpc/v3/model/{model_batch_create_sub_network_interface_v3_response.go => model_batch_create_sub_network_interface_response.go} (61%) delete mode 100644 services/vpc/v3/model/model_batch_create_sub_network_interface_v3_request.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 788ce2357f..f6c1940232 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,64 @@ +## 0.0.19-beta 2020-10-31 +## HuaweiCloud SDK Core + - ### Features + - None + - ### Bug Fix + - Fix: fix the problem that when query parameter contains enumerated variables the request will fail. + - [Issue 7](https://github.com/huaweicloud/huaweicloud-sdk-go-v3/issues/7) resolve the problem of using json.Marshal() returns object{}. + - ### Change + - None + +## HuaweiCloud SDK CBR + - ### Features + - Support more interfaces: interfaces related to `TAG`. + - ### Bug Fix + - [Issue 17](https://github.com/huaweicloud/huaweicloud-sdk-java-v3/issues/17) fix the problem of interface: ListBackups. + - ### Change + - None + +## HuaweiCloud SDK CTS + - ### Features + - Support more interface: ListQuotas + - ### Bug Fix + - None + - ### Change + - None + +## HuaweiCloud SDK EPS + - ### Features + - None + - ### Bug Fix + - None + - ### Change + - Adjust interfaces' names, replace abbreviations of `EP` with `EnterpriseProject`, the involved interfaces are: + 1. ListEP → ListEnterpriseProject + 2. CreateEP → CreateEnterpriseProject + 3. ShowEP → ShowEnterpriseProject + 4. ModifyEP → ModifyEnterpriseProject + 5. EnableEP → EnableEnterpriseProject + 6. ShowEPQuota → ShowEnterpriseProjectQuota + 7. ShowResourceBindEP → ShowResourceBindEnterpriseProject + 8. DisableEP → DisableEnterpriseProject + +## HuaweiCloud SDK Iam + - ### Features + - None + - ### Bug Fix + - None + - ### Change + - Adjust interfaces' names, the involved interfaces are: + 1. KeystoneCreateUserTokenByPasswordAndMFA → KeystoneCreateUserTokenByPasswordAndMfa + 2. CreateUnscopeTokenByIDPInitiated → CreateUnscopeTokenByIdpInitiated + +## HuaweiCloud SDK ProjectMan + - ### Features + - Support more interfaces: iteration information, user information, project members, project information, project indicators, project statistics, etc. + - ### Bug Fix + - None + - ### Change + - None + + ## 0.0.18-beta 2020-10-20 ## HuaweiCloud SDK ELB - ### Features @@ -395,13 +456,3 @@ - Identity and Access Management(IAM) - Tag Management Service(TMS) - Virtual Private Cloud(VPC) - -# 3.0.17-beta 2020-10-16 -## HuaweiCloud SDK DevStar - - ### Features - - Change of title from Devstar to DevStar. - - Supplemental DevStar Automation Test Cases. - - ### Bug Fix - - None - - ### Change - - None \ No newline at end of file diff --git a/CHANGELOG_CN.md b/CHANGELOG_CN.md index 5c60a40703..b3845f024a 100644 --- a/CHANGELOG_CN.md +++ b/CHANGELOG_CN.md @@ -1,3 +1,64 @@ +## 0.0.19-beta 2020-10-31 +## HuaweiCloud SDK Core + - ### 新增特性 + - 无 + - ### 解决问题 + - Fix: query参数中包含枚举变量时请求失败 + - [Issue 7](https://github.com/huaweicloud/huaweicloud-sdk-go-v3/issues/7) 解决json.Marshal变成{}对象的问题 + - ### 特性变更 + - 无 + +## HuaweiCloud SDK CBR + - ### 新增特性 + - 新增支持接口:TAG标签相关接口 + - ### 解决问题 + - [Issue 17](https://github.com/huaweicloud/huaweicloud-sdk-java-v3/issues/17) 修复ListBackups接口响应体问题 + - ### 特性变更 + - 无 + +## HuaweiCloud SDK CTS + - ### 新增特性 + - 新增支持接口:ListQuotas(查询租户追踪器配额信息) + - ### 解决问题 + - 无 + - ### 特性变更 + - 无 + +## HuaweiCloud SDK EPS + - ### 新增特性 + - 无 + - ### 解决问题 + - 无 + - ### 特性变更 + - 接口名称调整,原有的`*EP`接口展开为`*EnterpriseProject`,涉及接口: + 1. ListEP → ListEnterpriseProject + 2. CreateEP → CreateEnterpriseProject + 3. ShowEP → ShowEnterpriseProject + 4. ModifyEP → ModifyEnterpriseProject + 5. EnableEP → EnableEnterpriseProject + 6. ShowEPQuota → ShowEnterpriseProjectQuota + 7. ShowResourceBindEP → ShowResourceBindEnterpriseProject + 8. DisableEP → DisableEnterpriseProject + +## HuaweiCloud SDK Iam + - ### 新增特性 + - 无 + - ### 解决问题 + - 无 + - ### 特性变更 + - 接口名称调整,涉及接口: + 1. KeystoneCreateUserTokenByPasswordAndMFA → KeystoneCreateUserTokenByPasswordAndMfa + 2. CreateUnscopeTokenByIDPInitiated → CreateUnscopeTokenByIdpInitiated + +## HuaweiCloud SDK ProjectMan + - ### 新增特性 + - 新增支持接口:迭代信息、用户信息、项目成员、项目信息、项目指标、项目统计等相关方法的接口 + - ### 解决问题 + - 无 + - ### 特性变更 + - 无 + + ## 0.0.18-beta 2020-10-20 ## HuaweiCloud SDK ELB - ### 新增特性 @@ -396,13 +457,3 @@ - 统一身份认证服务(IAM) - 标签管理服务(TMS) - 虚拟私有云(VPC) - -# 3.0.17-beta 2020-10-16 -## HuaweiCloud SDK DevStar - - ### 新增特性 - - title由Devstar更改为DevStar - - 补充DevStar自动化测试用例 - - ### 解决问题 - - 无 - - ### 特性变更 - - 无 \ No newline at end of file diff --git a/core/converter/converters.go b/core/converter/converters.go index 1de63b806a..edc3403e2e 100644 --- a/core/converter/converters.go +++ b/core/converter/converters.go @@ -1,7 +1,10 @@ package converter +import "reflect" + type Converter interface { CovertStringToInterface(value string) (interface{}, error) + CovertStringToPrimitiveTypeAndSetField(field reflect.Value, value string, isPtr bool) error } func StringConverterFactory(vType string) Converter { diff --git a/core/converter/types.go b/core/converter/types.go index b7ee2d27d0..dc58f15b47 100644 --- a/core/converter/types.go +++ b/core/converter/types.go @@ -1,6 +1,9 @@ package converter -import "strconv" +import ( + "reflect" + "strconv" +) type Int32Converter struct{} @@ -12,6 +15,20 @@ func (i Int32Converter) CovertStringToInterface(value string) (interface{}, erro return int32(0), err } +func (i Int32Converter) CovertStringToPrimitiveTypeAndSetField(field reflect.Value, value string, isPtr bool) error { + v, err := i.CovertStringToInterface(value) + if err != nil { + return err + } + val := v.(int32) + if isPtr { + field.Set(reflect.ValueOf(&val)) + } else { + field.Set(reflect.ValueOf(val)) + } + return nil +} + type Int64Converter struct{} func (i Int64Converter) CovertStringToInterface(value string) (interface{}, error) { @@ -22,6 +39,20 @@ func (i Int64Converter) CovertStringToInterface(value string) (interface{}, erro return int64(0), err } +func (i Int64Converter) CovertStringToPrimitiveTypeAndSetField(field reflect.Value, value string, isPtr bool) error { + v, err := i.CovertStringToInterface(value) + if err != nil { + return err + } + val := v.(int64) + if isPtr { + field.Set(reflect.ValueOf(&val)) + } else { + field.Set(reflect.ValueOf(val)) + } + return nil +} + type Float32Converter struct{} func (i Float32Converter) CovertStringToInterface(value string) (interface{}, error) { @@ -32,6 +63,20 @@ func (i Float32Converter) CovertStringToInterface(value string) (interface{}, er return float32(0), err } +func (i Float32Converter) CovertStringToPrimitiveTypeAndSetField(field reflect.Value, value string, isPtr bool) error { + v, err := i.CovertStringToInterface(value) + if err != nil { + return err + } + val := v.(float32) + if isPtr { + field.Set(reflect.ValueOf(&val)) + } else { + field.Set(reflect.ValueOf(val)) + } + return nil +} + type Float64Converter struct{} func (i Float64Converter) CovertStringToInterface(value string) (interface{}, error) { @@ -42,6 +87,20 @@ func (i Float64Converter) CovertStringToInterface(value string) (interface{}, er return float64(0), err } +func (i Float64Converter) CovertStringToPrimitiveTypeAndSetField(field reflect.Value, value string, isPtr bool) error { + v, err := i.CovertStringToInterface(value) + if err != nil { + return err + } + val := v.(float64) + if isPtr { + field.Set(reflect.ValueOf(&val)) + } else { + field.Set(reflect.ValueOf(val)) + } + return nil +} + type BooleanConverter struct{} func (i BooleanConverter) CovertStringToInterface(value string) (interface{}, error) { @@ -52,8 +111,32 @@ func (i BooleanConverter) CovertStringToInterface(value string) (interface{}, er return false, err } +func (i BooleanConverter) CovertStringToPrimitiveTypeAndSetField(field reflect.Value, value string, isPtr bool) error { + v, err := i.CovertStringToInterface(value) + if err != nil { + return err + } + val := v.(bool) + if isPtr { + field.Set(reflect.ValueOf(&val)) + } else { + field.Set(reflect.ValueOf(val)) + } + return nil +} + type StringConverter struct{} func (i StringConverter) CovertStringToInterface(value string) (interface{}, error) { return value, nil } + +func (i StringConverter) CovertStringToPrimitiveTypeAndSetField(field reflect.Value, value string, isPtr bool) error { + val := value + if isPtr { + field.Set(reflect.ValueOf(&val)) + } else { + field.Set(reflect.ValueOf(val)) + } + return nil +} diff --git a/core/def/field.go b/core/def/field.go index 518eee3964..265960579b 100644 --- a/core/def/field.go +++ b/core/def/field.go @@ -31,6 +31,8 @@ const ( type FieldDef struct { LocationType LocationType Name string + JsonTag string + KindName string } func NewFieldDef() *FieldDef { @@ -46,3 +48,13 @@ func (field *FieldDef) WithName(name string) *FieldDef { field.Name = name return field } + +func (field *FieldDef) WithJsonTag(tag string) *FieldDef { + field.JsonTag = tag + return field +} + +func (field *FieldDef) WithKindName(kindName string) *FieldDef { + field.KindName = kindName + return field +} diff --git a/core/def/field_tags.go b/core/def/field_tags.go deleted file mode 100644 index b949877064..0000000000 --- a/core/def/field_tags.go +++ /dev/null @@ -1,26 +0,0 @@ -// Copyright 2020 Huawei Technologies Co.,Ltd. -// -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package def - -type FieldJsonTag struct { - FieldName string - JsonName string - JsonTag string -} diff --git a/core/def/http_request_def.go b/core/def/http_request_def.go index 618b5206b1..de853c683d 100644 --- a/core/def/http_request_def.go +++ b/core/def/http_request_def.go @@ -20,11 +20,12 @@ package def type HttpRequestDef struct { - BodyJson interface{} - RequestFields []*FieldDef - Path string - Method string - ContentType string + Method string + Path string + ContentType string + RequestFields []*FieldDef + ResponseFields []*FieldDef + Response interface{} } type HttpRequestDefBuilder struct { @@ -33,7 +34,8 @@ type HttpRequestDefBuilder struct { func NewHttpRequestDefBuilder() *HttpRequestDefBuilder { httpRequestDef := &HttpRequestDef{ - RequestFields: []*FieldDef{}, + RequestFields: []*FieldDef{}, + ResponseFields: []*FieldDef{}, } HttpRequestDefBuilder := &HttpRequestDefBuilder{ httpRequestDef: httpRequestDef, @@ -56,8 +58,8 @@ func (builder *HttpRequestDefBuilder) WithContentType(contentType string) *HttpR return builder } -func (builder *HttpRequestDefBuilder) WithBodyJson(bodyJson interface{}) *HttpRequestDefBuilder { - builder.httpRequestDef.BodyJson = bodyJson +func (builder *HttpRequestDefBuilder) WithResponse(response interface{}) *HttpRequestDefBuilder { + builder.httpRequestDef.Response = response return builder } @@ -66,6 +68,11 @@ func (builder *HttpRequestDefBuilder) WithRequestField(field *FieldDef) *HttpReq return builder } +func (builder *HttpRequestDefBuilder) WithResponseField(field *FieldDef) *HttpRequestDefBuilder { + builder.httpRequestDef.ResponseFields = append(builder.httpRequestDef.ResponseFields, field) + return builder +} + func (builder *HttpRequestDefBuilder) Build() *HttpRequestDef { return builder.httpRequestDef } diff --git a/core/def/http_response_def.go b/core/def/http_response_def.go deleted file mode 100644 index 216cbdca01..0000000000 --- a/core/def/http_response_def.go +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright 2020 Huawei Technologies Co.,Ltd. -// -// Licensed to the Apache Software Foundation (ASF) under one -// or more contributor license agreements. See the NOTICE file -// distributed with this work for additional information -// regarding copyright ownership. The ASF licenses this file -// to you under the Apache License, Version 2.0 (the -// "License"); you may not use this file except in compliance -// with the License. You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, -// software distributed under the License is distributed on an -// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -// KIND, either express or implied. See the License for the -// specific language governing permissions and limitations -// under the License. - -package def - -type HttpResponseDef struct { - BodyJson interface{} -} - -type HttpResponseDefBuilder struct { - httpResponseDef *HttpResponseDef -} - -func NewHttpResponseDefBuilder() *HttpResponseDefBuilder { - HttpResponseDef := &HttpResponseDef{} - HttpResponseDefBuilder := &HttpResponseDefBuilder{ - httpResponseDef: HttpResponseDef, - } - return HttpResponseDefBuilder -} - -func (builder *HttpResponseDefBuilder) WithBodyJson(bodyJson interface{}) *HttpResponseDefBuilder { - builder.httpResponseDef.BodyJson = bodyJson - return builder -} - -func (builder *HttpResponseDefBuilder) Build() *HttpResponseDef { - return builder.httpResponseDef -} diff --git a/core/hc_http_client.go b/core/hc_http_client.go index 6136364a45..e96df9f93f 100644 --- a/core/hc_http_client.go +++ b/core/hc_http_client.go @@ -21,10 +21,10 @@ package core import ( "bytes" - "encoding/json" "errors" "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/def" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/impl" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/request" @@ -56,7 +56,7 @@ func (hc *HcHttpClient) WithCredential(credential auth.ICredential) *HcHttpClien return hc } -func (hc *HcHttpClient) Sync(req interface{}, reqDef *def.HttpRequestDef, responseDef *def.HttpResponseDef) (*response.DefaultHttpResponse, error) { +func (hc *HcHttpClient) Sync(req interface{}, reqDef *def.HttpRequestDef) (interface{}, error) { httpRequest, err := hc.buildRequest(req, reqDef) if err != nil { return nil, err @@ -67,15 +67,14 @@ func (hc *HcHttpClient) Sync(req interface{}, reqDef *def.HttpRequestDef, respon return nil, err } - return hc.extractResponse(resp, responseDef) + return hc.extractResponse(resp, reqDef) } func (hc *HcHttpClient) buildRequest(req interface{}, reqDef *def.HttpRequestDef) (*request.DefaultHttpRequest, error) { builder := request.NewHttpRequestBuilder(). WithEndpoint(hc.endpoint). WithMethod(reqDef.Method). - WithPath(reqDef.Path). - WithBody(reqDef.BodyJson) + WithPath(reqDef.Path) if reqDef.ContentType != "" { builder.AddHeaderParam("Content-Type", reqDef.ContentType) @@ -98,29 +97,29 @@ func (hc *HcHttpClient) fillParamsFromReq(req interface{}, reqDef *def.HttpReque attrMaps := hc.GetFieldJsonTags(req) for _, fieldDef := range reqDef.RequestFields { - if _, ok := attrMaps[fieldDef.Name]; ok { - value, err := hc.GetFieldValueByName(attrMaps[fieldDef.Name], req) - if err != nil { - return nil, err - } - if value == nil { - continue - } - switch fieldDef.LocationType { - case def.Header: - builder.AddHeaderParam(fieldDef.Name, fmt.Sprintf("%v", value)) - case def.Path: - builder.AddPathParam(fieldDef.Name, fmt.Sprintf("%v", value)) - case def.Query: - builder.AddQueryParam(fieldDef.Name, value) - } + value, err := hc.GetFieldValueByName(fieldDef.Name, attrMaps, req) + if err != nil { + return nil, err + } + if !value.IsValid() { + continue + } + switch fieldDef.LocationType { + case def.Header: + builder.AddHeaderParam(fieldDef.JsonTag, fmt.Sprintf("%v", value)) + case def.Path: + builder.AddPathParam(fieldDef.JsonTag, fmt.Sprintf("%v", value)) + case def.Query: + builder.AddQueryParam(fieldDef.JsonTag, value) + case def.Body: + builder.WithBody(value.Interface()) } } return builder, nil } -func (hc *HcHttpClient) GetFieldJsonTags(structName interface{}) map[string]def.FieldJsonTag { - attrMaps := make(map[string]def.FieldJsonTag) +func (hc *HcHttpClient) GetFieldJsonTags(structName interface{}) map[string]string { + attrMaps := make(map[string]string) t := reflect.TypeOf(structName) if t.Kind() == reflect.Ptr { t = t.Elem() @@ -130,52 +129,55 @@ func (hc *HcHttpClient) GetFieldJsonTags(structName interface{}) map[string]def. for i := 0; i < fieldNum; i++ { jsonTag := t.Field(i).Tag.Get("json") if jsonTag != "" { - jsonName := strings.Split(jsonTag, ",")[0] - attrMaps[jsonName] = def.FieldJsonTag{ - FieldName: t.Field(i).Name, - JsonName: jsonName, - JsonTag: jsonTag, - } + attrMaps[t.Field(i).Name] = jsonTag } } return attrMaps } -func (hc *HcHttpClient) GetFieldValueByName(fieldJsonTag def.FieldJsonTag, structName interface{}) (interface{}, error) { +func (hc *HcHttpClient) GetFieldValueByName(name string, jsonTag map[string]string, structName interface{}) (reflect.Value, error) { v := reflect.ValueOf(structName) if v.Kind() == reflect.Ptr { v = v.Elem() } - value := v.FieldByName(fieldJsonTag.FieldName) - if value.Kind() == reflect.Ptr || value.Kind() == reflect.Struct || value.Kind() == reflect.Interface { + value := v.FieldByName(name) + if value.Kind() == reflect.Ptr { if value.IsNil() { - if strings.Contains(fieldJsonTag.JsonTag, "omitempty") { - return nil, nil + if strings.Contains(jsonTag[name], "omitempty") { + return reflect.ValueOf(nil), nil } - return nil, errors.New("request field " + fieldJsonTag.FieldName + " read null value") + return reflect.ValueOf(nil), errors.New("request field " + name + " read null value") } return value.Elem(), nil } + if value.Kind() == reflect.Struct { + v, err := jsoniter.Marshal(value.Interface()) + if strings.HasPrefix(string(v), "\"") { + return reflect.ValueOf(strings.Trim(string(v), "\"")), err + } else { + return reflect.ValueOf(string(v)), err + } + } + return value, nil } -func (hc *HcHttpClient) extractResponse(resp *response.DefaultHttpResponse, responseDef *def.HttpResponseDef) (*response.DefaultHttpResponse, error) { +func (hc *HcHttpClient) extractResponse(resp *response.DefaultHttpResponse, reqDef *def.HttpRequestDef) (interface{}, error) { if resp.GetStatusCode() >= 400 { - return resp, sdkerr.NewServiceResponseError(resp.Response) + return nil, sdkerr.NewServiceResponseError(resp.Response) } - bodyErr := hc.deserializeResponseBody(resp, responseDef) - if bodyErr != nil { - return nil, bodyErr + err := hc.deserializeResponse(resp, reqDef) + if err != nil { + return nil, err } - hc.deserializeResponseHeaders(resp, responseDef) - return resp, nil + return reqDef.Response, nil } -func (hc *HcHttpClient) deserializeResponseBody(resp *response.DefaultHttpResponse, responseDef *def.HttpResponseDef) error { +func (hc *HcHttpClient) deserializeResponse(resp *response.DefaultHttpResponse, reqDef *def.HttpRequestDef) error { data, err := ioutil.ReadAll(resp.Response.Body) if err != nil { if closeErr := resp.Response.Body.Close(); closeErr != nil { @@ -183,29 +185,42 @@ func (hc *HcHttpClient) deserializeResponseBody(resp *response.DefaultHttpRespon } return err } - if err := resp.Response.Body.Close(); err != nil { return err } else { resp.Response.Body = ioutil.NopCloser(bytes.NewBuffer(data)) } - if len(data) == 0 { - return nil - } + hasBody := false + for _, item := range reqDef.ResponseFields { + if item.LocationType == def.Header { + err := hc.deserializeResponseHeaders(resp, reqDef, item) + if err != nil { + return sdkerr.ServiceResponseError{ + StatusCode: resp.GetStatusCode(), + RequestId: resp.GetHeader("X-Request-Id"), + ErrorMessage: err.Error(), + } + } + } - err = jsoniter.Unmarshal(data, responseDef.BodyJson) - if err != nil { - if strings.HasPrefix(string(data), "{") { - return sdkerr.ServiceResponseError{ - StatusCode: resp.GetStatusCode(), - RequestId: resp.GetHeader("X-Request-Id"), - ErrorMessage: err.Error(), + if item.LocationType == def.Body { + hasBody = true + + dataOfListOrString := "{ \"body\" : " + string(data) + "}" + err = jsoniter.Unmarshal([]byte(dataOfListOrString), &reqDef.Response) + if err != nil { + return sdkerr.ServiceResponseError{ + StatusCode: resp.GetStatusCode(), + RequestId: resp.GetHeader("X-Request-Id"), + ErrorMessage: err.Error(), + } } } + } - dataOfListOrString := "{ \"body\" : " + string(data) + "}" - err = jsoniter.Unmarshal([]byte(dataOfListOrString), responseDef.BodyJson) + if len(data) != 0 && !hasBody { + err = jsoniter.Unmarshal(data, &reqDef.Response) if err != nil { return sdkerr.ServiceResponseError{ StatusCode: resp.GetStatusCode(), @@ -215,17 +230,44 @@ func (hc *HcHttpClient) deserializeResponseBody(resp *response.DefaultHttpRespon } } - resp.BodyJson = responseDef.BodyJson return nil } -func (hc *HcHttpClient) deserializeResponseHeaders(resp *response.DefaultHttpResponse, responseDef *def.HttpResponseDef) { - headers := make(map[string]string) - for header := range resp.Response.Header { - headers[header] = resp.Response.Header.Get(header) +func (hc *HcHttpClient) deserializeResponseHeaders(resp *response.DefaultHttpResponse, reqDef *def.HttpRequestDef, item *def.FieldDef) error { + isPtr, fieldKind := GetFieldInfo(reqDef, item) + v := reflect.ValueOf(reqDef.Response) + if v.Kind() == reflect.Ptr { + v = v.Elem() + } + fieldValue := v.FieldByName(item.Name) + headerValue := resp.GetHeader(item.JsonTag) + + sdkConverter := converter.StringConverterFactory(fieldKind) + if sdkConverter == nil { + return errors.New("failed to convert " + item.JsonTag) } - headersJsonStr, err := json.Marshal(headers) - if err == nil && len(headersJsonStr) != 0 { - _ = jsoniter.Unmarshal(headersJsonStr, responseDef.BodyJson) + + err := sdkConverter.CovertStringToPrimitiveTypeAndSetField(fieldValue, headerValue, isPtr) + if err != nil { + return err + } + + return nil +} + +func GetFieldInfo(reqDef *def.HttpRequestDef, item *def.FieldDef) (bool, string) { + var fieldKind string + var isPtr = false + t := reflect.TypeOf(reqDef.Response) + if t.Kind() == reflect.Ptr { + isPtr = true + t = t.Elem() + } + field, _ := t.FieldByName(item.Name) + if field.Type.Kind() == reflect.Ptr { + fieldKind = field.Type.Elem().Kind().String() + } else { + fieldKind = field.Type.Kind().String() } + return isPtr, fieldKind } diff --git a/core/response/default_http_response.go b/core/response/default_http_response.go index bca26e1e66..1eb618a56a 100644 --- a/core/response/default_http_response.go +++ b/core/response/default_http_response.go @@ -27,7 +27,6 @@ import ( type DefaultHttpResponse struct { Response *http.Response - BodyJson interface{} } func NewDefaultHttpResponse(response *http.Response) *DefaultHttpResponse { @@ -60,10 +59,6 @@ func (r *DefaultHttpResponse) GetBody() string { return string(body) } -func (r *DefaultHttpResponse) GetBodyJson() interface{} { - return r.BodyJson -} - func (r *DefaultHttpResponse) GetHeader(key string) string { header := r.Response.Header return header.Get(key) diff --git a/core/sdktime/sdk_time.go b/core/sdktime/sdk_time.go index faec049ca1..2b6acd41ce 100644 --- a/core/sdktime/sdk_time.go +++ b/core/sdktime/sdk_time.go @@ -1,6 +1,7 @@ package sdktime import ( + "fmt" "strings" "time" ) @@ -23,6 +24,11 @@ func (t *SdkTime) UnmarshalJSON(data []byte) error { return nil } +func (t SdkTime) MarshalJSON() ([]byte, error) { + rs := []byte(fmt.Sprintf(`"%s"`, t.String())) + return rs, nil +} + func (t SdkTime) String() string { return time.Time(t).Format(`2006-01-02T15:04:05Z`) } diff --git a/services/apig/v2/apig_client.go b/services/apig/v2/apig_client.go index c9fb3c956a..41a901af1a 100644 --- a/services/apig/v2/apig_client.go +++ b/services/apig/v2/apig_client.go @@ -20,756 +20,693 @@ func ApigClientBuilder() *http_client.HcHttpClientBuilder { //如果创建API时,“定义API请求”使用HTTPS请求协议,那么在独立域名中需要添加SSL证书。 本章节主要介绍为特定域名绑定证书。 func (c *ApigClient) AssociateCertificateV2(request *model.AssociateCertificateV2Request) (*model.AssociateCertificateV2Response, error) { - requestDef := GenReqDefForAssociateCertificateV2(request) - resp, responseDef := GenRespForAssociateCertificateV2() + requestDef := GenReqDefForAssociateCertificateV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateCertificateV2Response), nil } } //用户自定义的域名,需要CNAME到API分组的子域名上才能生效,具体方法请参见[增加CNAME类型记录集](https://support.huaweicloud.com/usermanual-dns/dns_usermanual_0010.html)。 每个API分组下最多可绑定5个域名。绑定域名后,用户可通过自定义域名调用API。 func (c *ApigClient) AssociateDomainV2(request *model.AssociateDomainV2Request) (*model.AssociateDomainV2Response, error) { - requestDef := GenReqDefForAssociateDomainV2(request) - resp, responseDef := GenRespForAssociateDomainV2() + requestDef := GenReqDefForAssociateDomainV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateDomainV2Response), nil } } //签名密钥创建后,需要绑定到API才能生效。 将签名密钥绑定到API后,则API网关请求后端服务时就会使用这个签名密钥进行加密签名,后端服务可以校验这个签名来验证请求来源。 将指定的签名密钥绑定到一个或多个已发布的API上。同一个API发布到不同的环境可以绑定不同的签名密钥;一个API在发布到特定环境后只能绑定一个签名密钥。 func (c *ApigClient) AssociateSignatureKeyV2(request *model.AssociateSignatureKeyV2Request) (*model.AssociateSignatureKeyV2Response, error) { - requestDef := GenReqDefForAssociateSignatureKeyV2(request) - resp, responseDef := GenRespForAssociateSignatureKeyV2() + requestDef := GenReqDefForAssociateSignatureKeyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateSignatureKeyV2Response), nil } } //在实际的生产中,API提供者可能有多个环境,如开发环境、测试环境、生产环境等,用户可以自由将API发布到某个环境,供调用者调用。 对于不同的环境,API的版本、请求地址甚至于包括请求消息等均有可能不同。如:某个API,v1.0的版本为稳定版本,发布到了生产环境供生产使用,同时,该API正处于迭代中,v1.1的版本是开发人员交付测试人员进行测试的版本,发布在测试环境上,而v1.2的版本目前开发团队正处于开发过程中,可以发布到开发环境进行自测等。 为此,API网关提供多环境管理功能,使租户能够最大化的模拟实际场景,低成本的接入API网关。 func (c *ApigClient) CreateEnvironmentV2(request *model.CreateEnvironmentV2Request) (*model.CreateEnvironmentV2Response, error) { - requestDef := GenReqDefForCreateEnvironmentV2(request) - resp, responseDef := GenRespForCreateEnvironmentV2() + requestDef := GenReqDefForCreateEnvironmentV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateEnvironmentV2Response), nil } } //将API发布到不同的环境后,对于不同的环境,可能会有不同的环境变量,比如,API的服务部署地址,请求的版本号等。 用户可以定义不同的环境变量,用户在定义API时,在API的定义中使用这些变量,当调用API时,API网关会将这些变量替换成真实的变量值,以达到不同环境的区分效果。 环境变量定义在API分组上,该分组下的所有API都可以使用这些变量。 > 1.环境变量的变量名称必须保持唯一,即一个分组在同一个环境上不能有两个同名的变量 2.环境变量区分大小写,即变量ABC与变量abc是两个不同的变量 3.设置了环境变量后,使用到该变量的API的调试功能将不可使用。 4.定义了环境变量后,使用到环境变量的地方应该以对称的#标识环境变量,当API发布到相应的环境后,会对环境变量的值进行替换,如:定义的API的URL为:https://#address#:8080,环境变量address在RELEASE环境上的值为:192.168.1.5,则API发布到RELEASE环境后的真实的URL为:https://192.168.1.5:8080。 func (c *ApigClient) CreateEnvironmentVariableV2(request *model.CreateEnvironmentVariableV2Request) (*model.CreateEnvironmentVariableV2Response, error) { - requestDef := GenReqDefForCreateEnvironmentVariableV2(request) - resp, responseDef := GenRespForCreateEnvironmentVariableV2() + requestDef := GenReqDefForCreateEnvironmentVariableV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateEnvironmentVariableV2Response), nil } } //当API上线后,系统会默认给每个API提供一个流控策略,API提供者可以根据自身API的服务能力及负载情况变更这个流控策略。 流控策略即限制API在一定长度的时间内,能够允许被访问的最大次数。 func (c *ApigClient) CreateRequestThrottlingPolicyV2(request *model.CreateRequestThrottlingPolicyV2Request) (*model.CreateRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForCreateRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForCreateRequestThrottlingPolicyV2() + requestDef := GenReqDefForCreateRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateRequestThrottlingPolicyV2Response), nil } } //为了保护API的安全性,建议租户为API的访问提供一套保护机制,即租户开放的API,需要对请求来源进行认证,不符合认证的请求直接拒绝访问。 其中,签名密钥就是API安全保护机制的一种。 租户创建一个签名密钥,并将签名密钥与API进行绑定,则API网关在请求这个API时,就会使用绑定的签名密钥对请求参数进行数据加密,生成签名。当租户的后端服务收到请求时,可以校验这个签名,如果签名校验不通过,则该请求不是API网关发出的请求,租户可以拒绝这个请求,从而保证API的安全性,避免API被未知来源的请求攻击。 func (c *ApigClient) CreateSignatureKeyV2(request *model.CreateSignatureKeyV2Request) (*model.CreateSignatureKeyV2Response, error) { - requestDef := GenReqDefForCreateSignatureKeyV2(request) - resp, responseDef := GenRespForCreateSignatureKeyV2() + requestDef := GenReqDefForCreateSignatureKeyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSignatureKeyV2Response), nil } } //流控策略可以限制一段时间内可以访问API的最大次数,也可以限制一段时间内单个租户和单个APP可以访问API的最大次数。 如果想要对某个特定的APP进行特殊设置,例如设置所有APP每分钟的访问次数为500次,但想设置APP1每分钟的访问次数为800次,可以通过在流控策略中设置特殊APP来实现该功能。 为流控策略添加一个特殊设置的对象,可以是APP,也可以是租户。 func (c *ApigClient) CreateSpecialThrottlingConfigurationV2(request *model.CreateSpecialThrottlingConfigurationV2Request) (*model.CreateSpecialThrottlingConfigurationV2Response, error) { - requestDef := GenReqDefForCreateSpecialThrottlingConfigurationV2(request) - resp, responseDef := GenRespForCreateSpecialThrottlingConfigurationV2() + requestDef := GenReqDefForCreateSpecialThrottlingConfigurationV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSpecialThrottlingConfigurationV2Response), nil } } //删除指定的环境。 该操作将导致此API在指定的环境无法被访问,可能会影响相当一部分应用和用户。请确保已经告知用户,或者确认需要强制下线。 func (c *ApigClient) DeleteEnvironmentV2(request *model.DeleteEnvironmentV2Request) (*model.DeleteEnvironmentV2Response, error) { - requestDef := GenReqDefForDeleteEnvironmentV2(request) - resp, responseDef := GenRespForDeleteEnvironmentV2() + requestDef := GenReqDefForDeleteEnvironmentV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteEnvironmentV2Response), nil } } //删除指定的环境变量。 func (c *ApigClient) DeleteEnvironmentVariableV2(request *model.DeleteEnvironmentVariableV2Request) (*model.DeleteEnvironmentVariableV2Response, error) { - requestDef := GenReqDefForDeleteEnvironmentVariableV2(request) - resp, responseDef := GenRespForDeleteEnvironmentVariableV2() + requestDef := GenReqDefForDeleteEnvironmentVariableV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteEnvironmentVariableV2Response), nil } } //删除指定的流控策略,以及该流控策略与API的所有绑定关系。 func (c *ApigClient) DeleteRequestThrottlingPolicyV2(request *model.DeleteRequestThrottlingPolicyV2Request) (*model.DeleteRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForDeleteRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForDeleteRequestThrottlingPolicyV2() + requestDef := GenReqDefForDeleteRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteRequestThrottlingPolicyV2Response), nil } } //删除指定的签名密钥,删除签名密钥时,其配置的绑定关系会一并删除,相应的签名密钥会失效。 func (c *ApigClient) DeleteSignatureKeyV2(request *model.DeleteSignatureKeyV2Request) (*model.DeleteSignatureKeyV2Response, error) { - requestDef := GenReqDefForDeleteSignatureKeyV2(request) - resp, responseDef := GenRespForDeleteSignatureKeyV2() + requestDef := GenReqDefForDeleteSignatureKeyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSignatureKeyV2Response), nil } } //删除某个流控策略的某个特殊配置。 func (c *ApigClient) DeleteSpecialThrottlingConfigurationV2(request *model.DeleteSpecialThrottlingConfigurationV2Request) (*model.DeleteSpecialThrottlingConfigurationV2Response, error) { - requestDef := GenReqDefForDeleteSpecialThrottlingConfigurationV2(request) - resp, responseDef := GenRespForDeleteSpecialThrottlingConfigurationV2() + requestDef := GenReqDefForDeleteSpecialThrottlingConfigurationV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSpecialThrottlingConfigurationV2Response), nil } } //如果域名证书不再需要或者已过期,则可以删除证书内容。 func (c *ApigClient) DisassociateCertificateV2(request *model.DisassociateCertificateV2Request) (*model.DisassociateCertificateV2Response, error) { - requestDef := GenReqDefForDisassociateCertificateV2(request) - resp, responseDef := GenRespForDisassociateCertificateV2() + requestDef := GenReqDefForDisassociateCertificateV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisassociateCertificateV2Response), nil } } //如果API分组不再需要绑定某个自定义域名,则可以为此API分组解绑此域名。 func (c *ApigClient) DisassociateDomainV2(request *model.DisassociateDomainV2Request) (*model.DisassociateDomainV2Response, error) { - requestDef := GenReqDefForDisassociateDomainV2(request) - resp, responseDef := GenRespForDisassociateDomainV2() + requestDef := GenReqDefForDisassociateDomainV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisassociateDomainV2Response), nil } } //解除API与签名密钥的绑定关系。 func (c *ApigClient) DisassociateSignatureKeyV2(request *model.DisassociateSignatureKeyV2Request) (*model.DisassociateSignatureKeyV2Response, error) { - requestDef := GenReqDefForDisassociateSignatureKeyV2(request) - resp, responseDef := GenRespForDisassociateSignatureKeyV2() + requestDef := GenReqDefForDisassociateSignatureKeyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisassociateSignatureKeyV2Response), nil } } //查询租户名下的API分组概况。 func (c *ApigClient) ListApiGroupsQuantitiesV2(request *model.ListApiGroupsQuantitiesV2Request) (*model.ListApiGroupsQuantitiesV2Response, error) { - requestDef := GenReqDefForListApiGroupsQuantitiesV2(request) - resp, responseDef := GenRespForListApiGroupsQuantitiesV2() + requestDef := GenReqDefForListApiGroupsQuantitiesV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApiGroupsQuantitiesV2Response), nil } } //查询租户名下的API概况:已发布到RELEASE环境的API个数,未发布到RELEASE环境的API个数。 func (c *ApigClient) ListApiQuantitiesV2(request *model.ListApiQuantitiesV2Request) (*model.ListApiQuantitiesV2Response, error) { - requestDef := GenReqDefForListApiQuantitiesV2(request) - resp, responseDef := GenRespForListApiQuantitiesV2() + requestDef := GenReqDefForListApiQuantitiesV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApiQuantitiesV2Response), nil } } //查询某个签名密钥上已经绑定的API列表。 func (c *ApigClient) ListApisBindedToSignatureKeyV2(request *model.ListApisBindedToSignatureKeyV2Request) (*model.ListApisBindedToSignatureKeyV2Response, error) { - requestDef := GenReqDefForListApisBindedToSignatureKeyV2(request) - resp, responseDef := GenRespForListApisBindedToSignatureKeyV2() + requestDef := GenReqDefForListApisBindedToSignatureKeyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApisBindedToSignatureKeyV2Response), nil } } //查询所有未绑定到该签名密钥上的API列表。需要API已经发布,未发布的API不予展示。 func (c *ApigClient) ListApisNotBoundWithSignatureKeyV2(request *model.ListApisNotBoundWithSignatureKeyV2Request) (*model.ListApisNotBoundWithSignatureKeyV2Response, error) { - requestDef := GenReqDefForListApisNotBoundWithSignatureKeyV2(request) - resp, responseDef := GenRespForListApisNotBoundWithSignatureKeyV2() + requestDef := GenReqDefForListApisNotBoundWithSignatureKeyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApisNotBoundWithSignatureKeyV2Response), nil } } //查询租户名下的APP概况:已进行API访问授权的APP个数,未进行API访问授权的APP个数。 func (c *ApigClient) ListAppQuantitiesV2(request *model.ListAppQuantitiesV2Request) (*model.ListAppQuantitiesV2Response, error) { - requestDef := GenReqDefForListAppQuantitiesV2(request) - resp, responseDef := GenRespForListAppQuantitiesV2() + requestDef := GenReqDefForListAppQuantitiesV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAppQuantitiesV2Response), nil } } //查询分组下的所有环境变量的列表。 func (c *ApigClient) ListEnvironmentVariablesV2(request *model.ListEnvironmentVariablesV2Request) (*model.ListEnvironmentVariablesV2Response, error) { - requestDef := GenReqDefForListEnvironmentVariablesV2(request) - resp, responseDef := GenRespForListEnvironmentVariablesV2() + requestDef := GenReqDefForListEnvironmentVariablesV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListEnvironmentVariablesV2Response), nil } } //查询符合条件的环境列表。 func (c *ApigClient) ListEnvironmentsV2(request *model.ListEnvironmentsV2Request) (*model.ListEnvironmentsV2Response, error) { - requestDef := GenReqDefForListEnvironmentsV2(request) - resp, responseDef := GenRespForListEnvironmentsV2() + requestDef := GenReqDefForListEnvironmentsV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListEnvironmentsV2Response), nil } } //查询所有流控策略的信息。 func (c *ApigClient) ListRequestThrottlingPolicyV2(request *model.ListRequestThrottlingPolicyV2Request) (*model.ListRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForListRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForListRequestThrottlingPolicyV2() + requestDef := GenReqDefForListRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListRequestThrottlingPolicyV2Response), nil } } //查询某个API绑定的签名密钥列表。每个API在每个环境上应该最多只会绑定一个签名密钥。 func (c *ApigClient) ListSignatureKeysBindedToApiV2(request *model.ListSignatureKeysBindedToApiV2Request) (*model.ListSignatureKeysBindedToApiV2Response, error) { - requestDef := GenReqDefForListSignatureKeysBindedToApiV2(request) - resp, responseDef := GenRespForListSignatureKeysBindedToApiV2() + requestDef := GenReqDefForListSignatureKeysBindedToApiV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSignatureKeysBindedToApiV2Response), nil } } //查询所有签名密钥的信息。 func (c *ApigClient) ListSignatureKeysV2(request *model.ListSignatureKeysV2Request) (*model.ListSignatureKeysV2Response, error) { - requestDef := GenReqDefForListSignatureKeysV2(request) - resp, responseDef := GenRespForListSignatureKeysV2() + requestDef := GenReqDefForListSignatureKeysV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSignatureKeysV2Response), nil } } //查看给流控策略设置的特殊配置。 func (c *ApigClient) ListSpecialThrottlingConfigurationsV2(request *model.ListSpecialThrottlingConfigurationsV2Request) (*model.ListSpecialThrottlingConfigurationsV2Response, error) { - requestDef := GenReqDefForListSpecialThrottlingConfigurationsV2(request) - resp, responseDef := GenRespForListSpecialThrottlingConfigurationsV2() + requestDef := GenReqDefForListSpecialThrottlingConfigurationsV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSpecialThrottlingConfigurationsV2Response), nil } } //查看域名下绑定的证书详情。 func (c *ApigClient) ShowDetailsOfDomainNameCertificateV2(request *model.ShowDetailsOfDomainNameCertificateV2Request) (*model.ShowDetailsOfDomainNameCertificateV2Response, error) { - requestDef := GenReqDefForShowDetailsOfDomainNameCertificateV2(request) - resp, responseDef := GenRespForShowDetailsOfDomainNameCertificateV2() + requestDef := GenReqDefForShowDetailsOfDomainNameCertificateV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDetailsOfDomainNameCertificateV2Response), nil } } //查看指定的环境变量的详情。 func (c *ApigClient) ShowDetailsOfEnvironmentVariableV2(request *model.ShowDetailsOfEnvironmentVariableV2Request) (*model.ShowDetailsOfEnvironmentVariableV2Response, error) { - requestDef := GenReqDefForShowDetailsOfEnvironmentVariableV2(request) - resp, responseDef := GenRespForShowDetailsOfEnvironmentVariableV2() + requestDef := GenReqDefForShowDetailsOfEnvironmentVariableV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDetailsOfEnvironmentVariableV2Response), nil } } //查看指定流控策略的详细信息。 func (c *ApigClient) ShowDetailsOfRequestThrottlingPolicyV2(request *model.ShowDetailsOfRequestThrottlingPolicyV2Request) (*model.ShowDetailsOfRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForShowDetailsOfRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForShowDetailsOfRequestThrottlingPolicyV2() + requestDef := GenReqDefForShowDetailsOfRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDetailsOfRequestThrottlingPolicyV2Response), nil } } //修改指定环境的信息。其中可修改的属性为:name、remark,其它属性不可修改。 func (c *ApigClient) UpdateEnvironmentV2(request *model.UpdateEnvironmentV2Request) (*model.UpdateEnvironmentV2Response, error) { - requestDef := GenReqDefForUpdateEnvironmentV2(request) - resp, responseDef := GenRespForUpdateEnvironmentV2() + requestDef := GenReqDefForUpdateEnvironmentV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateEnvironmentV2Response), nil } } //修改指定流控策略的详细信息。 func (c *ApigClient) UpdateRequestThrottlingPolicyV2(request *model.UpdateRequestThrottlingPolicyV2Request) (*model.UpdateRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForUpdateRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForUpdateRequestThrottlingPolicyV2() + requestDef := GenReqDefForUpdateRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateRequestThrottlingPolicyV2Response), nil } } //修改指定签名密钥的详细信息。 func (c *ApigClient) UpdateSignatureKeyV2(request *model.UpdateSignatureKeyV2Request) (*model.UpdateSignatureKeyV2Response, error) { - requestDef := GenReqDefForUpdateSignatureKeyV2(request) - resp, responseDef := GenRespForUpdateSignatureKeyV2() + requestDef := GenReqDefForUpdateSignatureKeyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateSignatureKeyV2Response), nil } } //修改某个流控策略下的某个特殊设置。 func (c *ApigClient) UpdateSpecialThrottlingConfigurationV2(request *model.UpdateSpecialThrottlingConfigurationV2Request) (*model.UpdateSpecialThrottlingConfigurationV2Response, error) { - requestDef := GenReqDefForUpdateSpecialThrottlingConfigurationV2(request) - resp, responseDef := GenRespForUpdateSpecialThrottlingConfigurationV2() + requestDef := GenReqDefForUpdateSpecialThrottlingConfigurationV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateSpecialThrottlingConfigurationV2Response), nil } } //将流控策略应用于API,则所有对该API的访问将会受到该流控策略的限制。 当一定时间内的访问次数超过流控策略设置的API最大访问次数限制后,后续的访问将会被拒绝,从而能够较好的保护后端API免受异常流量的冲击,保障服务的稳定运行。 为指定的API绑定流控策略,绑定时,需要指定在哪个环境上生效。同一个API发布到不同的环境可以绑定不同的流控策略;一个API在发布到特定环境后只能绑定一个默认的流控策略。 func (c *ApigClient) AssociateRequestThrottlingPolicyV2(request *model.AssociateRequestThrottlingPolicyV2Request) (*model.AssociateRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForAssociateRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForAssociateRequestThrottlingPolicyV2() + requestDef := GenReqDefForAssociateRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateRequestThrottlingPolicyV2Response), nil } } //批量解除API与流控策略的绑定关系 func (c *ApigClient) BatchDisassociateThrottlingPolicyV2(request *model.BatchDisassociateThrottlingPolicyV2Request) (*model.BatchDisassociateThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForBatchDisassociateThrottlingPolicyV2(request) - resp, responseDef := GenRespForBatchDisassociateThrottlingPolicyV2() + requestDef := GenReqDefForBatchDisassociateThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchDisassociateThrottlingPolicyV2Response), nil } } //API分组是API的管理单元,一个API分组等同于一个服务入口,创建API分组时,返回一个子域名作为访问入口。建议一个API分组下的API具有一定的相关性。 func (c *ApigClient) CreateApiGroupV2(request *model.CreateApiGroupV2Request) (*model.CreateApiGroupV2Response, error) { - requestDef := GenReqDefForCreateApiGroupV2(request) - resp, responseDef := GenRespForCreateApiGroupV2() + requestDef := GenReqDefForCreateApiGroupV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateApiGroupV2Response), nil } } //添加一个API,API即一个服务接口,具体的服务能力。 API分为两部分,第一部分为面向API使用者的API接口,定义了使用者如何调用这个API。第二部分面向API提供者,由API提供者定义这个API的真实的后端情况,定义了API网关如何去访问真实的后端服务。API的真实后端服务目前支持三种类型:传统的HTTP/HTTPS形式的web后端、函数工作流、MOCK。 func (c *ApigClient) CreateApiV2(request *model.CreateApiV2Request) (*model.CreateApiV2Response, error) { - requestDef := GenReqDefForCreateApiV2(request) - resp, responseDef := GenRespForCreateApiV2() + requestDef := GenReqDefForCreateApiV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateApiV2Response), nil } } //对API进行发布或下线。 发布操作是将一个指定的API发布到一个指定的环境,API只有发布后,才能够被调用,且只能在该环境上才能被调用。未发布的API无法被调用。 下线操作是将API从某个已发布的环境上下线,下线后,API将无法再被调用。 func (c *ApigClient) CreateOrDeletePublishRecordForApiV2(request *model.CreateOrDeletePublishRecordForApiV2Request) (*model.CreateOrDeletePublishRecordForApiV2Response, error) { - requestDef := GenReqDefForCreateOrDeletePublishRecordForApiV2(request) - resp, responseDef := GenRespForCreateOrDeletePublishRecordForApiV2() + requestDef := GenReqDefForCreateOrDeletePublishRecordForApiV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateOrDeletePublishRecordForApiV2Response), nil } } //删除指定的API分组。 删除时,会一并删除直接或间接关联到该分组下的所有资源,包括API、独立域名、SSL证书、上架信息、分组下所有API的授权信息、编排信息、白名单配置、认证增强信息等等。并会将外部域名与子域名的绑定关系进行解除(取决于域名cname方式)。 func (c *ApigClient) DeleteApiGroupV2(request *model.DeleteApiGroupV2Request) (*model.DeleteApiGroupV2Response, error) { - requestDef := GenReqDefForDeleteApiGroupV2(request) - resp, responseDef := GenRespForDeleteApiGroupV2() + requestDef := GenReqDefForDeleteApiGroupV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteApiGroupV2Response), nil } } //删除指定的API。 删除API时,会删除该API所有相关的资源信息或绑定关系,如API的发布记录,绑定的后端服务,对APP的授权信息等。 func (c *ApigClient) DeleteApiV2(request *model.DeleteApiV2Request) (*model.DeleteApiV2Response, error) { - requestDef := GenReqDefForDeleteApiV2(request) - resp, responseDef := GenRespForDeleteApiV2() + requestDef := GenReqDefForDeleteApiV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteApiV2Response), nil } } //解除API与流控策略的绑定关系。 func (c *ApigClient) DisassociateRequestThrottlingPolicyV2(request *model.DisassociateRequestThrottlingPolicyV2Request) (*model.DisassociateRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForDisassociateRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForDisassociateRequestThrottlingPolicyV2() + requestDef := GenReqDefForDisassociateRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisassociateRequestThrottlingPolicyV2Response), nil } } //查询API分组列表。 如果是租户操作,则查询该租户下所有的分组;如果是管理员操作,则查询的是所有租户的分组。 func (c *ApigClient) ListApiGroupsV2(request *model.ListApiGroupsV2Request) (*model.ListApiGroupsV2Response, error) { - requestDef := GenReqDefForListApiGroupsV2(request) - resp, responseDef := GenRespForListApiGroupsV2() + requestDef := GenReqDefForListApiGroupsV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApiGroupsV2Response), nil } } //查询某个流控策略上已经绑定的API列表。 func (c *ApigClient) ListApisBindedToRequestThrottlingPolicyV2(request *model.ListApisBindedToRequestThrottlingPolicyV2Request) (*model.ListApisBindedToRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForListApisBindedToRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForListApisBindedToRequestThrottlingPolicyV2() + requestDef := GenReqDefForListApisBindedToRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApisBindedToRequestThrottlingPolicyV2Response), nil } } //查询所有未绑定到该流控策略上的自有API列表。需要API已经发布,未发布的API不予展示。 func (c *ApigClient) ListApisUnbindedToRequestThrottlingPolicyV2(request *model.ListApisUnbindedToRequestThrottlingPolicyV2Request) (*model.ListApisUnbindedToRequestThrottlingPolicyV2Response, error) { - requestDef := GenReqDefForListApisUnbindedToRequestThrottlingPolicyV2(request) - resp, responseDef := GenRespForListApisUnbindedToRequestThrottlingPolicyV2() + requestDef := GenReqDefForListApisUnbindedToRequestThrottlingPolicyV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApisUnbindedToRequestThrottlingPolicyV2Response), nil } } //查看API列表,返回API详细信息、发布信息等,但不能查看到后端服务信息。 func (c *ApigClient) ListApisV2(request *model.ListApisV2Request) (*model.ListApisV2Response, error) { - requestDef := GenReqDefForListApisV2(request) - resp, responseDef := GenRespForListApisV2() + requestDef := GenReqDefForListApisV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApisV2Response), nil } } //查询某个API绑定的流控策略列表。每个环境上应该最多只有一个流控策略。 func (c *ApigClient) ListRequestThrottlingPoliciesBindedToApiV2(request *model.ListRequestThrottlingPoliciesBindedToApiV2Request) (*model.ListRequestThrottlingPoliciesBindedToApiV2Response, error) { - requestDef := GenReqDefForListRequestThrottlingPoliciesBindedToApiV2(request) - resp, responseDef := GenRespForListRequestThrottlingPoliciesBindedToApiV2() + requestDef := GenReqDefForListRequestThrottlingPoliciesBindedToApiV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListRequestThrottlingPoliciesBindedToApiV2Response), nil } } //查询指定分组的详细信息。 func (c *ApigClient) ShowDetailsOfApiGroupV2(request *model.ShowDetailsOfApiGroupV2Request) (*model.ShowDetailsOfApiGroupV2Response, error) { - requestDef := GenReqDefForShowDetailsOfApiGroupV2(request) - resp, responseDef := GenRespForShowDetailsOfApiGroupV2() + requestDef := GenReqDefForShowDetailsOfApiGroupV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDetailsOfApiGroupV2Response), nil } } //查看指定的API的详细信息。 func (c *ApigClient) ShowDetailsOfApiV2(request *model.ShowDetailsOfApiV2Request) (*model.ShowDetailsOfApiV2Response, error) { - requestDef := GenReqDefForShowDetailsOfApiV2(request) - resp, responseDef := GenRespForShowDetailsOfApiV2() + requestDef := GenReqDefForShowDetailsOfApiV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDetailsOfApiV2Response), nil } } //修改API分组属性。其中name和remark可修改,其他属性不可修改。 func (c *ApigClient) UpdateApiGroupV2(request *model.UpdateApiGroupV2Request) (*model.UpdateApiGroupV2Response, error) { - requestDef := GenReqDefForUpdateApiGroupV2(request) - resp, responseDef := GenRespForUpdateApiGroupV2() + requestDef := GenReqDefForUpdateApiGroupV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateApiGroupV2Response), nil } } //修改指定API的信息,包括后端服务信息。 func (c *ApigClient) UpdateApiV2(request *model.UpdateApiV2Request) (*model.UpdateApiV2Response, error) { - requestDef := GenReqDefForUpdateApiV2(request) - resp, responseDef := GenRespForUpdateApiV2() + requestDef := GenReqDefForUpdateApiV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateApiV2Response), nil } } //解除API对APP的授权关系。解除授权后,APP将不再能够调用该API。 func (c *ApigClient) CancelingAuthorizationV2(request *model.CancelingAuthorizationV2Request) (*model.CancelingAuthorizationV2Response, error) { - requestDef := GenReqDefForCancelingAuthorizationV2(request) - resp, responseDef := GenRespForCancelingAuthorizationV2() + requestDef := GenReqDefForCancelingAuthorizationV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CancelingAuthorizationV2Response), nil } } //校验app是否存在,非APP所有者可以调用该接口校验APP是否真实存在。这个接口只展示app的基本信息id 、name、 remark,其他信息不显示。 func (c *ApigClient) CheckAppV2(request *model.CheckAppV2Request) (*model.CheckAppV2Response, error) { - requestDef := GenReqDefForCheckAppV2(request) - resp, responseDef := GenRespForCheckAppV2() + requestDef := GenReqDefForCheckAppV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CheckAppV2Response), nil } } //APP即应用,是一个可以访问API的身份标识。将API授权给APP后,APP即可调用API。 创建一个APP。 func (c *ApigClient) CreateAnAppV2(request *model.CreateAnAppV2Request) (*model.CreateAnAppV2Response, error) { - requestDef := GenReqDefForCreateAnAppV2(request) - resp, responseDef := GenRespForCreateAnAppV2() + requestDef := GenReqDefForCreateAnAppV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateAnAppV2Response), nil } } //APP创建成功后,还不能访问API,如果想要访问某个环境上的API,需要将该API在该环境上授权给APP。授权成功后,APP即可访问该环境上的这个API。 func (c *ApigClient) CreateAuthorizingAppsV2(request *model.CreateAuthorizingAppsV2Request) (*model.CreateAuthorizingAppsV2Response, error) { - requestDef := GenReqDefForCreateAuthorizingAppsV2(request) - resp, responseDef := GenRespForCreateAuthorizingAppsV2() + requestDef := GenReqDefForCreateAuthorizingAppsV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateAuthorizingAppsV2Response), nil } } //删除指定的APP。 APP删除后,将无法再调用任何API;其中,云市场自动创建的APP无法被删除。 func (c *ApigClient) DeleteAppV2(request *model.DeleteAppV2Request) (*model.DeleteAppV2Response, error) { - requestDef := GenReqDefForDeleteAppV2(request) - resp, responseDef := GenRespForDeleteAppV2() + requestDef := GenReqDefForDeleteAppV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteAppV2Response), nil } } //查询APP已经绑定的API列表。 func (c *ApigClient) ListApisBindedToAppV2(request *model.ListApisBindedToAppV2Request) (*model.ListApisBindedToAppV2Response, error) { - requestDef := GenReqDefForListApisBindedToAppV2(request) - resp, responseDef := GenRespForListApisBindedToAppV2() + requestDef := GenReqDefForListApisBindedToAppV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApisBindedToAppV2Response), nil } } //查询指定环境上某个APP未绑定的API列表,包括自有API和从云市场购买的API。 func (c *ApigClient) ListApisUnbindedToAppV2(request *model.ListApisUnbindedToAppV2Request) (*model.ListApisUnbindedToAppV2Response, error) { - requestDef := GenReqDefForListApisUnbindedToAppV2(request) - resp, responseDef := GenRespForListApisUnbindedToAppV2() + requestDef := GenReqDefForListApisUnbindedToAppV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApisUnbindedToAppV2Response), nil } } //查询API绑定的APP列表。 func (c *ApigClient) ListAppsBindedToApiV2(request *model.ListAppsBindedToApiV2Request) (*model.ListAppsBindedToApiV2Response, error) { - requestDef := GenReqDefForListAppsBindedToApiV2(request) - resp, responseDef := GenRespForListAppsBindedToApiV2() + requestDef := GenReqDefForListAppsBindedToApiV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAppsBindedToApiV2Response), nil } } //查询APP列表。 func (c *ApigClient) ListAppsV2(request *model.ListAppsV2Request) (*model.ListAppsV2Response, error) { - requestDef := GenReqDefForListAppsV2(request) - resp, responseDef := GenRespForListAppsV2() + requestDef := GenReqDefForListAppsV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAppsV2Response), nil } } //重置指定APP的密钥。 func (c *ApigClient) ResettingAppSecretV2(request *model.ResettingAppSecretV2Request) (*model.ResettingAppSecretV2Response, error) { - requestDef := GenReqDefForResettingAppSecretV2(request) - resp, responseDef := GenRespForResettingAppSecretV2() + requestDef := GenReqDefForResettingAppSecretV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ResettingAppSecretV2Response), nil } } //查看指定APP的详细信息。 func (c *ApigClient) ShowDetailsOfAppV2(request *model.ShowDetailsOfAppV2Request) (*model.ShowDetailsOfAppV2Response, error) { - requestDef := GenReqDefForShowDetailsOfAppV2(request) - resp, responseDef := GenRespForShowDetailsOfAppV2() + requestDef := GenReqDefForShowDetailsOfAppV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDetailsOfAppV2Response), nil } } //修改指定APP的信息。其中可修改的属性为:name、remark,当支持用户自定义key和secret的开关开启时,app_key和app_secret也支持修改,其它属性不可修改。 func (c *ApigClient) UpdateAppV2(request *model.UpdateAppV2Request) (*model.UpdateAppV2Response, error) { - requestDef := GenReqDefForUpdateAppV2(request) - resp, responseDef := GenRespForUpdateAppV2() + requestDef := GenReqDefForUpdateAppV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateAppV2Response), nil } } diff --git a/services/apig/v2/apig_meta.go b/services/apig/v2/apig_meta.go index c1e21ba93f..0ca0c5f5cf 100644 --- a/services/apig/v2/apig_meta.go +++ b/services/apig/v2/apig_meta.go @@ -6,2480 +6,2105 @@ import ( "net/http" ) -func GenReqDefForAssociateCertificateV2(request *model.AssociateCertificateV2Request) *def.HttpRequestDef { +func GenReqDefForAssociateCertificateV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate"). + WithResponse(new(model.AssociateCertificateV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateCertificateV2() (*model.AssociateCertificateV2Response, *def.HttpResponseDef) { - resp := new(model.AssociateCertificateV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForAssociateDomainV2(request *model.AssociateDomainV2Request) *def.HttpRequestDef { +func GenReqDefForAssociateDomainV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains"). + WithResponse(new(model.AssociateDomainV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateDomainV2() (*model.AssociateDomainV2Response, *def.HttpResponseDef) { - resp := new(model.AssociateDomainV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForAssociateSignatureKeyV2(request *model.AssociateSignatureKeyV2Request) *def.HttpRequestDef { +func GenReqDefForAssociateSignatureKeyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings"). + WithResponse(new(model.AssociateSignatureKeyV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateSignatureKeyV2() (*model.AssociateSignatureKeyV2Response, *def.HttpResponseDef) { - resp := new(model.AssociateSignatureKeyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateEnvironmentV2(request *model.CreateEnvironmentV2Request) *def.HttpRequestDef { +func GenReqDefForCreateEnvironmentV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/envs"). + WithResponse(new(model.CreateEnvironmentV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateEnvironmentV2() (*model.CreateEnvironmentV2Response, *def.HttpResponseDef) { - resp := new(model.CreateEnvironmentV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateEnvironmentVariableV2(request *model.CreateEnvironmentVariableV2Request) *def.HttpRequestDef { +func GenReqDefForCreateEnvironmentVariableV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/env-variables"). + WithResponse(new(model.CreateEnvironmentVariableV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateEnvironmentVariableV2() (*model.CreateEnvironmentVariableV2Response, *def.HttpResponseDef) { - resp := new(model.CreateEnvironmentVariableV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateRequestThrottlingPolicyV2(request *model.CreateRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForCreateRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles"). + WithResponse(new(model.CreateRequestThrottlingPolicyV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateRequestThrottlingPolicyV2() (*model.CreateRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.CreateRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSignatureKeyV2(request *model.CreateSignatureKeyV2Request) *def.HttpRequestDef { +func GenReqDefForCreateSignatureKeyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/signs"). + WithResponse(new(model.CreateSignatureKeyV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSignatureKeyV2() (*model.CreateSignatureKeyV2Response, *def.HttpResponseDef) { - resp := new(model.CreateSignatureKeyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSpecialThrottlingConfigurationV2(request *model.CreateSpecialThrottlingConfigurationV2Request) *def.HttpRequestDef { +func GenReqDefForCreateSpecialThrottlingConfigurationV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials"). + WithResponse(new(model.CreateSpecialThrottlingConfigurationV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSpecialThrottlingConfigurationV2() (*model.CreateSpecialThrottlingConfigurationV2Response, *def.HttpResponseDef) { - resp := new(model.CreateSpecialThrottlingConfigurationV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteEnvironmentV2(request *model.DeleteEnvironmentV2Request) *def.HttpRequestDef { +func GenReqDefForDeleteEnvironmentV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/envs/{env_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/envs/{env_id}"). + WithResponse(new(model.DeleteEnvironmentV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteEnvironmentV2() (*model.DeleteEnvironmentV2Response, *def.HttpResponseDef) { - resp := new(model.DeleteEnvironmentV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteEnvironmentVariableV2(request *model.DeleteEnvironmentVariableV2Request) *def.HttpRequestDef { +func GenReqDefForDeleteEnvironmentVariableV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id}"). + WithResponse(new(model.DeleteEnvironmentVariableV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_variable_id"). + WithName("EnvVariableId"). + WithJsonTag("env_variable_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteEnvironmentVariableV2() (*model.DeleteEnvironmentVariableV2Response, *def.HttpResponseDef) { - resp := new(model.DeleteEnvironmentVariableV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteRequestThrottlingPolicyV2(request *model.DeleteRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForDeleteRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}"). + WithResponse(new(model.DeleteRequestThrottlingPolicyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteRequestThrottlingPolicyV2() (*model.DeleteRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.DeleteRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSignatureKeyV2(request *model.DeleteSignatureKeyV2Request) *def.HttpRequestDef { +func GenReqDefForDeleteSignatureKeyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id}"). + WithResponse(new(model.DeleteSignatureKeyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sign_id"). + WithName("SignId"). + WithJsonTag("sign_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSignatureKeyV2() (*model.DeleteSignatureKeyV2Response, *def.HttpResponseDef) { - resp := new(model.DeleteSignatureKeyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSpecialThrottlingConfigurationV2(request *model.DeleteSpecialThrottlingConfigurationV2Request) *def.HttpRequestDef { +func GenReqDefForDeleteSpecialThrottlingConfigurationV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials/{strategy_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials/{strategy_id}"). + WithResponse(new(model.DeleteSpecialThrottlingConfigurationV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("strategy_id"). + WithName("StrategyId"). + WithJsonTag("strategy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSpecialThrottlingConfigurationV2() (*model.DeleteSpecialThrottlingConfigurationV2Response, *def.HttpResponseDef) { - resp := new(model.DeleteSpecialThrottlingConfigurationV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisassociateCertificateV2(request *model.DisassociateCertificateV2Request) *def.HttpRequestDef { +func GenReqDefForDisassociateCertificateV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id}"). + WithResponse(new(model.DisassociateCertificateV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("CertificateId"). + WithJsonTag("certificate_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisassociateCertificateV2() (*model.DisassociateCertificateV2Response, *def.HttpResponseDef) { - resp := new(model.DisassociateCertificateV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisassociateDomainV2(request *model.DisassociateDomainV2Request) *def.HttpRequestDef { +func GenReqDefForDisassociateDomainV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}"). + WithResponse(new(model.DisassociateDomainV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisassociateDomainV2() (*model.DisassociateDomainV2Response, *def.HttpResponseDef) { - resp := new(model.DisassociateDomainV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisassociateSignatureKeyV2(request *model.DisassociateSignatureKeyV2Request) *def.HttpRequestDef { +func GenReqDefForDisassociateSignatureKeyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/{sign_bindings_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/{sign_bindings_id}"). + WithResponse(new(model.DisassociateSignatureKeyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sign_bindings_id"). + WithName("SignBindingsId"). + WithJsonTag("sign_bindings_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisassociateSignatureKeyV2() (*model.DisassociateSignatureKeyV2Response, *def.HttpResponseDef) { - resp := new(model.DisassociateSignatureKeyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApiGroupsQuantitiesV2(request *model.ListApiGroupsQuantitiesV2Request) *def.HttpRequestDef { +func GenReqDefForListApiGroupsQuantitiesV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/resources/outline/groups") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/resources/outline/groups"). + WithResponse(new(model.ListApiGroupsQuantitiesV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApiGroupsQuantitiesV2() (*model.ListApiGroupsQuantitiesV2Response, *def.HttpResponseDef) { - resp := new(model.ListApiGroupsQuantitiesV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApiQuantitiesV2(request *model.ListApiQuantitiesV2Request) *def.HttpRequestDef { +func GenReqDefForListApiQuantitiesV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/resources/outline/apis") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/resources/outline/apis"). + WithResponse(new(model.ListApiQuantitiesV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApiQuantitiesV2() (*model.ListApiQuantitiesV2Response, *def.HttpResponseDef) { - resp := new(model.ListApiQuantitiesV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApisBindedToSignatureKeyV2(request *model.ListApisBindedToSignatureKeyV2Request) *def.HttpRequestDef { +func GenReqDefForListApisBindedToSignatureKeyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-apis") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-apis"). + WithResponse(new(model.ListApisBindedToSignatureKeyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sign_id"). + WithName("SignId"). + WithJsonTag("sign_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_name"). + WithName("ApiName"). + WithJsonTag("api_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApisBindedToSignatureKeyV2() (*model.ListApisBindedToSignatureKeyV2Response, *def.HttpResponseDef) { - resp := new(model.ListApisBindedToSignatureKeyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApisNotBoundWithSignatureKeyV2(request *model.ListApisNotBoundWithSignatureKeyV2Request) *def.HttpRequestDef { +func GenReqDefForListApisNotBoundWithSignatureKeyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/unbinded-apis") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/unbinded-apis"). + WithResponse(new(model.ListApisNotBoundWithSignatureKeyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sign_id"). + WithName("SignId"). + WithJsonTag("sign_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_name"). + WithName("ApiName"). + WithJsonTag("api_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApisNotBoundWithSignatureKeyV2() (*model.ListApisNotBoundWithSignatureKeyV2Response, *def.HttpResponseDef) { - resp := new(model.ListApisNotBoundWithSignatureKeyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListAppQuantitiesV2(request *model.ListAppQuantitiesV2Request) *def.HttpRequestDef { +func GenReqDefForListAppQuantitiesV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/resources/outline/apps") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/resources/outline/apps"). + WithResponse(new(model.ListAppQuantitiesV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListAppQuantitiesV2() (*model.ListAppQuantitiesV2Response, *def.HttpResponseDef) { - resp := new(model.ListAppQuantitiesV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListEnvironmentVariablesV2(request *model.ListEnvironmentVariablesV2Request) *def.HttpRequestDef { +func GenReqDefForListEnvironmentVariablesV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/env-variables") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/env-variables"). + WithResponse(new(model.ListEnvironmentVariablesV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("variable_name"). + WithName("VariableName"). + WithJsonTag("variable_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("precise_search"). + WithName("PreciseSearch"). + WithJsonTag("precise_search"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListEnvironmentVariablesV2() (*model.ListEnvironmentVariablesV2Response, *def.HttpResponseDef) { - resp := new(model.ListEnvironmentVariablesV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListEnvironmentsV2(request *model.ListEnvironmentsV2Request) *def.HttpRequestDef { +func GenReqDefForListEnvironmentsV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/envs") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/envs"). + WithResponse(new(model.ListEnvironmentsV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListEnvironmentsV2() (*model.ListEnvironmentsV2Response, *def.HttpResponseDef) { - resp := new(model.ListEnvironmentsV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListRequestThrottlingPolicyV2(request *model.ListRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForListRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles"). + WithResponse(new(model.ListRequestThrottlingPolicyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("precise_search"). + WithName("PreciseSearch"). + WithJsonTag("precise_search"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListRequestThrottlingPolicyV2() (*model.ListRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.ListRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSignatureKeysBindedToApiV2(request *model.ListSignatureKeysBindedToApiV2Request) *def.HttpRequestDef { +func GenReqDefForListSignatureKeysBindedToApiV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-signs") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/sign-bindings/binded-signs"). + WithResponse(new(model.ListSignatureKeysBindedToApiV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sign_id"). + WithName("SignId"). + WithJsonTag("sign_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sign_name"). + WithName("SignName"). + WithJsonTag("sign_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSignatureKeysBindedToApiV2() (*model.ListSignatureKeysBindedToApiV2Response, *def.HttpResponseDef) { - resp := new(model.ListSignatureKeysBindedToApiV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSignatureKeysV2(request *model.ListSignatureKeysV2Request) *def.HttpRequestDef { +func GenReqDefForListSignatureKeysV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/signs") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/signs"). + WithResponse(new(model.ListSignatureKeysV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("precise_search"). + WithName("PreciseSearch"). + WithJsonTag("precise_search"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSignatureKeysV2() (*model.ListSignatureKeysV2Response, *def.HttpResponseDef) { - resp := new(model.ListSignatureKeysV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSpecialThrottlingConfigurationsV2(request *model.ListSpecialThrottlingConfigurationsV2Request) *def.HttpRequestDef { +func GenReqDefForListSpecialThrottlingConfigurationsV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials"). + WithResponse(new(model.ListSpecialThrottlingConfigurationsV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("object_type"). + WithName("ObjectType"). + WithJsonTag("object_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSpecialThrottlingConfigurationsV2() (*model.ListSpecialThrottlingConfigurationsV2Response, *def.HttpResponseDef) { - resp := new(model.ListSpecialThrottlingConfigurationsV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDetailsOfDomainNameCertificateV2(request *model.ShowDetailsOfDomainNameCertificateV2Request) *def.HttpRequestDef { +func GenReqDefForShowDetailsOfDomainNameCertificateV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}/domains/{domain_id}/certificate/{certificate_id}"). + WithResponse(new(model.ShowDetailsOfDomainNameCertificateV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("CertificateId"). + WithJsonTag("certificate_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDetailsOfDomainNameCertificateV2() (*model.ShowDetailsOfDomainNameCertificateV2Response, *def.HttpResponseDef) { - resp := new(model.ShowDetailsOfDomainNameCertificateV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDetailsOfEnvironmentVariableV2(request *model.ShowDetailsOfEnvironmentVariableV2Request) *def.HttpRequestDef { +func GenReqDefForShowDetailsOfEnvironmentVariableV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/env-variables/{env_variable_id}"). + WithResponse(new(model.ShowDetailsOfEnvironmentVariableV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_variable_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("EnvVariableId"). + WithJsonTag("env_variable_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDetailsOfEnvironmentVariableV2() (*model.ShowDetailsOfEnvironmentVariableV2Response, *def.HttpResponseDef) { - resp := new(model.ShowDetailsOfEnvironmentVariableV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDetailsOfRequestThrottlingPolicyV2(request *model.ShowDetailsOfRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForShowDetailsOfRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}"). + WithResponse(new(model.ShowDetailsOfRequestThrottlingPolicyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDetailsOfRequestThrottlingPolicyV2() (*model.ShowDetailsOfRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.ShowDetailsOfRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateEnvironmentV2(request *model.UpdateEnvironmentV2Request) *def.HttpRequestDef { +func GenReqDefForUpdateEnvironmentV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/envs/{env_id}"). + WithResponse(new(model.UpdateEnvironmentV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateEnvironmentV2() (*model.UpdateEnvironmentV2Response, *def.HttpResponseDef) { - resp := new(model.UpdateEnvironmentV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateRequestThrottlingPolicyV2(request *model.UpdateRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForUpdateRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}"). + WithResponse(new(model.UpdateRequestThrottlingPolicyV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateRequestThrottlingPolicyV2() (*model.UpdateRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.UpdateRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateSignatureKeyV2(request *model.UpdateSignatureKeyV2Request) *def.HttpRequestDef { +func GenReqDefForUpdateSignatureKeyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/signs/{sign_id}"). + WithResponse(new(model.UpdateSignatureKeyV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sign_id"). + WithName("SignId"). + WithJsonTag("sign_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateSignatureKeyV2() (*model.UpdateSignatureKeyV2Response, *def.HttpResponseDef) { - resp := new(model.UpdateSignatureKeyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateSpecialThrottlingConfigurationV2(request *model.UpdateSpecialThrottlingConfigurationV2Request) *def.HttpRequestDef { +func GenReqDefForUpdateSpecialThrottlingConfigurationV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttles/{throttle_id}/throttle-specials/{strategy_id}"). + WithResponse(new(model.UpdateSpecialThrottlingConfigurationV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("strategy_id"). + WithName("StrategyId"). + WithJsonTag("strategy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateSpecialThrottlingConfigurationV2() (*model.UpdateSpecialThrottlingConfigurationV2Response, *def.HttpResponseDef) { - resp := new(model.UpdateSpecialThrottlingConfigurationV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForAssociateRequestThrottlingPolicyV2(request *model.AssociateRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForAssociateRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings"). + WithResponse(new(model.AssociateRequestThrottlingPolicyV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateRequestThrottlingPolicyV2() (*model.AssociateRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.AssociateRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchDisassociateThrottlingPolicyV2(request *model.BatchDisassociateThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForBatchDisassociateThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings"). + WithResponse(new(model.BatchDisassociateThrottlingPolicyV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("action"). + WithName("Action"). + WithJsonTag("action"). WithLocationType(def.Query)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchDisassociateThrottlingPolicyV2() (*model.BatchDisassociateThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.BatchDisassociateThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateApiGroupV2(request *model.CreateApiGroupV2Request) *def.HttpRequestDef { +func GenReqDefForCreateApiGroupV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups"). + WithResponse(new(model.CreateApiGroupV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateApiGroupV2() (*model.CreateApiGroupV2Response, *def.HttpResponseDef) { - resp := new(model.CreateApiGroupV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateApiV2(request *model.CreateApiV2Request) *def.HttpRequestDef { +func GenReqDefForCreateApiV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis"). + WithResponse(new(model.CreateApiV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateApiV2() (*model.CreateApiV2Response, *def.HttpResponseDef) { - resp := new(model.CreateApiV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateOrDeletePublishRecordForApiV2(request *model.CreateOrDeletePublishRecordForApiV2Request) *def.HttpRequestDef { +func GenReqDefForCreateOrDeletePublishRecordForApiV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis/action"). + WithResponse(new(model.CreateOrDeletePublishRecordForApiV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateOrDeletePublishRecordForApiV2() (*model.CreateOrDeletePublishRecordForApiV2Response, *def.HttpResponseDef) { - resp := new(model.CreateOrDeletePublishRecordForApiV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteApiGroupV2(request *model.DeleteApiGroupV2Request) *def.HttpRequestDef { +func GenReqDefForDeleteApiGroupV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}"). + WithResponse(new(model.DeleteApiGroupV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteApiGroupV2() (*model.DeleteApiGroupV2Response, *def.HttpResponseDef) { - resp := new(model.DeleteApiGroupV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteApiV2(request *model.DeleteApiV2Request) *def.HttpRequestDef { +func GenReqDefForDeleteApiV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}"). + WithResponse(new(model.DeleteApiV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteApiV2() (*model.DeleteApiV2Response, *def.HttpResponseDef) { - resp := new(model.DeleteApiV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisassociateRequestThrottlingPolicyV2(request *model.DisassociateRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForDisassociateRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/{throttle_binding_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/{throttle_binding_id}"). + WithResponse(new(model.DisassociateRequestThrottlingPolicyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_binding_id"). + WithName("ThrottleBindingId"). + WithJsonTag("throttle_binding_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisassociateRequestThrottlingPolicyV2() (*model.DisassociateRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.DisassociateRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApiGroupsV2(request *model.ListApiGroupsV2Request) *def.HttpRequestDef { +func GenReqDefForListApiGroupsV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups"). + WithResponse(new(model.ListApiGroupsV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("precise_search"). + WithName("PreciseSearch"). + WithJsonTag("precise_search"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApiGroupsV2() (*model.ListApiGroupsV2Response, *def.HttpResponseDef) { - resp := new(model.ListApiGroupsV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApisBindedToRequestThrottlingPolicyV2(request *model.ListApisBindedToRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForListApisBindedToRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-apis") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-apis"). + WithResponse(new(model.ListApisBindedToRequestThrottlingPolicyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_name"). + WithName("ApiName"). + WithJsonTag("api_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApisBindedToRequestThrottlingPolicyV2() (*model.ListApisBindedToRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.ListApisBindedToRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApisUnbindedToRequestThrottlingPolicyV2(request *model.ListApisUnbindedToRequestThrottlingPolicyV2Request) *def.HttpRequestDef { +func GenReqDefForListApisUnbindedToRequestThrottlingPolicyV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/unbinded-apis") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/unbinded-apis"). + WithResponse(new(model.ListApisUnbindedToRequestThrottlingPolicyV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_name"). + WithName("ApiName"). + WithJsonTag("api_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApisUnbindedToRequestThrottlingPolicyV2() (*model.ListApisUnbindedToRequestThrottlingPolicyV2Response, *def.HttpResponseDef) { - resp := new(model.ListApisUnbindedToRequestThrottlingPolicyV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApisV2(request *model.ListApisV2Request) *def.HttpRequestDef { +func GenReqDefForListApisV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis"). + WithResponse(new(model.ListApisV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("req_protocol"). + WithName("ReqProtocol"). + WithJsonTag("req_protocol"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("req_method"). + WithName("ReqMethod"). + WithJsonTag("req_method"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("req_uri"). + WithName("ReqUri"). + WithJsonTag("req_uri"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("auth_type"). + WithName("AuthType"). + WithJsonTag("auth_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("precise_search"). + WithName("PreciseSearch"). + WithJsonTag("precise_search"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApisV2() (*model.ListApisV2Response, *def.HttpResponseDef) { - resp := new(model.ListApisV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListRequestThrottlingPoliciesBindedToApiV2(request *model.ListRequestThrottlingPoliciesBindedToApiV2Request) *def.HttpRequestDef { +func GenReqDefForListRequestThrottlingPoliciesBindedToApiV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-throttles") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/throttle-bindings/binded-throttles"). + WithResponse(new(model.ListRequestThrottlingPoliciesBindedToApiV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_id"). + WithName("ThrottleId"). + WithJsonTag("throttle_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("throttle_name"). + WithName("ThrottleName"). + WithJsonTag("throttle_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListRequestThrottlingPoliciesBindedToApiV2() (*model.ListRequestThrottlingPoliciesBindedToApiV2Response, *def.HttpResponseDef) { - resp := new(model.ListRequestThrottlingPoliciesBindedToApiV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDetailsOfApiGroupV2(request *model.ShowDetailsOfApiGroupV2Request) *def.HttpRequestDef { +func GenReqDefForShowDetailsOfApiGroupV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}"). + WithResponse(new(model.ShowDetailsOfApiGroupV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDetailsOfApiGroupV2() (*model.ShowDetailsOfApiGroupV2Response, *def.HttpResponseDef) { - resp := new(model.ShowDetailsOfApiGroupV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDetailsOfApiV2(request *model.ShowDetailsOfApiV2Request) *def.HttpRequestDef { +func GenReqDefForShowDetailsOfApiV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}"). + WithResponse(new(model.ShowDetailsOfApiV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDetailsOfApiV2() (*model.ShowDetailsOfApiV2Response, *def.HttpResponseDef) { - resp := new(model.ShowDetailsOfApiV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateApiGroupV2(request *model.UpdateApiGroupV2Request) *def.HttpRequestDef { +func GenReqDefForUpdateApiGroupV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/api-groups/{group_id}"). + WithResponse(new(model.UpdateApiGroupV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateApiGroupV2() (*model.UpdateApiGroupV2Response, *def.HttpResponseDef) { - resp := new(model.UpdateApiGroupV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateApiV2(request *model.UpdateApiV2Request) *def.HttpRequestDef { +func GenReqDefForUpdateApiV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apis/{api_id}"). + WithResponse(new(model.UpdateApiV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateApiV2() (*model.UpdateApiV2Response, *def.HttpResponseDef) { - resp := new(model.UpdateApiV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCancelingAuthorizationV2(request *model.CancelingAuthorizationV2Request) *def.HttpRequestDef { +func GenReqDefForCancelingAuthorizationV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths/{app_auth_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths/{app_auth_id}"). + WithResponse(new(model.CancelingAuthorizationV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_auth_id"). + WithName("AppAuthId"). + WithJsonTag("app_auth_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCancelingAuthorizationV2() (*model.CancelingAuthorizationV2Response, *def.HttpResponseDef) { - resp := new(model.CancelingAuthorizationV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCheckAppV2(request *model.CheckAppV2Request) *def.HttpRequestDef { +func GenReqDefForCheckAppV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps/validation/{app_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps/validation/{app_id}"). + WithResponse(new(model.CheckAppV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("AppId"). + WithJsonTag("app_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCheckAppV2() (*model.CheckAppV2Response, *def.HttpResponseDef) { - resp := new(model.CheckAppV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateAnAppV2(request *model.CreateAnAppV2Request) *def.HttpRequestDef { +func GenReqDefForCreateAnAppV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps"). + WithResponse(new(model.CreateAnAppV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateAnAppV2() (*model.CreateAnAppV2Response, *def.HttpResponseDef) { - resp := new(model.CreateAnAppV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateAuthorizingAppsV2(request *model.CreateAuthorizingAppsV2Request) *def.HttpRequestDef { +func GenReqDefForCreateAuthorizingAppsV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths"). + WithResponse(new(model.CreateAuthorizingAppsV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateAuthorizingAppsV2() (*model.CreateAuthorizingAppsV2Response, *def.HttpResponseDef) { - resp := new(model.CreateAuthorizingAppsV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteAppV2(request *model.DeleteAppV2Request) *def.HttpRequestDef { +func GenReqDefForDeleteAppV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id}"). + WithResponse(new(model.DeleteAppV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_id"). + WithName("AppId"). + WithJsonTag("app_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteAppV2() (*model.DeleteAppV2Response, *def.HttpResponseDef) { - resp := new(model.DeleteAppV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApisBindedToAppV2(request *model.ListApisBindedToAppV2Request) *def.HttpRequestDef { +func GenReqDefForListApisBindedToAppV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apis") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apis"). + WithResponse(new(model.ListApisBindedToAppV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_id"). + WithName("AppId"). + WithJsonTag("app_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_name"). + WithName("ApiName"). + WithJsonTag("api_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_name"). + WithName("GroupName"). + WithJsonTag("group_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApisBindedToAppV2() (*model.ListApisBindedToAppV2Response, *def.HttpResponseDef) { - resp := new(model.ListApisBindedToAppV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApisUnbindedToAppV2(request *model.ListApisUnbindedToAppV2Request) *def.HttpRequestDef { +func GenReqDefForListApisUnbindedToAppV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths/unbinded-apis") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths/unbinded-apis"). + WithResponse(new(model.ListApisUnbindedToAppV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_id"). + WithName("AppId"). + WithJsonTag("app_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_name"). + WithName("ApiName"). + WithJsonTag("api_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApisUnbindedToAppV2() (*model.ListApisUnbindedToAppV2Response, *def.HttpResponseDef) { - resp := new(model.ListApisUnbindedToAppV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListAppsBindedToApiV2(request *model.ListAppsBindedToApiV2Request) *def.HttpRequestDef { +func GenReqDefForListAppsBindedToApiV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apps") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/app-auths/binded-apps"). + WithResponse(new(model.ListAppsBindedToApiV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_id"). + WithName("ApiId"). + WithJsonTag("api_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_id"). + WithName("AppId"). + WithJsonTag("app_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("env_id"). + WithName("EnvId"). + WithJsonTag("env_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListAppsBindedToApiV2() (*model.ListAppsBindedToApiV2Response, *def.HttpResponseDef) { - resp := new(model.ListAppsBindedToApiV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListAppsV2(request *model.ListAppsV2Request) *def.HttpRequestDef { +func GenReqDefForListAppsV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps"). + WithResponse(new(model.ListAppsV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_key"). + WithName("AppKey"). + WithJsonTag("app_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("creator"). + WithName("Creator"). + WithJsonTag("creator"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("precise_search"). + WithName("PreciseSearch"). + WithJsonTag("precise_search"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListAppsV2() (*model.ListAppsV2Response, *def.HttpResponseDef) { - resp := new(model.ListAppsV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForResettingAppSecretV2(request *model.ResettingAppSecretV2Request) *def.HttpRequestDef { +func GenReqDefForResettingAppSecretV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps/secret/{app_id}"). + WithResponse(new(model.ResettingAppSecretV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_id"). + WithName("AppId"). + WithJsonTag("app_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForResettingAppSecretV2() (*model.ResettingAppSecretV2Response, *def.HttpResponseDef) { - resp := new(model.ResettingAppSecretV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDetailsOfAppV2(request *model.ShowDetailsOfAppV2Request) *def.HttpRequestDef { +func GenReqDefForShowDetailsOfAppV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id}") + WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id}"). + WithResponse(new(model.ShowDetailsOfAppV2Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_id"). + WithName("AppId"). + WithJsonTag("app_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDetailsOfAppV2() (*model.ShowDetailsOfAppV2Response, *def.HttpResponseDef) { - resp := new(model.ShowDetailsOfAppV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateAppV2(request *model.UpdateAppV2Request) *def.HttpRequestDef { +func GenReqDefForUpdateAppV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/apigw/instances/{instance_id}/apps/{app_id}"). + WithResponse(new(model.UpdateAppV2Response)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_id"). + WithName("AppId"). + WithJsonTag("app_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateAppV2() (*model.UpdateAppV2Response, *def.HttpResponseDef) { - resp := new(model.UpdateAppV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/as/v1/as_client.go b/services/as/v1/as_client.go index be0766512d..bee84a2395 100644 --- a/services/as/v1/as_client.go +++ b/services/as/v1/as_client.go @@ -20,468 +20,429 @@ func AsClientBuilder() *http_client.HcHttpClientBuilder { //批量删除指定弹性伸缩配置。被伸缩组使用的伸缩配置不能被删除。单次最多删除伸缩配置个数为50。 func (c *AsClient) BatchDeleteScalingConfigs(request *model.BatchDeleteScalingConfigsRequest) (*model.BatchDeleteScalingConfigsResponse, error) { - requestDef := GenReqDefForBatchDeleteScalingConfigs(request) - resp, responseDef := GenRespForBatchDeleteScalingConfigs() + requestDef := GenReqDefForBatchDeleteScalingConfigs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchDeleteScalingConfigsResponse), nil } } //通过生命周期操作令牌或者通过实例ID和生命周期挂钩名称对伸缩实例指定的挂钩进行回调操作。如果在超时时间结束前已完成自定义操作,选择终止或继续完成生命周期操作。如果需要更多时间完成自定义操作,选择延长超时时间,实例保持等待状态的时间将增加1小时。只有实例的生命周期挂钩状态为 HANGING 时才可以进行回调操作。 func (c *AsClient) CompleteLifecycleAction(request *model.CompleteLifecycleActionRequest) (*model.CompleteLifecycleActionResponse, error) { - requestDef := GenReqDefForCompleteLifecycleAction(request) - resp, responseDef := GenRespForCompleteLifecycleAction() + requestDef := GenReqDefForCompleteLifecycleAction() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CompleteLifecycleActionResponse), nil } } //创建生命周期挂钩,可为伸缩组添加一个或多个生命周期挂钩,最多添加5个。添加生命周期挂钩后,当伸缩组进行伸缩活动时,实例将被生命周期挂钩挂起并置于等待状态(正在加入伸缩组或正在移出伸缩组),实例将保持此状态直至超时时间结束或者用户手动回调。用户能够在实例保持等待状态的时间段内执行自定义操作,例如,用户可以在新启动的实例上安装或配置软件,也可以在实例终止前从实例中下载日志文件。 func (c *AsClient) CreateLifyCycleHook(request *model.CreateLifyCycleHookRequest) (*model.CreateLifyCycleHookResponse, error) { - requestDef := GenReqDefForCreateLifyCycleHook(request) - resp, responseDef := GenRespForCreateLifyCycleHook() + requestDef := GenReqDefForCreateLifyCycleHook() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateLifyCycleHookResponse), nil } } //创建弹性伸缩配置。伸缩配置是伸缩组内实例(弹性云服务器云主机)的模板,定义了伸缩组内待添加的实例的规格数据。伸缩配置与伸缩组是解耦的,同一伸缩配置可以被多个伸缩组使用。默认最多可以创建100个伸缩配置。 func (c *AsClient) CreateScalingConfig(request *model.CreateScalingConfigRequest) (*model.CreateScalingConfigResponse, error) { - requestDef := GenReqDefForCreateScalingConfig(request) - resp, responseDef := GenRespForCreateScalingConfig() + requestDef := GenReqDefForCreateScalingConfig() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateScalingConfigResponse), nil } } //伸缩组是具有相同应用场景的实例的集合,是启停伸缩策略和进行伸缩活动的基本单位。伸缩组内定义了最大实例数、期望实例数、最小实例数、虚拟私有云、子网、负载均衡等信息。默认最多可以创建10个伸缩组。如果伸缩组配置了负载均衡,在添加或移除实例时,会自动为实例绑定或解绑负载均衡监听器。如果伸缩组使用负载均衡健康检查方式,伸缩组中的实例需要启用负载均衡器的监听端口才能通过健康检查。端口启用可在安全组中进行配置,可参考添加安全组规则进行操作。 func (c *AsClient) CreateScalingGroup(request *model.CreateScalingGroupRequest) (*model.CreateScalingGroupResponse, error) { - requestDef := GenReqDefForCreateScalingGroup(request) - resp, responseDef := GenRespForCreateScalingGroup() + requestDef := GenReqDefForCreateScalingGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateScalingGroupResponse), nil } } //给弹性伸缩组配置通知功能。每调用一次该接口,伸缩组即配置一个通知主题及其通知场景,每个伸缩组最多可以增加5个主题。通知主题由用户事先在SMN创建并进行订阅,当通知主题对应的通知场景出现时,伸缩组会向用户的订阅终端发送通知。 func (c *AsClient) CreateScalingNotification(request *model.CreateScalingNotificationRequest) (*model.CreateScalingNotificationResponse, error) { - requestDef := GenReqDefForCreateScalingNotification(request) - resp, responseDef := GenRespForCreateScalingNotification() + requestDef := GenReqDefForCreateScalingNotification() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateScalingNotificationResponse), nil } } //创建弹性伸缩策略。伸缩策略定义了伸缩组内实例的扩张和收缩操作。如果执行伸缩策略造成伸缩组期望实例数与伸缩组内实例数不符,弹性伸缩会自动调整实例资源,以匹配期望实例数。当前伸缩策略支持告警触发策略,周期触发策略,定时触发策略。在策略执行具体动作中,可设置实例变化的个数,或根据当前实例的百分比数进行伸缩。 func (c *AsClient) CreateScalingPolicy(request *model.CreateScalingPolicyRequest) (*model.CreateScalingPolicyResponse, error) { - requestDef := GenReqDefForCreateScalingPolicy(request) - resp, responseDef := GenRespForCreateScalingPolicy() + requestDef := GenReqDefForCreateScalingPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateScalingPolicyResponse), nil } } //创建或删除指定资源的标签。每个伸缩组最多添加10个标签。 func (c *AsClient) CreateScalingTags(request *model.CreateScalingTagsRequest) (*model.CreateScalingTagsResponse, error) { - requestDef := GenReqDefForCreateScalingTags(request) - resp, responseDef := GenRespForCreateScalingTags() + requestDef := GenReqDefForCreateScalingTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateScalingTagsResponse), nil } } //删除一个指定生命周期挂钩。伸缩组进行伸缩活动时,不允许删除该伸缩组内的生命周期挂钩。 func (c *AsClient) DeleteLifecycleHook(request *model.DeleteLifecycleHookRequest) (*model.DeleteLifecycleHookResponse, error) { - requestDef := GenReqDefForDeleteLifecycleHook(request) - resp, responseDef := GenRespForDeleteLifecycleHook() + requestDef := GenReqDefForDeleteLifecycleHook() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteLifecycleHookResponse), nil } } //删除一个指定弹性伸缩配置。 func (c *AsClient) DeleteScalingConfig(request *model.DeleteScalingConfigRequest) (*model.DeleteScalingConfigResponse, error) { - requestDef := GenReqDefForDeleteScalingConfig(request) - resp, responseDef := GenRespForDeleteScalingConfig() + requestDef := GenReqDefForDeleteScalingConfig() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteScalingConfigResponse), nil } } //删除一个指定弹性伸缩组。force_delete属性表示如果伸缩组存在ECS实例或正在进行伸缩活动,是否强制删除伸缩组并移出和释放ECS实例。默认值为no,表示不强制删除伸缩组。如果force_delete的值为no,必须满足以下两个条件,才能删除伸缩组:条件一:伸缩组没有正在进行的伸缩活动。条件二:伸缩组当前的ECS实例数量(current_instance_number)为0。如果force_delete的值为yes,伸缩组会被置于DELETING状态,拒绝接收新的伸缩活动请求,然后等待已有的伸缩活动完成,最后将伸缩组内所有ECS实例移出伸缩组(用户手动添加的ECS实例会被移出伸缩组,弹性伸缩自动创建的ECS实例会被自动删除)并删除伸缩组。 func (c *AsClient) DeleteScalingGroup(request *model.DeleteScalingGroupRequest) (*model.DeleteScalingGroupResponse, error) { - requestDef := GenReqDefForDeleteScalingGroup(request) - resp, responseDef := GenRespForDeleteScalingGroup() + requestDef := GenReqDefForDeleteScalingGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteScalingGroupResponse), nil } } //从弹性伸缩组中移出一个指定实例。实例处于INSERVICE且移出后实例数不能小于伸缩组的最小实例数时才可以移出。当伸缩组没有伸缩活动时,才能移出实例。 func (c *AsClient) DeleteScalingInstance(request *model.DeleteScalingInstanceRequest) (*model.DeleteScalingInstanceResponse, error) { - requestDef := GenReqDefForDeleteScalingInstance(request) - resp, responseDef := GenRespForDeleteScalingInstance() + requestDef := GenReqDefForDeleteScalingInstance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteScalingInstanceResponse), nil } } //删除指定的弹性伸缩组中指定的通知。 func (c *AsClient) DeleteScalingNotification(request *model.DeleteScalingNotificationRequest) (*model.DeleteScalingNotificationResponse, error) { - requestDef := GenReqDefForDeleteScalingNotification(request) - resp, responseDef := GenRespForDeleteScalingNotification() + requestDef := GenReqDefForDeleteScalingNotification() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteScalingNotificationResponse), nil } } //删除一个指定弹性伸缩策略。 func (c *AsClient) DeleteScalingPolicy(request *model.DeleteScalingPolicyRequest) (*model.DeleteScalingPolicyResponse, error) { - requestDef := GenReqDefForDeleteScalingPolicy(request) - resp, responseDef := GenRespForDeleteScalingPolicy() + requestDef := GenReqDefForDeleteScalingPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteScalingPolicyResponse), nil } } //创建或删除指定资源的标签。每个伸缩组最多添加10个标签。 func (c *AsClient) DeleteScalingTags(request *model.DeleteScalingTagsRequest) (*model.DeleteScalingTagsResponse, error) { - requestDef := GenReqDefForDeleteScalingTags(request) - resp, responseDef := GenRespForDeleteScalingTags() + requestDef := GenReqDefForDeleteScalingTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteScalingTagsResponse), nil } } //启用或停止一个指定弹性伸缩组。已停用状态的伸缩组,不会自动触发任何伸缩活动。当伸缩组正在进行伸缩活动,即使停用,正在进行的伸缩活动也不会立即停止。 func (c *AsClient) EnableOrDisableScalingGroup(request *model.EnableOrDisableScalingGroupRequest) (*model.EnableOrDisableScalingGroupResponse, error) { - requestDef := GenReqDefForEnableOrDisableScalingGroup(request) - resp, responseDef := GenRespForEnableOrDisableScalingGroup() + requestDef := GenReqDefForEnableOrDisableScalingGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.EnableOrDisableScalingGroupResponse), nil } } //立即执行或启用或停止一个指定弹性伸缩策略。当伸缩组、伸缩策略状态处于INSERVICE时,伸缩策略才能被正确执行,否则会执行失败。 func (c *AsClient) ExecuteScalingPolicy(request *model.ExecuteScalingPolicyRequest) (*model.ExecuteScalingPolicyResponse, error) { - requestDef := GenReqDefForExecuteScalingPolicy(request) - resp, responseDef := GenRespForExecuteScalingPolicy() + requestDef := GenReqDefForExecuteScalingPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ExecuteScalingPolicyResponse), nil } } //添加生命周期挂钩后,当伸缩组进行伸缩活动时,实例将被挂钩挂起并置于等待状态,根据输入条件过滤查询弹性伸缩组中伸缩实例的挂起信息。可根据实例ID进行条件过滤查询。若不加过滤条件默认查询指定伸缩组内所有实例挂起信息。 func (c *AsClient) ListHookInstances(request *model.ListHookInstancesRequest) (*model.ListHookInstancesResponse, error) { - requestDef := GenReqDefForListHookInstances(request) - resp, responseDef := GenRespForListHookInstances() + requestDef := GenReqDefForListHookInstances() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListHookInstancesResponse), nil } } //根据伸缩组ID查询生命周期挂钩列表。 func (c *AsClient) ListLifeCycleHooks(request *model.ListLifeCycleHooksRequest) (*model.ListLifeCycleHooksResponse, error) { - requestDef := GenReqDefForListLifeCycleHooks(request) - resp, responseDef := GenRespForListLifeCycleHooks() + requestDef := GenReqDefForListLifeCycleHooks() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListLifeCycleHooksResponse), nil } } //根据项目ID查询指定资源类型的资源实例。资源、资源tag默认按照创建时间倒序。 func (c *AsClient) ListResourceInstances(request *model.ListResourceInstancesRequest) (*model.ListResourceInstancesResponse, error) { - requestDef := GenReqDefForListResourceInstances(request) - resp, responseDef := GenRespForListResourceInstances() + requestDef := GenReqDefForListResourceInstances() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListResourceInstancesResponse), nil } } //根据输入条件过滤查询伸缩活动日志。查询结果分页显示。可根据起始时间,截止时间,起始行号,记录数进行条件过滤查询。若不加过滤条件默认查询最多20条伸缩活动日志信息。 func (c *AsClient) ListScalingActivityLogs(request *model.ListScalingActivityLogsRequest) (*model.ListScalingActivityLogsResponse, error) { - requestDef := GenReqDefForListScalingActivityLogs(request) - resp, responseDef := GenRespForListScalingActivityLogs() + requestDef := GenReqDefForListScalingActivityLogs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingActivityLogsResponse), nil } } //根据输入条件过滤查询弹性伸缩配置。查询结果分页显示。可以根据伸缩配置名称,镜像ID,起始行号,记录条数进行条件过滤查询。若不加过滤条件默认最多查询租户下20条伸缩配置信息。 func (c *AsClient) ListScalingConfigs(request *model.ListScalingConfigsRequest) (*model.ListScalingConfigsResponse, error) { - requestDef := GenReqDefForListScalingConfigs(request) - resp, responseDef := GenRespForListScalingConfigs() + requestDef := GenReqDefForListScalingConfigs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingConfigsResponse), nil } } //根据输入条件过滤查询弹性伸缩组列表。查询结果分页显示。可根据伸缩组名称,伸缩配置ID,伸缩组状态,企业项目ID,起始行号,记录条数进行条件过滤查询。若不加过滤条件默认最多查询租户下20条伸缩组信息。 func (c *AsClient) ListScalingGroups(request *model.ListScalingGroupsRequest) (*model.ListScalingGroupsResponse, error) { - requestDef := GenReqDefForListScalingGroups(request) - resp, responseDef := GenRespForListScalingGroups() + requestDef := GenReqDefForListScalingGroups() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingGroupsResponse), nil } } //根据输入条件过滤查询弹性伸缩组中实例信息。查询结果分页显示。可根据实例在伸缩组中的生命周期状态,实例健康状态,实例保护状态,起始行号,记录条数进行条件过滤查询。若不加过滤条件默认查询组内最多20条实例信息 func (c *AsClient) ListScalingInstances(request *model.ListScalingInstancesRequest) (*model.ListScalingInstancesResponse, error) { - requestDef := GenReqDefForListScalingInstances(request) - resp, responseDef := GenRespForListScalingInstances() + requestDef := GenReqDefForListScalingInstances() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingInstancesResponse), nil } } //根据伸缩组ID查询指定弹性伸缩组的通知列表。 func (c *AsClient) ListScalingNotifications(request *model.ListScalingNotificationsRequest) (*model.ListScalingNotificationsResponse, error) { - requestDef := GenReqDefForListScalingNotifications(request) - resp, responseDef := GenRespForListScalingNotifications() + requestDef := GenReqDefForListScalingNotifications() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingNotificationsResponse), nil } } //根据输入条件过滤查询弹性伸缩策略。查询结果分页显示。可根据伸缩策略名称,策略类型,伸缩策略ID,起始行号,记录数进行条件过滤查询。若不加过滤条件默认查询租户下指定伸缩组内最多20条伸缩策略信息。 func (c *AsClient) ListScalingPolicies(request *model.ListScalingPoliciesRequest) (*model.ListScalingPoliciesResponse, error) { - requestDef := GenReqDefForListScalingPolicies(request) - resp, responseDef := GenRespForListScalingPolicies() + requestDef := GenReqDefForListScalingPolicies() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingPoliciesResponse), nil } } //根据输入条件过滤查询策略执行的历史记录。查询结果分页显示。可根据日志ID,伸缩资源类型,伸缩资源ID,策略执行类型,查询额起始,查询截止时间,查询起始行号,查询记录数进行条件过滤查询。若不加过滤条件默认查询最多20条策略执行日志信息。 func (c *AsClient) ListScalingPolicyExecuteLogs(request *model.ListScalingPolicyExecuteLogsRequest) (*model.ListScalingPolicyExecuteLogsResponse, error) { - requestDef := GenReqDefForListScalingPolicyExecuteLogs(request) - resp, responseDef := GenRespForListScalingPolicyExecuteLogs() + requestDef := GenReqDefForListScalingPolicyExecuteLogs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingPolicyExecuteLogsResponse), nil } } //根据项目ID和资源ID查询指定资源类型的资源标签列表。 func (c *AsClient) ListScalingTagInfosByResourceId(request *model.ListScalingTagInfosByResourceIdRequest) (*model.ListScalingTagInfosByResourceIdResponse, error) { - requestDef := GenReqDefForListScalingTagInfosByResourceId(request) - resp, responseDef := GenRespForListScalingTagInfosByResourceId() + requestDef := GenReqDefForListScalingTagInfosByResourceId() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingTagInfosByResourceIdResponse), nil } } //根据项目ID查询指定资源类型的标签列表。 func (c *AsClient) ListScalingTagInfosByTenantId(request *model.ListScalingTagInfosByTenantIdRequest) (*model.ListScalingTagInfosByTenantIdResponse, error) { - requestDef := GenReqDefForListScalingTagInfosByTenantId(request) - resp, responseDef := GenRespForListScalingTagInfosByTenantId() + requestDef := GenReqDefForListScalingTagInfosByTenantId() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListScalingTagInfosByTenantIdResponse), nil } } //根据伸缩组ID及生命周期挂钩名称查询指定的生命周期挂钩详情。 func (c *AsClient) ShowLifeCycleHook(request *model.ShowLifeCycleHookRequest) (*model.ShowLifeCycleHookResponse, error) { - requestDef := GenReqDefForShowLifeCycleHook(request) - resp, responseDef := GenRespForShowLifeCycleHook() + requestDef := GenReqDefForShowLifeCycleHook() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowLifeCycleHookResponse), nil } } //根据伸缩组ID查询指定弹性伸缩组下的伸缩策略和伸缩实例的配额总数及已使用配额数。 func (c *AsClient) ShowPolicyAndInstanceQuota(request *model.ShowPolicyAndInstanceQuotaRequest) (*model.ShowPolicyAndInstanceQuotaResponse, error) { - requestDef := GenReqDefForShowPolicyAndInstanceQuota(request) - resp, responseDef := GenRespForShowPolicyAndInstanceQuota() + requestDef := GenReqDefForShowPolicyAndInstanceQuota() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPolicyAndInstanceQuotaResponse), nil } } //查询指定租户下的弹性伸缩组、伸缩配置、伸缩带宽策略、伸缩策略和伸缩实例的配额总数及已使用配额数。 func (c *AsClient) ShowResourceQuota(request *model.ShowResourceQuotaRequest) (*model.ShowResourceQuotaResponse, error) { - requestDef := GenReqDefForShowResourceQuota(request) - resp, responseDef := GenRespForShowResourceQuota() + requestDef := GenReqDefForShowResourceQuota() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowResourceQuotaResponse), nil } } //根据伸缩配置ID查询一个弹性伸缩配置的详细信息。 func (c *AsClient) ShowScalingConfig(request *model.ShowScalingConfigRequest) (*model.ShowScalingConfigResponse, error) { - requestDef := GenReqDefForShowScalingConfig(request) - resp, responseDef := GenRespForShowScalingConfig() + requestDef := GenReqDefForShowScalingConfig() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowScalingConfigResponse), nil } } //查询一个指定弹性伸缩组详情。 func (c *AsClient) ShowScalingGroup(request *model.ShowScalingGroupRequest) (*model.ShowScalingGroupResponse, error) { - requestDef := GenReqDefForShowScalingGroup(request) - resp, responseDef := GenRespForShowScalingGroup() + requestDef := GenReqDefForShowScalingGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowScalingGroupResponse), nil } } //查询指定弹性伸缩策略信息。 func (c *AsClient) ShowScalingPolicy(request *model.ShowScalingPolicyRequest) (*model.ShowScalingPolicyResponse, error) { - requestDef := GenReqDefForShowScalingPolicy(request) - resp, responseDef := GenRespForShowScalingPolicy() + requestDef := GenReqDefForShowScalingPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowScalingPolicyResponse), nil } } //修改一个指定生命周期挂钩中的信息。 func (c *AsClient) UpdateLifeCycleHook(request *model.UpdateLifeCycleHookRequest) (*model.UpdateLifeCycleHookResponse, error) { - requestDef := GenReqDefForUpdateLifeCycleHook(request) - resp, responseDef := GenRespForUpdateLifeCycleHook() + requestDef := GenReqDefForUpdateLifeCycleHook() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateLifeCycleHookResponse), nil } } //修改一个指定弹性伸缩组中的信息。更换伸缩组的伸缩配置,伸缩组中已经存在的使用之前伸缩配置创建的云服务器云主机不受影响。伸缩组为没有正在进行的伸缩活动时,可以修改伸缩组的子网、可用区和负载均衡配置。当伸缩组的期望实例数改变时,会触发伸缩活动加入或移出实例。期望实例数必须大于或等于最小实例数,必须小于或等于最大实例数。 func (c *AsClient) UpdateScalingGroup(request *model.UpdateScalingGroupRequest) (*model.UpdateScalingGroupResponse, error) { - requestDef := GenReqDefForUpdateScalingGroup(request) - resp, responseDef := GenRespForUpdateScalingGroup() + requestDef := GenReqDefForUpdateScalingGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateScalingGroupResponse), nil } } //批量移出伸缩组中的实例或批量添加伸缩组外的实例。批量对伸缩组中的实例设置或取消其实例保护属性。批量将伸缩组中的实例转入或移出备用状态。 func (c *AsClient) UpdateScalingGroupInstance(request *model.UpdateScalingGroupInstanceRequest) (*model.UpdateScalingGroupInstanceResponse, error) { - requestDef := GenReqDefForUpdateScalingGroupInstance(request) - resp, responseDef := GenRespForUpdateScalingGroupInstance() + requestDef := GenReqDefForUpdateScalingGroupInstance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateScalingGroupInstanceResponse), nil } } //修改指定弹性伸缩策略。 func (c *AsClient) UpdateScalingPolicy(request *model.UpdateScalingPolicyRequest) (*model.UpdateScalingPolicyResponse, error) { - requestDef := GenReqDefForUpdateScalingPolicy(request) - resp, responseDef := GenRespForUpdateScalingPolicy() + requestDef := GenReqDefForUpdateScalingPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateScalingPolicyResponse), nil } } diff --git a/services/as/v1/as_meta.go b/services/as/v1/as_meta.go index afeb316263..b53378880f 100644 --- a/services/as/v1/as_meta.go +++ b/services/as/v1/as_meta.go @@ -6,1246 +6,929 @@ import ( "net/http" ) -func GenReqDefForBatchDeleteScalingConfigs(request *model.BatchDeleteScalingConfigsRequest) *def.HttpRequestDef { +func GenReqDefForBatchDeleteScalingConfigs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/scaling_configurations"). + WithResponse(new(model.BatchDeleteScalingConfigsResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchDeleteScalingConfigs() (*model.BatchDeleteScalingConfigsResponse, *def.HttpResponseDef) { - resp := new(model.BatchDeleteScalingConfigsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCompleteLifecycleAction(request *model.CompleteLifecycleActionRequest) *def.HttpRequestDef { +func GenReqDefForCompleteLifecycleAction() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/callback"). + WithResponse(new(model.CompleteLifecycleActionResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCompleteLifecycleAction() (*model.CompleteLifecycleActionResponse, *def.HttpResponseDef) { - resp := new(model.CompleteLifecycleActionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateLifyCycleHook(request *model.CreateLifyCycleHookRequest) *def.HttpRequestDef { +func GenReqDefForCreateLifyCycleHook() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}"). + WithResponse(new(model.CreateLifyCycleHookResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateLifyCycleHook() (*model.CreateLifyCycleHookResponse, *def.HttpResponseDef) { - resp := new(model.CreateLifyCycleHookResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateScalingConfig(request *model.CreateScalingConfigRequest) *def.HttpRequestDef { +func GenReqDefForCreateScalingConfig() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration"). + WithResponse(new(model.CreateScalingConfigResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateScalingConfig() (*model.CreateScalingConfigResponse, *def.HttpResponseDef) { - resp := new(model.CreateScalingConfigResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateScalingGroup(request *model.CreateScalingGroupRequest) *def.HttpRequestDef { +func GenReqDefForCreateScalingGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/scaling_group"). + WithResponse(new(model.CreateScalingGroupResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateScalingGroup() (*model.CreateScalingGroupResponse, *def.HttpResponseDef) { - resp := new(model.CreateScalingGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateScalingNotification(request *model.CreateScalingNotificationRequest) *def.HttpRequestDef { +func GenReqDefForCreateScalingNotification() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}"). + WithResponse(new(model.CreateScalingNotificationResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateScalingNotification() (*model.CreateScalingNotificationResponse, *def.HttpResponseDef) { - resp := new(model.CreateScalingNotificationResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateScalingPolicy(request *model.CreateScalingPolicyRequest) *def.HttpRequestDef { +func GenReqDefForCreateScalingPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/scaling_policy"). + WithResponse(new(model.CreateScalingPolicyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateScalingPolicy() (*model.CreateScalingPolicyResponse, *def.HttpResponseDef) { - resp := new(model.CreateScalingPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateScalingTags(request *model.CreateScalingTagsRequest) *def.HttpRequestDef { +func GenReqDefForCreateScalingTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags/action"). + WithResponse(new(model.CreateScalingTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_type"). + WithName("ResourceType"). + WithJsonTag("resource_type"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateScalingTags() (*model.CreateScalingTagsResponse, *def.HttpResponseDef) { - resp := new(model.CreateScalingTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteLifecycleHook(request *model.DeleteLifecycleHookRequest) *def.HttpRequestDef { +func GenReqDefForDeleteLifecycleHook() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}") + WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}"). + WithResponse(new(model.DeleteLifecycleHookResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("lifecycle_hook_name"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("LifecycleHookName"). + WithJsonTag("lifecycle_hook_name"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteLifecycleHook() (*model.DeleteLifecycleHookResponse, *def.HttpResponseDef) { - resp := new(model.DeleteLifecycleHookResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteScalingConfig(request *model.DeleteScalingConfigRequest) *def.HttpRequestDef { +func GenReqDefForDeleteScalingConfig() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_configuration_id"). - WithLocationType(def.Path)) + WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}"). + WithResponse(new(model.DeleteScalingConfigResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ScalingConfigurationId"). + WithJsonTag("scaling_configuration_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteScalingConfig() (*model.DeleteScalingConfigResponse, *def.HttpResponseDef) { - resp := new(model.DeleteScalingConfigResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteScalingGroup(request *model.DeleteScalingGroupRequest) *def.HttpRequestDef { +func GenReqDefForDeleteScalingGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}") + WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}"). + WithResponse(new(model.DeleteScalingGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("force_delete"). + WithName("ForceDelete"). + WithJsonTag("force_delete"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteScalingGroup() (*model.DeleteScalingGroupResponse, *def.HttpResponseDef) { - resp := new(model.DeleteScalingGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteScalingInstance(request *model.DeleteScalingInstanceRequest) *def.HttpRequestDef { +func GenReqDefForDeleteScalingInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{instance_id}") + WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{instance_id}"). + WithResponse(new(model.DeleteScalingInstanceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_delete"). + WithName("InstanceDelete"). + WithJsonTag("instance_delete"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteScalingInstance() (*model.DeleteScalingInstanceResponse, *def.HttpResponseDef) { - resp := new(model.DeleteScalingInstanceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteScalingNotification(request *model.DeleteScalingNotificationRequest) *def.HttpRequestDef { +func GenReqDefForDeleteScalingNotification() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}/{topic_urn}") + WithPath("/autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}/{topic_urn}"). + WithResponse(new(model.DeleteScalingNotificationResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("topic_urn"). + WithName("TopicUrn"). + WithJsonTag("topic_urn"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteScalingNotification() (*model.DeleteScalingNotificationResponse, *def.HttpResponseDef) { - resp := new(model.DeleteScalingNotificationResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteScalingPolicy(request *model.DeleteScalingPolicyRequest) *def.HttpRequestDef { +func GenReqDefForDeleteScalingPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_policy_id"). - WithLocationType(def.Path)) + WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}"). + WithResponse(new(model.DeleteScalingPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteScalingPolicy() (*model.DeleteScalingPolicyResponse, *def.HttpResponseDef) { - resp := new(model.DeleteScalingPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteScalingTags(request *model.DeleteScalingTagsRequest) *def.HttpRequestDef { +func GenReqDefForDeleteScalingTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags/action"). + WithResponse(new(model.DeleteScalingTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_type"). + WithName("ResourceType"). + WithJsonTag("resource_type"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteScalingTags() (*model.DeleteScalingTagsResponse, *def.HttpResponseDef) { - resp := new(model.DeleteScalingTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForEnableOrDisableScalingGroup(request *model.EnableOrDisableScalingGroupRequest) *def.HttpRequestDef { +func GenReqDefForEnableOrDisableScalingGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}/action"). + WithResponse(new(model.EnableOrDisableScalingGroupResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForEnableOrDisableScalingGroup() (*model.EnableOrDisableScalingGroupResponse, *def.HttpResponseDef) { - resp := new(model.EnableOrDisableScalingGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForExecuteScalingPolicy(request *model.ExecuteScalingPolicyRequest) *def.HttpRequestDef { +func GenReqDefForExecuteScalingPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}/action"). + WithResponse(new(model.ExecuteScalingPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_policy_id"). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForExecuteScalingPolicy() (*model.ExecuteScalingPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ExecuteScalingPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListHookInstances(request *model.ListHookInstancesRequest) *def.HttpRequestDef { +func GenReqDefForListHookInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/list") + WithPath("/autoscaling-api/v1/{project_id}/scaling_instance_hook/{scaling_group_id}/list"). + WithResponse(new(model.ListHookInstancesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListHookInstances() (*model.ListHookInstancesResponse, *def.HttpResponseDef) { - resp := new(model.ListHookInstancesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListLifeCycleHooks(request *model.ListLifeCycleHooksRequest) *def.HttpRequestDef { +func GenReqDefForListLifeCycleHooks() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/list") + WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/list"). + WithResponse(new(model.ListLifeCycleHooksResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListLifeCycleHooks() (*model.ListLifeCycleHooksResponse, *def.HttpResponseDef) { - resp := new(model.ListLifeCycleHooksResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListResourceInstances(request *model.ListResourceInstancesRequest) *def.HttpRequestDef { +func GenReqDefForListResourceInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/resource_instances/action"). + WithResponse(new(model.ListResourceInstancesResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_type"). + WithName("ResourceType"). + WithJsonTag("resource_type"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListResourceInstances() (*model.ListResourceInstancesResponse, *def.HttpResponseDef) { - resp := new(model.ListResourceInstancesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingActivityLogs(request *model.ListScalingActivityLogsRequest) *def.HttpRequestDef { +func GenReqDefForListScalingActivityLogs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_activity_log/{scaling_group_id}") + WithPath("/autoscaling-api/v1/{project_id}/scaling_activity_log/{scaling_group_id}"). + WithResponse(new(model.ListScalingActivityLogsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_number"). + WithName("StartNumber"). + WithJsonTag("start_number"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingActivityLogs() (*model.ListScalingActivityLogsResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingActivityLogsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingConfigs(request *model.ListScalingConfigsRequest) *def.HttpRequestDef { +func GenReqDefForListScalingConfigs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration") + WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration"). + WithResponse(new(model.ListScalingConfigsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_configuration_name"). + WithName("ScalingConfigurationName"). + WithJsonTag("scaling_configuration_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_number"). + WithName("StartNumber"). + WithJsonTag("start_number"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingConfigs() (*model.ListScalingConfigsResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingConfigsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingGroups(request *model.ListScalingGroupsRequest) *def.HttpRequestDef { +func GenReqDefForListScalingGroups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_group") + WithPath("/autoscaling-api/v1/{project_id}/scaling_group"). + WithResponse(new(model.ListScalingGroupsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_name"). + WithName("ScalingGroupName"). + WithJsonTag("scaling_group_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_configuration_id"). + WithName("ScalingConfigurationId"). + WithJsonTag("scaling_configuration_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_status"). + WithName("ScalingGroupStatus"). + WithJsonTag("scaling_group_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_number"). + WithName("StartNumber"). + WithJsonTag("start_number"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingGroups() (*model.ListScalingGroupsResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingGroupsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingInstances(request *model.ListScalingInstancesRequest) *def.HttpRequestDef { +func GenReqDefForListScalingInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/list") + WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/list"). + WithResponse(new(model.ListScalingInstancesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("life_cycle_state"). + WithName("LifeCycleState"). + WithJsonTag("life_cycle_state"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("health_status"). + WithName("HealthStatus"). + WithJsonTag("health_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protect_from_scaling_down"). + WithName("ProtectFromScalingDown"). + WithJsonTag("protect_from_scaling_down"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_number"). + WithName("StartNumber"). + WithJsonTag("start_number"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingInstances() (*model.ListScalingInstancesResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingInstancesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingNotifications(request *model.ListScalingNotificationsRequest) *def.HttpRequestDef { +func GenReqDefForListScalingNotifications() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). - WithLocationType(def.Path)) + WithPath("/autoscaling-api/v1/{project_id}/scaling_notification/{scaling_group_id}"). + WithResponse(new(model.ListScalingNotificationsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingNotifications() (*model.ListScalingNotificationsResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingNotificationsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingPolicies(request *model.ListScalingPoliciesRequest) *def.HttpRequestDef { +func GenReqDefForListScalingPolicies() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_group_id}/list") + WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_group_id}/list"). + WithResponse(new(model.ListScalingPoliciesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_policy_name"). + WithName("ScalingPolicyName"). + WithJsonTag("scaling_policy_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_policy_type"). + WithName("ScalingPolicyType"). + WithJsonTag("scaling_policy_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_policy_id"). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_number"). + WithName("StartNumber"). + WithJsonTag("start_number"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingPolicies() (*model.ListScalingPoliciesResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingPoliciesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingPolicyExecuteLogs(request *model.ListScalingPolicyExecuteLogsRequest) *def.HttpRequestDef { +func GenReqDefForListScalingPolicyExecuteLogs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_policy_execute_log/{scaling_policy_id}") + WithPath("/autoscaling-api/v1/{project_id}/scaling_policy_execute_log/{scaling_policy_id}"). + WithResponse(new(model.ListScalingPolicyExecuteLogsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_policy_id"). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("log_id"). + WithName("LogId"). + WithJsonTag("log_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_resource_type"). + WithName("ScalingResourceType"). + WithJsonTag("scaling_resource_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_resource_id"). + WithName("ScalingResourceId"). + WithJsonTag("scaling_resource_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("execute_type"). + WithName("ExecuteType"). + WithJsonTag("execute_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_number"). + WithName("StartNumber"). + WithJsonTag("start_number"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingPolicyExecuteLogs() (*model.ListScalingPolicyExecuteLogsResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingPolicyExecuteLogsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingTagInfosByResourceId(request *model.ListScalingTagInfosByResourceIdRequest) *def.HttpRequestDef { +func GenReqDefForListScalingTagInfosByResourceId() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags") + WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/{resource_id}/tags"). + WithResponse(new(model.ListScalingTagInfosByResourceIdResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_type"). + WithName("ResourceType"). + WithJsonTag("resource_type"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingTagInfosByResourceId() (*model.ListScalingTagInfosByResourceIdResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingTagInfosByResourceIdResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListScalingTagInfosByTenantId(request *model.ListScalingTagInfosByTenantIdRequest) *def.HttpRequestDef { +func GenReqDefForListScalingTagInfosByTenantId() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/tags") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_type"). - WithLocationType(def.Path)) + WithPath("/autoscaling-api/v1/{project_id}/{resource_type}/tags"). + WithResponse(new(model.ListScalingTagInfosByTenantIdResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ResourceType"). + WithJsonTag("resource_type"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListScalingTagInfosByTenantId() (*model.ListScalingTagInfosByTenantIdResponse, *def.HttpResponseDef) { - resp := new(model.ListScalingTagInfosByTenantIdResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowLifeCycleHook(request *model.ShowLifeCycleHookRequest) *def.HttpRequestDef { +func GenReqDefForShowLifeCycleHook() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}") + WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}"). + WithResponse(new(model.ShowLifeCycleHookResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("lifecycle_hook_name"). + WithName("LifecycleHookName"). + WithJsonTag("lifecycle_hook_name"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowLifeCycleHook() (*model.ShowLifeCycleHookResponse, *def.HttpResponseDef) { - resp := new(model.ShowLifeCycleHookResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPolicyAndInstanceQuota(request *model.ShowPolicyAndInstanceQuotaRequest) *def.HttpRequestDef { +func GenReqDefForShowPolicyAndInstanceQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/quotas/{scaling_group_id}") + WithPath("/autoscaling-api/v1/{project_id}/quotas/{scaling_group_id}"). + WithResponse(new(model.ShowPolicyAndInstanceQuotaResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPolicyAndInstanceQuota() (*model.ShowPolicyAndInstanceQuotaResponse, *def.HttpResponseDef) { - resp := new(model.ShowPolicyAndInstanceQuotaResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowResourceQuota(request *model.ShowResourceQuotaRequest) *def.HttpRequestDef { +func GenReqDefForShowResourceQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/quotas") + WithPath("/autoscaling-api/v1/{project_id}/quotas"). + WithResponse(new(model.ShowResourceQuotaResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowResourceQuota() (*model.ShowResourceQuotaResponse, *def.HttpResponseDef) { - resp := new(model.ShowResourceQuotaResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowScalingConfig(request *model.ShowScalingConfigRequest) *def.HttpRequestDef { +func GenReqDefForShowScalingConfig() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_configuration_id"). - WithLocationType(def.Path)) + WithPath("/autoscaling-api/v1/{project_id}/scaling_configuration/{scaling_configuration_id}"). + WithResponse(new(model.ShowScalingConfigResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ScalingConfigurationId"). + WithJsonTag("scaling_configuration_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowScalingConfig() (*model.ShowScalingConfigResponse, *def.HttpResponseDef) { - resp := new(model.ShowScalingConfigResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowScalingGroup(request *model.ShowScalingGroupRequest) *def.HttpRequestDef { +func GenReqDefForShowScalingGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). - WithLocationType(def.Path)) + WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}"). + WithResponse(new(model.ShowScalingGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowScalingGroup() (*model.ShowScalingGroupResponse, *def.HttpResponseDef) { - resp := new(model.ShowScalingGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowScalingPolicy(request *model.ShowScalingPolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowScalingPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_policy_id"). - WithLocationType(def.Path)) + WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}"). + WithResponse(new(model.ShowScalingPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowScalingPolicy() (*model.ShowScalingPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowScalingPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateLifeCycleHook(request *model.UpdateLifeCycleHookRequest) *def.HttpRequestDef { +func GenReqDefForUpdateLifeCycleHook() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/autoscaling-api/v1/{project_id}/scaling_lifecycle_hook/{scaling_group_id}/{lifecycle_hook_name}"). + WithResponse(new(model.UpdateLifeCycleHookResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("lifecycle_hook_name"). + WithName("LifecycleHookName"). + WithJsonTag("lifecycle_hook_name"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateLifeCycleHook() (*model.UpdateLifeCycleHookResponse, *def.HttpResponseDef) { - resp := new(model.UpdateLifeCycleHookResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateScalingGroup(request *model.UpdateScalingGroupRequest) *def.HttpRequestDef { +func GenReqDefForUpdateScalingGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/autoscaling-api/v1/{project_id}/scaling_group/{scaling_group_id}"). + WithResponse(new(model.UpdateScalingGroupResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateScalingGroup() (*model.UpdateScalingGroupResponse, *def.HttpResponseDef) { - resp := new(model.UpdateScalingGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateScalingGroupInstance(request *model.UpdateScalingGroupInstanceRequest) *def.HttpRequestDef { +func GenReqDefForUpdateScalingGroupInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/autoscaling-api/v1/{project_id}/scaling_group_instance/{scaling_group_id}/action"). + WithResponse(new(model.UpdateScalingGroupInstanceResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_group_id"). + WithName("ScalingGroupId"). + WithJsonTag("scaling_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateScalingGroupInstance() (*model.UpdateScalingGroupInstanceResponse, *def.HttpResponseDef) { - resp := new(model.UpdateScalingGroupInstanceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateScalingPolicy(request *model.UpdateScalingPolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateScalingPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/autoscaling-api/v1/{project_id}/scaling_policy/{scaling_policy_id}"). + WithResponse(new(model.UpdateScalingPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("scaling_policy_id"). + WithName("ScalingPolicyId"). + WithJsonTag("scaling_policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateScalingPolicy() (*model.UpdateScalingPolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateScalingPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/bss/v2/bss_client.go b/services/bss/v2/bss_client.go index d2ae4401c9..59ca5569c7 100644 --- a/services/bss/v2/bss_client.go +++ b/services/bss/v2/bss_client.go @@ -20,816 +20,781 @@ func BssClientBuilder() *http_client.HcHttpClientBuilder { //功能描述:设置包周期资源自动续费 func (c *BssClient) AutoRenewalResources(request *model.AutoRenewalResourcesRequest) (*model.AutoRenewalResourcesResponse, error) { - requestDef := GenReqDefForAutoRenewalResources(request) - resp, responseDef := GenRespForAutoRenewalResources() + requestDef := GenReqDefForAutoRenewalResources() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AutoRenewalResourcesResponse), nil } } //功能描述:设置伙伴折扣 func (c *BssClient) BatchSetSubCustomerDiscount(request *model.BatchSetSubCustomerDiscountRequest) (*model.BatchSetSubCustomerDiscountResponse, error) { - requestDef := GenReqDefForBatchSetSubCustomerDiscount(request) - resp, responseDef := GenRespForBatchSetSubCustomerDiscount() + requestDef := GenReqDefForBatchSetSubCustomerDiscount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchSetSubCustomerDiscountResponse), nil } } //功能描述:取消包年/包月资源自动续费 func (c *BssClient) CancelAutoRenewalResources(request *model.CancelAutoRenewalResourcesRequest) (*model.CancelAutoRenewalResourcesResponse, error) { - requestDef := GenReqDefForCancelAutoRenewalResources(request) - resp, responseDef := GenRespForCancelAutoRenewalResources() + requestDef := GenReqDefForCancelAutoRenewalResources() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CancelAutoRenewalResourcesResponse), nil } } //功能描述:取消包周期订单 func (c *BssClient) CancelCustomerOrder(request *model.CancelCustomerOrderRequest) (*model.CancelCustomerOrderResponse, error) { - requestDef := GenReqDefForCancelCustomerOrder(request) - resp, responseDef := GenRespForCancelCustomerOrder() + requestDef := GenReqDefForCancelCustomerOrder() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CancelCustomerOrderResponse), nil } } //功能描述:退订包周期资源 func (c *BssClient) CancelResourcesSubscription(request *model.CancelResourcesSubscriptionRequest) (*model.CancelResourcesSubscriptionResponse, error) { - requestDef := GenReqDefForCancelResourcesSubscription(request) - resp, responseDef := GenRespForCancelResourcesSubscription() + requestDef := GenReqDefForCancelResourcesSubscription() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CancelResourcesSubscriptionResponse), nil } } //功能描述:实名认证变更申请 func (c *BssClient) ChangeEnterpriseRealnameAuthentication(request *model.ChangeEnterpriseRealnameAuthenticationRequest) (*model.ChangeEnterpriseRealnameAuthenticationResponse, error) { - requestDef := GenReqDefForChangeEnterpriseRealnameAuthentication(request) - resp, responseDef := GenRespForChangeEnterpriseRealnameAuthentication() + requestDef := GenReqDefForChangeEnterpriseRealnameAuthentication() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ChangeEnterpriseRealnameAuthenticationResponse), nil } } //功能描述:校验客户的注册信息 func (c *BssClient) CheckUserIdentity(request *model.CheckUserIdentityRequest) (*model.CheckUserIdentityResponse, error) { - requestDef := GenReqDefForCheckUserIdentity(request) - resp, responseDef := GenRespForCheckUserIdentity() + requestDef := GenReqDefForCheckUserIdentity() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CheckUserIdentityResponse), nil } } //功能描述:客户开通自身的企业项目功能 func (c *BssClient) CreateEnterpriseProjectAuth(request *model.CreateEnterpriseProjectAuthRequest) (*model.CreateEnterpriseProjectAuthResponse, error) { - requestDef := GenReqDefForCreateEnterpriseProjectAuth(request) - resp, responseDef := GenRespForCreateEnterpriseProjectAuth() + requestDef := GenReqDefForCreateEnterpriseProjectAuth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateEnterpriseProjectAuthResponse), nil } } //功能描述:企业实名认证申请V2 func (c *BssClient) CreateEnterpriseRealnameAuthentication(request *model.CreateEnterpriseRealnameAuthenticationRequest) (*model.CreateEnterpriseRealnameAuthenticationResponse, error) { - requestDef := GenReqDefForCreateEnterpriseRealnameAuthentication(request) - resp, responseDef := GenRespForCreateEnterpriseRealnameAuthentication() + requestDef := GenReqDefForCreateEnterpriseRealnameAuthentication() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateEnterpriseRealnameAuthenticationResponse), nil } } //功能描述:伙伴给子客户发券 func (c *BssClient) CreatePartnerCoupons(request *model.CreatePartnerCouponsRequest) (*model.CreatePartnerCouponsResponse, error) { - requestDef := GenReqDefForCreatePartnerCoupons(request) - resp, responseDef := GenRespForCreatePartnerCoupons() + requestDef := GenReqDefForCreatePartnerCoupons() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePartnerCouponsResponse), nil } } //功能描述:个人实名认证申请 func (c *BssClient) CreatePersonalRealnameAuth(request *model.CreatePersonalRealnameAuthRequest) (*model.CreatePersonalRealnameAuthResponse, error) { - requestDef := GenReqDefForCreatePersonalRealnameAuth(request) - resp, responseDef := GenRespForCreatePersonalRealnameAuth() + requestDef := GenReqDefForCreatePersonalRealnameAuth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePersonalRealnameAuthResponse), nil } } //功能描述:新增邮寄地址 func (c *BssClient) CreatePostal(request *model.CreatePostalRequest) (*model.CreatePostalResponse, error) { - requestDef := GenReqDefForCreatePostal(request) - resp, responseDef := GenRespForCreatePostal() + requestDef := GenReqDefForCreatePostal() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePostalResponse), nil } } //功能描述:在伙伴销售平台创建客户时同步创建华为云账号,并将客户在伙伴销售平台上的账号与华为云账号进行映射。同时,创建的华为云账号与伙伴账号关联绑定。 func (c *BssClient) CreateSubCustomer(request *model.CreateSubCustomerRequest) (*model.CreateSubCustomerResponse, error) { - requestDef := GenReqDefForCreateSubCustomer(request) - resp, responseDef := GenRespForCreateSubCustomer() + requestDef := GenReqDefForCreateSubCustomer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSubCustomerResponse), nil } } //功能描述:创建企业子账号 func (c *BssClient) CreateSubEnterpriseAccount(request *model.CreateSubEnterpriseAccountRequest) (*model.CreateSubEnterpriseAccountResponse, error) { - requestDef := GenReqDefForCreateSubEnterpriseAccount(request) - resp, responseDef := GenRespForCreateSubEnterpriseAccount() + requestDef := GenReqDefForCreateSubEnterpriseAccount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSubEnterpriseAccountResponse), nil } } //功能描述:删除邮寄地址 func (c *BssClient) DeletePostal(request *model.DeletePostalRequest) (*model.DeletePostalResponse, error) { - requestDef := GenReqDefForDeletePostal(request) - resp, responseDef := GenRespForDeletePostal() + requestDef := GenReqDefForDeletePostal() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePostalResponse), nil } } //功能描述:根据省份查询城市列表 func (c *BssClient) ListCities(request *model.ListCitiesRequest) (*model.ListCitiesResponse, error) { - requestDef := GenReqDefForListCities(request) - resp, responseDef := GenRespForListCities() + requestDef := GenReqDefForListCities() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCitiesResponse), nil } } //功能描述:根据城市查询区县列表 func (c *BssClient) ListCounties(request *model.ListCountiesRequest) (*model.ListCountiesResponse, error) { - requestDef := GenReqDefForListCounties(request) - resp, responseDef := GenRespForListCounties() + requestDef := GenReqDefForListCounties() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCountiesResponse), nil } } //功能描述:查询优惠券额度发放回收记录 func (c *BssClient) ListCouponQuotasRecords(request *model.ListCouponQuotasRecordsRequest) (*model.ListCouponQuotasRecordsResponse, error) { - requestDef := GenReqDefForListCouponQuotasRecords(request) - resp, responseDef := GenRespForListCouponQuotasRecords() + requestDef := GenReqDefForListCouponQuotasRecords() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCouponQuotasRecordsResponse), nil } } //功能描述:客户在客户自建平台查询自己的流水账单 func (c *BssClient) ListCustomerBillsFeeRecords(request *model.ListCustomerBillsFeeRecordsRequest) (*model.ListCustomerBillsFeeRecordsResponse, error) { - requestDef := GenReqDefForListCustomerBillsFeeRecords(request) - resp, responseDef := GenRespForListCustomerBillsFeeRecords() + requestDef := GenReqDefForListCustomerBillsFeeRecords() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCustomerBillsFeeRecordsResponse), nil } } //功能描述:查询客户按需资源列表 func (c *BssClient) ListCustomerOnDemandResources(request *model.ListCustomerOnDemandResourcesRequest) (*model.ListCustomerOnDemandResourcesResponse, error) { - requestDef := GenReqDefForListCustomerOnDemandResources(request) - resp, responseDef := GenRespForListCustomerOnDemandResources() + requestDef := GenReqDefForListCustomerOnDemandResources() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCustomerOnDemandResourcesResponse), nil } } //功能描述:查询订单列表 func (c *BssClient) ListCustomerOrders(request *model.ListCustomerOrdersRequest) (*model.ListCustomerOrdersResponse, error) { - requestDef := GenReqDefForListCustomerOrders(request) - resp, responseDef := GenRespForListCustomerOrders() + requestDef := GenReqDefForListCustomerOrders() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCustomerOrdersResponse), nil } } //功能描述:批量查询伙伴子客户账户余额 func (c *BssClient) ListCustomersBalancesDetail(request *model.ListCustomersBalancesDetailRequest) (*model.ListCustomersBalancesDetailResponse, error) { - requestDef := GenReqDefForListCustomersBalancesDetail(request) - resp, responseDef := GenRespForListCustomersBalancesDetail() + requestDef := GenReqDefForListCustomersBalancesDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCustomersBalancesDetailResponse), nil } } //功能描述:客户在客户自建平台查询自己的资源详单,用于反映各类资源的消耗情况。资源详单数据有延迟,最大延迟24小时。 func (c *BssClient) ListCustomerselfResourceRecordDetails(request *model.ListCustomerselfResourceRecordDetailsRequest) (*model.ListCustomerselfResourceRecordDetailsResponse, error) { - requestDef := GenReqDefForListCustomerselfResourceRecordDetails(request) - resp, responseDef := GenRespForListCustomerselfResourceRecordDetails() + requestDef := GenReqDefForListCustomerselfResourceRecordDetails() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCustomerselfResourceRecordDetailsResponse), nil } } //功能描述:查询资源消费记录(客户) func (c *BssClient) ListCustomerselfResourceRecords(request *model.ListCustomerselfResourceRecordsRequest) (*model.ListCustomerselfResourceRecordsResponse, error) { - requestDef := GenReqDefForListCustomerselfResourceRecords(request) - resp, responseDef := GenRespForListCustomerselfResourceRecords() + requestDef := GenReqDefForListCustomerselfResourceRecords() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCustomerselfResourceRecordsResponse), nil } } //功能描述:查询企业子可回收余额 func (c *BssClient) ListEnterpriseMultiAccount(request *model.ListEnterpriseMultiAccountRequest) (*model.ListEnterpriseMultiAccountResponse, error) { - requestDef := GenReqDefForListEnterpriseMultiAccount(request) - resp, responseDef := GenRespForListEnterpriseMultiAccount() + requestDef := GenReqDefForListEnterpriseMultiAccount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListEnterpriseMultiAccountResponse), nil } } //功能描述:企业主账号在客户自建平台查询企业组织结构 func (c *BssClient) ListEnterpriseOrganizations(request *model.ListEnterpriseOrganizationsRequest) (*model.ListEnterpriseOrganizationsResponse, error) { - requestDef := GenReqDefForListEnterpriseOrganizations(request) - resp, responseDef := GenRespForListEnterpriseOrganizations() + requestDef := GenReqDefForListEnterpriseOrganizations() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListEnterpriseOrganizationsResponse), nil } } //功能描述:企业主账号在客户自建平台查询企业子账号信息列表 func (c *BssClient) ListEnterpriseSubCustomers(request *model.ListEnterpriseSubCustomersRequest) (*model.ListEnterpriseSubCustomersResponse, error) { - requestDef := GenReqDefForListEnterpriseSubCustomers(request) - resp, responseDef := GenRespForListEnterpriseSubCustomers() + requestDef := GenReqDefForListEnterpriseSubCustomers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListEnterpriseSubCustomersResponse), nil } } //功能描述:查询精英服务商列表 func (c *BssClient) ListIndirectPartners(request *model.ListIndirectPartnersRequest) (*model.ListIndirectPartnersResponse, error) { - requestDef := GenReqDefForListIndirectPartners(request) - resp, responseDef := GenRespForListIndirectPartners() + requestDef := GenReqDefForListIndirectPartners() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListIndirectPartnersResponse), nil } } //功能描述:一级经销商查询发给二级经销商的额度 func (c *BssClient) ListIssuedCouponQuotas(request *model.ListIssuedCouponQuotasRequest) (*model.ListIssuedCouponQuotasResponse, error) { - requestDef := GenReqDefForListIssuedCouponQuotas(request) - resp, responseDef := GenRespForListIssuedCouponQuotas() + requestDef := GenReqDefForListIssuedCouponQuotas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListIssuedCouponQuotasResponse), nil } } //功能描述:查询已发放的优惠券列表 func (c *BssClient) ListIssuedPartnerCoupons(request *model.ListIssuedPartnerCouponsRequest) (*model.ListIssuedPartnerCouponsResponse, error) { - requestDef := GenReqDefForListIssuedPartnerCoupons(request) - resp, responseDef := GenRespForListIssuedPartnerCoupons() + requestDef := GenReqDefForListIssuedPartnerCoupons() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListIssuedPartnerCouponsResponse), nil } } //功能描述:按需资源询价 func (c *BssClient) ListOnDemandResourceRatings(request *model.ListOnDemandResourceRatingsRequest) (*model.ListOnDemandResourceRatingsResponse, error) { - requestDef := GenReqDefForListOnDemandResourceRatings(request) - resp, responseDef := GenRespForListOnDemandResourceRatings() + requestDef := GenReqDefForListOnDemandResourceRatings() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListOnDemandResourceRatingsResponse), nil } } //功能描述:查询订单详情 func (c *BssClient) ListOrderCouponsByOrderId(request *model.ListOrderCouponsByOrderIdRequest) (*model.ListOrderCouponsByOrderIdResponse, error) { - requestDef := GenReqDefForListOrderCouponsByOrderId(request) - resp, responseDef := GenRespForListOrderCouponsByOrderId() + requestDef := GenReqDefForListOrderCouponsByOrderId() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListOrderCouponsByOrderIdResponse), nil } } //功能描述:查询调账回收记录 func (c *BssClient) ListPartnerAdjustRecords(request *model.ListPartnerAdjustRecordsRequest) (*model.ListPartnerAdjustRecordsResponse, error) { - requestDef := GenReqDefForListPartnerAdjustRecords(request) - resp, responseDef := GenRespForListPartnerAdjustRecords() + requestDef := GenReqDefForListPartnerAdjustRecords() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPartnerAdjustRecordsResponse), nil } } //功能描述:查询伙伴账户余额 func (c *BssClient) ListPartnerBalances(request *model.ListPartnerBalancesRequest) (*model.ListPartnerBalancesResponse, error) { - requestDef := GenReqDefForListPartnerBalances(request) - resp, responseDef := GenRespForListPartnerBalances() + requestDef := GenReqDefForListPartnerBalances() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPartnerBalancesResponse), nil } } //功能描述:查询优惠券的发放回收记录 func (c *BssClient) ListPartnerCouponsRecord(request *model.ListPartnerCouponsRecordRequest) (*model.ListPartnerCouponsRecordResponse, error) { - requestDef := GenReqDefForListPartnerCouponsRecord(request) - resp, responseDef := GenRespForListPartnerCouponsRecord() + requestDef := GenReqDefForListPartnerCouponsRecord() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPartnerCouponsRecordResponse), nil } } //功能描述:查询伙伴代付订单列表 func (c *BssClient) ListPartnerPayOrders(request *model.ListPartnerPayOrdersRequest) (*model.ListPartnerPayOrdersResponse, error) { - requestDef := GenReqDefForListPartnerPayOrders(request) - resp, responseDef := GenRespForListPartnerPayOrders() + requestDef := GenReqDefForListPartnerPayOrders() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPartnerPayOrdersResponse), nil } } //功能描述:查询客户包年/包月资源列表 func (c *BssClient) ListPayPerUseCustomerResources(request *model.ListPayPerUseCustomerResourcesRequest) (*model.ListPayPerUseCustomerResourcesResponse, error) { - requestDef := GenReqDefForListPayPerUseCustomerResources(request) - resp, responseDef := GenRespForListPayPerUseCustomerResources() + requestDef := GenReqDefForListPayPerUseCustomerResources() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPayPerUseCustomerResourcesResponse), nil } } //功能描述:查询邮寄地址 func (c *BssClient) ListPostalAddress(request *model.ListPostalAddressRequest) (*model.ListPostalAddressResponse, error) { - requestDef := GenReqDefForListPostalAddress(request) - resp, responseDef := GenRespForListPostalAddress() + requestDef := GenReqDefForListPostalAddress() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPostalAddressResponse), nil } } //功能描述:根据国家查询省份列表 func (c *BssClient) ListProvinces(request *model.ListProvincesRequest) (*model.ListProvincesResponse, error) { - requestDef := GenReqDefForListProvinces(request) - resp, responseDef := GenRespForListProvinces() + requestDef := GenReqDefForListProvinces() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListProvincesResponse), nil } } //功能描述:查询优惠券额度列表 func (c *BssClient) ListQuotaCoupons(request *model.ListQuotaCouponsRequest) (*model.ListQuotaCouponsResponse, error) { - requestDef := GenReqDefForListQuotaCoupons(request) - resp, responseDef := GenRespForListQuotaCoupons() + requestDef := GenReqDefForListQuotaCoupons() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListQuotaCouponsResponse), nil } } //功能描述:包周期资源订购询价 func (c *BssClient) ListRateOnPeriodDetail(request *model.ListRateOnPeriodDetailRequest) (*model.ListRateOnPeriodDetailResponse, error) { - requestDef := GenReqDefForListRateOnPeriodDetail(request) - resp, responseDef := GenRespForListRateOnPeriodDetail() + requestDef := GenReqDefForListRateOnPeriodDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListRateOnPeriodDetailResponse), nil + } +} + +//功能描述:查询资源类型 +func (c *BssClient) ListResourceTypes(request *model.ListResourceTypesRequest) (*model.ListResourceTypesResponse, error) { + requestDef := GenReqDefForListResourceTypes() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListResourceTypesResponse), nil } } //功能描述:查询套餐内使用量 func (c *BssClient) ListResourceUsages(request *model.ListResourceUsagesRequest) (*model.ListResourceUsagesResponse, error) { - requestDef := GenReqDefForListResourceUsages(request) - resp, responseDef := GenRespForListResourceUsages() + requestDef := GenReqDefForListResourceUsages() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListResourceUsagesResponse), nil + } +} + +//功能描述:根据云服务类型查询资源列表 +func (c *BssClient) ListServiceResources(request *model.ListServiceResourcesRequest) (*model.ListServiceResourcesResponse, error) { + requestDef := GenReqDefForListServiceResources() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListServiceResourcesResponse), nil + } +} + +//功能描述:查询云服务类型列表 +func (c *BssClient) ListServiceTypes(request *model.ListServiceTypesRequest) (*model.ListServiceTypesResponse, error) { + requestDef := GenReqDefForListServiceTypes() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListServiceTypesResponse), nil } } //功能描述:查询硬件库存 func (c *BssClient) ListSkuInventories(request *model.ListSkuInventoriesRequest) (*model.ListSkuInventoriesResponse, error) { - requestDef := GenReqDefForListSkuInventories(request) - resp, responseDef := GenRespForListSkuInventories() + requestDef := GenReqDefForListSkuInventories() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSkuInventoriesResponse), nil } } //功能描述:查询优惠券列表 func (c *BssClient) ListSubCustomerCoupons(request *model.ListSubCustomerCouponsRequest) (*model.ListSubCustomerCouponsResponse, error) { - requestDef := GenReqDefForListSubCustomerCoupons(request) - resp, responseDef := GenRespForListSubCustomerCoupons() + requestDef := GenReqDefForListSubCustomerCoupons() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSubCustomerCouponsResponse), nil } } //功能描述:查询伙伴折扣 func (c *BssClient) ListSubCustomerDiscounts(request *model.ListSubCustomerDiscountsRequest) (*model.ListSubCustomerDiscountsResponse, error) { - requestDef := GenReqDefForListSubCustomerDiscounts(request) - resp, responseDef := GenRespForListSubCustomerDiscounts() + requestDef := GenReqDefForListSubCustomerDiscounts() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSubCustomerDiscountsResponse), nil } } //功能描述:查询客户消费记录 func (c *BssClient) ListSubCustomerResFeeRecords(request *model.ListSubCustomerResFeeRecordsRequest) (*model.ListSubCustomerResFeeRecordsResponse, error) { - requestDef := GenReqDefForListSubCustomerResFeeRecords(request) - resp, responseDef := GenRespForListSubCustomerResFeeRecords() + requestDef := GenReqDefForListSubCustomerResFeeRecords() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSubCustomerResFeeRecordsResponse), nil } } //功能描述:查询客户列表 func (c *BssClient) ListSubCustomers(request *model.ListSubCustomersRequest) (*model.ListSubCustomersResponse, error) { - requestDef := GenReqDefForListSubCustomers(request) - resp, responseDef := GenRespForListSubCustomers() + requestDef := GenReqDefForListSubCustomers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSubCustomersResponse), nil } } //功能描述:合作伙伴可查询客户的消费汇总账单,消费按月汇总 func (c *BssClient) ListSubcustomerMonthlyBills(request *model.ListSubcustomerMonthlyBillsRequest) (*model.ListSubcustomerMonthlyBillsResponse, error) { - requestDef := GenReqDefForListSubcustomerMonthlyBills(request) - resp, responseDef := GenRespForListSubcustomerMonthlyBills() + requestDef := GenReqDefForListSubcustomerMonthlyBills() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSubcustomerMonthlyBillsResponse), nil } } //功能描述:支付包周期订单 func (c *BssClient) PayOrders(request *model.PayOrdersRequest) (*model.PayOrdersResponse, error) { - requestDef := GenReqDefForPayOrders(request) - resp, responseDef := GenRespForPayOrders() + requestDef := GenReqDefForPayOrders() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.PayOrdersResponse), nil } } //功能描述:一级经销商给二级经销商回收额度 func (c *BssClient) ReclaimCouponQuotas(request *model.ReclaimCouponQuotasRequest) (*model.ReclaimCouponQuotasResponse, error) { - requestDef := GenReqDefForReclaimCouponQuotas(request) - resp, responseDef := GenRespForReclaimCouponQuotas() + requestDef := GenReqDefForReclaimCouponQuotas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ReclaimCouponQuotasResponse), nil } } //功能描述:合作伙伴可以回收二级渠道账户余额 func (c *BssClient) ReclaimIndirectPartnerAccount(request *model.ReclaimIndirectPartnerAccountRequest) (*model.ReclaimIndirectPartnerAccountResponse, error) { - requestDef := GenReqDefForReclaimIndirectPartnerAccount(request) - resp, responseDef := GenRespForReclaimIndirectPartnerAccount() + requestDef := GenReqDefForReclaimIndirectPartnerAccount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ReclaimIndirectPartnerAccountResponse), nil } } //功能描述:伙伴回收子客户优惠券 func (c *BssClient) ReclaimPartnerCoupons(request *model.ReclaimPartnerCouponsRequest) (*model.ReclaimPartnerCouponsResponse, error) { - requestDef := GenReqDefForReclaimPartnerCoupons(request) - resp, responseDef := GenRespForReclaimPartnerCoupons() + requestDef := GenReqDefForReclaimPartnerCoupons() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ReclaimPartnerCouponsResponse), nil } } //功能描述:企业主账号从企业子账号回收拨款 func (c *BssClient) ReclaimSubEnterpriseAmount(request *model.ReclaimSubEnterpriseAmountRequest) (*model.ReclaimSubEnterpriseAmountResponse, error) { - requestDef := GenReqDefForReclaimSubEnterpriseAmount(request) - resp, responseDef := GenRespForReclaimSubEnterpriseAmount() + requestDef := GenReqDefForReclaimSubEnterpriseAmount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ReclaimSubEnterpriseAmountResponse), nil } } //功能描述:回收子客户余额(支持一级回收二级的子客户余额) func (c *BssClient) ReclaimToPartnerAccount(request *model.ReclaimToPartnerAccountRequest) (*model.ReclaimToPartnerAccountResponse, error) { - requestDef := GenReqDefForReclaimToPartnerAccount(request) - resp, responseDef := GenRespForReclaimToPartnerAccount() + requestDef := GenReqDefForReclaimToPartnerAccount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ReclaimToPartnerAccountResponse), nil } } //功能描述:续订包周期资源 func (c *BssClient) RenewalResources(request *model.RenewalResourcesRequest) (*model.RenewalResourcesResponse, error) { - requestDef := GenReqDefForRenewalResources(request) - resp, responseDef := GenRespForRenewalResources() + requestDef := GenReqDefForRenewalResources() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RenewalResourcesResponse), nil } } //功能描述:发送短信验证码 func (c *BssClient) SendSmsVerificationCode(request *model.SendSmsVerificationCodeRequest) (*model.SendSmsVerificationCodeResponse, error) { - requestDef := GenReqDefForSendSmsVerificationCode(request) - resp, responseDef := GenRespForSendSmsVerificationCode() + requestDef := GenReqDefForSendSmsVerificationCode() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.SendSmsVerificationCodeResponse), nil } } //功能描述:发送验证码 func (c *BssClient) SendVerificationMessageCode(request *model.SendVerificationMessageCodeRequest) (*model.SendVerificationMessageCodeResponse, error) { - requestDef := GenReqDefForSendVerificationMessageCode(request) - resp, responseDef := GenRespForSendVerificationMessageCode() + requestDef := GenReqDefForSendVerificationMessageCode() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.SendVerificationMessageCodeResponse), nil } } //功能描述:查询客户账户余额 func (c *BssClient) ShowCusotmerAccountBalances(request *model.ShowCusotmerAccountBalancesRequest) (*model.ShowCusotmerAccountBalancesResponse, error) { - requestDef := GenReqDefForShowCusotmerAccountBalances(request) - resp, responseDef := GenRespForShowCusotmerAccountBalances() + requestDef := GenReqDefForShowCusotmerAccountBalances() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowCusotmerAccountBalancesResponse), nil } } //功能描述:客户可以查询自身的消费汇总单的功能,消费按月汇总。每天刷新一次,更新前一天的数据。 func (c *BssClient) ShowCustomerMonthlySum(request *model.ShowCustomerMonthlySumRequest) (*model.ShowCustomerMonthlySumResponse, error) { - requestDef := GenReqDefForShowCustomerMonthlySum(request) - resp, responseDef := GenRespForShowCustomerMonthlySum() + requestDef := GenReqDefForShowCustomerMonthlySum() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowCustomerMonthlySumResponse), nil } } //功能描述:查询订单详情 func (c *BssClient) ShowCustomerOrderDetails(request *model.ShowCustomerOrderDetailsRequest) (*model.ShowCustomerOrderDetailsResponse, error) { - requestDef := GenReqDefForShowCustomerOrderDetails(request) - resp, responseDef := GenRespForShowCustomerOrderDetails() + requestDef := GenReqDefForShowCustomerOrderDetails() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowCustomerOrderDetailsResponse), nil } } //功能描述:查询企业主的可拨款余额 func (c *BssClient) ShowMultiAccountTransferAmount(request *model.ShowMultiAccountTransferAmountRequest) (*model.ShowMultiAccountTransferAmountResponse, error) { - requestDef := GenReqDefForShowMultiAccountTransferAmount(request) - resp, responseDef := GenRespForShowMultiAccountTransferAmount() + requestDef := GenReqDefForShowMultiAccountTransferAmount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowMultiAccountTransferAmountResponse), nil } } //功能描述:查询实名认证审核结果 func (c *BssClient) ShowRealnameAuthenticationReviewResult(request *model.ShowRealnameAuthenticationReviewResultRequest) (*model.ShowRealnameAuthenticationReviewResultResponse, error) { - requestDef := GenReqDefForShowRealnameAuthenticationReviewResult(request) - resp, responseDef := GenRespForShowRealnameAuthenticationReviewResult() + requestDef := GenReqDefForShowRealnameAuthenticationReviewResult() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowRealnameAuthenticationReviewResultResponse), nil } } //功能描述:查询退款订单的金额详情 func (c *BssClient) ShowRefundOrderDetails(request *model.ShowRefundOrderDetailsRequest) (*model.ShowRefundOrderDetailsResponse, error) { - requestDef := GenReqDefForShowRefundOrderDetails(request) - resp, responseDef := GenRespForShowRefundOrderDetails() + requestDef := GenReqDefForShowRefundOrderDetails() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowRefundOrderDetailsResponse), nil } } //功能描述:向精英服务商发放代金券额度 func (c *BssClient) UpdateCouponQuotas(request *model.UpdateCouponQuotasRequest) (*model.UpdateCouponQuotasResponse, error) { - requestDef := GenReqDefForUpdateCouponQuotas(request) - resp, responseDef := GenRespForUpdateCouponQuotas() + requestDef := GenReqDefForUpdateCouponQuotas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateCouponQuotasResponse), nil } } //功能描述:从伙伴账户调账给子客户 func (c *BssClient) UpdateCustomerAccountAmount(request *model.UpdateCustomerAccountAmountRequest) (*model.UpdateCustomerAccountAmountResponse, error) { - requestDef := GenReqDefForUpdateCustomerAccountAmount(request) - resp, responseDef := GenRespForUpdateCustomerAccountAmount() + requestDef := GenReqDefForUpdateCustomerAccountAmount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateCustomerAccountAmountResponse), nil } } //功能描述:从伙伴账户调账给二级渠道 func (c *BssClient) UpdateIndirectPartnerAccount(request *model.UpdateIndirectPartnerAccountRequest) (*model.UpdateIndirectPartnerAccountResponse, error) { - requestDef := GenReqDefForUpdateIndirectPartnerAccount(request) - resp, responseDef := GenRespForUpdateIndirectPartnerAccount() + requestDef := GenReqDefForUpdateIndirectPartnerAccount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateIndirectPartnerAccountResponse), nil } } //功能描述:修改邮寄地址 func (c *BssClient) UpdatePostal(request *model.UpdatePostalRequest) (*model.UpdatePostalResponse, error) { - requestDef := GenReqDefForUpdatePostal(request) - resp, responseDef := GenRespForUpdatePostal() + requestDef := GenReqDefForUpdatePostal() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePostalResponse), nil } } //功能描述:企业主账号向企业子账号拨款 func (c *BssClient) UpdateSubEnterpriseAmount(request *model.UpdateSubEnterpriseAmountRequest) (*model.UpdateSubEnterpriseAmountResponse, error) { - requestDef := GenReqDefForUpdateSubEnterpriseAmount(request) - resp, responseDef := GenRespForUpdateSubEnterpriseAmount() + requestDef := GenReqDefForUpdateSubEnterpriseAmount() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateSubEnterpriseAmountResponse), nil } } diff --git a/services/bss/v2/bss_meta.go b/services/bss/v2/bss_meta.go index 67dbbd4ae7..9dc3c4cf28 100644 --- a/services/bss/v2/bss_meta.go +++ b/services/bss/v2/bss_meta.go @@ -6,2310 +6,1953 @@ import ( "net/http" ) -func GenReqDefForAutoRenewalResources(request *model.AutoRenewalResourcesRequest) *def.HttpRequestDef { +func GenReqDefForAutoRenewalResources() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). - WithPath("/v2/orders/subscriptions/resources/autorenew/{resource_id}") + WithPath("/v2/orders/subscriptions/resources/autorenew/{resource_id}"). + WithResponse(new(model.AutoRenewalResourcesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAutoRenewalResources() (*model.AutoRenewalResourcesResponse, *def.HttpResponseDef) { - resp := new(model.AutoRenewalResourcesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchSetSubCustomerDiscount(request *model.BatchSetSubCustomerDiscountRequest) *def.HttpRequestDef { +func GenReqDefForBatchSetSubCustomerDiscount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/discounts"). + WithResponse(new(model.BatchSetSubCustomerDiscountResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchSetSubCustomerDiscount() (*model.BatchSetSubCustomerDiscountResponse, *def.HttpResponseDef) { - resp := new(model.BatchSetSubCustomerDiscountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCancelAutoRenewalResources(request *model.CancelAutoRenewalResourcesRequest) *def.HttpRequestDef { +func GenReqDefForCancelAutoRenewalResources() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/orders/subscriptions/resources/autorenew/{resource_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). - WithLocationType(def.Path)) + WithPath("/v2/orders/subscriptions/resources/autorenew/{resource_id}"). + WithResponse(new(model.CancelAutoRenewalResourcesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCancelAutoRenewalResources() (*model.CancelAutoRenewalResourcesResponse, *def.HttpResponseDef) { - resp := new(model.CancelAutoRenewalResourcesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCancelCustomerOrder(request *model.CancelCustomerOrderRequest) *def.HttpRequestDef { +func GenReqDefForCancelCustomerOrder() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/orders/customer-orders/cancel"). + WithResponse(new(model.CancelCustomerOrderResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCancelCustomerOrder() (*model.CancelCustomerOrderResponse, *def.HttpResponseDef) { - resp := new(model.CancelCustomerOrderResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCancelResourcesSubscription(request *model.CancelResourcesSubscriptionRequest) *def.HttpRequestDef { +func GenReqDefForCancelResourcesSubscription() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/orders/subscriptions/resources/unsubscribe"). + WithResponse(new(model.CancelResourcesSubscriptionResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCancelResourcesSubscription() (*model.CancelResourcesSubscriptionResponse, *def.HttpResponseDef) { - resp := new(model.CancelResourcesSubscriptionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForChangeEnterpriseRealnameAuthentication(request *model.ChangeEnterpriseRealnameAuthenticationRequest) *def.HttpRequestDef { +func GenReqDefForChangeEnterpriseRealnameAuthentication() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/customers/realname-auths/enterprise"). + WithResponse(new(model.ChangeEnterpriseRealnameAuthenticationResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForChangeEnterpriseRealnameAuthentication() (*model.ChangeEnterpriseRealnameAuthenticationResponse, *def.HttpResponseDef) { - resp := new(model.ChangeEnterpriseRealnameAuthenticationResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCheckUserIdentity(request *model.CheckUserIdentityRequest) *def.HttpRequestDef { +func GenReqDefForCheckUserIdentity() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/sub-customers/users/check-identity"). + WithResponse(new(model.CheckUserIdentityResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCheckUserIdentity() (*model.CheckUserIdentityResponse, *def.HttpResponseDef) { - resp := new(model.CheckUserIdentityResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateEnterpriseProjectAuth(request *model.CreateEnterpriseProjectAuthRequest) *def.HttpRequestDef { +func GenReqDefForCreateEnterpriseProjectAuth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). - WithPath("/v2/enterprises/enterprise-projects/authority") + WithPath("/v2/enterprises/enterprise-projects/authority"). + WithResponse(new(model.CreateEnterpriseProjectAuthResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateEnterpriseProjectAuth() (*model.CreateEnterpriseProjectAuthResponse, *def.HttpResponseDef) { - resp := new(model.CreateEnterpriseProjectAuthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateEnterpriseRealnameAuthentication(request *model.CreateEnterpriseRealnameAuthenticationRequest) *def.HttpRequestDef { +func GenReqDefForCreateEnterpriseRealnameAuthentication() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/customers/realname-auths/enterprise"). + WithResponse(new(model.CreateEnterpriseRealnameAuthenticationResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateEnterpriseRealnameAuthentication() (*model.CreateEnterpriseRealnameAuthenticationResponse, *def.HttpResponseDef) { - resp := new(model.CreateEnterpriseRealnameAuthenticationResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePartnerCoupons(request *model.CreatePartnerCouponsRequest) *def.HttpRequestDef { +func GenReqDefForCreatePartnerCoupons() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/promotions/benefits/partner-coupons"). + WithResponse(new(model.CreatePartnerCouponsResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePartnerCoupons() (*model.CreatePartnerCouponsResponse, *def.HttpResponseDef) { - resp := new(model.CreatePartnerCouponsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePersonalRealnameAuth(request *model.CreatePersonalRealnameAuthRequest) *def.HttpRequestDef { +func GenReqDefForCreatePersonalRealnameAuth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/customers/realname-auths/individual"). + WithResponse(new(model.CreatePersonalRealnameAuthResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePersonalRealnameAuth() (*model.CreatePersonalRealnameAuthResponse, *def.HttpResponseDef) { - resp := new(model.CreatePersonalRealnameAuthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePostal(request *model.CreatePostalRequest) *def.HttpRequestDef { +func GenReqDefForCreatePostal() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/customers/postal-addresses"). + WithResponse(new(model.CreatePostalResponse)). WithContentType("application/json") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePostal() (*model.CreatePostalResponse, *def.HttpResponseDef) { - resp := new(model.CreatePostalResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSubCustomer(request *model.CreateSubCustomerRequest) *def.HttpRequestDef { +func GenReqDefForCreateSubCustomer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/sub-customers"). + WithResponse(new(model.CreateSubCustomerResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSubCustomer() (*model.CreateSubCustomerResponse, *def.HttpResponseDef) { - resp := new(model.CreateSubCustomerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSubEnterpriseAccount(request *model.CreateSubEnterpriseAccountRequest) *def.HttpRequestDef { +func GenReqDefForCreateSubEnterpriseAccount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/enterprises/multi-accounts/sub-customers"). + WithResponse(new(model.CreateSubEnterpriseAccountResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSubEnterpriseAccount() (*model.CreateSubEnterpriseAccountResponse, *def.HttpResponseDef) { - resp := new(model.CreateSubEnterpriseAccountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePostal(request *model.DeletePostalRequest) *def.HttpRequestDef { +func GenReqDefForDeletePostal() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/customers/postal-addresses/{address_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("address_id"). - WithLocationType(def.Path)) + WithPath("/v2/customers/postal-addresses/{address_id}"). + WithResponse(new(model.DeletePostalResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("AddressId"). + WithJsonTag("address_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePostal() (*model.DeletePostalResponse, *def.HttpResponseDef) { - resp := new(model.DeletePostalResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCities(request *model.ListCitiesRequest) *def.HttpRequestDef { +func GenReqDefForListCities() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/systems/configs/cities") + WithPath("/v2/systems/configs/cities"). + WithResponse(new(model.ListCitiesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("province_code"). + WithName("ProvinceCode"). + WithJsonTag("province_code"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCities() (*model.ListCitiesResponse, *def.HttpResponseDef) { - resp := new(model.ListCitiesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCounties(request *model.ListCountiesRequest) *def.HttpRequestDef { +func GenReqDefForListCounties() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/systems/configs/counties") + WithPath("/v2/systems/configs/counties"). + WithResponse(new(model.ListCountiesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("city_code"). + WithName("CityCode"). + WithJsonTag("city_code"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCounties() (*model.ListCountiesResponse, *def.HttpResponseDef) { - resp := new(model.ListCountiesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCouponQuotasRecords(request *model.ListCouponQuotasRecordsRequest) *def.HttpRequestDef { +func GenReqDefForListCouponQuotasRecords() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/partners/coupon-quotas/records") + WithPath("/v2/partners/coupon-quotas/records"). + WithResponse(new(model.ListCouponQuotasRecordsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("quota_id"). + WithName("QuotaId"). + WithJsonTag("quota_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_time_begin"). + WithName("OperationTimeBegin"). + WithJsonTag("operation_time_begin"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_time_end"). + WithName("OperationTimeEnd"). + WithJsonTag("operation_time_end"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("parent_quota_id"). + WithName("ParentQuotaId"). + WithJsonTag("parent_quota_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_type"). + WithName("OperationType"). + WithJsonTag("operation_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCouponQuotasRecords() (*model.ListCouponQuotasRecordsResponse, *def.HttpResponseDef) { - resp := new(model.ListCouponQuotasRecordsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCustomerBillsFeeRecords(request *model.ListCustomerBillsFeeRecordsRequest) *def.HttpRequestDef { +func GenReqDefForListCustomerBillsFeeRecords() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/bills/customer-bills/fee-records") + WithPath("/v2/bills/customer-bills/fee-records"). + WithResponse(new(model.ListCustomerBillsFeeRecordsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bill_cycle"). + WithName("BillCycle"). + WithJsonTag("bill_cycle"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("provider_type"). + WithName("ProviderType"). + WithJsonTag("provider_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("service_type_code"). + WithName("ServiceTypeCode"). + WithJsonTag("service_type_code"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_type_code"). + WithName("ResourceTypeCode"). + WithJsonTag("resource_type_code"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region_code"). + WithName("RegionCode"). + WithJsonTag("region_code"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("charging_mode"). + WithName("ChargingMode"). + WithJsonTag("charging_mode"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bill_type"). + WithName("BillType"). + WithJsonTag("bill_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("trade_id"). + WithName("TradeId"). + WithJsonTag("trade_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("include_zero_record"). + WithName("IncludeZeroRecord"). + WithJsonTag("include_zero_record"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("method"). + WithName("Method"). + WithJsonTag("method"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_customer_id"). + WithName("SubCustomerId"). + WithJsonTag("sub_customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCustomerBillsFeeRecords() (*model.ListCustomerBillsFeeRecordsResponse, *def.HttpResponseDef) { - resp := new(model.ListCustomerBillsFeeRecordsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCustomerOnDemandResources(request *model.ListCustomerOnDemandResourcesRequest) *def.HttpRequestDef { +func GenReqDefForListCustomerOnDemandResources() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/sub-customers/on-demand-resources/query"). + WithResponse(new(model.ListCustomerOnDemandResourcesResponse)). WithContentType("application/json") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCustomerOnDemandResources() (*model.ListCustomerOnDemandResourcesResponse, *def.HttpResponseDef) { - resp := new(model.ListCustomerOnDemandResourcesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCustomerOrders(request *model.ListCustomerOrdersRequest) *def.HttpRequestDef { +func GenReqDefForListCustomerOrders() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/orders/customer-orders") + WithPath("/v2/orders/customer-orders"). + WithResponse(new(model.ListCustomerOrdersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_id"). + WithName("OrderId"). + WithJsonTag("order_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). + WithName("CustomerId"). + WithJsonTag("customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("create_time_begin"). + WithName("CreateTimeBegin"). + WithJsonTag("create_time_begin"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("create_time_end"). + WithName("CreateTimeEnd"). + WithJsonTag("create_time_end"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("service_type_code"). + WithName("ServiceTypeCode"). + WithJsonTag("service_type_code"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_type"). + WithName("OrderType"). + WithJsonTag("order_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_by"). + WithName("OrderBy"). + WithJsonTag("order_by"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("payment_time_begin"). + WithName("PaymentTimeBegin"). + WithJsonTag("payment_time_begin"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("payment_time_end"). + WithName("PaymentTimeEnd"). + WithJsonTag("payment_time_end"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCustomerOrders() (*model.ListCustomerOrdersResponse, *def.HttpResponseDef) { - resp := new(model.ListCustomerOrdersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCustomersBalancesDetail(request *model.ListCustomersBalancesDetailRequest) *def.HttpRequestDef { +func GenReqDefForListCustomersBalancesDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/accounts/customer-accounts/balances/batch-query"). + WithResponse(new(model.ListCustomersBalancesDetailResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCustomersBalancesDetail() (*model.ListCustomersBalancesDetailResponse, *def.HttpResponseDef) { - resp := new(model.ListCustomersBalancesDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCustomerselfResourceRecordDetails(request *model.ListCustomerselfResourceRecordDetailsRequest) *def.HttpRequestDef { +func GenReqDefForListCustomerselfResourceRecordDetails() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/bills/customer-bills/res-records/query"). + WithResponse(new(model.ListCustomerselfResourceRecordDetailsResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCustomerselfResourceRecordDetails() (*model.ListCustomerselfResourceRecordDetailsResponse, *def.HttpResponseDef) { - resp := new(model.ListCustomerselfResourceRecordDetailsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCustomerselfResourceRecords(request *model.ListCustomerselfResourceRecordsRequest) *def.HttpRequestDef { +func GenReqDefForListCustomerselfResourceRecords() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/bills/customer-bills/res-fee-records") + WithPath("/v2/bills/customer-bills/res-fee-records"). + WithResponse(new(model.ListCustomerselfResourceRecordsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cycle"). + WithName("Cycle"). + WithJsonTag("cycle"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cloud_service_type"). + WithName("CloudServiceType"). + WithJsonTag("cloud_service_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("charge_mode"). + WithName("ChargeMode"). + WithJsonTag("charge_mode"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bill_type"). + WithName("BillType"). + WithJsonTag("bill_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("include_zero_record"). + WithName("IncludeZeroRecord"). + WithJsonTag("include_zero_record"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("method"). + WithName("Method"). + WithJsonTag("method"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_customer_id"). + WithName("SubCustomerId"). + WithJsonTag("sub_customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("trade_id"). + WithName("TradeId"). + WithJsonTag("trade_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCustomerselfResourceRecords() (*model.ListCustomerselfResourceRecordsResponse, *def.HttpResponseDef) { - resp := new(model.ListCustomerselfResourceRecordsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListEnterpriseMultiAccount(request *model.ListEnterpriseMultiAccountRequest) *def.HttpRequestDef { +func GenReqDefForListEnterpriseMultiAccount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/enterprises/multi-accounts/retrieve-amount") + WithPath("/v2/enterprises/multi-accounts/retrieve-amount"). + WithResponse(new(model.ListEnterpriseMultiAccountResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_customer_id"). + WithName("SubCustomerId"). + WithJsonTag("sub_customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("balance_type"). + WithName("BalanceType"). + WithJsonTag("balance_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListEnterpriseMultiAccount() (*model.ListEnterpriseMultiAccountResponse, *def.HttpResponseDef) { - resp := new(model.ListEnterpriseMultiAccountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListEnterpriseOrganizations(request *model.ListEnterpriseOrganizationsRequest) *def.HttpRequestDef { +func GenReqDefForListEnterpriseOrganizations() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/enterprises/multi-accounts/enterprise-organizations") + WithPath("/v2/enterprises/multi-accounts/enterprise-organizations"). + WithResponse(new(model.ListEnterpriseOrganizationsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("recursive_query"). + WithName("RecursiveQuery"). + WithJsonTag("recursive_query"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("parent_id"). + WithName("ParentId"). + WithJsonTag("parent_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListEnterpriseOrganizations() (*model.ListEnterpriseOrganizationsResponse, *def.HttpResponseDef) { - resp := new(model.ListEnterpriseOrganizationsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListEnterpriseSubCustomers(request *model.ListEnterpriseSubCustomersRequest) *def.HttpRequestDef { +func GenReqDefForListEnterpriseSubCustomers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/enterprises/multi-accounts/sub-customers") + WithPath("/v2/enterprises/multi-accounts/sub-customers"). + WithResponse(new(model.ListEnterpriseSubCustomersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_customer_account_name"). + WithName("SubCustomerAccountName"). + WithJsonTag("sub_customer_account_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_customer_display_name"). + WithName("SubCustomerDisplayName"). + WithJsonTag("sub_customer_display_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("fuzzy_query"). + WithName("FuzzyQuery"). + WithJsonTag("fuzzy_query"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("org_id"). + WithName("OrgId"). + WithJsonTag("org_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListEnterpriseSubCustomers() (*model.ListEnterpriseSubCustomersResponse, *def.HttpResponseDef) { - resp := new(model.ListEnterpriseSubCustomersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListIndirectPartners(request *model.ListIndirectPartnersRequest) *def.HttpRequestDef { +func GenReqDefForListIndirectPartners() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/indirect-partners/query"). + WithResponse(new(model.ListIndirectPartnersResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListIndirectPartners() (*model.ListIndirectPartnersResponse, *def.HttpResponseDef) { - resp := new(model.ListIndirectPartnersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListIssuedCouponQuotas(request *model.ListIssuedCouponQuotasRequest) *def.HttpRequestDef { +func GenReqDefForListIssuedCouponQuotas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/partners/issued-coupon-quotas") + WithPath("/v2/partners/issued-coupon-quotas"). + WithResponse(new(model.ListIssuedCouponQuotasResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("quota_id"). + WithName("QuotaId"). + WithJsonTag("quota_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("parent_quota_id"). + WithName("ParentQuotaId"). + WithJsonTag("parent_quota_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListIssuedCouponQuotas() (*model.ListIssuedCouponQuotasResponse, *def.HttpResponseDef) { - resp := new(model.ListIssuedCouponQuotasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListIssuedPartnerCoupons(request *model.ListIssuedPartnerCouponsRequest) *def.HttpRequestDef { +func GenReqDefForListIssuedPartnerCoupons() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/promotions/benefits/partner-coupons") + WithPath("/v2/promotions/benefits/partner-coupons"). + WithResponse(new(model.ListIssuedPartnerCouponsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("coupon_id"). + WithName("CouponId"). + WithJsonTag("coupon_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). + WithName("CustomerId"). + WithJsonTag("customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_id"). + WithName("OrderId"). + WithJsonTag("order_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("coupon_type"). + WithName("CouponType"). + WithJsonTag("coupon_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("create_time_begin"). + WithName("CreateTimeBegin"). + WithJsonTag("create_time_begin"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("create_time_end"). + WithName("CreateTimeEnd"). + WithJsonTag("create_time_end"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("effective_time_begin"). + WithName("EffectiveTimeBegin"). + WithJsonTag("effective_time_begin"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("effective_time_end"). + WithName("EffectiveTimeEnd"). + WithJsonTag("effective_time_end"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("expire_time_begin"). + WithName("ExpireTimeBegin"). + WithJsonTag("expire_time_begin"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("expire_time_end"). + WithName("ExpireTimeEnd"). + WithJsonTag("expire_time_end"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListIssuedPartnerCoupons() (*model.ListIssuedPartnerCouponsResponse, *def.HttpResponseDef) { - resp := new(model.ListIssuedPartnerCouponsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListOnDemandResourceRatings(request *model.ListOnDemandResourceRatingsRequest) *def.HttpRequestDef { +func GenReqDefForListOnDemandResourceRatings() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/bills/ratings/on-demand-resources"). + WithResponse(new(model.ListOnDemandResourceRatingsResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListOnDemandResourceRatings() (*model.ListOnDemandResourceRatingsResponse, *def.HttpResponseDef) { - resp := new(model.ListOnDemandResourceRatingsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListOrderCouponsByOrderId(request *model.ListOrderCouponsByOrderIdRequest) *def.HttpRequestDef { +func GenReqDefForListOrderCouponsByOrderId() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/orders/customer-orders/order-coupons") + WithPath("/v2/orders/customer-orders/order-coupons"). + WithResponse(new(model.ListOrderCouponsByOrderIdResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("OrderId"). + WithJsonTag("order_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListOrderCouponsByOrderId() (*model.ListOrderCouponsByOrderIdResponse, *def.HttpResponseDef) { - resp := new(model.ListOrderCouponsByOrderIdResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPartnerAdjustRecords(request *model.ListPartnerAdjustRecordsRequest) *def.HttpRequestDef { +func GenReqDefForListPartnerAdjustRecords() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/accounts/partner-accounts/adjust-records") + WithPath("/v2/accounts/partner-accounts/adjust-records"). + WithResponse(new(model.ListPartnerAdjustRecordsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). + WithName("CustomerId"). + WithJsonTag("customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_type"). + WithName("OperationType"). + WithJsonTag("operation_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_time_begin"). + WithName("OperationTimeBegin"). + WithJsonTag("operation_time_begin"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_time_end"). + WithName("OperationTimeEnd"). + WithJsonTag("operation_time_end"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("trans_id"). + WithName("TransId"). + WithJsonTag("trans_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPartnerAdjustRecords() (*model.ListPartnerAdjustRecordsResponse, *def.HttpResponseDef) { - resp := new(model.ListPartnerAdjustRecordsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPartnerBalances(request *model.ListPartnerBalancesRequest) *def.HttpRequestDef { +func GenReqDefForListPartnerBalances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/accounts/partner-accounts/balances") + WithPath("/v2/accounts/partner-accounts/balances"). + WithResponse(new(model.ListPartnerBalancesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPartnerBalances() (*model.ListPartnerBalancesResponse, *def.HttpResponseDef) { - resp := new(model.ListPartnerBalancesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPartnerCouponsRecord(request *model.ListPartnerCouponsRecordRequest) *def.HttpRequestDef { +func GenReqDefForListPartnerCouponsRecord() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/promotions/benefits/partner-coupons/records/query") + WithPath("/v2/promotions/benefits/partner-coupons/records/query"). + WithResponse(new(model.ListPartnerCouponsRecordResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_types"). + WithName("OperationTypes"). + WithJsonTag("operation_types"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("quota_id"). + WithName("QuotaId"). + WithJsonTag("quota_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("quota_type"). + WithName("QuotaType"). + WithJsonTag("quota_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("coupon_ids"). + WithName("CouponIds"). + WithJsonTag("coupon_ids"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). + WithName("CustomerId"). + WithJsonTag("customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_time_begin"). + WithName("OperationTimeBegin"). + WithJsonTag("operation_time_begin"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_time_end"). + WithName("OperationTimeEnd"). + WithJsonTag("operation_time_end"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("result"). + WithName("Result"). + WithJsonTag("result"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPartnerCouponsRecord() (*model.ListPartnerCouponsRecordResponse, *def.HttpResponseDef) { - resp := new(model.ListPartnerCouponsRecordResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPartnerPayOrders(request *model.ListPartnerPayOrdersRequest) *def.HttpRequestDef { +func GenReqDefForListPartnerPayOrders() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/orders/customer-orders/partner-pay-orders") + WithPath("/v2/orders/customer-orders/partner-pay-orders"). + WithResponse(new(model.ListPartnerPayOrdersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_id"). + WithName("OrderId"). + WithJsonTag("order_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). + WithName("CustomerId"). + WithJsonTag("customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPartnerPayOrders() (*model.ListPartnerPayOrdersResponse, *def.HttpResponseDef) { - resp := new(model.ListPartnerPayOrdersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPayPerUseCustomerResources(request *model.ListPayPerUseCustomerResourcesRequest) *def.HttpRequestDef { +func GenReqDefForListPayPerUseCustomerResources() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/orders/suscriptions/resources/query"). + WithResponse(new(model.ListPayPerUseCustomerResourcesResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPayPerUseCustomerResources() (*model.ListPayPerUseCustomerResourcesResponse, *def.HttpResponseDef) { - resp := new(model.ListPayPerUseCustomerResourcesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPostalAddress(request *model.ListPostalAddressRequest) *def.HttpRequestDef { +func GenReqDefForListPostalAddress() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/customers/postal-addresses") + WithPath("/v2/customers/postal-addresses"). + WithResponse(new(model.ListPostalAddressResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPostalAddress() (*model.ListPostalAddressResponse, *def.HttpResponseDef) { - resp := new(model.ListPostalAddressResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListProvinces(request *model.ListProvincesRequest) *def.HttpRequestDef { +func GenReqDefForListProvinces() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/systems/configs/provinces") + WithPath("/v2/systems/configs/provinces"). + WithResponse(new(model.ListProvincesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListProvinces() (*model.ListProvincesResponse, *def.HttpResponseDef) { - resp := new(model.ListProvincesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListQuotaCoupons(request *model.ListQuotaCouponsRequest) *def.HttpRequestDef { +func GenReqDefForListQuotaCoupons() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/coupon-quotas/query"). + WithResponse(new(model.ListQuotaCouponsResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListQuotaCoupons() (*model.ListQuotaCouponsResponse, *def.HttpResponseDef) { - resp := new(model.ListQuotaCouponsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListRateOnPeriodDetail(request *model.ListRateOnPeriodDetailRequest) *def.HttpRequestDef { +func GenReqDefForListRateOnPeriodDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/bills/ratings/period-resources/subscribe-rate"). + WithResponse(new(model.ListRateOnPeriodDetailResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListRateOnPeriodDetail() (*model.ListRateOnPeriodDetailResponse, *def.HttpResponseDef) { - resp := new(model.ListRateOnPeriodDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForListResourceTypes() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/bases/resource-types"). + WithResponse(new(model.ListResourceTypesResponse)) + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ResourceTypeCode"). + WithJsonTag("resource_type_code"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForListResourceUsages(request *model.ListResourceUsagesRequest) *def.HttpRequestDef { +func GenReqDefForListResourceUsages() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). - WithPath("/v2/payments/free-resources/usages/query") + WithPath("/v2/payments/free-resources/usages/query"). + WithResponse(new(model.ListResourceUsagesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListServiceResources() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/products/service-resources"). + WithResponse(new(model.ListServiceResourcesResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("ServiceTypeCode"). + WithJsonTag("service_type_code"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListResourceUsages() (*model.ListResourceUsagesResponse, *def.HttpResponseDef) { - resp := new(model.ListResourceUsagesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForListServiceTypes() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/bases/service-types"). + WithResponse(new(model.ListServiceTypesResponse)) + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ServiceTypeCode"). + WithJsonTag("service_type_code"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForListSkuInventories(request *model.ListSkuInventoriesRequest) *def.HttpRequestDef { +func GenReqDefForListSkuInventories() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/orders/inventories/sku-inventories/query"). + WithResponse(new(model.ListSkuInventoriesResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSkuInventories() (*model.ListSkuInventoriesResponse, *def.HttpResponseDef) { - resp := new(model.ListSkuInventoriesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSubCustomerCoupons(request *model.ListSubCustomerCouponsRequest) *def.HttpRequestDef { +func GenReqDefForListSubCustomerCoupons() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/promotions/benefits/coupons") + WithPath("/v2/promotions/benefits/coupons"). + WithResponse(new(model.ListSubCustomerCouponsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("coupon_id"). + WithName("CouponId"). + WithJsonTag("coupon_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_id"). + WithName("OrderId"). + WithJsonTag("order_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("promotion_plan_id"). + WithName("PromotionPlanId"). + WithJsonTag("promotion_plan_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("coupon_type"). + WithName("CouponType"). + WithJsonTag("coupon_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("active_start_time"). + WithName("ActiveStartTime"). + WithJsonTag("active_start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("active_end_time"). + WithName("ActiveEndTime"). + WithJsonTag("active_end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("source_id"). + WithName("SourceId"). + WithJsonTag("source_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSubCustomerCoupons() (*model.ListSubCustomerCouponsResponse, *def.HttpResponseDef) { - resp := new(model.ListSubCustomerCouponsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSubCustomerDiscounts(request *model.ListSubCustomerDiscountsRequest) *def.HttpRequestDef { +func GenReqDefForListSubCustomerDiscounts() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/partners/discounts") + WithPath("/v2/partners/discounts"). + WithResponse(new(model.ListSubCustomerDiscountsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). + WithName("CustomerId"). + WithJsonTag("customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSubCustomerDiscounts() (*model.ListSubCustomerDiscountsResponse, *def.HttpResponseDef) { - resp := new(model.ListSubCustomerDiscountsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSubCustomerResFeeRecords(request *model.ListSubCustomerResFeeRecordsRequest) *def.HttpRequestDef { +func GenReqDefForListSubCustomerResFeeRecords() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/bills/partner-bills/subcustomer-bills/res-fee-records") + WithPath("/v2/bills/partner-bills/subcustomer-bills/res-fee-records"). + WithResponse(new(model.ListSubCustomerResFeeRecordsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). + WithName("CustomerId"). + WithJsonTag("customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cycle"). + WithName("Cycle"). + WithJsonTag("cycle"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cloud_service_type"). + WithName("CloudServiceType"). + WithJsonTag("cloud_service_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("charge_mode"). + WithName("ChargeMode"). + WithJsonTag("charge_mode"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bill_type"). + WithName("BillType"). + WithJsonTag("bill_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("include_zero_record"). + WithName("IncludeZeroRecord"). + WithJsonTag("include_zero_record"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSubCustomerResFeeRecords() (*model.ListSubCustomerResFeeRecordsResponse, *def.HttpResponseDef) { - resp := new(model.ListSubCustomerResFeeRecordsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSubCustomers(request *model.ListSubCustomersRequest) *def.HttpRequestDef { +func GenReqDefForListSubCustomers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/sub-customers/query"). + WithResponse(new(model.ListSubCustomersResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSubCustomers() (*model.ListSubCustomersResponse, *def.HttpResponseDef) { - resp := new(model.ListSubCustomersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSubcustomerMonthlyBills(request *model.ListSubcustomerMonthlyBillsRequest) *def.HttpRequestDef { +func GenReqDefForListSubcustomerMonthlyBills() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/bills/partner-bills/subcustomer-bills/monthly-sum") + WithPath("/v2/bills/partner-bills/subcustomer-bills/monthly-sum"). + WithResponse(new(model.ListSubcustomerMonthlyBillsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). + WithName("CustomerId"). + WithJsonTag("customer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cycle"). + WithName("Cycle"). + WithJsonTag("cycle"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cloud_service_type"). + WithName("CloudServiceType"). + WithJsonTag("cloud_service_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("charge_mode"). + WithName("ChargeMode"). + WithJsonTag("charge_mode"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bill_type"). + WithName("BillType"). + WithJsonTag("bill_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSubcustomerMonthlyBills() (*model.ListSubcustomerMonthlyBillsResponse, *def.HttpResponseDef) { - resp := new(model.ListSubcustomerMonthlyBillsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForPayOrders(request *model.PayOrdersRequest) *def.HttpRequestDef { +func GenReqDefForPayOrders() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/orders/customer-orders/pay"). + WithResponse(new(model.PayOrdersResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForPayOrders() (*model.PayOrdersResponse, *def.HttpResponseDef) { - resp := new(model.PayOrdersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForReclaimCouponQuotas(request *model.ReclaimCouponQuotasRequest) *def.HttpRequestDef { +func GenReqDefForReclaimCouponQuotas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/coupon-quotas/indirect-partner-reclaim"). + WithResponse(new(model.ReclaimCouponQuotasResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForReclaimCouponQuotas() (*model.ReclaimCouponQuotasResponse, *def.HttpResponseDef) { - resp := new(model.ReclaimCouponQuotasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForReclaimIndirectPartnerAccount(request *model.ReclaimIndirectPartnerAccountRequest) *def.HttpRequestDef { +func GenReqDefForReclaimIndirectPartnerAccount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/accounts/partner-accounts/indirect-partner-reclaim"). + WithResponse(new(model.ReclaimIndirectPartnerAccountResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForReclaimIndirectPartnerAccount() (*model.ReclaimIndirectPartnerAccountResponse, *def.HttpResponseDef) { - resp := new(model.ReclaimIndirectPartnerAccountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForReclaimPartnerCoupons(request *model.ReclaimPartnerCouponsRequest) *def.HttpRequestDef { +func GenReqDefForReclaimPartnerCoupons() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/promotions/benefits/partner-coupons/reclaim"). + WithResponse(new(model.ReclaimPartnerCouponsResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForReclaimPartnerCoupons() (*model.ReclaimPartnerCouponsResponse, *def.HttpResponseDef) { - resp := new(model.ReclaimPartnerCouponsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForReclaimSubEnterpriseAmount(request *model.ReclaimSubEnterpriseAmountRequest) *def.HttpRequestDef { +func GenReqDefForReclaimSubEnterpriseAmount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/enterprises/multi-accounts/retrieve-amount"). + WithResponse(new(model.ReclaimSubEnterpriseAmountResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForReclaimSubEnterpriseAmount() (*model.ReclaimSubEnterpriseAmountResponse, *def.HttpResponseDef) { - resp := new(model.ReclaimSubEnterpriseAmountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForReclaimToPartnerAccount(request *model.ReclaimToPartnerAccountRequest) *def.HttpRequestDef { +func GenReqDefForReclaimToPartnerAccount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/accounts/partner-accounts/reclaim"). + WithResponse(new(model.ReclaimToPartnerAccountResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForReclaimToPartnerAccount() (*model.ReclaimToPartnerAccountResponse, *def.HttpResponseDef) { - resp := new(model.ReclaimToPartnerAccountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRenewalResources(request *model.RenewalResourcesRequest) *def.HttpRequestDef { +func GenReqDefForRenewalResources() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/orders/subscriptions/resources/renew"). + WithResponse(new(model.RenewalResourcesResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRenewalResources() (*model.RenewalResourcesResponse, *def.HttpResponseDef) { - resp := new(model.RenewalResourcesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForSendSmsVerificationCode(request *model.SendSmsVerificationCodeRequest) *def.HttpRequestDef { +func GenReqDefForSendSmsVerificationCode() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/enterprises/multi-accounts/sm-verification-code"). + WithResponse(new(model.SendSmsVerificationCodeResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForSendSmsVerificationCode() (*model.SendSmsVerificationCodeResponse, *def.HttpResponseDef) { - resp := new(model.SendSmsVerificationCodeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForSendVerificationMessageCode(request *model.SendVerificationMessageCodeRequest) *def.HttpRequestDef { +func GenReqDefForSendVerificationMessageCode() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/bases/verificationcode/send"). + WithResponse(new(model.SendVerificationMessageCodeResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForSendVerificationMessageCode() (*model.SendVerificationMessageCodeResponse, *def.HttpResponseDef) { - resp := new(model.SendVerificationMessageCodeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowCusotmerAccountBalances(request *model.ShowCusotmerAccountBalancesRequest) *def.HttpRequestDef { +func GenReqDefForShowCusotmerAccountBalances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/accounts/customer-accounts/balances") + WithPath("/v2/accounts/customer-accounts/balances"). + WithResponse(new(model.ShowCusotmerAccountBalancesResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCusotmerAccountBalances() (*model.ShowCusotmerAccountBalancesResponse, *def.HttpResponseDef) { - resp := new(model.ShowCusotmerAccountBalancesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowCustomerMonthlySum(request *model.ShowCustomerMonthlySumRequest) *def.HttpRequestDef { +func GenReqDefForShowCustomerMonthlySum() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/bills/customer-bills/monthly-sum") + WithPath("/v2/bills/customer-bills/monthly-sum"). + WithResponse(new(model.ShowCustomerMonthlySumResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bill_cycle"). + WithName("BillCycle"). + WithJsonTag("bill_cycle"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("service_type_code"). + WithName("ServiceTypeCode"). + WithJsonTag("service_type_code"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("method"). + WithName("Method"). + WithJsonTag("method"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_customer_id"). + WithName("SubCustomerId"). + WithJsonTag("sub_customer_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCustomerMonthlySum() (*model.ShowCustomerMonthlySumResponse, *def.HttpResponseDef) { - resp := new(model.ShowCustomerMonthlySumResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowCustomerOrderDetails(request *model.ShowCustomerOrderDetailsRequest) *def.HttpRequestDef { +func GenReqDefForShowCustomerOrderDetails() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/orders/customer-orders/details/{order_id}") + WithPath("/v2/orders/customer-orders/details/{order_id}"). + WithResponse(new(model.ShowCustomerOrderDetailsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_id"). + WithName("OrderId"). + WithJsonTag("order_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("indirect_partner_id"). + WithName("IndirectPartnerId"). + WithJsonTag("indirect_partner_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCustomerOrderDetails() (*model.ShowCustomerOrderDetailsResponse, *def.HttpResponseDef) { - resp := new(model.ShowCustomerOrderDetailsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowMultiAccountTransferAmount(request *model.ShowMultiAccountTransferAmountRequest) *def.HttpRequestDef { +func GenReqDefForShowMultiAccountTransferAmount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/enterprises/multi-accounts/transfer-amount") + WithPath("/v2/enterprises/multi-accounts/transfer-amount"). + WithResponse(new(model.ShowMultiAccountTransferAmountResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("balance_type"). + WithName("BalanceType"). + WithJsonTag("balance_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowMultiAccountTransferAmount() (*model.ShowMultiAccountTransferAmountResponse, *def.HttpResponseDef) { - resp := new(model.ShowMultiAccountTransferAmountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowRealnameAuthenticationReviewResult(request *model.ShowRealnameAuthenticationReviewResultRequest) *def.HttpRequestDef { +func GenReqDefForShowRealnameAuthenticationReviewResult() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/customers/realname-auths/result") + WithPath("/v2/customers/realname-auths/result"). + WithResponse(new(model.ShowRealnameAuthenticationReviewResultResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("customer_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("CustomerId"). + WithJsonTag("customer_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowRealnameAuthenticationReviewResult() (*model.ShowRealnameAuthenticationReviewResultResponse, *def.HttpResponseDef) { - resp := new(model.ShowRealnameAuthenticationReviewResultResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowRefundOrderDetails(request *model.ShowRefundOrderDetailsRequest) *def.HttpRequestDef { +func GenReqDefForShowRefundOrderDetails() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/orders/customer-orders/refund-orders") + WithPath("/v2/orders/customer-orders/refund-orders"). + WithResponse(new(model.ShowRefundOrderDetailsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("OrderId"). + WithJsonTag("order_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowRefundOrderDetails() (*model.ShowRefundOrderDetailsResponse, *def.HttpResponseDef) { - resp := new(model.ShowRefundOrderDetailsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateCouponQuotas(request *model.UpdateCouponQuotasRequest) *def.HttpRequestDef { +func GenReqDefForUpdateCouponQuotas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/partners/coupon-quotas/indirect-partner-adjust"). + WithResponse(new(model.UpdateCouponQuotasResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateCouponQuotas() (*model.UpdateCouponQuotasResponse, *def.HttpResponseDef) { - resp := new(model.UpdateCouponQuotasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateCustomerAccountAmount(request *model.UpdateCustomerAccountAmountRequest) *def.HttpRequestDef { +func GenReqDefForUpdateCustomerAccountAmount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/accounts/partner-accounts/adjust-amount"). + WithResponse(new(model.UpdateCustomerAccountAmountResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateCustomerAccountAmount() (*model.UpdateCustomerAccountAmountResponse, *def.HttpResponseDef) { - resp := new(model.UpdateCustomerAccountAmountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateIndirectPartnerAccount(request *model.UpdateIndirectPartnerAccountRequest) *def.HttpRequestDef { +func GenReqDefForUpdateIndirectPartnerAccount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/accounts/partner-accounts/indirect-partner-adjust"). + WithResponse(new(model.UpdateIndirectPartnerAccountResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateIndirectPartnerAccount() (*model.UpdateIndirectPartnerAccountResponse, *def.HttpResponseDef) { - resp := new(model.UpdateIndirectPartnerAccountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePostal(request *model.UpdatePostalRequest) *def.HttpRequestDef { +func GenReqDefForUpdatePostal() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/customers/postal-addresses"). + WithResponse(new(model.UpdatePostalResponse)). WithContentType("application/json") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdatePostal() (*model.UpdatePostalResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePostalResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateSubEnterpriseAmount(request *model.UpdateSubEnterpriseAmountRequest) *def.HttpRequestDef { +func GenReqDefForUpdateSubEnterpriseAmount() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/enterprises/multi-accounts/transfer-amount"). + WithResponse(new(model.UpdateSubEnterpriseAmountResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateSubEnterpriseAmount() (*model.UpdateSubEnterpriseAmountResponse, *def.HttpResponseDef) { - resp := new(model.UpdateSubEnterpriseAmountResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/bss/v2/model/model_list_resource_types_request.go b/services/bss/v2/model/model_list_resource_types_request.go new file mode 100644 index 0000000000..9c140730c4 --- /dev/null +++ b/services/bss/v2/model/model_list_resource_types_request.go @@ -0,0 +1,25 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListResourceTypesRequest struct { + XLanguage *string `json:"X-Language,omitempty"` + ResourceTypeCode *string `json:"resource_type_code,omitempty"` +} + +func (o ListResourceTypesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListResourceTypesRequest", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_list_resource_types_response.go b/services/bss/v2/model/model_list_resource_types_response.go new file mode 100644 index 0000000000..e2092d711a --- /dev/null +++ b/services/bss/v2/model/model_list_resource_types_response.go @@ -0,0 +1,25 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListResourceTypesResponse struct { + // |参数名称:返回数据| |参数约束以及描述:返回数据| + ResourceTypes *[]ResourceType `json:"resource_types,omitempty"` +} + +func (o ListResourceTypesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListResourceTypesResponse", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_list_service_resources_request.go b/services/bss/v2/model/model_list_service_resources_request.go new file mode 100644 index 0000000000..0a32d02ee8 --- /dev/null +++ b/services/bss/v2/model/model_list_service_resources_request.go @@ -0,0 +1,27 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListServiceResourcesRequest struct { + XLanguage *string `json:"X-Language,omitempty"` + ServiceTypeCode string `json:"service_type_code"` + Limit *int32 `json:"limit,omitempty"` + Offset *int32 `json:"offset,omitempty"` +} + +func (o ListServiceResourcesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListServiceResourcesRequest", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_list_service_resources_response.go b/services/bss/v2/model/model_list_service_resources_response.go new file mode 100644 index 0000000000..8606942398 --- /dev/null +++ b/services/bss/v2/model/model_list_service_resources_response.go @@ -0,0 +1,27 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListServiceResourcesResponse struct { + // |参数名称:总数| |参数的约束及描述:总数| + TotalCount *int32 `json:"total_count,omitempty"` + // |参数名称:资源基本信息列表| |参数约束以及描述:资源基本信息列表| + Infos *[]ServiceResourceInfo `json:"infos,omitempty"` +} + +func (o ListServiceResourcesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListServiceResourcesResponse", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_list_service_types_request.go b/services/bss/v2/model/model_list_service_types_request.go new file mode 100644 index 0000000000..283d861703 --- /dev/null +++ b/services/bss/v2/model/model_list_service_types_request.go @@ -0,0 +1,25 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListServiceTypesRequest struct { + XLanguage *string `json:"X-Language,omitempty"` + ServiceTypeCode *string `json:"service_type_code,omitempty"` +} + +func (o ListServiceTypesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListServiceTypesRequest", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_list_service_types_response.go b/services/bss/v2/model/model_list_service_types_response.go new file mode 100644 index 0000000000..be8e70119c --- /dev/null +++ b/services/bss/v2/model/model_list_service_types_response.go @@ -0,0 +1,25 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListServiceTypesResponse struct { + // |参数名称:返回数据| |参数约束以及描述:返回数据| + ServiceTypes *[]ServiceType `json:"service_types,omitempty"` +} + +func (o ListServiceTypesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListServiceTypesResponse", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_resource_basic_info.go b/services/bss/v2/model/model_resource_basic_info.go new file mode 100644 index 0000000000..1461c3932b --- /dev/null +++ b/services/bss/v2/model/model_resource_basic_info.go @@ -0,0 +1,30 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ResourceBasicInfo struct { + // |参数名称:资源类型编码| |参数约束及描述:资源类型编码| + ResourceTypeCode *string `json:"resource_type_code,omitempty"` + // |参数名称:资源类型归属的服务类型编码| |参数约束及描述:资源类型归属的服务类型编码| + ProductOwnerService *string `json:"product_owner_service,omitempty"` + // |参数名称:资源名称,按照请求的X-Language返回对应语言的名称| |参数约束及描述:资源名称,按照请求的X-Language返回对应语言的名称| + Name *string `json:"name,omitempty"` + // |参数名称:资源描述,按照请求的X-Language返回对应语言的描述| |参数约束及描述:资源描述,按照请求的X-Language返回对应语言的描述| + Description *string `json:"description,omitempty"` +} + +func (o ResourceBasicInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ResourceBasicInfo", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_resource_type.go b/services/bss/v2/model/model_resource_type.go new file mode 100644 index 0000000000..a4808f93cc --- /dev/null +++ b/services/bss/v2/model/model_resource_type.go @@ -0,0 +1,28 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ResourceType struct { + // |参数名称:资源类型编码| |参数约束及描述:资源类型编码| + ResourceTypeCode *string `json:"resource_type_code,omitempty"` + // |参数名称:资源类型名称| |参数约束及描述:资源类型名称| + ResourceTypeName *string `json:"resource_type_name,omitempty"` + // |参数名称:资源类型描述| |参数约束及描述:资源类型描述| + ResourceTypeDesc *string `json:"resource_type_desc,omitempty"` +} + +func (o ResourceType) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ResourceType", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_service_resource_info.go b/services/bss/v2/model/model_service_resource_info.go new file mode 100644 index 0000000000..03aec2a2c6 --- /dev/null +++ b/services/bss/v2/model/model_service_resource_info.go @@ -0,0 +1,23 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ServiceResourceInfo struct { + BasicInfo *ResourceBasicInfo `json:"basic_info,omitempty"` +} + +func (o ServiceResourceInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ServiceResourceInfo", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_service_type.go b/services/bss/v2/model/model_service_type.go new file mode 100644 index 0000000000..0225138a37 --- /dev/null +++ b/services/bss/v2/model/model_service_type.go @@ -0,0 +1,28 @@ +/* + * Bss + * + * Business Support System API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ServiceType struct { + // |参数名称:云服务类型名称| |参数约束及描述:云服务类型名称| + ServiceTypeName *string `json:"service_type_name,omitempty"` + // |参数名称:云服务类型编码| |参数约束及描述:云服务类型编码| + ServiceTypeCode *string `json:"service_type_code,omitempty"` + // |参数名称:云服务缩写| |参数约束及描述:云服务缩写| + Abbreviation *string `json:"abbreviation,omitempty"` +} + +func (o ServiceType) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ServiceType", string(data)}, " ") +} diff --git a/services/bss/v2/model/model_sub_customer_res_fee_record_v2.go b/services/bss/v2/model/model_sub_customer_res_fee_record_v2.go index 9a008440d9..bf28c3b214 100644 --- a/services/bss/v2/model/model_sub_customer_res_fee_record_v2.go +++ b/services/bss/v2/model/model_sub_customer_res_fee_record_v2.go @@ -56,6 +56,8 @@ type SubCustomerResFeeRecordV2 struct { BillType *int32 `json:"bill_type,omitempty"` // |参数名称:周期类型:19:年;20:月;24:天;25:小时;5:分钟;6:秒。| |参数约束及描述:周期类型:19:年;20:月;24:天;25:小时;5:分钟;6:秒。| PeriodType *string `json:"period_type,omitempty"` + // |参数名称:产品规格描述。| |参数约束及描述:产品规格描述,举例为:普通IO|100.0GB。| + ProductSpecDesc *string `json:"product_spec_desc,omitempty"` // |参数名称:预留实例使用量。| |参数约束及描述: 预留实例使用量。| RiUsage float32 `json:"ri_usage,omitempty"` // |参数名称:预留实例使用量单位。| |参数的约束及描述:预留实例使用量单位。| diff --git a/services/cbr/v1/cbr_client.go b/services/cbr/v1/cbr_client.go index 145251d8a5..b101e7bc98 100644 --- a/services/cbr/v1/cbr_client.go +++ b/services/cbr/v1/cbr_client.go @@ -20,396 +20,429 @@ func CbrClientBuilder() *http_client.HcHttpClientBuilder { //添加备份可共享的成员,只有云服务器备份可以添加备份共享成员,且仅支持在同一区域的不同用户间共享。 func (c *CbrClient) AddMember(request *model.AddMemberRequest) (*model.AddMemberResponse, error) { - requestDef := GenReqDefForAddMember(request) - resp, responseDef := GenRespForAddMember() + requestDef := GenReqDefForAddMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AddMemberResponse), nil } } //存储库添加资源 func (c *CbrClient) AddVaultResource(request *model.AddVaultResourceRequest) (*model.AddVaultResourceResponse, error) { - requestDef := GenReqDefForAddVaultResource(request) - resp, responseDef := GenRespForAddVaultResource() + requestDef := GenReqDefForAddVaultResource() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AddVaultResourceResponse), nil } } //存储库设置策略 func (c *CbrClient) AssociateVaultPolicy(request *model.AssociateVaultPolicyRequest) (*model.AssociateVaultPolicyResponse, error) { - requestDef := GenReqDefForAssociateVaultPolicy(request) - resp, responseDef := GenRespForAssociateVaultPolicy() + requestDef := GenReqDefForAssociateVaultPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateVaultPolicyResponse), nil + } +} + +//为指定实例批量添加或删除标签 标签管理服务需要使用该接口批量管理实例的标签。 一个资源上最多有10个标签。 此接口为幂等接口: 创建时如果请求体中存在重复key则报错。 创建时,不允许重复key,如果数据库存在就覆盖。 删除时,允许重复key。 删除时,如果删除的标签不存在,默认处理成功,删除时不对标签字符集范围做校验。key长度127个字符,value为255个字符。删除时tags结构体不能缺失,key不能为空,或者空字符串。 +func (c *CbrClient) BatchCreateAndDeleteVaultTags(request *model.BatchCreateAndDeleteVaultTagsRequest) (*model.BatchCreateAndDeleteVaultTagsResponse, error) { + requestDef := GenReqDefForBatchCreateAndDeleteVaultTags() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchCreateAndDeleteVaultTagsResponse), nil } } //跨区域复制备份。 func (c *CbrClient) CopyBackup(request *model.CopyBackupRequest) (*model.CopyBackupResponse, error) { - requestDef := GenReqDefForCopyBackup(request) - resp, responseDef := GenRespForCopyBackup() + requestDef := GenReqDefForCopyBackup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CopyBackupResponse), nil } } //执行复制 func (c *CbrClient) CopyCheckpoint(request *model.CopyCheckpointRequest) (*model.CopyCheckpointResponse, error) { - requestDef := GenReqDefForCopyCheckpoint(request) - resp, responseDef := GenRespForCopyCheckpoint() + requestDef := GenReqDefForCopyCheckpoint() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CopyCheckpointResponse), nil } } //对存储库执行备份,生成备份还原点 func (c *CbrClient) CreateCheckpoint(request *model.CreateCheckpointRequest) (*model.CreateCheckpointResponse, error) { - requestDef := GenReqDefForCreateCheckpoint(request) - resp, responseDef := GenRespForCreateCheckpoint() + requestDef := GenReqDefForCreateCheckpoint() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateCheckpointResponse), nil } } //[创建策略,策略分为备份策略和复制策略。](tag:hws,hws_hk) [创建备份策略。](tag:dt,ocb,tlf,sbc,fcs_vm,ctc) func (c *CbrClient) CreatePolicy(request *model.CreatePolicyRequest) (*model.CreatePolicyResponse, error) { - requestDef := GenReqDefForCreatePolicy(request) - resp, responseDef := GenRespForCreatePolicy() + requestDef := GenReqDefForCreatePolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePolicyResponse), nil } } //创建存储库 func (c *CbrClient) CreateVault(request *model.CreateVaultRequest) (*model.CreateVaultResponse, error) { - requestDef := GenReqDefForCreateVault(request) - resp, responseDef := GenRespForCreateVault() + requestDef := GenReqDefForCreateVault() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateVaultResponse), nil + } +} + +//一个资源上最多有10个标签。 此接口为幂等接口:创建时,如果创建的标签已经存在(key相同),则覆盖。 +func (c *CbrClient) CreateVaultTags(request *model.CreateVaultTagsRequest) (*model.CreateVaultTagsResponse, error) { + requestDef := GenReqDefForCreateVaultTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateVaultTagsResponse), nil } } //删除单个备份。 func (c *CbrClient) DeleteBackup(request *model.DeleteBackupRequest) (*model.DeleteBackupResponse, error) { - requestDef := GenReqDefForDeleteBackup(request) - resp, responseDef := GenRespForDeleteBackup() + requestDef := GenReqDefForDeleteBackup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteBackupResponse), nil } } //删除指定的备份共享成员 func (c *CbrClient) DeleteMember(request *model.DeleteMemberRequest) (*model.DeleteMemberResponse, error) { - requestDef := GenReqDefForDeleteMember(request) - resp, responseDef := GenRespForDeleteMember() + requestDef := GenReqDefForDeleteMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteMemberResponse), nil } } //删除策略 func (c *CbrClient) DeletePolicy(request *model.DeletePolicyRequest) (*model.DeletePolicyResponse, error) { - requestDef := GenReqDefForDeletePolicy(request) - resp, responseDef := GenRespForDeletePolicy() + requestDef := GenReqDefForDeletePolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePolicyResponse), nil } } //删除存储库。若删除储存库,将一并删除存储库中的所有备份。 func (c *CbrClient) DeleteVault(request *model.DeleteVaultRequest) (*model.DeleteVaultResponse, error) { - requestDef := GenReqDefForDeleteVault(request) - resp, responseDef := GenRespForDeleteVault() + requestDef := GenReqDefForDeleteVault() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteVaultResponse), nil + } +} + +//幂等接口:删除时,如果删除的标签不存在,返回404。Key不能为空或者空字符串。 +func (c *CbrClient) DeleteVaultTag(request *model.DeleteVaultTagRequest) (*model.DeleteVaultTagResponse, error) { + requestDef := GenReqDefForDeleteVaultTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteVaultTagResponse), nil } } //存储库解除策略 func (c *CbrClient) DisassociateVaultPolicy(request *model.DisassociateVaultPolicyRequest) (*model.DisassociateVaultPolicyResponse, error) { - requestDef := GenReqDefForDisassociateVaultPolicy(request) - resp, responseDef := GenRespForDisassociateVaultPolicy() + requestDef := GenReqDefForDisassociateVaultPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisassociateVaultPolicyResponse), nil } } //同步备份副本 func (c *CbrClient) ImportBackup(request *model.ImportBackupRequest) (*model.ImportBackupResponse, error) { - requestDef := GenReqDefForImportBackup(request) - resp, responseDef := GenRespForImportBackup() + requestDef := GenReqDefForImportBackup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ImportBackupResponse), nil } } //查询所有副本 func (c *CbrClient) ListBackups(request *model.ListBackupsRequest) (*model.ListBackupsResponse, error) { - requestDef := GenReqDefForListBackups(request) - resp, responseDef := GenRespForListBackups() + requestDef := GenReqDefForListBackups() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListBackupsResponse), nil } } //查询任务列表 func (c *CbrClient) ListOpLogs(request *model.ListOpLogsRequest) (*model.ListOpLogsResponse, error) { - requestDef := GenReqDefForListOpLogs(request) - resp, responseDef := GenRespForListOpLogs() + requestDef := GenReqDefForListOpLogs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListOpLogsResponse), nil } } //查询策略列表 func (c *CbrClient) ListPolicies(request *model.ListPoliciesRequest) (*model.ListPoliciesResponse, error) { - requestDef := GenReqDefForListPolicies(request) - resp, responseDef := GenRespForListPolicies() + requestDef := GenReqDefForListPolicies() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPoliciesResponse), nil } } //查询可保护性资源列表 func (c *CbrClient) ListProtectable(request *model.ListProtectableRequest) (*model.ListProtectableResponse, error) { - requestDef := GenReqDefForListProtectable(request) - resp, responseDef := GenRespForListProtectable() + requestDef := GenReqDefForListProtectable() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListProtectableResponse), nil } } //查询存储库列表 func (c *CbrClient) ListVault(request *model.ListVaultRequest) (*model.ListVaultResponse, error) { - requestDef := GenReqDefForListVault(request) - resp, responseDef := GenRespForListVault() + requestDef := GenReqDefForListVault() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListVaultResponse), nil } } //移除存储库中的资源,若移除资源,将一并删除该资源在保管库中的备份 func (c *CbrClient) RemoveVaultResource(request *model.RemoveVaultResourceRequest) (*model.RemoveVaultResourceResponse, error) { - requestDef := GenReqDefForRemoveVaultResource(request) - resp, responseDef := GenRespForRemoveVaultResource() + requestDef := GenReqDefForRemoveVaultResource() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RemoveVaultResourceResponse), nil } } //恢复备份数据 func (c *CbrClient) RestoreBackup(request *model.RestoreBackupRequest) (*model.RestoreBackupResponse, error) { - requestDef := GenReqDefForRestoreBackup(request) - resp, responseDef := GenRespForRestoreBackup() + requestDef := GenReqDefForRestoreBackup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RestoreBackupResponse), nil } } //根据指定id查询单个副本。 func (c *CbrClient) ShowBackup(request *model.ShowBackupRequest) (*model.ShowBackupResponse, error) { - requestDef := GenReqDefForShowBackup(request) - resp, responseDef := GenRespForShowBackup() + requestDef := GenReqDefForShowBackup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowBackupResponse), nil } } //根据还原点ID查询指定还原点 func (c *CbrClient) ShowCheckpoint(request *model.ShowCheckpointRequest) (*model.ShowCheckpointResponse, error) { - requestDef := GenReqDefForShowCheckpoint(request) - resp, responseDef := GenRespForShowCheckpoint() + requestDef := GenReqDefForShowCheckpoint() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowCheckpointResponse), nil } } //获取备份成员的详情 func (c *CbrClient) ShowMemberDetail(request *model.ShowMemberDetailRequest) (*model.ShowMemberDetailResponse, error) { - requestDef := GenReqDefForShowMemberDetail(request) - resp, responseDef := GenRespForShowMemberDetail() + requestDef := GenReqDefForShowMemberDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowMemberDetailResponse), nil } } //获取备份共享成员的列表信息 func (c *CbrClient) ShowMembersDetail(request *model.ShowMembersDetailRequest) (*model.ShowMembersDetailResponse, error) { - requestDef := GenReqDefForShowMembersDetail(request) - resp, responseDef := GenRespForShowMembersDetail() + requestDef := GenReqDefForShowMembersDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowMembersDetailResponse), nil } } //根据指定任务ID查询任务 func (c *CbrClient) ShowOpLog(request *model.ShowOpLogRequest) (*model.ShowOpLogResponse, error) { - requestDef := GenReqDefForShowOpLog(request) - resp, responseDef := GenRespForShowOpLog() + requestDef := GenReqDefForShowOpLog() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowOpLogResponse), nil } } //查询单个策略 func (c *CbrClient) ShowPolicy(request *model.ShowPolicyRequest) (*model.ShowPolicyResponse, error) { - requestDef := GenReqDefForShowPolicy(request) - resp, responseDef := GenRespForShowPolicy() + requestDef := GenReqDefForShowPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPolicyResponse), nil } } //根据ID查询可保护性资源 func (c *CbrClient) ShowProtectable(request *model.ShowProtectableRequest) (*model.ShowProtectableResponse, error) { - requestDef := GenReqDefForShowProtectable(request) - resp, responseDef := GenRespForShowProtectable() + requestDef := GenReqDefForShowProtectable() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowProtectableResponse), nil } } //查询本区域的复制能力 func (c *CbrClient) ShowReplicationCapabilities(request *model.ShowReplicationCapabilitiesRequest) (*model.ShowReplicationCapabilitiesResponse, error) { - requestDef := GenReqDefForShowReplicationCapabilities(request) - resp, responseDef := GenRespForShowReplicationCapabilities() + requestDef := GenReqDefForShowReplicationCapabilities() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowReplicationCapabilitiesResponse), nil } } //根据ID查询指定存储库 func (c *CbrClient) ShowVault(request *model.ShowVaultRequest) (*model.ShowVaultResponse, error) { - requestDef := GenReqDefForShowVault(request) - resp, responseDef := GenRespForShowVault() + requestDef := GenReqDefForShowVault() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowVaultResponse), nil + } +} + +//查询租户在指定Region和实例类型的所有标签集合 标签管理服务需要能够列出当前租户全部已使用的标签集合,为各服务Console打标签和过滤实例时提供标签联想功能 +func (c *CbrClient) ShowVaultProjectTag(request *model.ShowVaultProjectTagRequest) (*model.ShowVaultProjectTagResponse, error) { + requestDef := GenReqDefForShowVaultProjectTag() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowVaultProjectTagResponse), nil + } +} + +//使用标签过滤实例 标签管理服务需要提供按标签过滤各服务实例并汇总显示在列表中,需要各服务提供查询能力 +func (c *CbrClient) ShowVaultResourceInstances(request *model.ShowVaultResourceInstancesRequest) (*model.ShowVaultResourceInstancesResponse, error) { + requestDef := GenReqDefForShowVaultResourceInstances() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowVaultResourceInstancesResponse), nil + } +} + +//查询指定实例的标签信息 标签管理服务需要使用该接口查询指定实例的全部标签数据 +func (c *CbrClient) ShowVaultTag(request *model.ShowVaultTagRequest) (*model.ShowVaultTagResponse, error) { + requestDef := GenReqDefForShowVaultTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowVaultTagResponse), nil } } //更新备份共享成员的状态,需要接收方执行此API。 func (c *CbrClient) UpdateMemberStatus(request *model.UpdateMemberStatusRequest) (*model.UpdateMemberStatusResponse, error) { - requestDef := GenReqDefForUpdateMemberStatus(request) - resp, responseDef := GenRespForUpdateMemberStatus() + requestDef := GenReqDefForUpdateMemberStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateMemberStatusResponse), nil } } //修改策略 func (c *CbrClient) UpdatePolicy(request *model.UpdatePolicyRequest) (*model.UpdatePolicyResponse, error) { - requestDef := GenReqDefForUpdatePolicy(request) - resp, responseDef := GenRespForUpdatePolicy() + requestDef := GenReqDefForUpdatePolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePolicyResponse), nil } } //根据存储库ID修改存储库 func (c *CbrClient) UpdateVault(request *model.UpdateVaultRequest) (*model.UpdateVaultResponse, error) { - requestDef := GenReqDefForUpdateVault(request) - resp, responseDef := GenRespForUpdateVault() + requestDef := GenReqDefForUpdateVault() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateVaultResponse), nil } } diff --git a/services/cbr/v1/cbr_meta.go b/services/cbr/v1/cbr_meta.go index 32b71324dd..5565e0c2fd 100644 --- a/services/cbr/v1/cbr_meta.go +++ b/services/cbr/v1/cbr_meta.go @@ -6,1132 +6,1016 @@ import ( "net/http" ) -func GenReqDefForAddMember(request *model.AddMemberRequest) *def.HttpRequestDef { +func GenReqDefForAddMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/backups/{backup_id}/members"). + WithResponse(new(model.AddMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAddMember() (*model.AddMemberResponse, *def.HttpResponseDef) { - resp := new(model.AddMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForAddVaultResource(request *model.AddVaultResourceRequest) *def.HttpRequestDef { +func GenReqDefForAddVaultResource() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vaults/{vault_id}/addresources"). + WithResponse(new(model.AddVaultResourceResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAddVaultResource() (*model.AddVaultResourceResponse, *def.HttpResponseDef) { - resp := new(model.AddVaultResourceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForAssociateVaultPolicy(request *model.AssociateVaultPolicyRequest) *def.HttpRequestDef { +func GenReqDefForAssociateVaultPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vaults/{vault_id}/associatepolicy"). + WithResponse(new(model.AssociateVaultPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchCreateAndDeleteVaultTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3/{project_id}/vault/{vault_id}/tags/action"). + WithResponse(new(model.BatchCreateAndDeleteVaultTagsResponse)). + WithContentType("application/json;charset=UTF-8") + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateVaultPolicy() (*model.AssociateVaultPolicyResponse, *def.HttpResponseDef) { - resp := new(model.AssociateVaultPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCopyBackup(request *model.CopyBackupRequest) *def.HttpRequestDef { +func GenReqDefForCopyBackup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/backups/{backup_id}/replicate"). + WithResponse(new(model.CopyBackupResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCopyBackup() (*model.CopyBackupResponse, *def.HttpResponseDef) { - resp := new(model.CopyBackupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCopyCheckpoint(request *model.CopyCheckpointRequest) *def.HttpRequestDef { +func GenReqDefForCopyCheckpoint() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/checkpoints/replicate"). + WithResponse(new(model.CopyCheckpointResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCopyCheckpoint() (*model.CopyCheckpointResponse, *def.HttpResponseDef) { - resp := new(model.CopyCheckpointResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateCheckpoint(request *model.CreateCheckpointRequest) *def.HttpRequestDef { +func GenReqDefForCreateCheckpoint() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/checkpoints"). + WithResponse(new(model.CreateCheckpointResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateCheckpoint() (*model.CreateCheckpointResponse, *def.HttpResponseDef) { - resp := new(model.CreateCheckpointResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePolicy(request *model.CreatePolicyRequest) *def.HttpRequestDef { +func GenReqDefForCreatePolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/policies"). + WithResponse(new(model.CreatePolicyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePolicy() (*model.CreatePolicyResponse, *def.HttpResponseDef) { - resp := new(model.CreatePolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateVault(request *model.CreateVaultRequest) *def.HttpRequestDef { +func GenReqDefForCreateVault() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vaults"). + WithResponse(new(model.CreateVaultResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateVault() (*model.CreateVaultResponse, *def.HttpResponseDef) { - resp := new(model.CreateVaultResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteBackup(request *model.DeleteBackupRequest) *def.HttpRequestDef { +func GenReqDefForCreateVaultTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/backups/{backup_id}") + WithMethod(http.MethodPost). + WithPath("/v3/{project_id}/vault/{vault_id}/tags"). + WithResponse(new(model.CreateVaultTagsResponse)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteBackup() (*model.DeleteBackupResponse, *def.HttpResponseDef) { - resp := new(model.DeleteBackupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteMember(request *model.DeleteMemberRequest) *def.HttpRequestDef { +func GenReqDefForDeleteBackup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/backups/{backup_id}/members/{member_id}") + WithPath("/v3/{project_id}/backups/{backup_id}"). + WithResponse(new(model.DeleteBackupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteMember() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v3/{project_id}/backups/{backup_id}/members/{member_id}"). + WithResponse(new(model.DeleteMemberResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteMember() (*model.DeleteMemberResponse, *def.HttpResponseDef) { - resp := new(model.DeleteMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePolicy(request *model.DeletePolicyRequest) *def.HttpRequestDef { +func GenReqDefForDeletePolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/policies/{policy_id}") + WithPath("/v3/{project_id}/policies/{policy_id}"). + WithResponse(new(model.DeletePolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("policy_id"). + WithName("PolicyId"). + WithJsonTag("policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} +func GenReqDefForDeleteVault() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v3/{project_id}/vaults/{vault_id}"). + WithResponse(new(model.DeleteVaultResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePolicy() (*model.DeletePolicyResponse, *def.HttpResponseDef) { - resp := new(model.DeletePolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteVault(request *model.DeleteVaultRequest) *def.HttpRequestDef { +func GenReqDefForDeleteVaultTag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/vaults/{vault_id}") + WithPath("/v3/{project_id}/vault/{vault_id}/tags/{key}"). + WithResponse(new(model.DeleteVaultTagResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("Key"). + WithJsonTag("key"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteVault() (*model.DeleteVaultResponse, *def.HttpResponseDef) { - resp := new(model.DeleteVaultResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisassociateVaultPolicy(request *model.DisassociateVaultPolicyRequest) *def.HttpRequestDef { +func GenReqDefForDisassociateVaultPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vaults/{vault_id}/dissociatepolicy"). + WithResponse(new(model.DisassociateVaultPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisassociateVaultPolicy() (*model.DisassociateVaultPolicyResponse, *def.HttpResponseDef) { - resp := new(model.DisassociateVaultPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForImportBackup(request *model.ImportBackupRequest) *def.HttpRequestDef { +func GenReqDefForImportBackup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/backups/sync"). + WithResponse(new(model.ImportBackupResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForImportBackup() (*model.ImportBackupResponse, *def.HttpResponseDef) { - resp := new(model.ImportBackupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListBackups(request *model.ListBackupsRequest) *def.HttpRequestDef { +func GenReqDefForListBackups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/backups") + WithPath("/v3/{project_id}/backups"). + WithResponse(new(model.ListBackupsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("checkpoint_id"). + WithName("CheckpointId"). + WithJsonTag("checkpoint_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dec"). + WithName("Dec"). + WithJsonTag("dec"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_type"). + WithName("ImageType"). + WithJsonTag("image_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_az"). + WithName("ResourceAz"). + WithJsonTag("resource_az"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_name"). + WithName("ResourceName"). + WithJsonTag("resource_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_type"). + WithName("ResourceType"). + WithJsonTag("resource_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort"). + WithName("Sort"). + WithJsonTag("sort"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("own_type"). + WithName("OwnType"). + WithJsonTag("own_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_status"). + WithName("MemberStatus"). + WithJsonTag("member_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("parent_id"). + WithName("ParentId"). + WithJsonTag("parent_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("used_percent"). + WithName("UsedPercent"). + WithJsonTag("used_percent"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListBackups() (*model.ListBackupsResponse, *def.HttpResponseDef) { - resp := new(model.ListBackupsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListOpLogs(request *model.ListOpLogsRequest) *def.HttpRequestDef { +func GenReqDefForListOpLogs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/operation-logs") + WithPath("/v3/{project_id}/operation-logs"). + WithResponse(new(model.ListOpLogsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_type"). + WithName("OperationType"). + WithJsonTag("operation_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("provider_id"). + WithName("ProviderId"). + WithJsonTag("provider_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_name"). + WithName("ResourceName"). + WithJsonTag("resource_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_name"). + WithName("VaultName"). + WithJsonTag("vault_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListOpLogs() (*model.ListOpLogsResponse, *def.HttpResponseDef) { - resp := new(model.ListOpLogsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPolicies(request *model.ListPoliciesRequest) *def.HttpRequestDef { +func GenReqDefForListPolicies() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/policies") + WithPath("/v3/{project_id}/policies"). + WithResponse(new(model.ListPoliciesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_type"). + WithName("OperationType"). + WithJsonTag("operation_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPolicies() (*model.ListPoliciesResponse, *def.HttpResponseDef) { - resp := new(model.ListPoliciesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListProtectable(request *model.ListProtectableRequest) *def.HttpRequestDef { +func GenReqDefForListProtectable() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/protectables/{protectable_type}/instances") + WithPath("/v3/{project_id}/protectables/{protectable_type}/instances"). + WithResponse(new(model.ListProtectableResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protectable_type"). + WithName("ProtectableType"). + WithJsonTag("protectable_type"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListProtectable() (*model.ListProtectableResponse, *def.HttpResponseDef) { - resp := new(model.ListProtectableResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListVault(request *model.ListVaultRequest) *def.HttpRequestDef { +func GenReqDefForListVault() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vaults") + WithPath("/v3/{project_id}/vaults"). + WithResponse(new(model.ListVaultResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cloud_type"). + WithName("CloudType"). + WithJsonTag("cloud_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protect_type"). + WithName("ProtectType"). + WithJsonTag("protect_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("object_type"). + WithName("ObjectType"). + WithJsonTag("object_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("policy_id"). + WithName("PolicyId"). + WithJsonTag("policy_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_ids"). + WithName("ResourceIds"). + WithJsonTag("resource_ids"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListVault() (*model.ListVaultResponse, *def.HttpResponseDef) { - resp := new(model.ListVaultResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRemoveVaultResource(request *model.RemoveVaultResourceRequest) *def.HttpRequestDef { +func GenReqDefForRemoveVaultResource() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vaults/{vault_id}/removeresources"). + WithResponse(new(model.RemoveVaultResourceResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRemoveVaultResource() (*model.RemoveVaultResourceResponse, *def.HttpResponseDef) { - resp := new(model.RemoveVaultResourceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRestoreBackup(request *model.RestoreBackupRequest) *def.HttpRequestDef { +func GenReqDefForRestoreBackup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/backups/{backup_id}/restore"). + WithResponse(new(model.RestoreBackupResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRestoreBackup() (*model.RestoreBackupResponse, *def.HttpResponseDef) { - resp := new(model.RestoreBackupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowBackup(request *model.ShowBackupRequest) *def.HttpRequestDef { +func GenReqDefForShowBackup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/backups/{backup_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/backups/{backup_id}"). + WithResponse(new(model.ShowBackupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowBackup() (*model.ShowBackupResponse, *def.HttpResponseDef) { - resp := new(model.ShowBackupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowCheckpoint(request *model.ShowCheckpointRequest) *def.HttpRequestDef { +func GenReqDefForShowCheckpoint() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/checkpoints/{checkpoint_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("checkpoint_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/checkpoints/{checkpoint_id}"). + WithResponse(new(model.ShowCheckpointResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("CheckpointId"). + WithJsonTag("checkpoint_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCheckpoint() (*model.ShowCheckpointResponse, *def.HttpResponseDef) { - resp := new(model.ShowCheckpointResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowMemberDetail(request *model.ShowMemberDetailRequest) *def.HttpRequestDef { +func GenReqDefForShowMemberDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/backups/{backup_id}/members/{member_id}") + WithPath("/v3/{project_id}/backups/{backup_id}/members/{member_id}"). + WithResponse(new(model.ShowMemberDetailResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowMemberDetail() (*model.ShowMemberDetailResponse, *def.HttpResponseDef) { - resp := new(model.ShowMemberDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowMembersDetail(request *model.ShowMembersDetailRequest) *def.HttpRequestDef { +func GenReqDefForShowMembersDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/backups/{backup_id}/members") + WithPath("/v3/{project_id}/backups/{backup_id}/members"). + WithResponse(new(model.ShowMembersDetailResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dest_project_id"). + WithName("DestProjectId"). + WithJsonTag("dest_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort"). + WithName("Sort"). + WithJsonTag("sort"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowMembersDetail() (*model.ShowMembersDetailResponse, *def.HttpResponseDef) { - resp := new(model.ShowMembersDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowOpLog(request *model.ShowOpLogRequest) *def.HttpRequestDef { +func GenReqDefForShowOpLog() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/operation-logs/{operation_log_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operation_log_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/operation-logs/{operation_log_id}"). + WithResponse(new(model.ShowOpLogResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("OperationLogId"). + WithJsonTag("operation_log_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowOpLog() (*model.ShowOpLogResponse, *def.HttpResponseDef) { - resp := new(model.ShowOpLogResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPolicy(request *model.ShowPolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/policies/{policy_id}") + WithPath("/v3/{project_id}/policies/{policy_id}"). + WithResponse(new(model.ShowPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("policy_id"). + WithName("PolicyId"). + WithJsonTag("policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPolicy() (*model.ShowPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowProtectable(request *model.ShowProtectableRequest) *def.HttpRequestDef { +func GenReqDefForShowProtectable() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/protectables/{protectable_type}/instances/{instance_id}") + WithPath("/v3/{project_id}/protectables/{protectable_type}/instances/{instance_id}"). + WithResponse(new(model.ShowProtectableResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protectable_type"). + WithName("ProtectableType"). + WithJsonTag("protectable_type"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowProtectable() (*model.ShowProtectableResponse, *def.HttpResponseDef) { - resp := new(model.ShowProtectableResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForShowReplicationCapabilities() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/{project_id}/replication-capabilities"). + WithResponse(new(model.ShowReplicationCapabilitiesResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForShowReplicationCapabilities(request *model.ShowReplicationCapabilitiesRequest) *def.HttpRequestDef { +func GenReqDefForShowVault() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/replication-capabilities") + WithPath("/v3/{project_id}/vaults/{vault_id}"). + WithResponse(new(model.ShowVaultResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowReplicationCapabilities() (*model.ShowReplicationCapabilitiesResponse, *def.HttpResponseDef) { - resp := new(model.ShowReplicationCapabilitiesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForShowVaultProjectTag() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/{project_id}/vault/tags"). + WithResponse(new(model.ShowVaultProjectTagResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForShowVault(request *model.ShowVaultRequest) *def.HttpRequestDef { +func GenReqDefForShowVaultResourceInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vaults/{vault_id}") + WithMethod(http.MethodPost). + WithPath("/v3/{project_id}/vault/resource_instances/action"). + WithResponse(new(model.ShowVaultResourceInstancesResponse)). + WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). - WithLocationType(def.Path)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowVault() (*model.ShowVaultResponse, *def.HttpResponseDef) { - resp := new(model.ShowVaultResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForShowVaultTag() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/{project_id}/vault/{vault_id}/tags"). + WithResponse(new(model.ShowVaultTagResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("VaultId"). + WithJsonTag("vault_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForUpdateMemberStatus(request *model.UpdateMemberStatusRequest) *def.HttpRequestDef { +func GenReqDefForUpdateMemberStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/backups/{backup_id}/members/{member_id}"). + WithResponse(new(model.UpdateMemberStatusResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("backup_id"). + WithName("BackupId"). + WithJsonTag("backup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateMemberStatus() (*model.UpdateMemberStatusResponse, *def.HttpResponseDef) { - resp := new(model.UpdateMemberStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePolicy(request *model.UpdatePolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdatePolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/policies/{policy_id}"). + WithResponse(new(model.UpdatePolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("policy_id"). + WithName("PolicyId"). + WithJsonTag("policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdatePolicy() (*model.UpdatePolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateVault(request *model.UpdateVaultRequest) *def.HttpRequestDef { +func GenReqDefForUpdateVault() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/vaults/{vault_id}"). + WithResponse(new(model.UpdateVaultResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vault_id"). + WithName("VaultId"). + WithJsonTag("vault_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateVault() (*model.UpdateVaultResponse, *def.HttpResponseDef) { - resp := new(model.UpdateVaultResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/cbr/v1/model/model_backup_extend_info.go b/services/cbr/v1/model/model_backup_extend_info.go index bd85a60c2f..27eae3c5ca 100644 --- a/services/cbr/v1/model/model_backup_extend_info.go +++ b/services/cbr/v1/model/model_backup_extend_info.go @@ -28,7 +28,7 @@ type BackupExtendInfo struct { // 备份支持恢复的方式,当前取值包含na,snapshot和backup。如果该字段取值为snapshot,代表备份此时已经支持创建整机镜像;如果该字段取值为backup,备份支持通过云服务器上硬盘的备份进行恢复;如果该字段取值为na,备份不支持恢复。 SupportedRestoreMode *BackupExtendInfoSupportedRestoreMode `json:"supported_restore_mode,omitempty"` // 备份注册镜像ID列表 - OsImagesData *[]string `json:"os_images_data,omitempty"` + OsImagesData *[]ImageData `json:"os_images_data,omitempty"` // 整机备份是否包含系统盘 ContainSystemDisk *bool `json:"contain_system_disk,omitempty"` // 是否加密 diff --git a/services/cbr/v1/model/model_batch_create_and_delete_vault_tags_request.go b/services/cbr/v1/model/model_batch_create_and_delete_vault_tags_request.go new file mode 100644 index 0000000000..e0886f4fda --- /dev/null +++ b/services/cbr/v1/model/model_batch_create_and_delete_vault_tags_request.go @@ -0,0 +1,25 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type BatchCreateAndDeleteVaultTagsRequest struct { + VaultId string `json:"vault_id"` + Body *BulkCreateAndDeleteVaultTagsReq `json:"body,omitempty"` +} + +func (o BatchCreateAndDeleteVaultTagsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchCreateAndDeleteVaultTagsRequest", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_batch_create_and_delete_vault_tags_response.go b/services/cbr/v1/model/model_batch_create_and_delete_vault_tags_response.go new file mode 100644 index 0000000000..8a25320af1 --- /dev/null +++ b/services/cbr/v1/model/model_batch_create_and_delete_vault_tags_response.go @@ -0,0 +1,23 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type BatchCreateAndDeleteVaultTagsResponse struct { +} + +func (o BatchCreateAndDeleteVaultTagsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchCreateAndDeleteVaultTagsResponse", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_bulk_create_and_delete_vault_tags_req.go b/services/cbr/v1/model/model_bulk_create_and_delete_vault_tags_req.go new file mode 100644 index 0000000000..7256dc5fec --- /dev/null +++ b/services/cbr/v1/model/model_bulk_create_and_delete_vault_tags_req.go @@ -0,0 +1,68 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// +type BulkCreateAndDeleteVaultTagsReq struct { + // 标签列表。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 + Tags *[]Tag `json:"tags,omitempty"` + // 系统标签列表。 op_service权限可以访问,和tags二选一。 目前TMS调用时只包含一个resource_tag结构体 ,key固定为:_sys_enterprise_project_id。 value是UUID或0,value为0表示默认企业项目。 现在仅支持create操作。 + SysTags *[]SysTag `json:"sys_tags,omitempty"` + // 操作标识:仅限于create(创建)、delete(删除) + Action BulkCreateAndDeleteVaultTagsReqAction `json:"action"` +} + +func (o BulkCreateAndDeleteVaultTagsReq) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BulkCreateAndDeleteVaultTagsReq", string(data)}, " ") +} + +type BulkCreateAndDeleteVaultTagsReqAction struct { + value string +} + +type BulkCreateAndDeleteVaultTagsReqActionEnum struct { + CREATE BulkCreateAndDeleteVaultTagsReqAction + DELETE BulkCreateAndDeleteVaultTagsReqAction +} + +func GetBulkCreateAndDeleteVaultTagsReqActionEnum() BulkCreateAndDeleteVaultTagsReqActionEnum { + return BulkCreateAndDeleteVaultTagsReqActionEnum{ + CREATE: BulkCreateAndDeleteVaultTagsReqAction{ + value: "create", + }, + DELETE: BulkCreateAndDeleteVaultTagsReqAction{ + value: " delete", + }, + } +} + +func (c BulkCreateAndDeleteVaultTagsReqAction) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *BulkCreateAndDeleteVaultTagsReqAction) 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/services/cbr/v1/model/model_create_vault_tags_request.go b/services/cbr/v1/model/model_create_vault_tags_request.go new file mode 100644 index 0000000000..7355aba8af --- /dev/null +++ b/services/cbr/v1/model/model_create_vault_tags_request.go @@ -0,0 +1,25 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateVaultTagsRequest struct { + VaultId string `json:"vault_id"` + Body *VaultTagsCreateReq `json:"body,omitempty"` +} + +func (o CreateVaultTagsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateVaultTagsRequest", string(data)}, " ") +} diff --git a/services/eps/v1/model/model_disable_ep_response.go b/services/cbr/v1/model/model_create_vault_tags_response.go similarity index 57% rename from services/eps/v1/model/model_disable_ep_response.go rename to services/cbr/v1/model/model_create_vault_tags_response.go index f8d3866c50..67c72d45f9 100644 --- a/services/eps/v1/model/model_disable_ep_response.go +++ b/services/cbr/v1/model/model_create_vault_tags_response.go @@ -1,5 +1,5 @@ /* - * EPS + * Cbr * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * @@ -14,10 +14,10 @@ import ( ) // Response Object -type DisableEpResponse struct { +type CreateVaultTagsResponse struct { } -func (o DisableEpResponse) String() string { +func (o CreateVaultTagsResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"DisableEpResponse", string(data)}, " ") + return strings.Join([]string{"CreateVaultTagsResponse", string(data)}, " ") } diff --git a/services/cbr/v1/model/model_delete_vault_tag_request.go b/services/cbr/v1/model/model_delete_vault_tag_request.go new file mode 100644 index 0000000000..5513a1bb01 --- /dev/null +++ b/services/cbr/v1/model/model_delete_vault_tag_request.go @@ -0,0 +1,25 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteVaultTagRequest struct { + Key string `json:"key"` + VaultId string `json:"vault_id"` +} + +func (o DeleteVaultTagRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteVaultTagRequest", string(data)}, " ") +} diff --git a/services/eps/v1/model/model_enable_ep_response.go b/services/cbr/v1/model/model_delete_vault_tag_response.go similarity index 57% rename from services/eps/v1/model/model_enable_ep_response.go rename to services/cbr/v1/model/model_delete_vault_tag_response.go index b87d6dd468..609d199753 100644 --- a/services/eps/v1/model/model_enable_ep_response.go +++ b/services/cbr/v1/model/model_delete_vault_tag_response.go @@ -1,5 +1,5 @@ /* - * EPS + * Cbr * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * @@ -14,10 +14,10 @@ import ( ) // Response Object -type EnableEpResponse struct { +type DeleteVaultTagResponse struct { } -func (o EnableEpResponse) String() string { +func (o DeleteVaultTagResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"EnableEpResponse", string(data)}, " ") + return strings.Join([]string{"DeleteVaultTagResponse", string(data)}, " ") } diff --git a/services/cbr/v1/model/model_image_data.go b/services/cbr/v1/model/model_image_data.go new file mode 100644 index 0000000000..9c963eebc1 --- /dev/null +++ b/services/cbr/v1/model/model_image_data.go @@ -0,0 +1,25 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 镜像元素 +type ImageData struct { + // + ImageId *string `json:"image_id,omitempty"` +} + +func (o ImageData) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ImageData", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_match.go b/services/cbr/v1/model/model_match.go new file mode 100644 index 0000000000..a560040614 --- /dev/null +++ b/services/cbr/v1/model/model_match.go @@ -0,0 +1,27 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type Match struct { + // 键。 key取值范围为:\"resource_name\",资源名称 + Key string `json:"key"` + // 值。 最大长度255个字符。 key为\"resource_name\"时,value为空字符串时精确匹配,为非空字符串时模糊匹配。 + Value string `json:"value"` +} + +func (o Match) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Match", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_show_vault_project_tag_request.go b/services/cbr/v1/model/model_show_vault_project_tag_request.go new file mode 100644 index 0000000000..fbac85d346 --- /dev/null +++ b/services/cbr/v1/model/model_show_vault_project_tag_request.go @@ -0,0 +1,23 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowVaultProjectTagRequest struct { +} + +func (o ShowVaultProjectTagRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowVaultProjectTagRequest", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_show_vault_project_tag_response.go b/services/cbr/v1/model/model_show_vault_project_tag_response.go new file mode 100644 index 0000000000..4cf46f81e9 --- /dev/null +++ b/services/cbr/v1/model/model_show_vault_project_tag_response.go @@ -0,0 +1,25 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowVaultProjectTagResponse struct { + // 标签列表 + Tags *[]TagsResp `json:"tags,omitempty"` +} + +func (o ShowVaultProjectTagResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowVaultProjectTagResponse", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_show_vault_resource_instances_request.go b/services/cbr/v1/model/model_show_vault_resource_instances_request.go new file mode 100644 index 0000000000..22f48a8df5 --- /dev/null +++ b/services/cbr/v1/model/model_show_vault_resource_instances_request.go @@ -0,0 +1,24 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowVaultResourceInstancesRequest struct { + Body *VaultResourceInstancesReq `json:"body,omitempty"` +} + +func (o ShowVaultResourceInstancesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowVaultResourceInstancesRequest", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_show_vault_resource_instances_response.go b/services/cbr/v1/model/model_show_vault_resource_instances_response.go new file mode 100644 index 0000000000..4fca30a629 --- /dev/null +++ b/services/cbr/v1/model/model_show_vault_resource_instances_response.go @@ -0,0 +1,27 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowVaultResourceInstancesResponse struct { + // 符合查询条件的资源列表(action为count时无此参数)。 + Resources *[]TagResource `json:"resources,omitempty"` + // 符合查询条件的资源总个数 + TotalCount *int32 `json:"total_count,omitempty"` +} + +func (o ShowVaultResourceInstancesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowVaultResourceInstancesResponse", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_show_vault_tag_request.go b/services/cbr/v1/model/model_show_vault_tag_request.go new file mode 100644 index 0000000000..11bbfe6e36 --- /dev/null +++ b/services/cbr/v1/model/model_show_vault_tag_request.go @@ -0,0 +1,24 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowVaultTagRequest struct { + VaultId string `json:"vault_id"` +} + +func (o ShowVaultTagRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowVaultTagRequest", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_show_vault_tag_response.go b/services/cbr/v1/model/model_show_vault_tag_response.go new file mode 100644 index 0000000000..f2de11e601 --- /dev/null +++ b/services/cbr/v1/model/model_show_vault_tag_response.go @@ -0,0 +1,27 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowVaultTagResponse struct { + // 标签列表 tags中key不重复 + Tags *[]Tag `json:"tags,omitempty"` + // 仅op_service权限才可以获取此字段: 目前只包含一个resource_tag结构体 key:_sys_enterprise_project_id value:企业项目id。0表示默认企业项目 非op_service场景不能返回此字段。 + SysTags *[]SysTag `json:"sys_tags,omitempty"` +} + +func (o ShowVaultTagResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowVaultTagResponse", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_sys_tags.go b/services/cbr/v1/model/model_sys_tags.go new file mode 100644 index 0000000000..1c3dafde6b --- /dev/null +++ b/services/cbr/v1/model/model_sys_tags.go @@ -0,0 +1,27 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type SysTags struct { + // 键。 系统标签的key,从白名单中取,不能随意定义。 目前仅支持 _sys_enterprise_project_id字段,对应 的value为企业项目ID。 + Key string `json:"key"` + // 值列表。 目前仅会用到企业项目ID,其中默 认的企业项目ID为“0”。 + Values []string `json:"values"` +} + +func (o SysTags) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"SysTags", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_tags_req.go b/services/cbr/v1/model/model_tags_req.go new file mode 100644 index 0000000000..1d6090275e --- /dev/null +++ b/services/cbr/v1/model/model_tags_req.go @@ -0,0 +1,27 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TagsReq struct { + // 键。 最大长度127个unicode字符。 不允许为空字符串。 前后的空格会被丢弃。 + Key string `json:"key"` + // 值列表。 values中最多包含10个value。 每个value最大长度255个unicode字符。前后的空格会被丢弃。 values中value不允许重复。 values中多个value之间是\"或\"的关系。 values允许为空列表,value允许为空字符串。 values如果为空列表,表示任意值。 \\*为系统保留字符,如果value是以\\*开头表示按照\\*后面的值全模糊匹配,不能只传入“\\*”。 + Values []string `json:"values"` +} + +func (o TagsReq) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TagsReq", string(data)}, " ") +} diff --git a/services/cbr/v1/model/model_vault_resource_instances_req.go b/services/cbr/v1/model/model_vault_resource_instances_req.go new file mode 100644 index 0000000000..e2a40e74d1 --- /dev/null +++ b/services/cbr/v1/model/model_vault_resource_instances_req.go @@ -0,0 +1,122 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// +type VaultResourceInstancesReq struct { + // 包含标签。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 tags中多个key之间是“与”的关系。 结果返回包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 + Tags *[]TagsReq `json:"tags,omitempty"` + // 包含任一标签。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回包含任一标签的资源列表,key之间是或的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 + TagsAny *[]TagsReq `json:"tags_any,omitempty"` + // 不包含标签。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回不包含所有标签的资源列表,key之间是与的关系,key-value结构中value是或的关系。 无过滤条件时返回全量数据。 + NotTags *[]TagsReq `json:"not_tags,omitempty"` + // 不包含任一标签。 tags不允许为空列表。 tags中最多包含10个key。 tags中key不允许重复。 结果返回不包含任一标签的资源列表,key之间是或的关系,key-value结构张value是或的关系。 无过滤条件时返回全量数据。 + NotTagsAny *[]TagsReq `json:"not_tags_any,omitempty"` + // 仅op_service权限可以使用此字段做资源实例过滤条件。 目前TMS调用时只包含一个tag结构体。 * key: _sys_enterprise_project_id * values:企业项目id列表 目前TMS调用时,key下面只包含一个value,0表示默认企业项目。 sys_tags和租户标签过滤条件(tags、tags_any、not_tags、not_tags_any)不能同时使用。 无sys_tags时按照tag接口处理,无tag过滤条件时返回全量数据。 sys_tags不能为空列表 + SysTags *[]SysTags `json:"sys_tags,omitempty"` + // 查询记录数(action为count时无此参数)如果action为filter时,默认为1000,limit最小值为1,limit最大值为1000, 不在范围内报错。返回的结果中记录数不超过limit。 + Limit *string `json:"limit,omitempty"` + // 索引位置(action为count时无此参数)如果action为filter时,默认为0,offset最小值为0。返回的结果中第一条记录为符合查询条件的第offset+1条记录。 + Offset *string `json:"offset,omitempty"` + // 操作标识取值范围为:\"filter\", \"count\"。如果是filter就是分页查询,如果是count只需按照条件将总条数返回即可 + Action string `json:"action"` + // 资源本身支持的查询条件。 matches不允许为空列表。 matches中key不允许重复。 + Matches *[]Match `json:"matches,omitempty"` + // 云类型 + CloudType *VaultResourceInstancesReqCloudType `json:"cloud_type,omitempty"` + // 资源类型 + ObjectType *VaultResourceInstancesReqObjectType `json:"object_type,omitempty"` +} + +func (o VaultResourceInstancesReq) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"VaultResourceInstancesReq", string(data)}, " ") +} + +type VaultResourceInstancesReqCloudType struct { + value string +} + +type VaultResourceInstancesReqCloudTypeEnum struct { + PUBLIC VaultResourceInstancesReqCloudType + HYBRID VaultResourceInstancesReqCloudType +} + +func GetVaultResourceInstancesReqCloudTypeEnum() VaultResourceInstancesReqCloudTypeEnum { + return VaultResourceInstancesReqCloudTypeEnum{ + PUBLIC: VaultResourceInstancesReqCloudType{ + value: "public", + }, + HYBRID: VaultResourceInstancesReqCloudType{ + value: " hybrid", + }, + } +} + +func (c VaultResourceInstancesReqCloudType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *VaultResourceInstancesReqCloudType) 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 VaultResourceInstancesReqObjectType struct { + value string +} + +type VaultResourceInstancesReqObjectTypeEnum struct { + SERVER VaultResourceInstancesReqObjectType + DISK VaultResourceInstancesReqObjectType +} + +func GetVaultResourceInstancesReqObjectTypeEnum() VaultResourceInstancesReqObjectTypeEnum { + return VaultResourceInstancesReqObjectTypeEnum{ + SERVER: VaultResourceInstancesReqObjectType{ + value: "server", + }, + DISK: VaultResourceInstancesReqObjectType{ + value: "disk", + }, + } +} + +func (c VaultResourceInstancesReqObjectType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *VaultResourceInstancesReqObjectType) 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/services/cbr/v1/model/model_vault_tags_create_req.go b/services/cbr/v1/model/model_vault_tags_create_req.go new file mode 100644 index 0000000000..68ad2619fd --- /dev/null +++ b/services/cbr/v1/model/model_vault_tags_create_req.go @@ -0,0 +1,24 @@ +/* + * Cbr + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type VaultTagsCreateReq struct { + Tag *Tag `json:"tag,omitempty"` +} + +func (o VaultTagsCreateReq) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"VaultTagsCreateReq", string(data)}, " ") +} diff --git a/services/ces/v1/ces_client.go b/services/ces/v1/ces_client.go index 1099a6f155..d7008a3ebd 100644 --- a/services/ces/v1/ces_client.go +++ b/services/ces/v1/ces_client.go @@ -20,144 +20,198 @@ func CesClientBuilder() *http_client.HcHttpClientBuilder { //批量查询指定时间范围内指定指标的指定粒度的监控数据,目前最多支持10指标的批量查询。 func (c *CesClient) BatchListMetricData(request *model.BatchListMetricDataRequest) (*model.BatchListMetricDataResponse, error) { - requestDef := GenReqDefForBatchListMetricData(request) - resp, responseDef := GenRespForBatchListMetricData() + requestDef := GenReqDefForBatchListMetricData() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchListMetricDataResponse), nil } } //创建一条告警规则。 func (c *CesClient) CreateAlarm(request *model.CreateAlarmRequest) (*model.CreateAlarmResponse, error) { - requestDef := GenReqDefForCreateAlarm(request) - resp, responseDef := GenRespForCreateAlarm() + requestDef := GenReqDefForCreateAlarm() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateAlarmResponse), nil + } +} + +//批量查询指定时间范围内指定指标的指定粒度的监控数据,目前最多支持10指标的批量查询。 +func (c *CesClient) CreateAlarmTemplate(request *model.CreateAlarmTemplateRequest) (*model.CreateAlarmTemplateResponse, error) { + requestDef := GenReqDefForCreateAlarmTemplate() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateAlarmTemplateResponse), nil } } //上报自定义事件。 func (c *CesClient) CreateEvents(request *model.CreateEventsRequest) (*model.CreateEventsResponse, error) { - requestDef := GenReqDefForCreateEvents(request) - resp, responseDef := GenRespForCreateEvents() + requestDef := GenReqDefForCreateEvents() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateEventsResponse), nil } } //添加一条或多条指标监控数据。 func (c *CesClient) CreateMetricData(request *model.CreateMetricDataRequest) (*model.CreateMetricDataResponse, error) { - requestDef := GenReqDefForCreateMetricData(request) - resp, responseDef := GenRespForCreateMetricData() + requestDef := GenReqDefForCreateMetricData() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateMetricDataResponse), nil } } //删除一条告警规则。 func (c *CesClient) DeleteAlarm(request *model.DeleteAlarmRequest) (*model.DeleteAlarmResponse, error) { - requestDef := GenReqDefForDeleteAlarm(request) - resp, responseDef := GenRespForDeleteAlarm() + requestDef := GenReqDefForDeleteAlarm() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteAlarmResponse), nil + } +} + +//根据ID删除自定义告警模板。 +func (c *CesClient) DeleteAlarmTemplate(request *model.DeleteAlarmTemplateRequest) (*model.DeleteAlarmTemplateResponse, error) { + requestDef := GenReqDefForDeleteAlarmTemplate() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteAlarmTemplateResponse), nil + } +} + +//查询告警历史列表。 +func (c *CesClient) ListAlarmHistories(request *model.ListAlarmHistoriesRequest) (*model.ListAlarmHistoriesResponse, error) { + requestDef := GenReqDefForListAlarmHistories() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAlarmHistoriesResponse), nil + } +} + +//查询自定义告警模板列表 +func (c *CesClient) ListAlarmTemplates(request *model.ListAlarmTemplatesRequest) (*model.ListAlarmTemplatesResponse, error) { + requestDef := GenReqDefForListAlarmTemplates() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListAlarmTemplatesResponse), nil } } //查询告警规则列表,可以指定分页条件限制结果数量,可以指定排序规则。 func (c *CesClient) ListAlarms(request *model.ListAlarmsRequest) (*model.ListAlarmsResponse, error) { - requestDef := GenReqDefForListAlarms(request) - resp, responseDef := GenRespForListAlarms() + requestDef := GenReqDefForListAlarms() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAlarmsResponse), nil } } //查询系统当前可监控指标列表,可以指定指标命名空间、指标名称、维度、排序方式,起始记录和最大记录条数过滤查询结果。 func (c *CesClient) ListMetrics(request *model.ListMetricsRequest) (*model.ListMetricsResponse, error) { - requestDef := GenReqDefForListMetrics(request) - resp, responseDef := GenRespForListMetrics() + requestDef := GenReqDefForListMetrics() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListMetricsResponse), nil } } //根据告警ID查询告警规则信息。 func (c *CesClient) ShowAlarm(request *model.ShowAlarmRequest) (*model.ShowAlarmResponse, error) { - requestDef := GenReqDefForShowAlarm(request) - resp, responseDef := GenRespForShowAlarm() + requestDef := GenReqDefForShowAlarm() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowAlarmResponse), nil } } //查询指定时间范围指定事件类型的主机配置数据,可以通过参数指定需要查询的数据维度。注意:该接口提供给HANA场景下SAP Monitor查询主机配置数据,其他场景下查不到主机配置数据。 func (c *CesClient) ShowEventData(request *model.ShowEventDataRequest) (*model.ShowEventDataResponse, error) { - requestDef := GenReqDefForShowEventData(request) - resp, responseDef := GenRespForShowEventData() + requestDef := GenReqDefForShowEventData() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowEventDataResponse), nil } } //查询指定时间范围指定指标的指定粒度的监控数据,可以通过参数指定需要查询的数据维度。 func (c *CesClient) ShowMetricData(request *model.ShowMetricDataRequest) (*model.ShowMetricDataResponse, error) { - requestDef := GenReqDefForShowMetricData(request) - resp, responseDef := GenRespForShowMetricData() + requestDef := GenReqDefForShowMetricData() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowMetricDataResponse), nil } } //查询用户可以创建的资源配额总数及当前使用量,当前仅有告警规则一种资源类型。 func (c *CesClient) ShowQuotas(request *model.ShowQuotasRequest) (*model.ShowQuotasResponse, error) { - requestDef := GenReqDefForShowQuotas(request) - resp, responseDef := GenRespForShowQuotas() + requestDef := GenReqDefForShowQuotas() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowQuotasResponse), nil + } +} + +//根据资源分组ID查询资源分组下的资源。 +func (c *CesClient) ShowResourceGroup(request *model.ShowResourceGroupRequest) (*model.ShowResourceGroupResponse, error) { + requestDef := GenReqDefForShowResourceGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowResourceGroupResponse), nil } } //启动或停止一条告警规则。 func (c *CesClient) UpdateAlarmAction(request *model.UpdateAlarmActionRequest) (*model.UpdateAlarmActionResponse, error) { - requestDef := GenReqDefForUpdateAlarmAction(request) - resp, responseDef := GenRespForUpdateAlarmAction() + requestDef := GenReqDefForUpdateAlarmAction() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateAlarmActionResponse), nil + } +} + +//更新自定义告警模板。 +func (c *CesClient) UpdateAlarmTemplate(request *model.UpdateAlarmTemplateRequest) (*model.UpdateAlarmTemplateResponse, error) { + requestDef := GenReqDefForUpdateAlarmTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateAlarmTemplateResponse), nil } } diff --git a/services/ces/v1/ces_meta.go b/services/ces/v1/ces_meta.go index 7007a3f98f..237695523b 100644 --- a/services/ces/v1/ces_meta.go +++ b/services/ces/v1/ces_meta.go @@ -6,438 +6,586 @@ import ( "net/http" ) -func GenReqDefForBatchListMetricData(request *model.BatchListMetricDataRequest) *def.HttpRequestDef { +func GenReqDefForBatchListMetricData() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/V1.0/{project_id}/batch-query-metric-data"). + WithResponse(new(model.BatchListMetricDataResponse)). WithContentType("application/json;charset=UTF-8") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchListMetricData() (*model.BatchListMetricDataResponse, *def.HttpResponseDef) { - resp := new(model.BatchListMetricDataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateAlarm(request *model.CreateAlarmRequest) *def.HttpRequestDef { +func GenReqDefForCreateAlarm() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/V1.0/{project_id}/alarms"). + WithResponse(new(model.CreateAlarmResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateAlarm() (*model.CreateAlarmResponse, *def.HttpResponseDef) { - resp := new(model.CreateAlarmResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForCreateAlarmTemplate() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/V1.0/{project_id}/alarm-template"). + WithResponse(new(model.CreateAlarmTemplateResponse)). + WithContentType("application/json;charset=UTF-8") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ContentType"). + WithJsonTag("Content-Type"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForCreateEvents(request *model.CreateEventsRequest) *def.HttpRequestDef { +func GenReqDefForCreateEvents() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/V1.0/{project_id}/events"). + WithResponse(new(model.CreateEventsResponse)). WithContentType("application/json;charset=UTF-8") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateEvents() (*model.CreateEventsResponse, *def.HttpResponseDef) { - resp := new(model.CreateEventsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateMetricData(request *model.CreateMetricDataRequest) *def.HttpRequestDef { +func GenReqDefForCreateMetricData() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/V1.0/{project_id}/metric-data"). + WithResponse(new(model.CreateMetricDataResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateMetricData() (*model.CreateMetricDataResponse, *def.HttpResponseDef) { - resp := new(model.CreateMetricDataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteAlarm(request *model.DeleteAlarmRequest) *def.HttpRequestDef { +func GenReqDefForDeleteAlarm() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/V1.0/{project_id}/alarms/{alarm_id}") + WithPath("/V1.0/{project_id}/alarms/{alarm_id}"). + WithResponse(new(model.DeleteAlarmResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("alarm_id"). + WithName("AlarmId"). + WithJsonTag("alarm_id"). WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteAlarmTemplate() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/V1.0/{project_id}/alarm-template/{template_id}"). + WithResponse(new(model.DeleteAlarmTemplateResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("ContentType"). + WithJsonTag("Content-Type"). + WithLocationType(def.Header)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteAlarm() (*model.DeleteAlarmResponse, *def.HttpResponseDef) { - resp := new(model.DeleteAlarmResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListAlarms(request *model.ListAlarmsRequest) *def.HttpRequestDef { +func GenReqDefForListAlarmHistories() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/V1.0/{project_id}/alarms") + WithPath("/V1.0/{project_id}/alarm-histories"). + WithResponse(new(model.ListAlarmHistoriesResponse)) + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("GroupId"). + WithJsonTag("group_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("AlarmId"). + WithJsonTag("alarm_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("AlarmName"). + WithJsonTag("alarm_name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("AlarmStatus"). + WithJsonTag("alarm_status"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("AlarmLevel"). + WithJsonTag("alarm_level"). + WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Namespace"). + WithJsonTag("namespace"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order"). + WithName("From"). + WithJsonTag("from"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start"). + WithName("To"). + WithJsonTag("to"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Start"). + WithJsonTag("start"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListAlarmTemplates() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/V1.0/{project_id}/alarm-template"). + WithResponse(new(model.ListAlarmTemplatesResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("AlarmTemplateId"). + WithJsonTag("alarmTemplateId"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Dname"). + WithJsonTag("dname"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Start"). + WithJsonTag("start"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("ContentType"). + WithJsonTag("Content-Type"). + WithLocationType(def.Header)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListAlarms() (*model.ListAlarmsResponse, *def.HttpResponseDef) { - resp := new(model.ListAlarmsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForListAlarms() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/V1.0/{project_id}/alarms"). + WithResponse(new(model.ListAlarmsResponse)) + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Order"). + WithJsonTag("order"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Start"). + WithJsonTag("start"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ContentType"). + WithJsonTag("Content-Type"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForListMetrics(request *model.ListMetricsRequest) *def.HttpRequestDef { +func GenReqDefForListMetrics() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/V1.0/{project_id}/metrics") + WithPath("/V1.0/{project_id}/metrics"). + WithResponse(new(model.ListMetricsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.0"). + WithName("Dim0"). + WithJsonTag("dim.0"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.1"). + WithName("Dim1"). + WithJsonTag("dim.1"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.2"). + WithName("Dim2"). + WithJsonTag("dim.2"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("metric_name"). + WithName("MetricName"). + WithJsonTag("metric_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("namespace"). + WithName("Namespace"). + WithJsonTag("namespace"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order"). + WithName("Order"). + WithJsonTag("order"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start"). + WithName("Start"). + WithJsonTag("start"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListMetrics() (*model.ListMetricsResponse, *def.HttpResponseDef) { - resp := new(model.ListMetricsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowAlarm(request *model.ShowAlarmRequest) *def.HttpRequestDef { +func GenReqDefForShowAlarm() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/V1.0/{project_id}/alarms/{alarm_id}") + WithPath("/V1.0/{project_id}/alarms/{alarm_id}"). + WithResponse(new(model.ShowAlarmResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("alarm_id"). + WithName("AlarmId"). + WithJsonTag("alarm_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowAlarm() (*model.ShowAlarmResponse, *def.HttpResponseDef) { - resp := new(model.ShowAlarmResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowEventData(request *model.ShowEventDataRequest) *def.HttpRequestDef { +func GenReqDefForShowEventData() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/V1.0/{project_id}/event-data") + WithPath("/V1.0/{project_id}/event-data"). + WithResponse(new(model.ShowEventDataResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.0"). + WithName("Dim0"). + WithJsonTag("dim.0"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.1"). + WithName("Dim1"). + WithJsonTag("dim.1"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.2"). + WithName("Dim2"). + WithJsonTag("dim.2"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("from"). + WithName("From"). + WithJsonTag("from"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("namespace"). + WithName("Namespace"). + WithJsonTag("namespace"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("to"). + WithName("To"). + WithJsonTag("to"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowEventData() (*model.ShowEventDataResponse, *def.HttpResponseDef) { - resp := new(model.ShowEventDataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowMetricData(request *model.ShowMetricDataRequest) *def.HttpRequestDef { +func GenReqDefForShowMetricData() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/V1.0/{project_id}/metric-data") + WithPath("/V1.0/{project_id}/metric-data"). + WithResponse(new(model.ShowMetricDataResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.0"). + WithName("Dim0"). + WithJsonTag("dim.0"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.1"). + WithName("Dim1"). + WithJsonTag("dim.1"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dim.2"). + WithName("Dim2"). + WithJsonTag("dim.2"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("filter"). + WithName("Filter"). + WithJsonTag("filter"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("from"). + WithName("From"). + WithJsonTag("from"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("metric_name"). + WithName("MetricName"). + WithJsonTag("metric_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("namespace"). + WithName("Namespace"). + WithJsonTag("namespace"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("period"). + WithName("Period"). + WithJsonTag("period"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("to"). + WithName("To"). + WithJsonTag("to"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowMetricData() (*model.ShowMetricDataResponse, *def.HttpResponseDef) { - resp := new(model.ShowMetricDataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowQuotas(request *model.ShowQuotasRequest) *def.HttpRequestDef { +func GenReqDefForShowQuotas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/V1.0/{project_id}/quotas") + WithPath("/V1.0/{project_id}/quotas"). + WithResponse(new(model.ShowQuotasResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowResourceGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/V1.0/{project_id}/resource-groups/{group_id}"). + WithResponse(new(model.ShowResourceGroupResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Status"). + WithJsonTag("status"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Dname"). + WithJsonTag("dname"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Start"). + WithJsonTag("start"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ContentType"). + WithJsonTag("Content-Type"). + WithLocationType(def.Header)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowQuotas() (*model.ShowQuotasResponse, *def.HttpResponseDef) { - resp := new(model.ShowQuotasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateAlarmAction(request *model.UpdateAlarmActionRequest) *def.HttpRequestDef { +func GenReqDefForUpdateAlarmAction() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/V1.0/{project_id}/alarms/{alarm_id}/action"). + WithResponse(new(model.UpdateAlarmActionResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("alarm_id"). + WithName("AlarmId"). + WithJsonTag("alarm_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("Content-Type"). + WithName("ContentType"). + WithJsonTag("Content-Type"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateAlarmTemplate() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/V1.0/{project_id}/alarm-template/{template_id}"). + WithResponse(new(model.UpdateAlarmTemplateResponse)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("ContentType"). + WithJsonTag("Content-Type"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateAlarmAction() (*model.UpdateAlarmActionResponse, *def.HttpResponseDef) { - resp := new(model.UpdateAlarmActionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/ces/v1/model/model_additional_info.go b/services/ces/v1/model/model_additional_info.go new file mode 100644 index 0000000000..02d5e69462 --- /dev/null +++ b/services/ces/v1/model/model_additional_info.go @@ -0,0 +1,29 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 告警历史额外字段,仅针对事件监控告警场景所产生的告警历史信息。 +type AdditionalInfo struct { + // 该条告警历史对应的资源ID;如:22d98f6c-16d2-4c2d-b424-50e79d82838f。 + ResourceId *string `json:"resource_id,omitempty"` + // 该条告警历史对应的资源名称;如:ECS-Test01。 + ResourceName *string `json:"resource_name,omitempty"` + // 该条告警历史对应的事件监控ID,资源所产生的事件;如:ev16031292300990kKN8p17J。 + EventId *string `json:"event_id,omitempty"` +} + +func (o AdditionalInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AdditionalInfo", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_alarm_history_info.go b/services/ces/v1/model/model_alarm_history_info.go new file mode 100644 index 0000000000..d27ea4ccb2 --- /dev/null +++ b/services/ces/v1/model/model_alarm_history_info.go @@ -0,0 +1,56 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 告警历史详细信息 +type AlarmHistoryInfo struct { + // 告警规则的ID,如:al1603131199286dzxpqK3Ez。 + AlarmId *string `json:"alarm_id,omitempty"` + // 告警规则的名称,如:alarm-test01。 + AlarmName *string `json:"alarm_name,omitempty"` + // 告警规则的描述。 + AlarmDescription *string `json:"alarm_description,omitempty"` + Metric *MetricInfo `json:"metric,omitempty"` + Condition *Condition `json:"condition,omitempty"` + // 告警历史的告警级别,值为1,2,3,4;1为紧急,2为重要,3为次要,4为提示。 + AlarmLevel *int32 `json:"alarm_level,omitempty"` + // 告警类型; 仅针对事件告警的参数,枚举类型:值为EVENT.SYS或者EVENT.CUSTOM + AlarmType *string `json:"alarm_type,omitempty"` + // 告警规则是否被启用,值为true或者false。 + AlarmEnabled *bool `json:"alarm_enabled,omitempty"` + // 告警规则的告警触发动作是否被启用,值为true或者false。 + AlarmActionEnabled *bool `json:"alarm_action_enabled,omitempty"` + // 告警触发的动作。 结构如下: { \"type\": \"notification\", \"notificationList\": [\"urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd\"] } type取值: notification:通知。 autoscaling:弹性伸缩。 notificationList:告警状态发生变化时,被通知对象的列表。 + AlarmActions *[]AlarmActions `json:"alarm_actions,omitempty"` + // 告警恢复触发的动作。 结构如下: { \"type\": \"notification\", \"notificationList\": [\"urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd\"] } type取值: notification:通知。 notificationList:告警状态发生变化时,被通知对象的列表。 + OkActions *[]AlarmActions `json:"ok_actions,omitempty"` + // 数据不足触发的动作。 结构如下: { \"type\": \"notification\", \"notificationList\": [\"urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd\"] } type取值: 数据不足触发告警通知类型,取值为notification。 notificationList:数据不足触发告警通知时,被通知对象的ID列表。 + InsufficientdataActions *[]AlarmActions `json:"insufficientdata_actions,omitempty"` + // 告警状态变更的时间,UNIX时间戳,单位毫秒,如:1603131199000。 + UpdateTime *int64 `json:"update_time,omitempty"` + // 企业项目ID。 值为all_granted_eps时,表示所有企业项目;值为0时,表示默认的企业项目default。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 计算出该条告警历史的时间,UNIX时间戳,单位毫秒,如:1603131199469。 + TriggerTime *int64 `json:"trigger_time,omitempty"` + // 告警历史的状态,取值为ok,alarm,insufficient_data; ok为正常,alarm为告警,insufficient_data为数据不足。 + AlarmStatus *string `json:"alarm_status,omitempty"` + // 计算出该条告警历史的资源监控数据的一组数据上报时间和监控数值。 + Datapoints *[]DataPointForAlarmHistory `json:"datapoints,omitempty"` + AdditionalInfo *AdditionalInfo `json:"additional_info,omitempty"` +} + +func (o AlarmHistoryInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AlarmHistoryInfo", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_alarm_template.go b/services/ces/v1/model/model_alarm_template.go new file mode 100644 index 0000000000..d21e1e5c1b --- /dev/null +++ b/services/ces/v1/model/model_alarm_template.go @@ -0,0 +1,35 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 创建的自定义告警模板详细信息 +type AlarmTemplate struct { + // 自定义告警模板名称,如:alarmTemplate-Test01。 + TemplateName *string `json:"template_name,omitempty"` + // 自定义告警模板描述。 + TemplateDescription *string `json:"template_description,omitempty"` + // 自定义告警模板选择的资源类型,即服务命名空间,如:选择弹性云服务器,则命名空间为SYS.ECS,各资源的监控指标名称可查看https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html。 + Namespace *string `json:"namespace,omitempty"` + // 自定义告警模板选择的资源维度,如:弹性云服务器,则维度为instance_id,各资源的监控指标名称可查看https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html。 + DimensionName *string `json:"dimension_name,omitempty"` + // 自定义告警模板添加的一组或者多个告警策略。 + TemplateItems *[]TemplateItem `json:"template_items,omitempty"` + // 自定义告警模板的ID,如:at1603330892378wkDm77y6B。 + TemplateId *string `json:"template_id,omitempty"` +} + +func (o AlarmTemplate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AlarmTemplate", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_alarm_template_condition.go b/services/ces/v1/model/model_alarm_template_condition.go new file mode 100644 index 0000000000..b91bfb1b66 --- /dev/null +++ b/services/ces/v1/model/model_alarm_template_condition.go @@ -0,0 +1,37 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 创建自定义告警模板的告警策略。 +type AlarmTemplateCondition struct { + // 告警阈值的比较条件,可以是>、=、<、>=、<=。 + ComparisonOperator string `json:"comparison_operator"` + // 触发告警的连续发生次数,取值范围[1, 5]。 + Count int32 `json:"count"` + // 数据聚合的方式,支持max、min、average、sum、variance,分别表示最大值、最小值、平均值、求和值、方差值。 + Filter string `json:"filter"` + // 告警条件判断周期,单位为秒,支持的值为1,300,1200,3600,14400,86400。说明:当period设置为1时,表示以原始的指标数据判断告警。当alarm_type为(EVENT.SYS| EVENT.CUSTOM)时允许为0。 + Period int32 `json:"period"` + // 数据的单位,最大长度为32位。 + Unit *string `json:"unit,omitempty"` + // 告警阈值,取值范围[0, Number.MAX_VALUE],Number.MAX_VALUE值为1.7976931348623157e+108。具体阈值取值请参见附录中各服务监控指标中取值范围,如支持监控的服务列表中ECS的CPU使用率cpu_util取值范围可配置80。 + Value int32 `json:"value"` + // 发送告警的周期,值可为0, 300, 600, 900, 1800, 3600, 10800, 21600, 43200, 86400;0表示只告警一次,300表示每5分钟告警一次,600表示每10分钟告警一次,900表示每15分钟告警一次,1800表示每30分钟告警一次,3600表示每1小时告警一次,10800表示每3小时告警一次,21600表示每6小时告警一次,43200表示每12小时告警一次,86400表示每1天告警一次。 + SuppressDuration *int32 `json:"suppress_duration,omitempty"` +} + +func (o AlarmTemplateCondition) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AlarmTemplateCondition", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_batch_list_metric_data_request_body.go b/services/ces/v1/model/model_batch_list_metric_data_request_body.go index 3b43e23f32..722a712907 100644 --- a/services/ces/v1/model/model_batch_list_metric_data_request_body.go +++ b/services/ces/v1/model/model_batch_list_metric_data_request_body.go @@ -17,13 +17,13 @@ import ( type BatchListMetricDataRequestBody struct { // 指标数据。数组长度最大10 Metrics []MetricInfo `json:"metrics"` - // 查询数据起始时间,UNIX时间戳,单位毫秒。建议from的值相对于当前时间向前偏移至少1个周期。由于聚合运算的过程是将一个聚合周期范围内的数据点聚合到周期起始边界上,如果将from和to的范围设置在聚合周期内,会因为聚合未完成而造成查询数据为空,所以建议from参数相对于当前时间向前偏移至少1个周期。以5分钟聚合周期为例:假设当前时间点为10:35,10:30~10:35之间的原始数据会被聚合到10:30这个点上,所以查询5分钟数据点时from参数应为10:30或之前。 说明: 云监控会根据所选择的聚合粒度向前取整from参数。 + // 查询数据起始时间,UNIX时间戳,单位毫秒。建议from的值相对于当前时间向前偏移至少1个周期。由于聚合运算的过程是将一个聚合周期范围内的数据点聚合到周期起始边界上,如果将from和to的范围设置在聚合周期内,会因为聚合未完成而造成查询数据为空,所以建议from参数相对于当前时间向前偏移至少1个周期。以5分钟聚合周期为例:假设当前时间点为10:35,10:30~10:35之间的原始数据会被聚合到10:30这个点上,所以查询5分钟数据点时from参数应为10:30或之前。 说明: 云监控会根据所选择的聚合粒度向前取整from参数。 From int64 `json:"from"` // 查询数据截止时间UNIX时间戳,单位毫秒。from必须小于to。 To int64 `json:"to"` // 监控数据粒度。 取值范围: \"1\",原始数据 \"300\",5分钟粒度 \"1200\",20分钟粒度 \"3600\",1小时粒度 \"14400\",4小时粒度 \"86400\",1天粒度 Period string `json:"period"` - // 数据聚合方式。 支持的值为max, min, average, sum, variance。 filter参数的值不会影响原始数据(period为1)的查询结果。 + // 数据聚合方式。 支持的值为max, min, average, sum, variance。 filter参数的值不会影响原始数据(period为1)的查询结果。 Filter string `json:"filter"` } diff --git a/services/ces/v1/model/model_condition.go b/services/ces/v1/model/model_condition.go index ab1af312cb..c2da118a5e 100644 --- a/services/ces/v1/model/model_condition.go +++ b/services/ces/v1/model/model_condition.go @@ -13,6 +13,7 @@ import ( "strings" ) +// 告警规则设置的告警策略 type Condition struct { // 告警阈值的比较条件,可以是>、=、<、>=、<=。 ComparisonOperator string `json:"comparison_operator"` diff --git a/services/ces/v1/model/model_create_alarm_template_request.go b/services/ces/v1/model/model_create_alarm_template_request.go new file mode 100644 index 0000000000..6e4a2b1c9f --- /dev/null +++ b/services/ces/v1/model/model_create_alarm_template_request.go @@ -0,0 +1,25 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateAlarmTemplateRequest struct { + ContentType string `json:"Content-Type"` + Body *CreateAlarmTemplateRequestBody `json:"body,omitempty"` +} + +func (o CreateAlarmTemplateRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateAlarmTemplateRequest", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_create_alarm_template_request_body.go b/services/ces/v1/model/model_create_alarm_template_request_body.go new file mode 100644 index 0000000000..c84c20ee99 --- /dev/null +++ b/services/ces/v1/model/model_create_alarm_template_request_body.go @@ -0,0 +1,33 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 创建自定义告警模板请求参数。 +type CreateAlarmTemplateRequestBody struct { + // 自定义告警模板名称,只能包含0-9/a-z/A-Z/_/-或汉字。 + TemplateName string `json:"template_name"` + // 自定义告警模板详细描述,长度为0-256。 + TemplateDescription *string `json:"template_description,omitempty"` + // 创建自定义告警模板选择的资源类型,即服务命名空间,如:选择弹性云服务器,则命名空间为SYS.ECS + Namespace string `json:"namespace"` + // 资源类型对应的指标监控维度,选择弹性云服务器,则维度为云服务器,dimension_name值为instance_id + DimensionName string `json:"dimension_name"` + // 创建自定义告警模板添加添加一个或者多个指标的告警规则;目前最多可增加30组告警规则策略。。 + TemplateItems []TemplateItem `json:"template_items"` +} + +func (o CreateAlarmTemplateRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateAlarmTemplateRequestBody", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_create_alarm_template_response.go b/services/ces/v1/model/model_create_alarm_template_response.go new file mode 100644 index 0000000000..c152e25ecc --- /dev/null +++ b/services/ces/v1/model/model_create_alarm_template_response.go @@ -0,0 +1,25 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateAlarmTemplateResponse struct { + // 自定义告警模板创建成功返回的ID,如:at1603252280799wLRyGLxnz。 + TemplateId *string `json:"template_id,omitempty"` +} + +func (o CreateAlarmTemplateResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateAlarmTemplateResponse", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_data_point_for_alarm_history.go b/services/ces/v1/model/model_data_point_for_alarm_history.go new file mode 100644 index 0000000000..bdc9e8e6eb --- /dev/null +++ b/services/ces/v1/model/model_data_point_for_alarm_history.go @@ -0,0 +1,27 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 计算出该条告警历史的资源监控数据上报时间和监控数值。 +type DataPointForAlarmHistory struct { + // 计算出该条告警历史的资源监控数据上报时间,UNIX时间戳,单位毫秒,如:1603131028000。 + Time *int64 `json:"time,omitempty"` + // 计算出该条告警历史的资源监控数据在该时间点的监控数值,如:7.019。 + Value *float64 `json:"value,omitempty"` +} + +func (o DataPointForAlarmHistory) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DataPointForAlarmHistory", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_datapoint_for_batch_metric.go b/services/ces/v1/model/model_datapoint_for_batch_metric.go index f356d1dd37..3435e3dae0 100644 --- a/services/ces/v1/model/model_datapoint_for_batch_metric.go +++ b/services/ces/v1/model/model_datapoint_for_batch_metric.go @@ -16,7 +16,15 @@ import ( // type DatapointForBatchMetric struct { // 指标值,该字段名称与请求参数中filter使用的查询值相同;字段名称可为:max/min/average/sum/variance。 - Average float64 `json:"average"` + Max *float64 `json:"max,omitempty"` + // 指标值,该字段名称与请求参数中filter使用的查询值相同;字段名称可为:max/min/average/sum/variance。 + Min *float64 `json:"min,omitempty"` + // 指标值,该字段名称与请求参数中filter使用的查询值相同;字段名称可为:max/min/average/sum/variance。 + Average *float64 `json:"average,omitempty"` + // 指标值,该字段名称与请求参数中filter使用的查询值相同;字段名称可为:max/min/average/sum/variance。 + Sum *float64 `json:"sum,omitempty"` + // 指标值,该字段名称与请求参数中filter使用的查询值相同;字段名称可为:max/min/average/sum/variance。 + Variance *string `json:"variance,omitempty"` // 指标采集时间,UNIX时间戳,单位毫秒。 Timestamp int64 `json:"timestamp"` } diff --git a/services/ces/v1/model/model_delete_alarm_template_request.go b/services/ces/v1/model/model_delete_alarm_template_request.go new file mode 100644 index 0000000000..45a0d414b8 --- /dev/null +++ b/services/ces/v1/model/model_delete_alarm_template_request.go @@ -0,0 +1,25 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteAlarmTemplateRequest struct { + ContentType string `json:"Content-Type"` + TemplateId string `json:"template_id"` +} + +func (o DeleteAlarmTemplateRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteAlarmTemplateRequest", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_delete_alarm_template_response.go b/services/ces/v1/model/model_delete_alarm_template_response.go new file mode 100644 index 0000000000..4d32b70254 --- /dev/null +++ b/services/ces/v1/model/model_delete_alarm_template_response.go @@ -0,0 +1,23 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteAlarmTemplateResponse struct { +} + +func (o DeleteAlarmTemplateResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteAlarmTemplateResponse", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_event_item.go b/services/ces/v1/model/model_event_item.go index 2ee0b8ee2c..f2b87ace41 100644 --- a/services/ces/v1/model/model_event_item.go +++ b/services/ces/v1/model/model_event_item.go @@ -17,7 +17,7 @@ import ( type EventItem struct { // 事件名称。 必须以字母开头,只能包含0-9/a-z/A-Z/_,长度最短为1,最大为64。 EventName string `json:"event_name"` - // 事件来源。 格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,总长度最短为3,最大为32。 + // 事件来源。 格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,总长度最短为3,最大为32。 EventSource *string `json:"event_source,omitempty"` // 事件发生时间。UNIX时间戳,单位毫秒。 说明: 因为客户端到服务器端有延时,因此插入数据的时间戳应该在[当前时间-1小时+20秒,当前时间+10分钟-20秒]区间内,保证到达服务器时不会因为传输时延造成数据不能插入数据库。 Time int64 `json:"time"` diff --git a/services/ces/v1/model/model_list_alarm_histories_request.go b/services/ces/v1/model/model_list_alarm_histories_request.go new file mode 100644 index 0000000000..a0825078aa --- /dev/null +++ b/services/ces/v1/model/model_list_alarm_histories_request.go @@ -0,0 +1,34 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListAlarmHistoriesRequest struct { + ContentType string `json:"Content-Type"` + GroupId *string `json:"group_id,omitempty"` + AlarmId *string `json:"alarm_id,omitempty"` + AlarmName *string `json:"alarm_name,omitempty"` + AlarmStatus *string `json:"alarm_status,omitempty"` + AlarmLevel *string `json:"alarm_level,omitempty"` + Namespace *string `json:"namespace,omitempty"` + From *string `json:"from,omitempty"` + To *string `json:"to,omitempty"` + Start *string `json:"start,omitempty"` + Limit *string `json:"limit,omitempty"` +} + +func (o ListAlarmHistoriesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListAlarmHistoriesRequest", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_list_alarm_histories_response.go b/services/ces/v1/model/model_list_alarm_histories_response.go new file mode 100644 index 0000000000..61440cdcda --- /dev/null +++ b/services/ces/v1/model/model_list_alarm_histories_response.go @@ -0,0 +1,26 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListAlarmHistoriesResponse struct { + // 一条或者多条告警历史详细信息 + AlarmHistories *[]AlarmHistoryInfo `json:"alarm_histories,omitempty"` + MetaData *MetaData `json:"meta_data,omitempty"` +} + +func (o ListAlarmHistoriesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListAlarmHistoriesResponse", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_list_alarm_templates_request.go b/services/ces/v1/model/model_list_alarm_templates_request.go new file mode 100644 index 0000000000..8147de0e7b --- /dev/null +++ b/services/ces/v1/model/model_list_alarm_templates_request.go @@ -0,0 +1,29 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListAlarmTemplatesRequest struct { + ContentType string `json:"Content-Type"` + AlarmTemplateId *string `json:"alarmTemplateId,omitempty"` + Namespace *string `json:"namespace,omitempty"` + Dname *string `json:"dname,omitempty"` + Start *string `json:"start,omitempty"` + Limit *string `json:"limit,omitempty"` +} + +func (o ListAlarmTemplatesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListAlarmTemplatesRequest", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_list_alarm_templates_response.go b/services/ces/v1/model/model_list_alarm_templates_response.go new file mode 100644 index 0000000000..8a7c7b51cf --- /dev/null +++ b/services/ces/v1/model/model_list_alarm_templates_response.go @@ -0,0 +1,26 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListAlarmTemplatesResponse struct { + // 自定义告警模板详细信息。 + AlarmTemplates *[]AlarmTemplate `json:"alarm_templates,omitempty"` + MetaData *MetaData `json:"meta_data,omitempty"` +} + +func (o ListAlarmTemplatesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListAlarmTemplatesResponse", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_metric_alarms.go b/services/ces/v1/model/model_metric_alarms.go index fec6475721..3dd3ef0073 100644 --- a/services/ces/v1/model/model_metric_alarms.go +++ b/services/ces/v1/model/model_metric_alarms.go @@ -18,9 +18,9 @@ type MetricAlarms struct { // 告警名称。 AlarmName string `json:"alarm_name"` // 告警描述。 - AlarmDescription *string `json:"alarm_description,omitempty"` - Metric *MetricInfo `json:"metric"` - Condition *Condition `json:"condition"` + AlarmDescription *string `json:"alarm_description,omitempty"` + Metric *MetricInfoForAlarm `json:"metric"` + Condition *Condition `json:"condition"` // 是否启用该条告警。 AlarmEnabled *bool `json:"alarm_enabled,omitempty"` // 告警级别,默认为2,级别为1、2、3、4。分别对应紧急、重要、次要、提示。 @@ -31,7 +31,7 @@ type MetricAlarms struct { AlarmActionEnabled *bool `json:"alarm_action_enabled,omitempty"` // 告警触发的动作。 结构如下: { \"type\": \"notification\", \"notificationList\": [\"urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd\"] } type取值: notification:通知。 autoscaling:弹性伸缩。 notificationList:告警状态发生变化时,被通知对象的列表。 AlarmActions *[]AlarmActions `json:"alarm_actions,omitempty"` - // 告警恢复触发的动作。 结构如下: { \"type\": \"notification\", \"notificationList\": [\"urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd\"] } type取值: notification:通知。 notificationList:告警状态发生变化时,被通知对象的列表。 + // 告警恢复触发的动作。 结构如下: { \"type\": \"notification\", \"notificationList\": [\"urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd\"] } type取值: notification:通知。 notificationList:告警状态发生变化时,被通知对象的列表。 OkActions *[]AlarmActions `json:"ok_actions,omitempty"` // 数据不足触发的动作。 结构如下: { \"type\": \"notification\", \"notificationList\": [\"urn:smn:southchina:68438a86d98e427e907e0097b7e35d47:sd\"] } type取值: 数据不足触发告警通知类型,取值为notification。 notificationList:数据不足触发告警通知时,被通知对象的ID列表。 InsufficientdataActions *[]AlarmActions `json:"insufficientdata_actions,omitempty"` diff --git a/services/ces/v1/model/model_metric_info_for_alarm.go b/services/ces/v1/model/model_metric_info_for_alarm.go new file mode 100644 index 0000000000..2adaedaed9 --- /dev/null +++ b/services/ces/v1/model/model_metric_info_for_alarm.go @@ -0,0 +1,33 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 创建规则中的监控信息 +type MetricInfoForAlarm struct { + // 指标维度 + Dimensions []MetricsDimension `json:"dimensions"` + // 指标名称,必须以字母开头,只能包含0-9/a-z/A-Z/_,长度最短为1,最大为64。 具体指标名请参见查询指标列表中查询出的指标名。 + MetricName string `json:"metric_name"` + // 指标命名空间,,例如弹性云服务器命名空间。格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,总长度最短为3,最大为32。说明: 当alarm_type为(EVENT.SYS| EVENT.CUSTOM)时允许为空。 + Namespace string `json:"namespace"` + // 创建告警规则是选择的资源分组ID,如:rg1603786526428bWbVmk4rP + ResourceGroupId *string `json:"resource_group_id,omitempty"` + // 创建告警规则是选择的资源分组名称,如:Resource-Group-ECS-01 + ResourceGroupName *string `json:"resource_group_name,omitempty"` +} + +func (o MetricInfoForAlarm) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"MetricInfoForAlarm", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_metrics_dimension.go b/services/ces/v1/model/model_metrics_dimension.go index e99575b5a8..33ebbd2dff 100644 --- a/services/ces/v1/model/model_metrics_dimension.go +++ b/services/ces/v1/model/model_metrics_dimension.go @@ -15,9 +15,9 @@ import ( // 指标维度 type MetricsDimension struct { - // 维度名 + // 资源维度,如:弹性云服务器,则维度为instance_id,各资源的监控指标名称可查看https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html。 Name *string `json:"name,omitempty"` - // 维度值 + // 资源维度值,为资源的实例ID,如:4270ff17-aba3-4138-89fa-820594c39755 Value *string `json:"value,omitempty"` } diff --git a/services/ces/v1/model/model_resource_group.go b/services/ces/v1/model/model_resource_group.go new file mode 100644 index 0000000000..10b3e915d6 --- /dev/null +++ b/services/ces/v1/model/model_resource_group.go @@ -0,0 +1,29 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 资源分组中的资源信息 +type ResourceGroup struct { + // 资源类型。即命名空间,如弹性云服务器的资源命名空间为:SYS.ECS;各服务命名空间可查看https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html + Namespace *string `json:"namespace,omitempty"` + // 一个或者多个资源维度。 + Dimensions *[]MetricsDimension `json:"dimensions,omitempty"` + // 资源分组的当前状态,值可为health、unhealth、no_alarm_rule;health表示健康,unhealth表示不健康,no_alarm_rule表示未设置告警规则。 + Status *string `json:"status,omitempty"` +} + +func (o ResourceGroup) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ResourceGroup", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_show_resource_group_request.go b/services/ces/v1/model/model_show_resource_group_request.go new file mode 100644 index 0000000000..4d321acc4a --- /dev/null +++ b/services/ces/v1/model/model_show_resource_group_request.go @@ -0,0 +1,30 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowResourceGroupRequest struct { + ContentType string `json:"Content-Type"` + GroupId string `json:"group_id"` + Status *string `json:"status,omitempty"` + Namespace *string `json:"namespace,omitempty"` + Dname *string `json:"dname,omitempty"` + Start *string `json:"start,omitempty"` + Limit *string `json:"limit,omitempty"` +} + +func (o ShowResourceGroupRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowResourceGroupRequest", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_show_resource_group_response.go b/services/ces/v1/model/model_show_resource_group_response.go new file mode 100644 index 0000000000..76fef2eecc --- /dev/null +++ b/services/ces/v1/model/model_show_resource_group_response.go @@ -0,0 +1,36 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowResourceGroupResponse struct { + // 资源分组的名称,如:Resource-Group-ECS-01。 + GroupName *string `json:"group_name,omitempty"` + // 资源分组的ID,如:rg1603786526428bWbVmk4rP。 + GroupId *string `json:"group_id,omitempty"` + // 一组或者多个资源信息。 + Resources *[]ResourceGroup `json:"resources,omitempty"` + // 资源分组的当前状态,值可为health、unhealth、no_alarm_rule;health表示健康,unhealth表示不健康,no_alarm_rule表示未设置告警规则。 + Status *string `json:"status,omitempty"` + // 资源分组的创建时间,UNIX时间戳,单位毫秒;如:1603819753000。 + CreateTime *int64 `json:"create_time,omitempty"` + MetaData *MetaData `json:"meta_data,omitempty"` + // 创建资源分组时关联的企业项目,默认值为0,表示企业项目为default。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o ShowResourceGroupResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowResourceGroupResponse", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_template_item.go b/services/ces/v1/model/model_template_item.go new file mode 100644 index 0000000000..f1d0a94f2d --- /dev/null +++ b/services/ces/v1/model/model_template_item.go @@ -0,0 +1,28 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 创建自定义告警模板添加的告警规则。 +type TemplateItem struct { + // 告警模板添加的监控指标,如弹性云服务器可添加的监控指标为cpu_util等,各资源的监控指标名称可查看https://support.huaweicloud.com/usermanual-ces/zh-cn_topic_0202622212.html。 + MetricName string `json:"metric_name"` + Condition *AlarmTemplateCondition `json:"condition"` + // 设置告警级别,值为1,2,3,4;1为紧急,2为重要,3为次要,4为提示。 + AlarmLevel *int32 `json:"alarm_level,omitempty"` +} + +func (o TemplateItem) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TemplateItem", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_update_alarm_template_request.go b/services/ces/v1/model/model_update_alarm_template_request.go new file mode 100644 index 0000000000..c3b47ac410 --- /dev/null +++ b/services/ces/v1/model/model_update_alarm_template_request.go @@ -0,0 +1,26 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type UpdateAlarmTemplateRequest struct { + ContentType string `json:"Content-Type"` + TemplateId string `json:"template_id"` + Body *UpdateAlarmTemplateRequestBody `json:"body,omitempty"` +} + +func (o UpdateAlarmTemplateRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateAlarmTemplateRequest", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_update_alarm_template_request_body.go b/services/ces/v1/model/model_update_alarm_template_request_body.go new file mode 100644 index 0000000000..226029c941 --- /dev/null +++ b/services/ces/v1/model/model_update_alarm_template_request_body.go @@ -0,0 +1,33 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 修改自定义告警模板,请求参数 +type UpdateAlarmTemplateRequestBody struct { + // 自定义告警模板名称,只能包含0-9/a-z/A-Z/_/-或汉字。 + TemplateName string `json:"template_name"` + // 自定义告警模板详细描述,长度为0-256。 + TemplateDescription *string `json:"template_description,omitempty"` + // 创建自定义告警模板选择的资源类型,即服务命名空间,如:选择弹性云服务器,则命名空间为SYS.ECS + Namespace string `json:"namespace"` + // 资源类型对应的指标监控维度,选择弹性云服务器,则维度为云服务器,dimension_name值为instance_id + DimensionName string `json:"dimension_name"` + // 创建自定义告警模板添加添加一个或者多个指标的告警规则;目前最多可增加30组告警规则策略。。 + TemplateItems []TemplateItem `json:"template_items"` +} + +func (o UpdateAlarmTemplateRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateAlarmTemplateRequestBody", string(data)}, " ") +} diff --git a/services/ces/v1/model/model_update_alarm_template_response.go b/services/ces/v1/model/model_update_alarm_template_response.go new file mode 100644 index 0000000000..c34253db8d --- /dev/null +++ b/services/ces/v1/model/model_update_alarm_template_response.go @@ -0,0 +1,23 @@ +/* + * CES + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type UpdateAlarmTemplateResponse struct { +} + +func (o UpdateAlarmTemplateResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateAlarmTemplateResponse", string(data)}, " ") +} diff --git a/services/classroom/v3/classroom_client.go b/services/classroom/v3/classroom_client.go index cc7e2ac4d4..1e1e694431 100644 --- a/services/classroom/v3/classroom_client.go +++ b/services/classroom/v3/classroom_client.go @@ -20,96 +20,88 @@ func ClassroomClientBuilder() *http_client.HcHttpClientBuilder { //根据课堂ID获取指定课堂的课堂成员列表,支持分页,搜索字段默认同时匹配姓名,学号,用户名,班级。 func (c *ClassroomClient) ListClassroomMembers(request *model.ListClassroomMembersRequest) (*model.ListClassroomMembersResponse, error) { - requestDef := GenReqDefForListClassroomMembers(request) - resp, responseDef := GenRespForListClassroomMembers() + requestDef := GenReqDefForListClassroomMembers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListClassroomMembersResponse), nil } } //获取当前用户的课堂列表,课堂课表分为我创建的课堂,我加入的课堂以及所有课堂,支持分页查询。 func (c *ClassroomClient) ListClassrooms(request *model.ListClassroomsRequest) (*model.ListClassroomsResponse, error) { - requestDef := GenReqDefForListClassrooms(request) - resp, responseDef := GenRespForListClassrooms() + requestDef := GenReqDefForListClassrooms() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListClassroomsResponse), nil } } //根据课堂ID获取指定课堂的详细信息 func (c *ClassroomClient) ShowClassroomDetail(request *model.ShowClassroomDetailRequest) (*model.ShowClassroomDetailResponse, error) { - requestDef := GenReqDefForShowClassroomDetail(request) - resp, responseDef := GenRespForShowClassroomDetail() + requestDef := GenReqDefForShowClassroomDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowClassroomDetailResponse), nil } } //查询课堂下指定成员的作业信息 func (c *ClassroomClient) ListClassroomMemberJobs(request *model.ListClassroomMemberJobsRequest) (*model.ListClassroomMemberJobsResponse, error) { - requestDef := GenReqDefForListClassroomMemberJobs(request) - resp, responseDef := GenRespForListClassroomMemberJobs() + requestDef := GenReqDefForListClassroomMemberJobs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListClassroomMemberJobsResponse), nil } } //查询指定课堂下的作业列表信息,支持分页查询。 func (c *ClassroomClient) ListJobs(request *model.ListJobsRequest) (*model.ListJobsResponse, error) { - requestDef := GenReqDefForListJobs(request) - resp, responseDef := GenRespForListJobs() + requestDef := GenReqDefForListJobs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListJobsResponse), nil } } //查询学生指定作业的习题提交记录信息(针对函数习题) func (c *ClassroomClient) ListMemberJobRecords(request *model.ListMemberJobRecordsRequest) (*model.ListMemberJobRecordsResponse, error) { - requestDef := GenReqDefForListMemberJobRecords(request) - resp, responseDef := GenRespForListMemberJobRecords() + requestDef := GenReqDefForListMemberJobRecords() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListMemberJobRecordsResponse), nil } } //根据作业ID,查询指定作业的信息 func (c *ClassroomClient) ShowJobDetail(request *model.ShowJobDetailRequest) (*model.ShowJobDetailResponse, error) { - requestDef := GenReqDefForShowJobDetail(request) - resp, responseDef := GenRespForShowJobDetail() + requestDef := GenReqDefForShowJobDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowJobDetailResponse), nil } } //查询指定作业下的习题信息 func (c *ClassroomClient) ShowJobExercises(request *model.ShowJobExercisesRequest) (*model.ShowJobExercisesResponse, error) { - requestDef := GenReqDefForShowJobExercises(request) - resp, responseDef := GenRespForShowJobExercises() + requestDef := GenReqDefForShowJobExercises() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowJobExercisesResponse), nil } } diff --git a/services/classroom/v3/classroom_meta.go b/services/classroom/v3/classroom_meta.go index 2a86aeeaef..f8e1d067af 100644 --- a/services/classroom/v3/classroom_meta.go +++ b/services/classroom/v3/classroom_meta.go @@ -6,287 +6,228 @@ import ( "net/http" ) -func GenReqDefForListClassroomMembers(request *model.ListClassroomMembersRequest) *def.HttpRequestDef { +func GenReqDefForListClassroomMembers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/classrooms/{classroom_id}/members") + WithPath("/v3/classrooms/{classroom_id}/members"). + WithResponse(new(model.ListClassroomMembersResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("classroom_id"). + WithName("ClassroomId"). + WithJsonTag("classroom_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("filter"). + WithName("Filter"). + WithJsonTag("filter"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListClassroomMembers() (*model.ListClassroomMembersResponse, *def.HttpResponseDef) { - resp := new(model.ListClassroomMembersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListClassrooms(request *model.ListClassroomsRequest) *def.HttpRequestDef { +func GenReqDefForListClassrooms() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/classrooms") + WithPath("/v3/classrooms"). + WithResponse(new(model.ListClassroomsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("query_type"). + WithName("QueryType"). + WithJsonTag("query_type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListClassrooms() (*model.ListClassroomsResponse, *def.HttpResponseDef) { - resp := new(model.ListClassroomsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowClassroomDetail(request *model.ShowClassroomDetailRequest) *def.HttpRequestDef { +func GenReqDefForShowClassroomDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/classrooms/{classroom_id}") + WithPath("/v3/classrooms/{classroom_id}"). + WithResponse(new(model.ShowClassroomDetailResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("classroom_id"). + WithName("ClassroomId"). + WithJsonTag("classroom_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowClassroomDetail() (*model.ShowClassroomDetailResponse, *def.HttpResponseDef) { - resp := new(model.ShowClassroomDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListClassroomMemberJobs(request *model.ListClassroomMemberJobsRequest) *def.HttpRequestDef { +func GenReqDefForListClassroomMemberJobs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/classrooms/{classroom_id}/jobs") + WithPath("/v3/classrooms/{classroom_id}/jobs"). + WithResponse(new(model.ListClassroomMemberJobsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("classroom_id"). + WithName("ClassroomId"). + WithJsonTag("classroom_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListClassroomMemberJobs() (*model.ListClassroomMemberJobsResponse, *def.HttpResponseDef) { - resp := new(model.ListClassroomMemberJobsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListJobs(request *model.ListJobsRequest) *def.HttpRequestDef { +func GenReqDefForListJobs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/jobs") + WithPath("/v3/jobs"). + WithResponse(new(model.ListJobsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("source_from"). + WithName("SourceFrom"). + WithJsonTag("source_from"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("source_id"). + WithName("SourceId"). + WithJsonTag("source_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListJobs() (*model.ListJobsResponse, *def.HttpResponseDef) { - resp := new(model.ListJobsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListMemberJobRecords(request *model.ListMemberJobRecordsRequest) *def.HttpRequestDef { +func GenReqDefForListMemberJobRecords() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/jobs/{job_id}/exercises/{exercise_id}/records") + WithPath("/v3/jobs/{job_id}/exercises/{exercise_id}/records"). + WithResponse(new(model.ListMemberJobRecordsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("job_id"). + WithName("JobId"). + WithJsonTag("job_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("exercise_id"). + WithName("ExerciseId"). + WithJsonTag("exercise_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListMemberJobRecords() (*model.ListMemberJobRecordsResponse, *def.HttpResponseDef) { - resp := new(model.ListMemberJobRecordsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowJobDetail(request *model.ShowJobDetailRequest) *def.HttpRequestDef { +func GenReqDefForShowJobDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/jobs/{job_id}") + WithPath("/v3/jobs/{job_id}"). + WithResponse(new(model.ShowJobDetailResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("job_id"). + WithName("JobId"). + WithJsonTag("job_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowJobDetail() (*model.ShowJobDetailResponse, *def.HttpResponseDef) { - resp := new(model.ShowJobDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowJobExercises(request *model.ShowJobExercisesRequest) *def.HttpRequestDef { +func GenReqDefForShowJobExercises() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/jobs/{job_id}/exercises") + WithPath("/v3/jobs/{job_id}/exercises"). + WithResponse(new(model.ShowJobExercisesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("job_id"). + WithName("JobId"). + WithJsonTag("job_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("source_from"). + WithName("SourceFrom"). + WithJsonTag("source_from"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("source_id"). + WithName("SourceId"). + WithJsonTag("source_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForShowJobExercises() (*model.ShowJobExercisesResponse, *def.HttpResponseDef) { - resp := new(model.ShowJobExercisesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/cloudide/v2/cloudide_client.go b/services/cloudide/v2/cloudide_client.go index dede985ae7..62eb07c43a 100644 --- a/services/cloudide/v2/cloudide_client.go +++ b/services/cloudide/v2/cloudide_client.go @@ -20,156 +20,143 @@ func CloudideClientBuilder() *http_client.HcHttpClientBuilder { //查询技术栈模板工程 func (c *CloudideClient) ListProjectTemplates(request *model.ListProjectTemplatesRequest) (*model.ListProjectTemplatesResponse, error) { - requestDef := GenReqDefForListProjectTemplates(request) - resp, responseDef := GenRespForListProjectTemplates() + requestDef := GenReqDefForListProjectTemplates() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListProjectTemplatesResponse), nil } } //获取标签所有技术栈 func (c *CloudideClient) ListStacksByTag(request *model.ListStacksByTagRequest) (*model.ListStacksByTagResponse, error) { - requestDef := GenReqDefForListStacksByTag(request) - resp, responseDef := GenRespForListStacksByTag() + requestDef := GenReqDefForListStacksByTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListStacksByTagResponse), nil } } //获取技术栈计费信息 func (c *CloudideClient) ShowPrice(request *model.ShowPriceRequest) (*model.ShowPriceResponse, error) { - requestDef := GenReqDefForShowPrice(request) - resp, responseDef := GenRespForShowPrice() + requestDef := GenReqDefForShowPrice() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPriceResponse), nil } } //查询IDE实例名是否重复 func (c *CloudideClient) CheckName(request *model.CheckNameRequest) (*model.CheckNameResponse, error) { - requestDef := GenReqDefForCheckName(request) - resp, responseDef := GenRespForCheckName() + requestDef := GenReqDefForCheckName() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CheckNameResponse), nil } } //创建IDE实例 func (c *CloudideClient) CreateInstance(request *model.CreateInstanceRequest) (*model.CreateInstanceResponse, error) { - requestDef := GenReqDefForCreateInstance(request) - resp, responseDef := GenRespForCreateInstance() + requestDef := GenReqDefForCreateInstance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateInstanceResponse), nil } } //创建IDE实例 func (c *CloudideClient) CreateInstanceBy3rd(request *model.CreateInstanceBy3rdRequest) (*model.CreateInstanceBy3rdResponse, error) { - requestDef := GenReqDefForCreateInstanceBy3rd(request) - resp, responseDef := GenRespForCreateInstanceBy3rd() + requestDef := GenReqDefForCreateInstanceBy3rd() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateInstanceBy3rdResponse), nil } } //删除IDE实例(同时删除磁盘数据) func (c *CloudideClient) DeleteInstance(request *model.DeleteInstanceRequest) (*model.DeleteInstanceResponse, error) { - requestDef := GenReqDefForDeleteInstance(request) - resp, responseDef := GenRespForDeleteInstance() + requestDef := GenReqDefForDeleteInstance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteInstanceResponse), nil } } //查询IDE实例列表 func (c *CloudideClient) ListInstances(request *model.ListInstancesRequest) (*model.ListInstancesResponse, error) { - requestDef := GenReqDefForListInstances(request) - resp, responseDef := GenRespForListInstances() + requestDef := GenReqDefForListInstances() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListInstancesResponse), nil } } //查询某个组织下的IDE实例列表 func (c *CloudideClient) ListOrgInstances(request *model.ListOrgInstancesRequest) (*model.ListOrgInstancesResponse, error) { - requestDef := GenReqDefForListOrgInstances(request) - resp, responseDef := GenRespForListOrgInstances() + requestDef := GenReqDefForListOrgInstances() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListOrgInstancesResponse), nil } } //查询某个IDE实例 func (c *CloudideClient) ShowInstance(request *model.ShowInstanceRequest) (*model.ShowInstanceResponse, error) { - requestDef := GenReqDefForShowInstance(request) - resp, responseDef := GenRespForShowInstance() + requestDef := GenReqDefForShowInstance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowInstanceResponse), nil } } //启动IDE实例 func (c *CloudideClient) StartInstance(request *model.StartInstanceRequest) (*model.StartInstanceResponse, error) { - requestDef := GenReqDefForStartInstance(request) - resp, responseDef := GenRespForStartInstance() + requestDef := GenReqDefForStartInstance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.StartInstanceResponse), nil } } //停止IDE实例(不删除磁盘数据) func (c *CloudideClient) StopInstance(request *model.StopInstanceRequest) (*model.StopInstanceResponse, error) { - requestDef := GenReqDefForStopInstance(request) - resp, responseDef := GenRespForStopInstance() + requestDef := GenReqDefForStopInstance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.StopInstanceResponse), nil } } //修改IDE实例 func (c *CloudideClient) UpdateInstance(request *model.UpdateInstanceRequest) (*model.UpdateInstanceResponse, error) { - requestDef := GenReqDefForUpdateInstance(request) - resp, responseDef := GenRespForUpdateInstance() + requestDef := GenReqDefForUpdateInstance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateInstanceResponse), nil } } diff --git a/services/cloudide/v2/cloudide_meta.go b/services/cloudide/v2/cloudide_meta.go index 9d0d3ce1d4..f3edb60150 100644 --- a/services/cloudide/v2/cloudide_meta.go +++ b/services/cloudide/v2/cloudide_meta.go @@ -6,399 +6,289 @@ import ( "net/http" ) -func GenReqDefForListProjectTemplates(request *model.ListProjectTemplatesRequest) *def.HttpRequestDef { +func GenReqDefForListProjectTemplates() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/templates") + WithPath("/v2/templates"). + WithResponse(new(model.ListProjectTemplatesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("arch"). + WithName("Arch"). + WithJsonTag("arch"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stack_id"). + WithName("StackId"). + WithJsonTag("stack_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListProjectTemplates() (*model.ListProjectTemplatesResponse, *def.HttpResponseDef) { - resp := new(model.ListProjectTemplatesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListStacksByTag(request *model.ListStacksByTagRequest) *def.HttpRequestDef { +func GenReqDefForListStacksByTag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/stacks") + WithPath("/v2/stacks"). + WithResponse(new(model.ListStacksByTagResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tags"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Tags"). + WithJsonTag("tags"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListStacksByTag() (*model.ListStacksByTagResponse, *def.HttpResponseDef) { - resp := new(model.ListStacksByTagResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPrice(request *model.ShowPriceRequest) *def.HttpRequestDef { +func GenReqDefForShowPrice() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/stacks/price") + WithPath("/v2/stacks/price"). + WithResponse(new(model.ShowPriceResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPrice() (*model.ShowPriceResponse, *def.HttpResponseDef) { - resp := new(model.ShowPriceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCheckName(request *model.CheckNameRequest) *def.HttpRequestDef { +func GenReqDefForCheckName() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/instances/duplicate") + WithPath("/v2/instances/duplicate"). + WithResponse(new(model.CheckNameResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("display_name"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("DisplayName"). + WithJsonTag("display_name"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCheckName() (*model.CheckNameResponse, *def.HttpResponseDef) { - resp := new(model.CheckNameResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateInstance(request *model.CreateInstanceRequest) *def.HttpRequestDef { +func GenReqDefForCreateInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{org_id}/instances"). + WithResponse(new(model.CreateInstanceResponse)). WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("org_id"). + WithName("OrgId"). + WithJsonTag("org_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateInstance() (*model.CreateInstanceResponse, *def.HttpResponseDef) { - resp := new(model.CreateInstanceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateInstanceBy3rd(request *model.CreateInstanceBy3rdRequest) *def.HttpRequestDef { +func GenReqDefForCreateInstanceBy3rd() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/instances"). + WithResponse(new(model.CreateInstanceBy3rdResponse)). WithContentType("application/json") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_label"). + WithName("InstanceLabel"). + WithJsonTag("instance_label"). WithLocationType(def.Query)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateInstanceBy3rd() (*model.CreateInstanceBy3rdResponse, *def.HttpResponseDef) { - resp := new(model.CreateInstanceBy3rdResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteInstance(request *model.DeleteInstanceRequest) *def.HttpRequestDef { +func GenReqDefForDeleteInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/instances/{instance_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). - WithLocationType(def.Path)) + WithPath("/v2/instances/{instance_id}"). + WithResponse(new(model.DeleteInstanceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteInstance() (*model.DeleteInstanceResponse, *def.HttpResponseDef) { - resp := new(model.DeleteInstanceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListInstances(request *model.ListInstancesRequest) *def.HttpRequestDef { +func GenReqDefForListInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/instances") + WithPath("/v2/instances"). + WithResponse(new(model.ListInstancesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("search"). + WithName("Search"). + WithJsonTag("search"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_dir"). + WithName("SortDir"). + WithJsonTag("sort_dir"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_key"). + WithName("SortKey"). + WithJsonTag("sort_key"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListInstances() (*model.ListInstancesResponse, *def.HttpResponseDef) { - resp := new(model.ListInstancesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListOrgInstances(request *model.ListOrgInstancesRequest) *def.HttpRequestDef { +func GenReqDefForListOrgInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{org_id}/instances") + WithPath("/v2/{org_id}/instances"). + WithResponse(new(model.ListOrgInstancesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("org_id"). + WithName("OrgId"). + WithJsonTag("org_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("is_temporary"). + WithName("IsTemporary"). + WithJsonTag("is_temporary"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("search"). + WithName("Search"). + WithJsonTag("search"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListOrgInstances() (*model.ListOrgInstancesResponse, *def.HttpResponseDef) { - resp := new(model.ListOrgInstancesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowInstance(request *model.ShowInstanceRequest) *def.HttpRequestDef { +func GenReqDefForShowInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/instances/{instance_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). - WithLocationType(def.Path)) + WithPath("/v2/instances/{instance_id}"). + WithResponse(new(model.ShowInstanceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowInstance() (*model.ShowInstanceResponse, *def.HttpResponseDef) { - resp := new(model.ShowInstanceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForStartInstance(request *model.StartInstanceRequest) *def.HttpRequestDef { +func GenReqDefForStartInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v2/instances/{instance_id}/runtime") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). - WithLocationType(def.Path)) + WithPath("/v2/instances/{instance_id}/runtime"). + WithResponse(new(model.StartInstanceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForStartInstance() (*model.StartInstanceResponse, *def.HttpResponseDef) { - resp := new(model.StartInstanceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForStopInstance(request *model.StopInstanceRequest) *def.HttpRequestDef { +func GenReqDefForStopInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/instances/{instance_id}/runtime") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). - WithLocationType(def.Path)) + WithPath("/v2/instances/{instance_id}/runtime"). + WithResponse(new(model.StopInstanceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForStopInstance() (*model.StopInstanceResponse, *def.HttpResponseDef) { - resp := new(model.StopInstanceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateInstance(request *model.UpdateInstanceRequest) *def.HttpRequestDef { +func GenReqDefForUpdateInstance() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/instances/{instance_id}"). + WithResponse(new(model.UpdateInstanceResponse)). WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_id"). + WithName("InstanceId"). + WithJsonTag("instance_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateInstance() (*model.UpdateInstanceResponse, *def.HttpResponseDef) { - resp := new(model.UpdateInstanceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/cloudpipeline/v2/devcloudpipeline_client.go b/services/cloudpipeline/v2/devcloudpipeline_client.go index 202fdaed14..e0bbb2caae 100644 --- a/services/cloudpipeline/v2/devcloudpipeline_client.go +++ b/services/cloudpipeline/v2/devcloudpipeline_client.go @@ -20,144 +20,132 @@ func DevcloudpipelineClientBuilder() *http_client.HcHttpClientBuilder { //批量获取流水线状态和阶段信息 func (c *DevcloudpipelineClient) BatchShowPipelinesStatus(request *model.BatchShowPipelinesStatusRequest) (*model.BatchShowPipelinesStatusResponse, error) { - requestDef := GenReqDefForBatchShowPipelinesStatus(request) - resp, responseDef := GenRespForBatchShowPipelinesStatus() + requestDef := GenReqDefForBatchShowPipelinesStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchShowPipelinesStatusResponse), nil } } //基于模板快速创建流水线及流水线内任务 func (c *DevcloudpipelineClient) CreatePipelineByTemplate(request *model.CreatePipelineByTemplateRequest) (*model.CreatePipelineByTemplateResponse, error) { - requestDef := GenReqDefForCreatePipelineByTemplate(request) - resp, responseDef := GenRespForCreatePipelineByTemplate() + requestDef := GenReqDefForCreatePipelineByTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePipelineByTemplateResponse), nil } } //查询模板列表,支持分页查询,支持模板名字模糊查询 func (c *DevcloudpipelineClient) ListTemplates(request *model.ListTemplatesRequest) (*model.ListTemplatesResponse, error) { - requestDef := GenReqDefForListTemplates(request) - resp, responseDef := GenRespForListTemplates() + requestDef := GenReqDefForListTemplates() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTemplatesResponse), nil } } //注册创建Slave接口 func (c *DevcloudpipelineClient) RegisterAgent(request *model.RegisterAgentRequest) (*model.RegisterAgentResponse, error) { - requestDef := GenReqDefForRegisterAgent(request) - resp, responseDef := GenRespForRegisterAgent() + requestDef := GenReqDefForRegisterAgent() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RegisterAgentResponse), nil } } //根据id删除流水线 func (c *DevcloudpipelineClient) RemovePipeline(request *model.RemovePipelineRequest) (*model.RemovePipelineResponse, error) { - requestDef := GenReqDefForRemovePipeline(request) - resp, responseDef := GenRespForRemovePipeline() + requestDef := GenReqDefForRemovePipeline() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RemovePipelineResponse), nil } } //Agent状态查询 func (c *DevcloudpipelineClient) ShowAgentStatus(request *model.ShowAgentStatusRequest) (*model.ShowAgentStatusResponse, error) { - requestDef := GenReqDefForShowAgentStatus(request) - resp, responseDef := GenRespForShowAgentStatus() + requestDef := GenReqDefForShowAgentStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowAgentStatusResponse), nil } } //检查流水线创建状态 func (c *DevcloudpipelineClient) ShowInstanceStatus(request *model.ShowInstanceStatusRequest) (*model.ShowInstanceStatusResponse, error) { - requestDef := GenReqDefForShowInstanceStatus(request) - resp, responseDef := GenRespForShowInstanceStatus() + requestDef := GenReqDefForShowInstanceStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowInstanceStatusResponse), nil } } //获取流水线状态,阶段及任务信息 func (c *DevcloudpipelineClient) ShowPipleineStatus(request *model.ShowPipleineStatusRequest) (*model.ShowPipleineStatusResponse, error) { - requestDef := GenReqDefForShowPipleineStatus(request) - resp, responseDef := GenRespForShowPipleineStatus() + requestDef := GenReqDefForShowPipleineStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPipleineStatusResponse), nil } } //查询模板详情 func (c *DevcloudpipelineClient) ShowTemplateDetail(request *model.ShowTemplateDetailRequest) (*model.ShowTemplateDetailResponse, error) { - requestDef := GenReqDefForShowTemplateDetail(request) - resp, responseDef := GenRespForShowTemplateDetail() + requestDef := GenReqDefForShowTemplateDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowTemplateDetailResponse), nil } } //启动流水线 func (c *DevcloudpipelineClient) StartNewPipeline(request *model.StartNewPipelineRequest) (*model.StartNewPipelineResponse, error) { - requestDef := GenReqDefForStartNewPipeline(request) - resp, responseDef := GenRespForStartNewPipeline() + requestDef := GenReqDefForStartNewPipeline() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.StartNewPipelineResponse), nil } } //执行流水线 func (c *DevcloudpipelineClient) StartPipeline(request *model.StartPipelineRequest) (*model.StartPipelineResponse, error) { - requestDef := GenReqDefForStartPipeline(request) - resp, responseDef := GenRespForStartPipeline() + requestDef := GenReqDefForStartPipeline() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.StartPipelineResponse), nil } } //停止流水线 func (c *DevcloudpipelineClient) StopPipeline(request *model.StopPipelineRequest) (*model.StopPipelineResponse, error) { - requestDef := GenReqDefForStopPipeline(request) - resp, responseDef := GenRespForStopPipeline() + requestDef := GenReqDefForStopPipeline() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.StopPipelineResponse), nil } } diff --git a/services/cloudpipeline/v2/devcloudpipeline_meta.go b/services/cloudpipeline/v2/devcloudpipeline_meta.go index dfd1688e59..db5b816a37 100644 --- a/services/cloudpipeline/v2/devcloudpipeline_meta.go +++ b/services/cloudpipeline/v2/devcloudpipeline_meta.go @@ -6,415 +6,326 @@ import ( "net/http" ) -func GenReqDefForBatchShowPipelinesStatus(request *model.BatchShowPipelinesStatusRequest) *def.HttpRequestDef { +func GenReqDefForBatchShowPipelinesStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/pipelines/status") + WithPath("/v3/pipelines/status"). + WithResponse(new(model.BatchShowPipelinesStatusResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pipeline_ids"). + WithName("PipelineIds"). + WithJsonTag("pipeline_ids"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchShowPipelinesStatus() (*model.BatchShowPipelinesStatusResponse, *def.HttpResponseDef) { - resp := new(model.BatchShowPipelinesStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePipelineByTemplate(request *model.CreatePipelineByTemplateRequest) *def.HttpRequestDef { +func GenReqDefForCreatePipelineByTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/templates/task"). + WithResponse(new(model.CreatePipelineByTemplateResponse)). WithContentType("application/json") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePipelineByTemplate() (*model.CreatePipelineByTemplateResponse, *def.HttpResponseDef) { - resp := new(model.CreatePipelineByTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListTemplates(request *model.ListTemplatesRequest) *def.HttpRequestDef { +func GenReqDefForListTemplates() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/templates") + WithPath("/v3/templates"). + WithResponse(new(model.ListTemplatesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("template_type"). + WithName("TemplateType"). + WithJsonTag("template_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("is_build_in"). + WithName("IsBuildIn"). + WithJsonTag("is_build_in"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort"). + WithName("Sort"). + WithJsonTag("sort"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("asc"). + WithName("Asc"). + WithJsonTag("asc"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTemplates() (*model.ListTemplatesResponse, *def.HttpResponseDef) { - resp := new(model.ListTemplatesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRegisterAgent(request *model.RegisterAgentRequest) *def.HttpRequestDef { +func GenReqDefForRegisterAgent() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/agentregister/v1/agent/register"). + WithResponse(new(model.RegisterAgentResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRegisterAgent() (*model.RegisterAgentResponse, *def.HttpResponseDef) { - resp := new(model.RegisterAgentResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRemovePipeline(request *model.RemovePipelineRequest) *def.HttpRequestDef { +func GenReqDefForRemovePipeline() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/pipelines/{pipeline_id}") + WithPath("/v3/pipelines/{pipeline_id}"). + WithResponse(new(model.RemovePipelineResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pipeline_id"). + WithName("PipelineId"). + WithJsonTag("pipeline_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRemovePipeline() (*model.RemovePipelineResponse, *def.HttpResponseDef) { - resp := new(model.RemovePipelineResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowAgentStatus(request *model.ShowAgentStatusRequest) *def.HttpRequestDef { +func GenReqDefForShowAgentStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/agents/{agent_id}/status") + WithPath("/v1/agents/{agent_id}/status"). + WithResponse(new(model.ShowAgentStatusResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agent_id"). + WithName("AgentId"). + WithJsonTag("agent_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowAgentStatus() (*model.ShowAgentStatusResponse, *def.HttpResponseDef) { - resp := new(model.ShowAgentStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowInstanceStatus(request *model.ShowInstanceStatusRequest) *def.HttpRequestDef { +func GenReqDefForShowInstanceStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/templates/{task_id}/status") + WithPath("/v3/templates/{task_id}/status"). + WithResponse(new(model.ShowInstanceStatusResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowInstanceStatus() (*model.ShowInstanceStatusResponse, *def.HttpResponseDef) { - resp := new(model.ShowInstanceStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPipleineStatus(request *model.ShowPipleineStatusRequest) *def.HttpRequestDef { +func GenReqDefForShowPipleineStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/pipelines/{pipeline_id}/status") + WithPath("/v3/pipelines/{pipeline_id}/status"). + WithResponse(new(model.ShowPipleineStatusResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pipeline_id"). + WithName("PipelineId"). + WithJsonTag("pipeline_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("build_id"). + WithName("BuildId"). + WithJsonTag("build_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPipleineStatus() (*model.ShowPipleineStatusResponse, *def.HttpResponseDef) { - resp := new(model.ShowPipleineStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowTemplateDetail(request *model.ShowTemplateDetailRequest) *def.HttpRequestDef { +func GenReqDefForShowTemplateDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/templates/{template_id}") + WithPath("/v3/templates/{template_id}"). + WithResponse(new(model.ShowTemplateDetailResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("template_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("template_type"). + WithName("TemplateType"). + WithJsonTag("template_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("source"). + WithName("Source"). + WithJsonTag("source"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowTemplateDetail() (*model.ShowTemplateDetailResponse, *def.HttpResponseDef) { - resp := new(model.ShowTemplateDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForStartNewPipeline(request *model.StartNewPipelineRequest) *def.HttpRequestDef { +func GenReqDefForStartNewPipeline() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/pipelines/{pipeline_id}/start"). + WithResponse(new(model.StartNewPipelineResponse)). WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pipeline_id"). + WithName("PipelineId"). + WithJsonTag("pipeline_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForStartNewPipeline() (*model.StartNewPipelineResponse, *def.HttpResponseDef) { - resp := new(model.StartNewPipelineResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForStartPipeline(request *model.StartPipelineRequest) *def.HttpRequestDef { +func GenReqDefForStartPipeline() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). - WithPath("/v3/pipelines/start") + WithPath("/v3/pipelines/start"). + WithResponse(new(model.StartPipelineResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pipeline_id"). + WithName("PipelineId"). + WithJsonTag("pipeline_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForStartPipeline() (*model.StartPipelineResponse, *def.HttpResponseDef) { - resp := new(model.StartPipelineResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForStopPipeline(request *model.StopPipelineRequest) *def.HttpRequestDef { +func GenReqDefForStopPipeline() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). - WithPath("/v3/pipelines/stop") + WithPath("/v3/pipelines/stop"). + WithResponse(new(model.StopPipelineResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pipeline_id"). + WithName("PipelineId"). + WithJsonTag("pipeline_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("build_id"). + WithName("BuildId"). + WithJsonTag("build_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForStopPipeline() (*model.StopPipelineResponse, *def.HttpResponseDef) { - resp := new(model.StopPipelineResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/cts/v3/cts_client.go b/services/cts/v3/cts_client.go index e9f0df08c2..b3853aa060 100644 --- a/services/cts/v3/cts_client.go +++ b/services/cts/v3/cts_client.go @@ -20,60 +20,66 @@ func CtsClientBuilder() *http_client.HcHttpClientBuilder { //云审计服务开通后系统会自动创建一个追踪器,用来关联系统记录的所有操作。目前,一个云账户在一个Region下支持创建一个管理类追踪器和多个数据类追踪器。 云审计服务支持在管理控制台查询近7天内的操作记录。如需保存更长时间的操作记录,您可以在创建追踪器之后通过对象存储服务(Object Storage Service,以下简称OBS)将操作记录实时保存至OBS桶中。 func (c *CtsClient) CreateTracker(request *model.CreateTrackerRequest) (*model.CreateTrackerResponse, error) { - requestDef := GenReqDefForCreateTracker(request) - resp, responseDef := GenRespForCreateTracker() + requestDef := GenReqDefForCreateTracker() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateTrackerResponse), nil } } //云审计服务目前仅支持删除已创建的数据类追踪器。删除追踪器对已有的操作记录没有影响,当您重新开通云审计服务后,依旧可以查看已有的操作记录。 func (c *CtsClient) DeleteTracker(request *model.DeleteTrackerRequest) (*model.DeleteTrackerResponse, error) { - requestDef := GenReqDefForDeleteTracker(request) - resp, responseDef := GenRespForDeleteTracker() + requestDef := GenReqDefForDeleteTracker() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteTrackerResponse), nil + } +} + +//查询租户追踪器配额信息。 +func (c *CtsClient) ListQuotas(request *model.ListQuotasRequest) (*model.ListQuotasResponse, error) { + requestDef := GenReqDefForListQuotas() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListQuotasResponse), nil } } //通过事件列表查询接口,可以查出系统记录的7天内资源操作记录。 func (c *CtsClient) ListTraces(request *model.ListTracesRequest) (*model.ListTracesResponse, error) { - requestDef := GenReqDefForListTraces(request) - resp, responseDef := GenRespForListTraces() + requestDef := GenReqDefForListTraces() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTracesResponse), nil } } //开通云审计服务成功后,您可以在追踪器信息页面查看追踪器的详细信息。详细信息主要包括追踪器名称,用于存储操作事件的OBS桶名称和OBS桶中的事件文件前缀。 func (c *CtsClient) ListTrackers(request *model.ListTrackersRequest) (*model.ListTrackersResponse, error) { - requestDef := GenReqDefForListTrackers(request) - resp, responseDef := GenRespForListTrackers() + requestDef := GenReqDefForListTrackers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTrackersResponse), nil } } //云审计服务支持修改已创建追踪器的配置项,包括OBS桶转储、关键事件通知、事件转储加密、通过LTS对管理类事件进行检索、事件文件完整性校验以及追踪器启停状态等相关参数,修改追踪器对已有的操作记录没有影响。修改追踪器完成后,系统立即以新的规则开始记录操作。 func (c *CtsClient) UpdateTracker(request *model.UpdateTrackerRequest) (*model.UpdateTrackerResponse, error) { - requestDef := GenReqDefForUpdateTracker(request) - resp, responseDef := GenRespForUpdateTracker() + requestDef := GenReqDefForUpdateTracker() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateTrackerResponse), nil } } diff --git a/services/cts/v3/cts_meta.go b/services/cts/v3/cts_meta.go index 59b49df045..7dfb74a58a 100644 --- a/services/cts/v3/cts_meta.go +++ b/services/cts/v3/cts_meta.go @@ -6,185 +6,171 @@ import ( "net/http" ) -func GenReqDefForCreateTracker(request *model.CreateTrackerRequest) *def.HttpRequestDef { +func GenReqDefForCreateTracker() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/tracker"). + WithResponse(new(model.CreateTrackerResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateTracker() (*model.CreateTrackerResponse, *def.HttpResponseDef) { - resp := new(model.CreateTrackerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteTracker(request *model.DeleteTrackerRequest) *def.HttpRequestDef { +func GenReqDefForDeleteTracker() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/trackers") + WithPath("/v3/{project_id}/trackers"). + WithResponse(new(model.DeleteTrackerResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tracker_name"). + WithName("TrackerName"). + WithJsonTag("tracker_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tracker_type"). + WithName("TrackerType"). + WithJsonTag("tracker_type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteTracker() (*model.DeleteTrackerResponse, *def.HttpResponseDef) { - resp := new(model.DeleteTrackerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForListQuotas() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/{project_id}/quotas"). + WithResponse(new(model.ListQuotasResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForListTraces(request *model.ListTracesRequest) *def.HttpRequestDef { +func GenReqDefForListTraces() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/traces") + WithPath("/v3/{project_id}/traces"). + WithResponse(new(model.ListTracesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("trace_type"). + WithName("TraceType"). + WithJsonTag("trace_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("from"). + WithName("From"). + WithJsonTag("from"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("next"). + WithName("Next"). + WithJsonTag("next"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("to"). + WithName("To"). + WithJsonTag("to"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tracker_name"). + WithName("TrackerName"). + WithJsonTag("tracker_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("service_type"). + WithName("ServiceType"). + WithJsonTag("service_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user"). + WithName("User"). + WithJsonTag("user"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_id"). + WithName("ResourceId"). + WithJsonTag("resource_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_name"). + WithName("ResourceName"). + WithJsonTag("resource_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_type"). + WithName("ResourceType"). + WithJsonTag("resource_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("trace_id"). + WithName("TraceId"). + WithJsonTag("trace_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("trace_name"). + WithName("TraceName"). + WithJsonTag("trace_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("trace_rating"). + WithName("TraceRating"). + WithJsonTag("trace_rating"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTraces() (*model.ListTracesResponse, *def.HttpResponseDef) { - resp := new(model.ListTracesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListTrackers(request *model.ListTrackersRequest) *def.HttpRequestDef { +func GenReqDefForListTrackers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/trackers") + WithPath("/v3/{project_id}/trackers"). + WithResponse(new(model.ListTrackersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tracker_name"). + WithName("TrackerName"). + WithJsonTag("tracker_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tracker_type"). + WithName("TrackerType"). + WithJsonTag("tracker_type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTrackers() (*model.ListTrackersResponse, *def.HttpResponseDef) { - resp := new(model.ListTrackersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateTracker(request *model.UpdateTrackerRequest) *def.HttpRequestDef { +func GenReqDefForUpdateTracker() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/tracker"). + WithResponse(new(model.UpdateTrackerResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateTracker() (*model.UpdateTrackerResponse, *def.HttpResponseDef) { - resp := new(model.UpdateTrackerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/cts/v3/model/model_data_bucket_query.go b/services/cts/v3/model/model_data_bucket_query.go index be4773c043..443c1d3292 100644 --- a/services/cts/v3/model/model_data_bucket_query.go +++ b/services/cts/v3/model/model_data_bucket_query.go @@ -19,8 +19,9 @@ type DataBucketQuery struct { // 标识OBS桶名称。由数字或字母开头,支持小写字母、数字、“-”、“.”,长度为3~63个字符。 DataBucketName *string `json:"data_bucket_name,omitempty"` // 追踪桶日志是否支持搜索。 - SearchEnabled *bool `json:"search_enabled,omitempty"` - DataEvent *[]DataBucketQueryDataEvent `json:"data_event,omitempty"` + SearchEnabled *bool `json:"search_enabled,omitempty"` + // 数据类追踪器追踪对象的桶名。 - 当启用或者停用数据类追踪器时,该参数为必选。 - 管理类追踪器无此参数。 - 追踪器一旦创建追踪桶无法修改。 + DataEvent *[]DataBucketQueryDataEvent `json:"data_event,omitempty"` } func (o DataBucketQuery) String() string { diff --git a/services/eps/v1/model/model_show_ep_quota_request.go b/services/cts/v3/model/model_list_quotas_request.go similarity index 59% rename from services/eps/v1/model/model_show_ep_quota_request.go rename to services/cts/v3/model/model_list_quotas_request.go index 8d9f9a2875..dd9236a388 100644 --- a/services/eps/v1/model/model_show_ep_quota_request.go +++ b/services/cts/v3/model/model_list_quotas_request.go @@ -1,5 +1,5 @@ /* - * EPS + * cts * * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) * @@ -14,10 +14,10 @@ import ( ) // Request Object -type ShowEpQuotaRequest struct { +type ListQuotasRequest struct { } -func (o ShowEpQuotaRequest) String() string { +func (o ListQuotasRequest) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ShowEpQuotaRequest", string(data)}, " ") + return strings.Join([]string{"ListQuotasRequest", string(data)}, " ") } diff --git a/services/cts/v3/model/model_list_quotas_response.go b/services/cts/v3/model/model_list_quotas_response.go new file mode 100644 index 0000000000..05ef3c1290 --- /dev/null +++ b/services/cts/v3/model/model_list_quotas_response.go @@ -0,0 +1,25 @@ +/* + * cts + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListQuotasResponse struct { + // 本次查询追踪器列表返回的追踪器数组。 + Resources *[]Quota `json:"resources,omitempty"` +} + +func (o ListQuotasResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListQuotasResponse", string(data)}, " ") +} diff --git a/services/cts/v3/model/model_quota.go b/services/cts/v3/model/model_quota.go new file mode 100644 index 0000000000..03269bfa6d --- /dev/null +++ b/services/cts/v3/model/model_quota.go @@ -0,0 +1,28 @@ +/* + * cts + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type Quota struct { + // quota资源类型。 + Type *string `json:"type,omitempty"` + // 已使用的资源个数。 + Used *int64 `json:"used,omitempty"` + // 总资源个数。 + Quota *int64 `json:"quota,omitempty"` +} + +func (o Quota) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Quota", string(data)}, " ") +} diff --git a/services/devstar/v1/devStar_client.go b/services/devstar/v1/devStar_client.go index 6342976d89..3f20d33c07 100644 --- a/services/devstar/v1/devStar_client.go +++ b/services/devstar/v1/devStar_client.go @@ -20,60 +20,121 @@ func DevStarClientBuilder() *http_client.HcHttpClientBuilder { //下载模板产物 func (c *DevStarClient) DownloadApplicationCode(request *model.DownloadApplicationCodeRequest) (*model.DownloadApplicationCodeResponse, error) { - requestDef := GenReqDefForDownloadApplicationCode(request) - resp, responseDef := GenRespForDownloadApplicationCode() + requestDef := GenReqDefForDownloadApplicationCode() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DownloadApplicationCodeResponse), nil + } +} + +//通过 Codehub 的模板进行应用代码创建 通过 Codehub 模板创建生成应用代码的任务,并将应用代码存储于指定的 CodeHub 仓库中或者生成代码压缩包,可以通过返回的任务 ID 查询相关任务状态 - 接口鉴权方式 通过华为云服务获取的用户token - 代码生成位置 应用代码生成后的地址,目前支持codehub地址和压缩包下载地址。 +func (c *DevStarClient) RunCodehubTemplateJob(request *model.RunCodehubTemplateJobRequest) (*model.RunCodehubTemplateJobResponse, error) { + requestDef := GenReqDefForRunCodehubTemplateJob() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.RunCodehubTemplateJobResponse), nil } } //通过DevStar的模板进行应用代码创建 通过 DevStar 模板创建生成应用代码的任务,并将应用代码存储于指定的 CodeHub 仓库中,可以通过返回的任务 ID 查询相关任务状态 - 接口鉴权方式 通过华为云服务获取的用户token - 代码生成位置 应用代码生成后的地址,目前支持codehub地址和压缩包下载地址。 func (c *DevStarClient) RunDevstarTemplateJob(request *model.RunDevstarTemplateJobRequest) (*model.RunDevstarTemplateJobResponse, error) { - requestDef := GenReqDefForRunDevstarTemplateJob(request) - resp, responseDef := GenRespForRunDevstarTemplateJob() + requestDef := GenReqDefForRunDevstarTemplateJob() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RunDevstarTemplateJobResponse), nil } } //查询任务的详情 通过任务ID可以查看任务的状态 当任务结束时返回应用代码存放的位置 - 接口鉴权方式 通过华为云服务获取的用户token - 代码生成位置 应用代码生成后的地址,目前支持codehub地址和压缩包下载地址 func (c *DevStarClient) ShowJobDetail(request *model.ShowJobDetailRequest) (*model.ShowJobDetailResponse, error) { - requestDef := GenReqDefForShowJobDetail(request) - resp, responseDef := GenRespForShowJobDetail() + requestDef := GenReqDefForShowJobDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowJobDetailResponse), nil + } +} + +//读取模板文件 +func (c *DevStarClient) ShowTemplateFile(request *model.ShowTemplateFileRequest) (*model.ShowTemplateFileResponse, error) { + requestDef := GenReqDefForShowTemplateFile() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowTemplateFileResponse), nil + } +} + +//生成模板浏览记录 +func (c *DevStarClient) CreateTemplateViewHistories(request *model.CreateTemplateViewHistoriesRequest) (*model.CreateTemplateViewHistoriesResponse, error) { + requestDef := GenReqDefForCreateTemplateViewHistories() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateTemplateViewHistoriesResponse), nil } } //查询模板列表 func (c *DevStarClient) ListPublishedTemplates(request *model.ListPublishedTemplatesRequest) (*model.ListPublishedTemplatesResponse, error) { - requestDef := GenReqDefForListPublishedTemplates(request) - resp, responseDef := GenRespForListPublishedTemplates() + requestDef := GenReqDefForListPublishedTemplates() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListPublishedTemplatesResponse), nil + } +} + +//查询用户浏览过的模板(只返回最近浏览的5个模板) +func (c *DevStarClient) ListTemplateViewHistories(request *model.ListTemplateViewHistoriesRequest) (*model.ListTemplateViewHistoriesResponse, error) { + requestDef := GenReqDefForListTemplateViewHistories() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListTemplateViewHistoriesResponse), nil + } +} + +//查询模板列表 +func (c *DevStarClient) ListTemplatesV2(request *model.ListTemplatesV2Request) (*model.ListTemplatesV2Response, error) { + requestDef := GenReqDefForListTemplatesV2() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListTemplatesV2Response), nil + } +} + +//获取模板详情-模板id、名称、描述、作者、标签、上架时间等信息。 +func (c *DevStarClient) ShowTemplateV3(request *model.ShowTemplateV3Request) (*model.ShowTemplateV3Response, error) { + requestDef := GenReqDefForShowTemplateV3() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowTemplateV3Response), nil } } //查询模板详情 func (c *DevStarClient) ShowTemplateDetail(request *model.ShowTemplateDetailRequest) (*model.ShowTemplateDetailResponse, error) { - requestDef := GenReqDefForShowTemplateDetail(request) - resp, responseDef := GenRespForShowTemplateDetail() + requestDef := GenReqDefForShowTemplateDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowTemplateDetailResponse), nil } } diff --git a/services/devstar/v1/devStar_meta.go b/services/devstar/v1/devStar_meta.go index c3515425db..f378a96fa1 100644 --- a/services/devstar/v1/devStar_meta.go +++ b/services/devstar/v1/devStar_meta.go @@ -6,167 +6,284 @@ import ( "net/http" ) -func GenReqDefForDownloadApplicationCode(request *model.DownloadApplicationCodeRequest) *def.HttpRequestDef { +func GenReqDefForDownloadApplicationCode() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/application-codes") + WithPath("/v1/application-codes"). + WithResponse(new(model.DownloadApplicationCodeResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("job_id"). + WithName("JobId"). + WithJsonTag("job_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForRunCodehubTemplateJob() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/jobs/codehub"). + WithResponse(new(model.RunCodehubTemplateJobResponse)). + WithContentType("application/json;charset=UTF-8") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDownloadApplicationCode() (*model.DownloadApplicationCodeResponse, *def.HttpResponseDef) { - resp := new(model.DownloadApplicationCodeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRunDevstarTemplateJob(request *model.RunDevstarTemplateJobRequest) *def.HttpRequestDef { +func GenReqDefForRunDevstarTemplateJob() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/jobs/template"). + WithResponse(new(model.RunDevstarTemplateJobResponse)). WithContentType("application/json;charset=UTF-8") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRunDevstarTemplateJob() (*model.RunDevstarTemplateJobResponse, *def.HttpResponseDef) { - resp := new(model.RunDevstarTemplateJobResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowJobDetail(request *model.ShowJobDetailRequest) *def.HttpRequestDef { +func GenReqDefForShowJobDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/jobs/{job_id}") + WithPath("/v1/jobs/{job_id}"). + WithResponse(new(model.ShowJobDetailResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("job_id"). + WithName("JobId"). + WithJsonTag("job_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowTemplateFile() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/templates/{template_id}/files"). + WithResponse(new(model.ShowTemplateFileResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("FilePath"). + WithJsonTag("file_path"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Type"). + WithJsonTag("type"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowJobDetail() (*model.ShowJobDetailResponse, *def.HttpResponseDef) { - resp := new(model.ShowJobDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForCreateTemplateViewHistories() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/templates/view-histories"). + WithResponse(new(model.CreateTemplateViewHistoriesResponse)). + WithContentType("application/json;charset=UTF-8") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForListPublishedTemplates(request *model.ListPublishedTemplatesRequest) *def.HttpRequestDef { +func GenReqDefForListPublishedTemplates() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/templates") + WithPath("/v1/templates"). + WithResponse(new(model.ListPublishedTemplatesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("keyword"). + WithName("Keyword"). + WithJsonTag("keyword"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListTemplateViewHistories() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/templates/view-histories"). + WithResponse(new(model.ListTemplateViewHistoriesResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("PlatformSource"). + WithJsonTag("platform_source"). + WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPublishedTemplates() (*model.ListPublishedTemplatesResponse, *def.HttpResponseDef) { - resp := new(model.ListPublishedTemplatesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForListTemplatesV2() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2/templates/action"). + WithResponse(new(model.ListTemplatesV2Response)). + WithContentType("application/json;charset=UTF-8") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ActionId"). + WithJsonTag("action_id"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForShowTemplateDetail(request *model.ShowTemplateDetailRequest) *def.HttpRequestDef { +func GenReqDefForShowTemplateV3() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/templates/{template_id}") + WithPath("/v3/templates/{template_id}"). + WithResponse(new(model.ShowTemplateV3Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("template_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Language"). + WithName("XLanguage"). + WithJsonTag("X-Language"). WithLocationType(def.Header)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowTemplateDetail() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/templates/{template_id}"). + WithResponse(new(model.ShowTemplateDetailResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForShowTemplateDetail() (*model.ShowTemplateDetailResponse, *def.HttpResponseDef) { - resp := new(model.ShowTemplateDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/devstar/v1/model/model_codehub_job_info.go b/services/devstar/v1/model/model_codehub_job_info.go new file mode 100644 index 0000000000..bbcd79a27a --- /dev/null +++ b/services/devstar/v1/model/model_codehub_job_info.go @@ -0,0 +1,37 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type CodehubJobInfo struct { + // 应用名称 + ApplicationName string `json:"application_name"` + // 仓库是否私有 + Privately *bool `json:"privately,omitempty"` + // 仓库短id + ShortId *string `json:"short_id,omitempty"` + // 代码存放的ssh地址 + CodeUrl *string `json:"code_url,omitempty"` + // 区域id + RegionId *string `json:"region_id,omitempty"` + // 应用代码生成后的地址类型,目前支持0:codehub地址; 1:压缩包下载地址 + RepoType *int32 `json:"repo_type,omitempty"` + // 应用的动态参数json + Properties *interface{} `json:"properties,omitempty"` + RepoInfo *RepositoryInfo `json:"repo_info,omitempty"` +} + +func (o CodehubJobInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CodehubJobInfo", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_create_template_view_histories_request.go b/services/devstar/v1/model/model_create_template_view_histories_request.go new file mode 100644 index 0000000000..7aa3a6c287 --- /dev/null +++ b/services/devstar/v1/model/model_create_template_view_histories_request.go @@ -0,0 +1,64 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type CreateTemplateViewHistoriesRequest struct { + XLanguage *CreateTemplateViewHistoriesRequestXLanguage `json:"X-Language,omitempty"` + Body *TemplatesInfo `json:"body,omitempty"` +} + +func (o CreateTemplateViewHistoriesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateTemplateViewHistoriesRequest", string(data)}, " ") +} + +type CreateTemplateViewHistoriesRequestXLanguage struct { + value string +} + +type CreateTemplateViewHistoriesRequestXLanguageEnum struct { + ZH_CN CreateTemplateViewHistoriesRequestXLanguage + EN_US CreateTemplateViewHistoriesRequestXLanguage +} + +func GetCreateTemplateViewHistoriesRequestXLanguageEnum() CreateTemplateViewHistoriesRequestXLanguageEnum { + return CreateTemplateViewHistoriesRequestXLanguageEnum{ + ZH_CN: CreateTemplateViewHistoriesRequestXLanguage{ + value: "zh-cn", + }, + EN_US: CreateTemplateViewHistoriesRequestXLanguage{ + value: "en-us", + }, + } +} + +func (c CreateTemplateViewHistoriesRequestXLanguage) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *CreateTemplateViewHistoriesRequestXLanguage) 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/services/devstar/v1/model/model_create_template_view_histories_response.go b/services/devstar/v1/model/model_create_template_view_histories_response.go new file mode 100644 index 0000000000..c60f782479 --- /dev/null +++ b/services/devstar/v1/model/model_create_template_view_histories_response.go @@ -0,0 +1,27 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateTemplateViewHistoriesResponse struct { + // 我浏览的模板 + Templates *[]TemplateViewHistory `json:"templates,omitempty"` + // 我浏览的模板数量 + Count *int32 `json:"count,omitempty"` +} + +func (o CreateTemplateViewHistoriesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateTemplateViewHistoriesResponse", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_list_template_view_histories_request.go b/services/devstar/v1/model/model_list_template_view_histories_request.go new file mode 100644 index 0000000000..2e03ef7b07 --- /dev/null +++ b/services/devstar/v1/model/model_list_template_view_histories_request.go @@ -0,0 +1,101 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ListTemplateViewHistoriesRequest struct { + XLanguage *ListTemplateViewHistoriesRequestXLanguage `json:"X-Language,omitempty"` + PlatformSource ListTemplateViewHistoriesRequestPlatformSource `json:"platform_source"` +} + +func (o ListTemplateViewHistoriesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTemplateViewHistoriesRequest", string(data)}, " ") +} + +type ListTemplateViewHistoriesRequestXLanguage struct { + value string +} + +type ListTemplateViewHistoriesRequestXLanguageEnum struct { + ZH_CN ListTemplateViewHistoriesRequestXLanguage + EN_US ListTemplateViewHistoriesRequestXLanguage +} + +func GetListTemplateViewHistoriesRequestXLanguageEnum() ListTemplateViewHistoriesRequestXLanguageEnum { + return ListTemplateViewHistoriesRequestXLanguageEnum{ + ZH_CN: ListTemplateViewHistoriesRequestXLanguage{ + value: "zh-cn", + }, + EN_US: ListTemplateViewHistoriesRequestXLanguage{ + value: "en-us", + }, + } +} + +func (c ListTemplateViewHistoriesRequestXLanguage) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListTemplateViewHistoriesRequestXLanguage) 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 ListTemplateViewHistoriesRequestPlatformSource struct { + value int32 +} + +type ListTemplateViewHistoriesRequestPlatformSourceEnum struct { + E_0 ListTemplateViewHistoriesRequestPlatformSource + E_1 ListTemplateViewHistoriesRequestPlatformSource +} + +func GetListTemplateViewHistoriesRequestPlatformSourceEnum() ListTemplateViewHistoriesRequestPlatformSourceEnum { + return ListTemplateViewHistoriesRequestPlatformSourceEnum{ + E_0: ListTemplateViewHistoriesRequestPlatformSource{ + value: 0, + }, E_1: ListTemplateViewHistoriesRequestPlatformSource{ + value: 1, + }, + } +} + +func (c ListTemplateViewHistoriesRequestPlatformSource) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListTemplateViewHistoriesRequestPlatformSource) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("int32") + if myConverter != nil { + val, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err == nil { + c.value = val.(int32) + return nil + } + return err + } else { + return errors.New("convert enum data to int32 error") + } +} diff --git a/services/devstar/v1/model/model_list_template_view_histories_response.go b/services/devstar/v1/model/model_list_template_view_histories_response.go new file mode 100644 index 0000000000..3e86317aab --- /dev/null +++ b/services/devstar/v1/model/model_list_template_view_histories_response.go @@ -0,0 +1,27 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListTemplateViewHistoriesResponse struct { + // 我浏览的模板 + Templates *[]TemplateViewHistory `json:"templates,omitempty"` + // 我浏览的模板数量 + Count *int32 `json:"count,omitempty"` +} + +func (o ListTemplateViewHistoriesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTemplateViewHistoriesResponse", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_list_templates_v2_request.go b/services/devstar/v1/model/model_list_templates_v2_request.go new file mode 100644 index 0000000000..fec55793e3 --- /dev/null +++ b/services/devstar/v1/model/model_list_templates_v2_request.go @@ -0,0 +1,65 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ListTemplatesV2Request struct { + XLanguage *ListTemplatesV2RequestXLanguage `json:"X-Language,omitempty"` + ActionId string `json:"action_id"` + Body *TemplateQueryV2 `json:"body,omitempty"` +} + +func (o ListTemplatesV2Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTemplatesV2Request", string(data)}, " ") +} + +type ListTemplatesV2RequestXLanguage struct { + value string +} + +type ListTemplatesV2RequestXLanguageEnum struct { + ZH_CN ListTemplatesV2RequestXLanguage + EN_US ListTemplatesV2RequestXLanguage +} + +func GetListTemplatesV2RequestXLanguageEnum() ListTemplatesV2RequestXLanguageEnum { + return ListTemplatesV2RequestXLanguageEnum{ + ZH_CN: ListTemplatesV2RequestXLanguage{ + value: "zh-cn", + }, + EN_US: ListTemplatesV2RequestXLanguage{ + value: "en-us", + }, + } +} + +func (c ListTemplatesV2RequestXLanguage) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListTemplatesV2RequestXLanguage) 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/services/devstar/v1/model/model_list_templates_v2_response.go b/services/devstar/v1/model/model_list_templates_v2_response.go new file mode 100644 index 0000000000..04fd1c7164 --- /dev/null +++ b/services/devstar/v1/model/model_list_templates_v2_response.go @@ -0,0 +1,27 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListTemplatesV2Response struct { + // 返回模板的数量 + Count *int32 `json:"count,omitempty"` + // 返回模板的列表 + Templates *[]TemplateInfo `json:"templates,omitempty"` +} + +func (o ListTemplatesV2Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTemplatesV2Response", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_pipeline_template_info.go b/services/devstar/v1/model/model_pipeline_template_info.go new file mode 100644 index 0000000000..2cfe2754ac --- /dev/null +++ b/services/devstar/v1/model/model_pipeline_template_info.go @@ -0,0 +1,28 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type PipelineTemplateInfo struct { + // 流水线模板的id + Id *string `json:"id,omitempty"` + // 流水线模板的名称 + Name *string `json:"name,omitempty"` + // 流水线模板的详细信息 + Detail *string `json:"detail,omitempty"` +} + +func (o PipelineTemplateInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"PipelineTemplateInfo", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_reference.go b/services/devstar/v1/model/model_reference.go new file mode 100644 index 0000000000..448e547de9 --- /dev/null +++ b/services/devstar/v1/model/model_reference.go @@ -0,0 +1,30 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type Reference struct { + // 标题名称 + Title *string `json:"title,omitempty"` + // 链接地址 + Url *string `json:"url,omitempty"` + // 关联类型 + Type *int32 `json:"type,omitempty"` + // 产品短名 + Productshort *string `json:"productshort,omitempty"` +} + +func (o Reference) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Reference", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_run_codehub_template_job_request.go b/services/devstar/v1/model/model_run_codehub_template_job_request.go new file mode 100644 index 0000000000..ef6009f54b --- /dev/null +++ b/services/devstar/v1/model/model_run_codehub_template_job_request.go @@ -0,0 +1,64 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type RunCodehubTemplateJobRequest struct { + XLanguage *RunCodehubTemplateJobRequestXLanguage `json:"X-Language,omitempty"` + Body *CodehubJobInfo `json:"body,omitempty"` +} + +func (o RunCodehubTemplateJobRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"RunCodehubTemplateJobRequest", string(data)}, " ") +} + +type RunCodehubTemplateJobRequestXLanguage struct { + value string +} + +type RunCodehubTemplateJobRequestXLanguageEnum struct { + ZH_CN RunCodehubTemplateJobRequestXLanguage + EN_US RunCodehubTemplateJobRequestXLanguage +} + +func GetRunCodehubTemplateJobRequestXLanguageEnum() RunCodehubTemplateJobRequestXLanguageEnum { + return RunCodehubTemplateJobRequestXLanguageEnum{ + ZH_CN: RunCodehubTemplateJobRequestXLanguage{ + value: "zh-cn", + }, + EN_US: RunCodehubTemplateJobRequestXLanguage{ + value: "en-us", + }, + } +} + +func (c RunCodehubTemplateJobRequestXLanguage) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *RunCodehubTemplateJobRequestXLanguage) 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/services/devstar/v1/model/model_run_codehub_template_job_response.go b/services/devstar/v1/model/model_run_codehub_template_job_response.go new file mode 100644 index 0000000000..813729dda1 --- /dev/null +++ b/services/devstar/v1/model/model_run_codehub_template_job_response.go @@ -0,0 +1,25 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type RunCodehubTemplateJobResponse struct { + // 任务id + JobId *string `json:"job_id,omitempty"` +} + +func (o RunCodehubTemplateJobResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"RunCodehubTemplateJobResponse", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_show_template_file_request.go b/services/devstar/v1/model/model_show_template_file_request.go new file mode 100644 index 0000000000..3423931912 --- /dev/null +++ b/services/devstar/v1/model/model_show_template_file_request.go @@ -0,0 +1,104 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ShowTemplateFileRequest struct { + XLanguage *ShowTemplateFileRequestXLanguage `json:"X-Language,omitempty"` + TemplateId string `json:"template_id"` + FilePath string `json:"file_path"` + Type *ShowTemplateFileRequestType `json:"type,omitempty"` +} + +func (o ShowTemplateFileRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowTemplateFileRequest", string(data)}, " ") +} + +type ShowTemplateFileRequestXLanguage struct { + value string +} + +type ShowTemplateFileRequestXLanguageEnum struct { + ZH_CN ShowTemplateFileRequestXLanguage + EN_US ShowTemplateFileRequestXLanguage +} + +func GetShowTemplateFileRequestXLanguageEnum() ShowTemplateFileRequestXLanguageEnum { + return ShowTemplateFileRequestXLanguageEnum{ + ZH_CN: ShowTemplateFileRequestXLanguage{ + value: "zh-cn", + }, + EN_US: ShowTemplateFileRequestXLanguage{ + value: "en-us", + }, + } +} + +func (c ShowTemplateFileRequestXLanguage) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ShowTemplateFileRequestXLanguage) 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 ShowTemplateFileRequestType struct { + value string +} + +type ShowTemplateFileRequestTypeEnum struct { + SOURCE_PACKAGE ShowTemplateFileRequestType + INTRODUCTION ShowTemplateFileRequestType +} + +func GetShowTemplateFileRequestTypeEnum() ShowTemplateFileRequestTypeEnum { + return ShowTemplateFileRequestTypeEnum{ + SOURCE_PACKAGE: ShowTemplateFileRequestType{ + value: "source-package", + }, + INTRODUCTION: ShowTemplateFileRequestType{ + value: "introduction", + }, + } +} + +func (c ShowTemplateFileRequestType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ShowTemplateFileRequestType) 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/services/devstar/v1/model/model_show_template_file_response.go b/services/devstar/v1/model/model_show_template_file_response.go new file mode 100644 index 0000000000..f2eb3c2f92 --- /dev/null +++ b/services/devstar/v1/model/model_show_template_file_response.go @@ -0,0 +1,33 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowTemplateFileResponse struct { + // 文件内容 + Content *string `json:"content,omitempty"` + // 内容编码格式(固定base64) + Encoding *string `json:"encoding,omitempty"` + // 文件名 + FileName *string `json:"file_name,omitempty"` + // 文件相对路径 + FilePath *string `json:"file_path,omitempty"` + // 文件类型 + FileType *string `json:"file_type,omitempty"` +} + +func (o ShowTemplateFileResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowTemplateFileResponse", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_show_template_v3_request.go b/services/devstar/v1/model/model_show_template_v3_request.go new file mode 100644 index 0000000000..9e0d6bf1ec --- /dev/null +++ b/services/devstar/v1/model/model_show_template_v3_request.go @@ -0,0 +1,64 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ShowTemplateV3Request struct { + XLanguage *ShowTemplateV3RequestXLanguage `json:"X-Language,omitempty"` + TemplateId string `json:"template_id"` +} + +func (o ShowTemplateV3Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowTemplateV3Request", string(data)}, " ") +} + +type ShowTemplateV3RequestXLanguage struct { + value string +} + +type ShowTemplateV3RequestXLanguageEnum struct { + ZH_CN ShowTemplateV3RequestXLanguage + EN_US ShowTemplateV3RequestXLanguage +} + +func GetShowTemplateV3RequestXLanguageEnum() ShowTemplateV3RequestXLanguageEnum { + return ShowTemplateV3RequestXLanguageEnum{ + ZH_CN: ShowTemplateV3RequestXLanguage{ + value: "zh-cn", + }, + EN_US: ShowTemplateV3RequestXLanguage{ + value: "en-us", + }, + } +} + +func (c ShowTemplateV3RequestXLanguage) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ShowTemplateV3RequestXLanguage) 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/services/devstar/v1/model/model_show_template_v3_response.go b/services/devstar/v1/model/model_show_template_v3_response.go new file mode 100644 index 0000000000..19a415aaf6 --- /dev/null +++ b/services/devstar/v1/model/model_show_template_v3_response.go @@ -0,0 +1,77 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowTemplateV3Response struct { + // 模板id + Id *string `json:"id,omitempty"` + // 模板名称 + Title *string `json:"title,omitempty"` + // 模板描述 + Description *string `json:"description,omitempty"` + // 模板创建者id + CreatorId *string `json:"creator_id,omitempty"` + // 模板创建者,有别名返回别名 + Creator *string `json:"creator,omitempty"` + // 模板创建者,有别名返回别名 + Nickname *string `json:"nickname,omitempty"` + // 模板评分(点赞数) + Score *int32 `json:"score,omitempty"` + // 模板状态(0:审核中 1: 已上架 2: 未上架(已下架)3: 未上架(合规检查不通过)4:未上架(待上架)5:已删除) + Status *int32 `json:"status,omitempty"` + // 访问量 + ViewCount *int32 `json:"view_count,omitempty"` + // 引用量 + UsageCount *int32 `json:"usage_count,omitempty"` + // 创建时间 + CreatedAt *string `json:"created_at,omitempty"` + // 更新时间 + UpdatedAt *string `json:"updated_at,omitempty"` + // 上架时间 + PublishedAt *string `json:"published_at,omitempty"` + // 点赞状态(1:点赞,0:未点赞) + FavoriteState *int32 `json:"favorite_state,omitempty"` + // 模板相关联的所有维护人账号名称 + Maintainers *[]string `json:"maintainers,omitempty"` + // 平台来源(0:codelabs、1:devstar) + PlatformSource *int32 `json:"platform_source,omitempty"` + // 模板自定义参数列表 + Properties *interface{} `json:"properties,omitempty"` + // dependency信息 + Dependencies *[]interface{} `json:"dependencies,omitempty"` + // dependency类型('0':非分组的依赖类型,'1':分组依赖类型) + DependencyType *string `json:"dependency_type,omitempty"` + // 代码存储位置(0:codehub;1:Obs;2:efs;3:网络公开代码仓;) + Store *int32 `json:"store,omitempty"` + // 获取代码模版所需的信息 + StoreInfo *string `json:"store_info,omitempty"` + // 模板文件解压缩之后的大小(单位:KB) + FileSize *int32 `json:"file_size,omitempty"` + // 部署信息 + Deployment *interface{} `json:"deployment,omitempty"` + // 动、静态代码模板标识(0:动态模板codetemplate,1:静态模板codesample) + IsStatic *int32 `json:"is_static,omitempty"` + // 模板关联更新态Id + UpdateId *string `json:"update_id,omitempty"` + // 模板标签 + Topic *[]TopicCategory `json:"topic,omitempty"` + // 模板标签 + Tags *[]TagInfo `json:"tags,omitempty"` +} + +func (o ShowTemplateV3Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowTemplateV3Response", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_tag_info.go b/services/devstar/v1/model/model_tag_info.go new file mode 100644 index 0000000000..e793b458d9 --- /dev/null +++ b/services/devstar/v1/model/model_tag_info.go @@ -0,0 +1,26 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type TagInfo struct { + // 自定义标签id + Id *string `json:"id,omitempty"` + // 自定义标签名称 + Name *string `json:"name,omitempty"` +} + +func (o TagInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TagInfo", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_template_info.go b/services/devstar/v1/model/model_template_info.go new file mode 100644 index 0000000000..a4b9b4a4d0 --- /dev/null +++ b/services/devstar/v1/model/model_template_info.go @@ -0,0 +1,91 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type TemplateInfo struct { + // 模板id + Id *string `json:"id,omitempty"` + // 模板名 + Title *string `json:"title,omitempty"` + // 模板描述 + Description *string `json:"description,omitempty"` + // 模板关联的所有云服务(产品短名) + Productshorts *[]string `json:"productshorts,omitempty"` + // 模板关联的云产品 + Products *[]TemplateProductExt `json:"products,omitempty"` + // 模板标签 + Topic *[]TopicCategory `json:"topic,omitempty"` + // 模板创建者id + CreatorId *string `json:"creator_id,omitempty"` + // 模板创建者,有别名返回别名 + Creator *string `json:"creator,omitempty"` + // 模板创建者,有别名返回别名 + Nickname *string `json:"nickname,omitempty"` + // 模板评分(点赞数) + Score *int32 `json:"score,omitempty"` + // 模板标签(new、hot等) + Label *string `json:"label,omitempty"` + // 代码存储位置 + Store *int32 `json:"store,omitempty"` + // 获取代码模版所需的信息 + StoreInfo *string `json:"store_info,omitempty"` + // 模板状态(0:审核中 1: 已上架 2: 未上架(已下架)3: 未上架(合规检查不通过)4:未上架(待上架)5:已删除) + Status *int32 `json:"status,omitempty"` + // 访问量 + ViewCount *int32 `json:"view_count,omitempty"` + // 引用量 + UsageCount *int32 `json:"usage_count,omitempty"` + // 创建时间 + CreatedAt *string `json:"created_at,omitempty"` + // 更新时间 + UpdatedAt *string `json:"updated_at,omitempty"` + // 模板上架时间 + PublishedAt *string `json:"published_at,omitempty"` + // 点赞状态(1:点赞,0:未点赞) + FavoriteState *int32 `json:"favorite_state,omitempty"` + // 模板标签 + Tags *[]TagInfo `json:"tags,omitempty"` + // 模板类型(0:doc、1:code、2:pipeline、3:devops四种) + Type *int32 `json:"type,omitempty"` + // 动、静态代码模板标识(0:动态模板codetemplate,1:静态模板codesample) + IsStatic *int32 `json:"is_static,omitempty"` + // 模板相关联的所有维护人账号名称 + Maintainers *[]string `json:"maintainers,omitempty"` + PipelineTemplate *PipelineTemplateInfo `json:"pipeline_template,omitempty"` + // 平台来源(0:codelabs、1:devstar) + PlatformSource *int32 `json:"platform_source,omitempty"` + // 相关文档,示例,帖子 + References *[]Reference `json:"references,omitempty"` + // 模板自定义参数列表 + Properties *interface{} `json:"properties,omitempty"` + // dependency信息 + Dependencies *[]interface{} `json:"dependencies,omitempty"` + // dependency类型 + DependencyType *string `json:"dependency_type,omitempty"` + // 关联论坛板块id + ForumId *int32 `json:"forum_id,omitempty"` + // 模板文件解压缩之后的大小(单位:KB) + FileSize *int32 `json:"file_size,omitempty"` + // 部署信息 + Deployment *interface{} `json:"deployment,omitempty"` + // 模板关联更新态Id + UpdateId *string `json:"update_id,omitempty"` + // 是否支持使用CloudIDE运行源码 + IsSupportCloudide *bool `json:"is_support_cloudide,omitempty"` +} + +func (o TemplateInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TemplateInfo", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_template_product_ext.go b/services/devstar/v1/model/model_template_product_ext.go new file mode 100644 index 0000000000..35a93ef458 --- /dev/null +++ b/services/devstar/v1/model/model_template_product_ext.go @@ -0,0 +1,38 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type TemplateProductExt struct { + // 产品id + Id *string `json:"id,omitempty"` + // 产品短名 + Productshort *string `json:"productshort,omitempty"` + // 产品名 + ProductName *string `json:"product_name,omitempty"` + // 首页链接 + HomeLink *string `json:"home_link,omitempty"` + // api调试链接 + ApiLink *string `json:"api_link,omitempty"` + // sdk下载链接 + SdkLink *string `json:"sdk_link,omitempty"` + // 文档链接 + DocLink *string `json:"doc_link,omitempty"` + // logo链接 + LogoLink *string `json:"logo_link,omitempty"` +} + +func (o TemplateProductExt) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TemplateProductExt", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_template_query_v2.go b/services/devstar/v1/model/model_template_query_v2.go new file mode 100644 index 0000000000..d53e1786d6 --- /dev/null +++ b/services/devstar/v1/model/model_template_query_v2.go @@ -0,0 +1,52 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type TemplateQueryV2 struct { + // 模板分类数组 + Category *[]string `json:"category,omitempty"` + // 搜索关键字,支持按名称和描述搜索,默认null + Keyword *string `json:"keyword,omitempty"` + // 排序字段和排序顺序指定. 比如: desc(created_at),desc(usage_count) + SortBy *string `json:"sort_by,omitempty"` + // 标签(all,new,hot,推荐recommend) + Label *string `json:"label,omitempty"` + // 是否查询用户自己创建的模板,默认查所有模板 + MyTemplates *bool `json:"my_templates,omitempty"` + // 查所有模板时只处理上架的;查用户模板,需支持按状态查询,状态:0审核中,1上架,2下架,不传表示查所有的(默认) + Status *int32 `json:"status,omitempty"` + // 模板状态数组 + StatusArray *[]int32 `json:"status_array,omitempty"` + // 模板关联的云产品(产品短名)列表 + Productshorts *[]string `json:"productshorts,omitempty"` + // 偏移量, 表示从此偏移量开始查询, offset大于等于0 + Offset *int32 `json:"offset,omitempty"` + // 每页的模板条数 + Limit *int32 `json:"limit,omitempty"` + // 模板关联的自定义标签列表 + TagIds *[]string `json:"tag_ids,omitempty"` + // 模板类型(0:doc、1:code、2:pipeline、3:devops四种) + Types *[]int32 `json:"types,omitempty"` + // 动、静态代码模板标识(0:动态模板codetemplate,1:静态模板codesample) + IsStatic *int32 `json:"is_static,omitempty"` + // 平台来源(0:codelabs、1:devstar) + PlatformSource *[]int32 `json:"platform_source,omitempty"` + // 模板关联的标签名称列表 + TagNames *[]string `json:"tag_names,omitempty"` +} + +func (o TemplateQueryV2) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TemplateQueryV2", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_template_view_history.go b/services/devstar/v1/model/model_template_view_history.go new file mode 100644 index 0000000000..b544a439f8 --- /dev/null +++ b/services/devstar/v1/model/model_template_view_history.go @@ -0,0 +1,26 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type TemplateViewHistory struct { + // 模板的id + TemplateId string `json:"template_id"` + // 模板的名称 + TemplateTitle string `json:"template_title"` +} + +func (o TemplateViewHistory) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TemplateViewHistory", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_templates_info.go b/services/devstar/v1/model/model_templates_info.go new file mode 100644 index 0000000000..a0b958e0f8 --- /dev/null +++ b/services/devstar/v1/model/model_templates_info.go @@ -0,0 +1,26 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type TemplatesInfo struct { + // 模板ID列表 + TemplateIds []string `json:"template_ids"` + // 平台来源(0:codelabs、1:devstar) + PlatformSource int32 `json:"platform_source"` +} + +func (o TemplatesInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TemplatesInfo", string(data)}, " ") +} diff --git a/services/devstar/v1/model/model_topic_category.go b/services/devstar/v1/model/model_topic_category.go new file mode 100644 index 0000000000..6040229cff --- /dev/null +++ b/services/devstar/v1/model/model_topic_category.go @@ -0,0 +1,30 @@ +/* + * DevStar + * + * DevStar API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type TopicCategory struct { + // topic的id + TopicId *string `json:"topic_id,omitempty"` + // topic的名称 + TopicName *string `json:"topic_name,omitempty"` + // topic对应的类别的id + CategoryId *string `json:"category_id,omitempty"` + // topic对应的类别的名称 + CategoryName *string `json:"category_name,omitempty"` +} + +func (o TopicCategory) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TopicCategory", string(data)}, " ") +} diff --git a/services/ecs/v2/ecs_client.go b/services/ecs/v2/ecs_client.go index f0f3feb33e..badec0c1f5 100644 --- a/services/ecs/v2/ecs_client.go +++ b/services/ecs/v2/ecs_client.go @@ -20,552 +20,506 @@ func EcsClientBuilder() *http_client.HcHttpClientBuilder { //将云服务器加入云服务器组。添加成功后,如果该云服务器组是反亲和性策略的,则该云服务器与云服务器组中的其他成员尽量分散地创建在不同主机上。如果该云服务器时故障域类型的,则该云服务器会拥有故障域属性。 func (c *EcsClient) AddServerGroupMember(request *model.AddServerGroupMemberRequest) (*model.AddServerGroupMemberResponse, error) { - requestDef := GenReqDefForAddServerGroupMember(request) - resp, responseDef := GenRespForAddServerGroupMember() + requestDef := GenReqDefForAddServerGroupMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AddServerGroupMemberResponse), nil } } //把磁盘挂载到弹性云服务器上。 func (c *EcsClient) AttachServerVolume(request *model.AttachServerVolumeRequest) (*model.AttachServerVolumeResponse, error) { - requestDef := GenReqDefForAttachServerVolume(request) - resp, responseDef := GenRespForAttachServerVolume() + requestDef := GenReqDefForAttachServerVolume() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AttachServerVolumeResponse), nil } } //给云服务器添加一张或多张网卡。 func (c *EcsClient) BatchAddServerNics(request *model.BatchAddServerNicsRequest) (*model.BatchAddServerNicsResponse, error) { - requestDef := GenReqDefForBatchAddServerNics(request) - resp, responseDef := GenRespForBatchAddServerNics() + requestDef := GenReqDefForBatchAddServerNics() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchAddServerNicsResponse), nil } } //- 为指定云服务器批量添加标签。 - 标签管理服务TMS使用该接口批量管理云服务器的标签。 func (c *EcsClient) BatchCreateServerTags(request *model.BatchCreateServerTagsRequest) (*model.BatchCreateServerTagsResponse, error) { - requestDef := GenReqDefForBatchCreateServerTags(request) - resp, responseDef := GenRespForBatchCreateServerTags() + requestDef := GenReqDefForBatchCreateServerTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchCreateServerTagsResponse), nil } } //卸载并删除云服务器中的一张或多张网卡。 func (c *EcsClient) BatchDeleteServerNics(request *model.BatchDeleteServerNicsRequest) (*model.BatchDeleteServerNicsResponse, error) { - requestDef := GenReqDefForBatchDeleteServerNics(request) - resp, responseDef := GenRespForBatchDeleteServerNics() + requestDef := GenReqDefForBatchDeleteServerNics() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchDeleteServerNicsResponse), nil } } //- 为指定云服务器批量删除标签。 - 标签管理服务TMS使用该接口批量管理云服务器的标签。 func (c *EcsClient) BatchDeleteServerTags(request *model.BatchDeleteServerTagsRequest) (*model.BatchDeleteServerTagsResponse, error) { - requestDef := GenReqDefForBatchDeleteServerTags(request) - resp, responseDef := GenRespForBatchDeleteServerTags() + requestDef := GenReqDefForBatchDeleteServerTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchDeleteServerTagsResponse), nil } } //根据给定的云服务器ID列表,批量重启云服务器,一次最多可以重启1000台。 func (c *EcsClient) BatchRebootServers(request *model.BatchRebootServersRequest) (*model.BatchRebootServersResponse, error) { - requestDef := GenReqDefForBatchRebootServers(request) - resp, responseDef := GenRespForBatchRebootServers() + requestDef := GenReqDefForBatchRebootServers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchRebootServersResponse), nil } } //根据给定的云服务器ID列表,批量启动云服务器,一次最多可以启动1000台。 func (c *EcsClient) BatchStartServers(request *model.BatchStartServersRequest) (*model.BatchStartServersResponse, error) { - requestDef := GenReqDefForBatchStartServers(request) - resp, responseDef := GenRespForBatchStartServers() + requestDef := GenReqDefForBatchStartServers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchStartServersResponse), nil } } //根据给定的云服务器ID列表,批量关闭云服务器,一次最多可以关闭1000台。 func (c *EcsClient) BatchStopServers(request *model.BatchStopServersRequest) (*model.BatchStopServersResponse, error) { - requestDef := GenReqDefForBatchStopServers(request) - resp, responseDef := GenRespForBatchStopServers() + requestDef := GenReqDefForBatchStopServers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchStopServersResponse), nil } } //切换弹性云服务器操作系统。支持弹性云服务器数据盘不变的情况下,使用新镜像重装系统盘。 调用该接口后,系统将卸载系统盘,然后使用新镜像重新创建系统盘,并挂载至弹性云服务器,实现切换操作系统功能。 func (c *EcsClient) ChangeServerOsWithCloudInit(request *model.ChangeServerOsWithCloudInitRequest) (*model.ChangeServerOsWithCloudInitResponse, error) { - requestDef := GenReqDefForChangeServerOsWithCloudInit(request) - resp, responseDef := GenRespForChangeServerOsWithCloudInit() + requestDef := GenReqDefForChangeServerOsWithCloudInit() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ChangeServerOsWithCloudInitResponse), nil } } //创建一台或多台按需付费方式的云服务器。 弹性云服务器的登录鉴权方式包括两种:密钥对、密码。为安全起见,推荐使用密钥对方式。 - 密钥对 密钥对指使用密钥对作为弹性云服务器的鉴权方式。 接口调用方法:使用key_name字段,指定弹性云服务器登录时使用的密钥文件。 - 密码 密码指使用设置初始密码方式作为弹性云服务器的鉴权方式,此时,您可以通过用户名密码方式登录弹性云服务器,Linux操作系统时为root用户的初始密码,Windows操作系统时为Administrator用户的初始密码。 接口调用方法:使用adminPass字段,指定管理员帐号的初始登录密码。对于镜像已安装Cloud-init的Linux云服务器,如果需要使用密文密码,可以使用user_data字段进行密码注入。 > 对于安装Cloud-init镜像的Linux云服务器云主机,若指定user_data字段,则adminPass字段无效。 func (c *EcsClient) CreatePostPaidServers(request *model.CreatePostPaidServersRequest) (*model.CreatePostPaidServersResponse, error) { - requestDef := GenReqDefForCreatePostPaidServers(request) - resp, responseDef := GenRespForCreatePostPaidServers() + requestDef := GenReqDefForCreatePostPaidServers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePostPaidServersResponse), nil } } //创建弹性云服务器组。 与原生的创建云服务器组接口不同之处在于该接口支持企业项目细粒度权限的校验。 func (c *EcsClient) CreateServerGroup(request *model.CreateServerGroupRequest) (*model.CreateServerGroupResponse, error) { - requestDef := GenReqDefForCreateServerGroup(request) - resp, responseDef := GenRespForCreateServerGroup() + requestDef := GenReqDefForCreateServerGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateServerGroupResponse), nil } } //创建一台或多台云服务器。 指该接口兼容《弹性云服务器接口参考》创建云服务器v1的功能,同时合入新功能,支持创建包年/包月的弹性云服务器。 弹性云服务器的登录鉴权方式包括两种:密钥对、密码。为安全起见,推荐使用密钥对方式。 - 密钥对 指使用密钥对作为弹性云服务器的鉴权方式。 接口调用方法:使用key_name字段,指定弹性云服务器登录时使用的密钥文件。 - 密码 指使用设置初始密码方式作为弹性云服务器的鉴权方式,此时,您可以通过用户名密码方式登录弹性云服务器,Linux操作系统时为root用户的初始密码,Windows操作系统时为Administrator用户的初始密码。 接口调用方法:使用adminPass字段,指定管理员帐号的初始登录密码。对于镜像已安装Cloud-init的Linux云服务器,如果需要使用密文密码,可以使用user_data字段进行密码注入。 > 对于安装Cloud-init镜像的Linux云服务器云主机,若指定user_data字段,则adminPass字段无效。 func (c *EcsClient) CreateServers(request *model.CreateServersRequest) (*model.CreateServersResponse, error) { - requestDef := GenReqDefForCreateServers(request) - resp, responseDef := GenRespForCreateServers() + requestDef := GenReqDefForCreateServers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateServersResponse), nil } } //删除云服务器组。 与原生的删除云服务器组接口不同之处在于该接口支持企业项目细粒度权限的校验。 func (c *EcsClient) DeleteServerGroup(request *model.DeleteServerGroupRequest) (*model.DeleteServerGroupResponse, error) { - requestDef := GenReqDefForDeleteServerGroup(request) - resp, responseDef := GenRespForDeleteServerGroup() + requestDef := GenReqDefForDeleteServerGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteServerGroupResponse), nil } } //将弹性云服务器移出云服务器组。移出后,该云服务器与云服务器组中的成员不再遵从反亲和策略。 func (c *EcsClient) DeleteServerGroupMember(request *model.DeleteServerGroupMemberRequest) (*model.DeleteServerGroupMemberResponse, error) { - requestDef := GenReqDefForDeleteServerGroupMember(request) - resp, responseDef := GenRespForDeleteServerGroupMember() + requestDef := GenReqDefForDeleteServerGroupMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteServerGroupMemberResponse), nil } } //删除云服务器指定元数据。 func (c *EcsClient) DeleteServerMetadata(request *model.DeleteServerMetadataRequest) (*model.DeleteServerMetadataResponse, error) { - requestDef := GenReqDefForDeleteServerMetadata(request) - resp, responseDef := GenRespForDeleteServerMetadata() + requestDef := GenReqDefForDeleteServerMetadata() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteServerMetadataResponse), nil } } //根据指定的云服务器ID列表,删除云服务器。 系统支持删除单台云服务器和批量删除多台云服务器操作,批量删除云服务器时,一次最多可以删除1000台。 func (c *EcsClient) DeleteServers(request *model.DeleteServersRequest) (*model.DeleteServersResponse, error) { - requestDef := GenReqDefForDeleteServers(request) - resp, responseDef := GenRespForDeleteServers() + requestDef := GenReqDefForDeleteServers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteServersResponse), nil } } //从弹性云服务器中卸载磁盘。 func (c *EcsClient) DetachServerVolume(request *model.DetachServerVolumeRequest) (*model.DetachServerVolumeResponse, error) { - requestDef := GenReqDefForDetachServerVolume(request) - resp, responseDef := GenRespForDetachServerVolume() + requestDef := GenReqDefForDetachServerVolume() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DetachServerVolumeResponse), nil } } //查询云服务器规格详情信息和规格扩展信息列表。 func (c *EcsClient) ListFlavors(request *model.ListFlavorsRequest) (*model.ListFlavorsResponse, error) { - requestDef := GenReqDefForListFlavors(request) - resp, responseDef := GenRespForListFlavors() + requestDef := GenReqDefForListFlavors() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListFlavorsResponse), nil } } //变更规格时,部分规格的云服务器之间不能互相变更。您可以通过本接口,通过指定弹性云服务器规格,查询该规格可以变更的规格列表。 func (c *EcsClient) ListResizeFlavors(request *model.ListResizeFlavorsRequest) (*model.ListResizeFlavorsResponse, error) { - requestDef := GenReqDefForListResizeFlavors(request) - resp, responseDef := GenRespForListResizeFlavors() + requestDef := GenReqDefForListResizeFlavors() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListResizeFlavorsResponse), nil } } //查询弹性云服务器挂载的磁盘信息。 func (c *EcsClient) ListServerBlockDevices(request *model.ListServerBlockDevicesRequest) (*model.ListServerBlockDevicesResponse, error) { - requestDef := GenReqDefForListServerBlockDevices(request) - resp, responseDef := GenRespForListServerBlockDevices() + requestDef := GenReqDefForListServerBlockDevices() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListServerBlockDevicesResponse), nil } } //查询云服务器网卡信息。 func (c *EcsClient) ListServerInterfaces(request *model.ListServerInterfacesRequest) (*model.ListServerInterfacesResponse, error) { - requestDef := GenReqDefForListServerInterfaces(request) - resp, responseDef := GenRespForListServerInterfaces() + requestDef := GenReqDefForListServerInterfaces() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListServerInterfacesResponse), nil } } //根据用户请求条件从数据库筛选、查询所有的弹性云服务器,并关联相关表获取到弹性云服务器的详细信息。 该接口支持查询弹性云服务器计费方式,以及是否被冻结。 func (c *EcsClient) ListServersDetails(request *model.ListServersDetailsRequest) (*model.ListServersDetailsResponse, error) { - requestDef := GenReqDefForListServersDetails(request) - resp, responseDef := GenRespForListServersDetails() + requestDef := GenReqDefForListServersDetails() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListServersDetailsResponse), nil } } //为弹性云服务器添加一个安全组。 添加多个安全组时,建议最多为弹性云服务器添加5个安全组。 func (c *EcsClient) NovaAssociateSecurityGroup(request *model.NovaAssociateSecurityGroupRequest) (*model.NovaAssociateSecurityGroupResponse, error) { - requestDef := GenReqDefForNovaAssociateSecurityGroup(request) - resp, responseDef := GenRespForNovaAssociateSecurityGroup() + requestDef := GenReqDefForNovaAssociateSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaAssociateSecurityGroupResponse), nil } } //创建SSH密钥,或把公钥导入系统,生成密钥对。 创建SSH密钥成功后,请把响应数据中的私钥内容保存到本地文件,用户使用该私钥登录云服务器云主机。为保证云服务器云主机器安全,私钥数据只能读取一次,请妥善保管。 func (c *EcsClient) NovaCreateKeypair(request *model.NovaCreateKeypairRequest) (*model.NovaCreateKeypairResponse, error) { - requestDef := GenReqDefForNovaCreateKeypair(request) - resp, responseDef := GenRespForNovaCreateKeypair() + requestDef := GenReqDefForNovaCreateKeypair() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaCreateKeypairResponse), nil } } //创建一台弹性云服务器。 弹性云服务器创建完成后,如需开启自动恢复功能,可以调用配置云服务器自动恢复的接口,具体使用请参见管理云服务器自动恢复动作。 该接口在云服务器创建失败后不支持自动回滚。若需要自动回滚能力,可以调用POST /v1/{project_id}/cloudservers接口,具体使用请参见创建云服务器(按需)。 func (c *EcsClient) NovaCreateServers(request *model.NovaCreateServersRequest) (*model.NovaCreateServersResponse, error) { - requestDef := GenReqDefForNovaCreateServers(request) - resp, responseDef := GenRespForNovaCreateServers() + requestDef := GenReqDefForNovaCreateServers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaCreateServersResponse), nil } } //根据SSH密钥的名称,删除指定SSH密钥。 func (c *EcsClient) NovaDeleteKeypair(request *model.NovaDeleteKeypairRequest) (*model.NovaDeleteKeypairResponse, error) { - requestDef := GenReqDefForNovaDeleteKeypair(request) - resp, responseDef := GenRespForNovaDeleteKeypair() + requestDef := GenReqDefForNovaDeleteKeypair() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaDeleteKeypairResponse), nil } } //删除一台云服务器。 func (c *EcsClient) NovaDeleteServer(request *model.NovaDeleteServerRequest) (*model.NovaDeleteServerResponse, error) { - requestDef := GenReqDefForNovaDeleteServer(request) - resp, responseDef := GenRespForNovaDeleteServer() + requestDef := GenReqDefForNovaDeleteServer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaDeleteServerResponse), nil } } //移除弹性云服务器中的安全组。 func (c *EcsClient) NovaDisassociateSecurityGroup(request *model.NovaDisassociateSecurityGroupRequest) (*model.NovaDisassociateSecurityGroupResponse, error) { - requestDef := GenReqDefForNovaDisassociateSecurityGroup(request) - resp, responseDef := GenRespForNovaDisassociateSecurityGroup() + requestDef := GenReqDefForNovaDisassociateSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaDisassociateSecurityGroupResponse), nil } } //查询可用域列表。 func (c *EcsClient) NovaListAvailabilityZones(request *model.NovaListAvailabilityZonesRequest) (*model.NovaListAvailabilityZonesResponse, error) { - requestDef := GenReqDefForNovaListAvailabilityZones(request) - resp, responseDef := GenRespForNovaListAvailabilityZones() + requestDef := GenReqDefForNovaListAvailabilityZones() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaListAvailabilityZonesResponse), nil } } //查询SSH密钥信息列表。 func (c *EcsClient) NovaListKeypairs(request *model.NovaListKeypairsRequest) (*model.NovaListKeypairsResponse, error) { - requestDef := GenReqDefForNovaListKeypairs(request) - resp, responseDef := GenRespForNovaListKeypairs() + requestDef := GenReqDefForNovaListKeypairs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaListKeypairsResponse), nil } } //查询指定弹性云服务器的安全组。 func (c *EcsClient) NovaListServerSecurityGroups(request *model.NovaListServerSecurityGroupsRequest) (*model.NovaListServerSecurityGroupsResponse, error) { - requestDef := GenReqDefForNovaListServerSecurityGroups(request) - resp, responseDef := GenRespForNovaListServerSecurityGroups() + requestDef := GenReqDefForNovaListServerSecurityGroups() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaListServerSecurityGroupsResponse), nil } } //查询云服务器详情信息列表。 func (c *EcsClient) NovaListServersDetails(request *model.NovaListServersDetailsRequest) (*model.NovaListServersDetailsResponse, error) { - requestDef := GenReqDefForNovaListServersDetails(request) - resp, responseDef := GenRespForNovaListServersDetails() + requestDef := GenReqDefForNovaListServersDetails() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaListServersDetailsResponse), nil } } //根据云服务器ID,查询云服务器的详细信息。 func (c *EcsClient) NovaShowServer(request *model.NovaShowServerRequest) (*model.NovaShowServerResponse, error) { - requestDef := GenReqDefForNovaShowServer(request) - resp, responseDef := GenRespForNovaShowServer() + requestDef := GenReqDefForNovaShowServer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NovaShowServerResponse), nil } } //重装弹性云服务器的操作系统。支持弹性云服务器数据盘不变的情况下,使用原镜像重装系统盘。 调用该接口后,系统将卸载系统盘,然后使用原镜像重新创建系统盘,并挂载至弹性云服务器,实现重装操作系统功能。 func (c *EcsClient) ReinstallServerWithCloudInit(request *model.ReinstallServerWithCloudInitRequest) (*model.ReinstallServerWithCloudInitResponse, error) { - requestDef := GenReqDefForReinstallServerWithCloudInit(request) - resp, responseDef := GenRespForReinstallServerWithCloudInit() + requestDef := GenReqDefForReinstallServerWithCloudInit() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ReinstallServerWithCloudInitResponse), nil } } //重置弹性云服务器管理帐号(root用户或Administrator用户)的密码。 func (c *EcsClient) ResetServerPassword(request *model.ResetServerPasswordRequest) (*model.ResetServerPasswordResponse, error) { - requestDef := GenReqDefForResetServerPassword(request) - resp, responseDef := GenRespForResetServerPassword() + requestDef := GenReqDefForResetServerPassword() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ResetServerPasswordResponse), nil } } //当您创建的弹性云服务器规格无法满足业务需要时,可以变更云服务器规格,升级vCPU、内存。具体接口的使用,请参见本节内容。 变更规格时,部分规格的云服务器之间不能互相变更。 您可以通过接口“/v1/{project_id}/cloudservers/resize_flavors?{instance_uuid,source_flavor_id,source_flavor_name}”查询支持列表。 func (c *EcsClient) ResizePostPaidServer(request *model.ResizePostPaidServerRequest) (*model.ResizePostPaidServerResponse, error) { - requestDef := GenReqDefForResizePostPaidServer(request) - resp, responseDef := GenRespForResizePostPaidServer() + requestDef := GenReqDefForResizePostPaidServer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ResizePostPaidServerResponse), nil } } //变更云服务器规格。 v1.1版本:指该接口兼容v1接口的功能,同时合入新功能,支持变更包年/包月弹性云服务器的规格。 注意事项: - 该接口可以使用合作伙伴自身的AK/SK或者token调用,也可以用合作伙伴子客户的AK/SK或者token来调用。 - 如果使用AK/SK认证方式,示例代码中region请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)中“弹性云服务 ECS”下“区域”的内容,,serviceName(英文服务名称缩写)请指定为ECS。 - Endpoint请参考[地区和终端节点](https://developer.huaweicloud.com/endpoint)中“弹性云服务 ECS”下“终端节点(Endpoint)”的内容。 func (c *EcsClient) ResizeServer(request *model.ResizeServerRequest) (*model.ResizeServerResponse, error) { - requestDef := GenReqDefForResizeServer(request) - resp, responseDef := GenRespForResizeServer() + requestDef := GenReqDefForResizeServer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ResizeServerResponse), nil } } //查询弹性云服务器是否支持一键重置密码。 func (c *EcsClient) ShowResetPasswordFlag(request *model.ShowResetPasswordFlagRequest) (*model.ShowResetPasswordFlagResponse, error) { - requestDef := GenReqDefForShowResetPasswordFlag(request) - resp, responseDef := GenRespForShowResetPasswordFlag() + requestDef := GenReqDefForShowResetPasswordFlag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowResetPasswordFlagResponse), nil } } //查询弹性云服务器的详细信息。 该接口支持查询弹性云服务器的计费方式,以及是否被冻结。 func (c *EcsClient) ShowServer(request *model.ShowServerRequest) (*model.ShowServerResponse, error) { - requestDef := GenReqDefForShowServer(request) - resp, responseDef := GenRespForShowServer() + requestDef := GenReqDefForShowServer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowServerResponse), nil } } //查询租户配额信息。 func (c *EcsClient) ShowServerLimits(request *model.ShowServerLimitsRequest) (*model.ShowServerLimitsResponse, error) { - requestDef := GenReqDefForShowServerLimits(request) - resp, responseDef := GenRespForShowServerLimits() + requestDef := GenReqDefForShowServerLimits() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowServerLimitsResponse), nil } } //获取弹性云服务器VNC远程登录地址。 func (c *EcsClient) ShowServerRemoteConsole(request *model.ShowServerRemoteConsoleRequest) (*model.ShowServerRemoteConsoleResponse, error) { - requestDef := GenReqDefForShowServerRemoteConsole(request) - resp, responseDef := GenRespForShowServerRemoteConsole() + requestDef := GenReqDefForShowServerRemoteConsole() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowServerRemoteConsoleResponse), nil } } //- 查询指定云服务器的标签信息。 - 标签管理服务TMS使用该接口查询指定云服务器的全部标签数据。 func (c *EcsClient) ShowServerTags(request *model.ShowServerTagsRequest) (*model.ShowServerTagsResponse, error) { - requestDef := GenReqDefForShowServerTags(request) - resp, responseDef := GenRespForShowServerTags() + requestDef := GenReqDefForShowServerTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowServerTagsResponse), nil } } //修改云服务器信息,目前支持修改云服务器名称及描述和hostname。 func (c *EcsClient) UpdateServer(request *model.UpdateServerRequest) (*model.UpdateServerResponse, error) { - requestDef := GenReqDefForUpdateServer(request) - resp, responseDef := GenRespForUpdateServer() + requestDef := GenReqDefForUpdateServer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateServerResponse), nil } } //更新云服务器元数据。 - 如果元数据中没有待更新字段,则自动添加该字段。 - 如果元数据中已存在待更新字段,则直接更新字段值。 - 如果元数据中的字段不再请求参数中,则保持不变 func (c *EcsClient) UpdateServerMetadata(request *model.UpdateServerMetadataRequest) (*model.UpdateServerMetadataResponse, error) { - requestDef := GenReqDefForUpdateServerMetadata(request) - resp, responseDef := GenRespForUpdateServerMetadata() + requestDef := GenReqDefForUpdateServerMetadata() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateServerMetadataResponse), nil } } //查询Job的执行状态。 对于创建云服务器、删除云服务器、云服务器批量操作和网卡操作等异步API,命令下发后,会返回job_id,通过job_id可以查询任务的执行状态。 func (c *EcsClient) ShowJob(request *model.ShowJobRequest) (*model.ShowJobResponse, error) { - requestDef := GenReqDefForShowJob(request) - resp, responseDef := GenRespForShowJob() + requestDef := GenReqDefForShowJob() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowJobResponse), nil } } diff --git a/services/ecs/v2/ecs_meta.go b/services/ecs/v2/ecs_meta.go index 35482550b9..88064bd249 100644 --- a/services/ecs/v2/ecs_meta.go +++ b/services/ecs/v2/ecs_meta.go @@ -6,1435 +6,1067 @@ import ( "net/http" ) -func GenReqDefForAddServerGroupMember(request *model.AddServerGroupMemberRequest) *def.HttpRequestDef { +func GenReqDefForAddServerGroupMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/os-server-groups/{server_group_id}/action"). + WithResponse(new(model.AddServerGroupMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_group_id"). + WithName("ServerGroupId"). + WithJsonTag("server_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAddServerGroupMember() (*model.AddServerGroupMemberResponse, *def.HttpResponseDef) { - resp := new(model.AddServerGroupMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForAttachServerVolume(request *model.AttachServerVolumeRequest) *def.HttpRequestDef { +func GenReqDefForAttachServerVolume() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/{server_id}/attachvolume"). + WithResponse(new(model.AttachServerVolumeResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAttachServerVolume() (*model.AttachServerVolumeResponse, *def.HttpResponseDef) { - resp := new(model.AttachServerVolumeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchAddServerNics(request *model.BatchAddServerNicsRequest) *def.HttpRequestDef { +func GenReqDefForBatchAddServerNics() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/{server_id}/nics"). + WithResponse(new(model.BatchAddServerNicsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchAddServerNics() (*model.BatchAddServerNicsResponse, *def.HttpResponseDef) { - resp := new(model.BatchAddServerNicsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchCreateServerTags(request *model.BatchCreateServerTagsRequest) *def.HttpRequestDef { +func GenReqDefForBatchCreateServerTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/{server_id}/tags/action"). + WithResponse(new(model.BatchCreateServerTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchCreateServerTags() (*model.BatchCreateServerTagsResponse, *def.HttpResponseDef) { - resp := new(model.BatchCreateServerTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchDeleteServerNics(request *model.BatchDeleteServerNicsRequest) *def.HttpRequestDef { +func GenReqDefForBatchDeleteServerNics() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/{server_id}/nics/delete"). + WithResponse(new(model.BatchDeleteServerNicsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchDeleteServerNics() (*model.BatchDeleteServerNicsResponse, *def.HttpResponseDef) { - resp := new(model.BatchDeleteServerNicsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchDeleteServerTags(request *model.BatchDeleteServerTagsRequest) *def.HttpRequestDef { +func GenReqDefForBatchDeleteServerTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/{server_id}/tags/action"). + WithResponse(new(model.BatchDeleteServerTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchDeleteServerTags() (*model.BatchDeleteServerTagsResponse, *def.HttpResponseDef) { - resp := new(model.BatchDeleteServerTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchRebootServers(request *model.BatchRebootServersRequest) *def.HttpRequestDef { +func GenReqDefForBatchRebootServers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/action"). + WithResponse(new(model.BatchRebootServersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchRebootServers() (*model.BatchRebootServersResponse, *def.HttpResponseDef) { - resp := new(model.BatchRebootServersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchStartServers(request *model.BatchStartServersRequest) *def.HttpRequestDef { +func GenReqDefForBatchStartServers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/action"). + WithResponse(new(model.BatchStartServersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchStartServers() (*model.BatchStartServersResponse, *def.HttpResponseDef) { - resp := new(model.BatchStartServersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchStopServers(request *model.BatchStopServersRequest) *def.HttpRequestDef { +func GenReqDefForBatchStopServers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/action"). + WithResponse(new(model.BatchStopServersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchStopServers() (*model.BatchStopServersResponse, *def.HttpResponseDef) { - resp := new(model.BatchStopServersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForChangeServerOsWithCloudInit(request *model.ChangeServerOsWithCloudInitRequest) *def.HttpRequestDef { +func GenReqDefForChangeServerOsWithCloudInit() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/cloudservers/{server_id}/changeos"). + WithResponse(new(model.ChangeServerOsWithCloudInitResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForChangeServerOsWithCloudInit() (*model.ChangeServerOsWithCloudInitResponse, *def.HttpResponseDef) { - resp := new(model.ChangeServerOsWithCloudInitResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePostPaidServers(request *model.CreatePostPaidServersRequest) *def.HttpRequestDef { +func GenReqDefForCreatePostPaidServers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers"). + WithResponse(new(model.CreatePostPaidServersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePostPaidServers() (*model.CreatePostPaidServersResponse, *def.HttpResponseDef) { - resp := new(model.CreatePostPaidServersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateServerGroup(request *model.CreateServerGroupRequest) *def.HttpRequestDef { +func GenReqDefForCreateServerGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/os-server-groups"). + WithResponse(new(model.CreateServerGroupResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateServerGroup() (*model.CreateServerGroupResponse, *def.HttpResponseDef) { - resp := new(model.CreateServerGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateServers(request *model.CreateServersRequest) *def.HttpRequestDef { +func GenReqDefForCreateServers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.1/{project_id}/cloudservers"). + WithResponse(new(model.CreateServersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateServers() (*model.CreateServersResponse, *def.HttpResponseDef) { - resp := new(model.CreateServersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteServerGroup(request *model.DeleteServerGroupRequest) *def.HttpRequestDef { +func GenReqDefForDeleteServerGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/cloudservers/os-server-groups/{server_group_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_group_id"). - WithLocationType(def.Path)) + WithPath("/v1/{project_id}/cloudservers/os-server-groups/{server_group_id}"). + WithResponse(new(model.DeleteServerGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ServerGroupId"). + WithJsonTag("server_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteServerGroup() (*model.DeleteServerGroupResponse, *def.HttpResponseDef) { - resp := new(model.DeleteServerGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteServerGroupMember(request *model.DeleteServerGroupMemberRequest) *def.HttpRequestDef { +func GenReqDefForDeleteServerGroupMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/os-server-groups/{server_group_id}/action"). + WithResponse(new(model.DeleteServerGroupMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_group_id"). + WithName("ServerGroupId"). + WithJsonTag("server_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteServerGroupMember() (*model.DeleteServerGroupMemberResponse, *def.HttpResponseDef) { - resp := new(model.DeleteServerGroupMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteServerMetadata(request *model.DeleteServerMetadataRequest) *def.HttpRequestDef { +func GenReqDefForDeleteServerMetadata() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/cloudservers/{server_id}/metadata/{key}") + WithPath("/v1/{project_id}/cloudservers/{server_id}/metadata/{key}"). + WithResponse(new(model.DeleteServerMetadataResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key"). + WithName("Key"). + WithJsonTag("key"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteServerMetadata() (*model.DeleteServerMetadataResponse, *def.HttpResponseDef) { - resp := new(model.DeleteServerMetadataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteServers(request *model.DeleteServersRequest) *def.HttpRequestDef { +func GenReqDefForDeleteServers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/delete"). + WithResponse(new(model.DeleteServersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteServers() (*model.DeleteServersResponse, *def.HttpResponseDef) { - resp := new(model.DeleteServersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDetachServerVolume(request *model.DetachServerVolumeRequest) *def.HttpRequestDef { +func GenReqDefForDetachServerVolume() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/cloudservers/{server_id}/detachvolume/{volume_id}") + WithPath("/v1/{project_id}/cloudservers/{server_id}/detachvolume/{volume_id}"). + WithResponse(new(model.DetachServerVolumeResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("delete_flag"). + WithName("DeleteFlag"). + WithJsonTag("delete_flag"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDetachServerVolume() (*model.DetachServerVolumeResponse, *def.HttpResponseDef) { - resp := new(model.DetachServerVolumeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListFlavors(request *model.ListFlavorsRequest) *def.HttpRequestDef { +func GenReqDefForListFlavors() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/flavors") + WithPath("/v1/{project_id}/cloudservers/flavors"). + WithResponse(new(model.ListFlavorsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("availability_zone"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("AvailabilityZone"). + WithJsonTag("availability_zone"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListFlavors() (*model.ListFlavorsResponse, *def.HttpResponseDef) { - resp := new(model.ListFlavorsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListResizeFlavors(request *model.ListResizeFlavorsRequest) *def.HttpRequestDef { +func GenReqDefForListResizeFlavors() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/resize_flavors") + WithPath("/v1/{project_id}/cloudservers/resize_flavors"). + WithResponse(new(model.ListResizeFlavorsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("instance_uuid"). + WithName("InstanceUuid"). + WithJsonTag("instance_uuid"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_dir"). + WithName("SortDir"). + WithJsonTag("sort_dir"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_key"). + WithName("SortKey"). + WithJsonTag("sort_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("source_flavor_id"). + WithName("SourceFlavorId"). + WithJsonTag("source_flavor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("source_flavor_name"). + WithName("SourceFlavorName"). + WithJsonTag("source_flavor_name"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListResizeFlavors() (*model.ListResizeFlavorsResponse, *def.HttpResponseDef) { - resp := new(model.ListResizeFlavorsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListServerBlockDevices(request *model.ListServerBlockDevicesRequest) *def.HttpRequestDef { +func GenReqDefForListServerBlockDevices() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/{server_id}/block_device") + WithPath("/v1/{project_id}/cloudservers/{server_id}/block_device"). + WithResponse(new(model.ListServerBlockDevicesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListServerBlockDevices() (*model.ListServerBlockDevicesResponse, *def.HttpResponseDef) { - resp := new(model.ListServerBlockDevicesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListServerInterfaces(request *model.ListServerInterfacesRequest) *def.HttpRequestDef { +func GenReqDefForListServerInterfaces() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/{server_id}/os-interface") + WithPath("/v1/{project_id}/cloudservers/{server_id}/os-interface"). + WithResponse(new(model.ListServerInterfacesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListServerInterfaces() (*model.ListServerInterfacesResponse, *def.HttpResponseDef) { - resp := new(model.ListServerInterfacesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListServersDetails(request *model.ListServersDetailsRequest) *def.HttpRequestDef { +func GenReqDefForListServersDetails() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/detail") + WithPath("/v1/{project_id}/cloudservers/detail"). + WithResponse(new(model.ListServersDetailsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("flavor"). + WithName("Flavor"). + WithJsonTag("flavor"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip"). + WithName("Ip"). + WithJsonTag("ip"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("not-tags"). + WithName("NotTags"). + WithJsonTag("not-tags"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("reservation_id"). + WithName("ReservationId"). + WithJsonTag("reservation_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tags"). + WithName("Tags"). + WithJsonTag("tags"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListServersDetails() (*model.ListServersDetailsResponse, *def.HttpResponseDef) { - resp := new(model.ListServersDetailsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaAssociateSecurityGroup(request *model.NovaAssociateSecurityGroupRequest) *def.HttpRequestDef { +func GenReqDefForNovaAssociateSecurityGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.1/{project_id}/servers/{server_id}/action"). + WithResponse(new(model.NovaAssociateSecurityGroupResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaAssociateSecurityGroup() (*model.NovaAssociateSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.NovaAssociateSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaCreateKeypair(request *model.NovaCreateKeypairRequest) *def.HttpRequestDef { +func GenReqDefForNovaCreateKeypair() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.1/{project_id}/os-keypairs"). + WithResponse(new(model.NovaCreateKeypairResponse)). WithContentType("application/json;charset=UTF-8") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("OpenStack-API-Version"). + WithName("OpenStackAPIVersion"). + WithJsonTag("OpenStack-API-Version"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaCreateKeypair() (*model.NovaCreateKeypairResponse, *def.HttpResponseDef) { - resp := new(model.NovaCreateKeypairResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaCreateServers(request *model.NovaCreateServersRequest) *def.HttpRequestDef { +func GenReqDefForNovaCreateServers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.1/{project_id}/servers"). + WithResponse(new(model.NovaCreateServersResponse)). WithContentType("application/json;charset=UTF-8") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("OpenStack-API-Version"). + WithName("OpenStackAPIVersion"). + WithJsonTag("OpenStack-API-Version"). WithLocationType(def.Header)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaCreateServers() (*model.NovaCreateServersResponse, *def.HttpResponseDef) { - resp := new(model.NovaCreateServersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaDeleteKeypair(request *model.NovaDeleteKeypairRequest) *def.HttpRequestDef { +func GenReqDefForNovaDeleteKeypair() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2.1/{project_id}/os-keypairs/{keypair_name}") + WithPath("/v2.1/{project_id}/os-keypairs/{keypair_name}"). + WithResponse(new(model.NovaDeleteKeypairResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("keypair_name"). + WithName("KeypairName"). + WithJsonTag("keypair_name"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaDeleteKeypair() (*model.NovaDeleteKeypairResponse, *def.HttpResponseDef) { - resp := new(model.NovaDeleteKeypairResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaDeleteServer(request *model.NovaDeleteServerRequest) *def.HttpRequestDef { +func GenReqDefForNovaDeleteServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2.1/{project_id}/servers/{server_id}") + WithPath("/v2.1/{project_id}/servers/{server_id}"). + WithResponse(new(model.NovaDeleteServerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaDeleteServer() (*model.NovaDeleteServerResponse, *def.HttpResponseDef) { - resp := new(model.NovaDeleteServerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaDisassociateSecurityGroup(request *model.NovaDisassociateSecurityGroupRequest) *def.HttpRequestDef { +func GenReqDefForNovaDisassociateSecurityGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.1/{project_id}/servers/{server_id}/action"). + WithResponse(new(model.NovaDisassociateSecurityGroupResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaDisassociateSecurityGroup() (*model.NovaDisassociateSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.NovaDisassociateSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaListAvailabilityZones(request *model.NovaListAvailabilityZonesRequest) *def.HttpRequestDef { +func GenReqDefForNovaListAvailabilityZones() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.1/{project_id}/os-availability-zone") + WithPath("/v2.1/{project_id}/os-availability-zone"). + WithResponse(new(model.NovaListAvailabilityZonesResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaListAvailabilityZones() (*model.NovaListAvailabilityZonesResponse, *def.HttpResponseDef) { - resp := new(model.NovaListAvailabilityZonesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaListKeypairs(request *model.NovaListKeypairsRequest) *def.HttpRequestDef { +func GenReqDefForNovaListKeypairs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.1/{project_id}/os-keypairs") + WithPath("/v2.1/{project_id}/os-keypairs"). + WithResponse(new(model.NovaListKeypairsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("OpenStack-API-Version"). + WithName("OpenStackAPIVersion"). + WithJsonTag("OpenStack-API-Version"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaListKeypairs() (*model.NovaListKeypairsResponse, *def.HttpResponseDef) { - resp := new(model.NovaListKeypairsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaListServerSecurityGroups(request *model.NovaListServerSecurityGroupsRequest) *def.HttpRequestDef { +func GenReqDefForNovaListServerSecurityGroups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.1/{project_id}/servers/{server_id}/os-security-groups") + WithPath("/v2.1/{project_id}/servers/{server_id}/os-security-groups"). + WithResponse(new(model.NovaListServerSecurityGroupsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaListServerSecurityGroups() (*model.NovaListServerSecurityGroupsResponse, *def.HttpResponseDef) { - resp := new(model.NovaListServerSecurityGroupsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaListServersDetails(request *model.NovaListServersDetailsRequest) *def.HttpRequestDef { +func GenReqDefForNovaListServersDetails() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.1/{project_id}/servers/detail") + WithPath("/v2.1/{project_id}/servers/detail"). + WithResponse(new(model.NovaListServersDetailsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("changes-since"). + WithName("ChangesSince"). + WithJsonTag("changes-since"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("flavor"). + WithName("Flavor"). + WithJsonTag("flavor"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image"). + WithName("Image"). + WithJsonTag("image"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip"). + WithName("Ip"). + WithJsonTag("ip"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("not-tags"). + WithName("NotTags"). + WithJsonTag("not-tags"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("reservation_id"). + WithName("ReservationId"). + WithJsonTag("reservation_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_key"). + WithName("SortKey"). + WithJsonTag("sort_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tags"). + WithName("Tags"). + WithJsonTag("tags"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("OpenStack-API-Version"). + WithName("OpenStackAPIVersion"). + WithJsonTag("OpenStack-API-Version"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaListServersDetails() (*model.NovaListServersDetailsResponse, *def.HttpResponseDef) { - resp := new(model.NovaListServersDetailsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNovaShowServer(request *model.NovaShowServerRequest) *def.HttpRequestDef { +func GenReqDefForNovaShowServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.1/{project_id}/servers/{server_id}") + WithPath("/v2.1/{project_id}/servers/{server_id}"). + WithResponse(new(model.NovaShowServerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("OpenStack-API-Version"). + WithName("OpenStackAPIVersion"). + WithJsonTag("OpenStack-API-Version"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNovaShowServer() (*model.NovaShowServerResponse, *def.HttpResponseDef) { - resp := new(model.NovaShowServerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForReinstallServerWithCloudInit(request *model.ReinstallServerWithCloudInitRequest) *def.HttpRequestDef { +func GenReqDefForReinstallServerWithCloudInit() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/cloudservers/{server_id}/reinstallos"). + WithResponse(new(model.ReinstallServerWithCloudInitResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForReinstallServerWithCloudInit() (*model.ReinstallServerWithCloudInitResponse, *def.HttpResponseDef) { - resp := new(model.ReinstallServerWithCloudInitResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForResetServerPassword(request *model.ResetServerPasswordRequest) *def.HttpRequestDef { +func GenReqDefForResetServerPassword() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/cloudservers/{server_id}/os-reset-password"). + WithResponse(new(model.ResetServerPasswordResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForResetServerPassword() (*model.ResetServerPasswordResponse, *def.HttpResponseDef) { - resp := new(model.ResetServerPasswordResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForResizePostPaidServer(request *model.ResizePostPaidServerRequest) *def.HttpRequestDef { +func GenReqDefForResizePostPaidServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/{server_id}/resize"). + WithResponse(new(model.ResizePostPaidServerResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForResizePostPaidServer() (*model.ResizePostPaidServerResponse, *def.HttpResponseDef) { - resp := new(model.ResizePostPaidServerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForResizeServer(request *model.ResizeServerRequest) *def.HttpRequestDef { +func GenReqDefForResizeServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.1/{project_id}/cloudservers/{server_id}/resize"). + WithResponse(new(model.ResizeServerResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForResizeServer() (*model.ResizeServerResponse, *def.HttpResponseDef) { - resp := new(model.ResizeServerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowResetPasswordFlag(request *model.ShowResetPasswordFlagRequest) *def.HttpRequestDef { +func GenReqDefForShowResetPasswordFlag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/{server_id}/os-resetpwd-flag") + WithPath("/v1/{project_id}/cloudservers/{server_id}/os-resetpwd-flag"). + WithResponse(new(model.ShowResetPasswordFlagResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowResetPasswordFlag() (*model.ShowResetPasswordFlagResponse, *def.HttpResponseDef) { - resp := new(model.ShowResetPasswordFlagResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowServer(request *model.ShowServerRequest) *def.HttpRequestDef { +func GenReqDefForShowServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/{server_id}") + WithPath("/v1/{project_id}/cloudservers/{server_id}"). + WithResponse(new(model.ShowServerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowServer() (*model.ShowServerResponse, *def.HttpResponseDef) { - resp := new(model.ShowServerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowServerLimits(request *model.ShowServerLimitsRequest) *def.HttpRequestDef { +func GenReqDefForShowServerLimits() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/limits") + WithPath("/v1/{project_id}/cloudservers/limits"). + WithResponse(new(model.ShowServerLimitsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowServerLimits() (*model.ShowServerLimitsResponse, *def.HttpResponseDef) { - resp := new(model.ShowServerLimitsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowServerRemoteConsole(request *model.ShowServerRemoteConsoleRequest) *def.HttpRequestDef { +func GenReqDefForShowServerRemoteConsole() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/{server_id}/remote_console"). + WithResponse(new(model.ShowServerRemoteConsoleResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowServerRemoteConsole() (*model.ShowServerRemoteConsoleResponse, *def.HttpResponseDef) { - resp := new(model.ShowServerRemoteConsoleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowServerTags(request *model.ShowServerTagsRequest) *def.HttpRequestDef { +func GenReqDefForShowServerTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/cloudservers/{server_id}/tags") + WithPath("/v1/{project_id}/cloudservers/{server_id}/tags"). + WithResponse(new(model.ShowServerTagsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowServerTags() (*model.ShowServerTagsResponse, *def.HttpResponseDef) { - resp := new(model.ShowServerTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateServer(request *model.UpdateServerRequest) *def.HttpRequestDef { +func GenReqDefForUpdateServer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/cloudservers/{server_id}"). + WithResponse(new(model.UpdateServerResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateServer() (*model.UpdateServerResponse, *def.HttpResponseDef) { - resp := new(model.UpdateServerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateServerMetadata(request *model.UpdateServerMetadataRequest) *def.HttpRequestDef { +func GenReqDefForUpdateServerMetadata() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/cloudservers/{server_id}/metadata"). + WithResponse(new(model.UpdateServerMetadataResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("server_id"). + WithName("ServerId"). + WithJsonTag("server_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateServerMetadata() (*model.UpdateServerMetadataResponse, *def.HttpResponseDef) { - resp := new(model.UpdateServerMetadataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowJob(request *model.ShowJobRequest) *def.HttpRequestDef { +func GenReqDefForShowJob() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/jobs/{job_id}") + WithPath("/v1/{project_id}/jobs/{job_id}"). + WithResponse(new(model.ShowJobResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("job_id"). + WithName("JobId"). + WithJsonTag("job_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForShowJob() (*model.ShowJobResponse, *def.HttpResponseDef) { - resp := new(model.ShowJobResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/eip/v2/eip_client.go b/services/eip/v2/eip_client.go index d4cd858d33..f4d93e5350 100644 --- a/services/eip/v2/eip_client.go +++ b/services/eip/v2/eip_client.go @@ -20,336 +20,308 @@ func EipClientBuilder() *http_client.HcHttpClientBuilder { //共享带宽插入弹性公网IP。 func (c *EipClient) AddPublicipsIntoSharedBandwidth(request *model.AddPublicipsIntoSharedBandwidthRequest) (*model.AddPublicipsIntoSharedBandwidthResponse, error) { - requestDef := GenReqDefForAddPublicipsIntoSharedBandwidth(request) - resp, responseDef := GenRespForAddPublicipsIntoSharedBandwidth() + requestDef := GenReqDefForAddPublicipsIntoSharedBandwidth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AddPublicipsIntoSharedBandwidthResponse), nil } } //批量创建共享带宽。 func (c *EipClient) BatchCreateSharedBandwidths(request *model.BatchCreateSharedBandwidthsRequest) (*model.BatchCreateSharedBandwidthsResponse, error) { - requestDef := GenReqDefForBatchCreateSharedBandwidths(request) - resp, responseDef := GenRespForBatchCreateSharedBandwidths() + requestDef := GenReqDefForBatchCreateSharedBandwidths() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchCreateSharedBandwidthsResponse), nil } } //创建共享带宽。 func (c *EipClient) CreateSharedBandwidth(request *model.CreateSharedBandwidthRequest) (*model.CreateSharedBandwidthResponse, error) { - requestDef := GenReqDefForCreateSharedBandwidth(request) - resp, responseDef := GenRespForCreateSharedBandwidth() + requestDef := GenReqDefForCreateSharedBandwidth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSharedBandwidthResponse), nil } } //删除共享带宽。 func (c *EipClient) DeleteSharedBandwidth(request *model.DeleteSharedBandwidthRequest) (*model.DeleteSharedBandwidthResponse, error) { - requestDef := GenReqDefForDeleteSharedBandwidth(request) - resp, responseDef := GenRespForDeleteSharedBandwidth() + requestDef := GenReqDefForDeleteSharedBandwidth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSharedBandwidthResponse), nil } } //查询带宽列表。 func (c *EipClient) ListBandwidths(request *model.ListBandwidthsRequest) (*model.ListBandwidthsResponse, error) { - requestDef := GenReqDefForListBandwidths(request) - resp, responseDef := GenRespForListBandwidths() + requestDef := GenReqDefForListBandwidths() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListBandwidthsResponse), nil } } //查询配额 func (c *EipClient) ListQuotas(request *model.ListQuotasRequest) (*model.ListQuotasResponse, error) { - requestDef := GenReqDefForListQuotas(request) - resp, responseDef := GenRespForListQuotas() + requestDef := GenReqDefForListQuotas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListQuotasResponse), nil } } //共享带宽移除弹性公网IP。 func (c *EipClient) RemovePublicipsFromSharedBandwidth(request *model.RemovePublicipsFromSharedBandwidthRequest) (*model.RemovePublicipsFromSharedBandwidthResponse, error) { - requestDef := GenReqDefForRemovePublicipsFromSharedBandwidth(request) - resp, responseDef := GenRespForRemovePublicipsFromSharedBandwidth() + requestDef := GenReqDefForRemovePublicipsFromSharedBandwidth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RemovePublicipsFromSharedBandwidthResponse), nil } } //查询带宽 func (c *EipClient) ShowBandwidth(request *model.ShowBandwidthRequest) (*model.ShowBandwidthResponse, error) { - requestDef := GenReqDefForShowBandwidth(request) - resp, responseDef := GenRespForShowBandwidth() + requestDef := GenReqDefForShowBandwidth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowBandwidthResponse), nil } } //更新带宽。 func (c *EipClient) UpdateBandwidth(request *model.UpdateBandwidthRequest) (*model.UpdateBandwidthResponse, error) { - requestDef := GenReqDefForUpdateBandwidth(request) - resp, responseDef := GenRespForUpdateBandwidth() + requestDef := GenReqDefForUpdateBandwidth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateBandwidthResponse), nil } } //更新带宽。 func (c *EipClient) UpdatePrePaidBandwidth(request *model.UpdatePrePaidBandwidthRequest) (*model.UpdatePrePaidBandwidthResponse, error) { - requestDef := GenReqDefForUpdatePrePaidBandwidth(request) - resp, responseDef := GenRespForUpdatePrePaidBandwidth() + requestDef := GenReqDefForUpdatePrePaidBandwidth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePrePaidBandwidthResponse), nil } } //为指定的弹性公网IP资源实例批量添加标签。 func (c *EipClient) BatchCreatePublicipTags(request *model.BatchCreatePublicipTagsRequest) (*model.BatchCreatePublicipTagsResponse, error) { - requestDef := GenReqDefForBatchCreatePublicipTags(request) - resp, responseDef := GenRespForBatchCreatePublicipTags() + requestDef := GenReqDefForBatchCreatePublicipTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchCreatePublicipTagsResponse), nil } } //为指定的弹性公网IP资源实例批量删除标签。 func (c *EipClient) BatchDeletePublicipTags(request *model.BatchDeletePublicipTagsRequest) (*model.BatchDeletePublicipTagsResponse, error) { - requestDef := GenReqDefForBatchDeletePublicipTags(request) - resp, responseDef := GenRespForBatchDeletePublicipTags() + requestDef := GenReqDefForBatchDeletePublicipTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchDeletePublicipTagsResponse), nil } } //申请包年包月的弹性公网IP。 func (c *EipClient) CreatePrePaidPublicip(request *model.CreatePrePaidPublicipRequest) (*model.CreatePrePaidPublicipResponse, error) { - requestDef := GenReqDefForCreatePrePaidPublicip(request) - resp, responseDef := GenRespForCreatePrePaidPublicip() + requestDef := GenReqDefForCreatePrePaidPublicip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePrePaidPublicipResponse), nil } } //申请弹性公网IP,支持IPv4和IPv6。 弹性公网IP(Elastic IP)提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑。拥有多种灵活的计费方式,可以满足各种业务场景的需要。 func (c *EipClient) CreatePublicip(request *model.CreatePublicipRequest) (*model.CreatePublicipResponse, error) { - requestDef := GenReqDefForCreatePublicip(request) - resp, responseDef := GenRespForCreatePublicip() + requestDef := GenReqDefForCreatePublicip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePublicipResponse), nil } } //给指定弹性IP资源实例增加标签信息。 func (c *EipClient) CreatePublicipTag(request *model.CreatePublicipTagRequest) (*model.CreatePublicipTagResponse, error) { - requestDef := GenReqDefForCreatePublicipTag(request) - resp, responseDef := GenRespForCreatePublicipTag() + requestDef := GenReqDefForCreatePublicipTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePublicipTagResponse), nil } } //删除弹性公网IP。 func (c *EipClient) DeletePublicip(request *model.DeletePublicipRequest) (*model.DeletePublicipResponse, error) { - requestDef := GenReqDefForDeletePublicip(request) - resp, responseDef := GenRespForDeletePublicip() + requestDef := GenReqDefForDeletePublicip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePublicipResponse), nil } } //删除指定弹性公网IP的标签信息。其中project_id是项目ID,publicip_id 是要操作的弹性公网IP的id。key是要删除标签的键。 func (c *EipClient) DeletePublicipTag(request *model.DeletePublicipTagRequest) (*model.DeletePublicipTagResponse, error) { - requestDef := GenReqDefForDeletePublicipTag(request) - resp, responseDef := GenRespForDeletePublicipTag() + requestDef := GenReqDefForDeletePublicipTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePublicipTagResponse), nil } } //查询租户在指定区域和实例类型的所有标签集合。 func (c *EipClient) ListPublicipTags(request *model.ListPublicipTagsRequest) (*model.ListPublicipTagsResponse, error) { - requestDef := GenReqDefForListPublicipTags(request) - resp, responseDef := GenRespForListPublicipTags() + requestDef := GenReqDefForListPublicipTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPublicipTagsResponse), nil } } //查询弹性公网IP列表 func (c *EipClient) ListPublicips(request *model.ListPublicipsRequest) (*model.ListPublicipsResponse, error) { - requestDef := GenReqDefForListPublicips(request) - resp, responseDef := GenRespForListPublicips() + requestDef := GenReqDefForListPublicips() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPublicipsResponse), nil } } //使用标签过滤弹性公网IP。 func (c *EipClient) ListPublicipsByTags(request *model.ListPublicipsByTagsRequest) (*model.ListPublicipsByTagsResponse, error) { - requestDef := GenReqDefForListPublicipsByTags(request) - resp, responseDef := GenRespForListPublicipsByTags() + requestDef := GenReqDefForListPublicipsByTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPublicipsByTagsResponse), nil } } //查询指定的弹性公网IP。 func (c *EipClient) ShowPublicip(request *model.ShowPublicipRequest) (*model.ShowPublicipResponse, error) { - requestDef := GenReqDefForShowPublicip(request) - resp, responseDef := GenRespForShowPublicip() + requestDef := GenReqDefForShowPublicip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPublicipResponse), nil } } //查询指定弹性IP实例的标签信息。 func (c *EipClient) ShowPublicipTags(request *model.ShowPublicipTagsRequest) (*model.ShowPublicipTagsResponse, error) { - requestDef := GenReqDefForShowPublicipTags(request) - resp, responseDef := GenRespForShowPublicipTags() + requestDef := GenReqDefForShowPublicipTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPublicipTagsResponse), nil } } //更新弹性公网IP,将弹性公网IP跟一个网卡绑定或者解绑定,转换IP地址版本类型。 func (c *EipClient) UpdatePublicip(request *model.UpdatePublicipRequest) (*model.UpdatePublicipResponse, error) { - requestDef := GenReqDefForUpdatePublicip(request) - resp, responseDef := GenRespForUpdatePublicip() + requestDef := GenReqDefForUpdatePublicip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePublicipResponse), nil } } //创建浮动IP的外部网络UUID,请使用GET /v2.0/networks?router:external=True或neutron net-external-list方式获取。 func (c *EipClient) NeutronCreateFloatingIp(request *model.NeutronCreateFloatingIpRequest) (*model.NeutronCreateFloatingIpResponse, error) { - requestDef := GenReqDefForNeutronCreateFloatingIp(request) - resp, responseDef := GenRespForNeutronCreateFloatingIp() + requestDef := GenReqDefForNeutronCreateFloatingIp() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NeutronCreateFloatingIpResponse), nil } } //删除指定的浮动IP。 func (c *EipClient) NeutronDeleteFloatingIp(request *model.NeutronDeleteFloatingIpRequest) (*model.NeutronDeleteFloatingIpResponse, error) { - requestDef := GenReqDefForNeutronDeleteFloatingIp(request) - resp, responseDef := GenRespForNeutronDeleteFloatingIp() + requestDef := GenReqDefForNeutronDeleteFloatingIp() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NeutronDeleteFloatingIpResponse), nil } } //查询提交请求的租户有权限操作的所有浮动IP地址。 func (c *EipClient) NeutronListFloatingIps(request *model.NeutronListFloatingIpsRequest) (*model.NeutronListFloatingIpsResponse, error) { - requestDef := GenReqDefForNeutronListFloatingIps(request) - resp, responseDef := GenRespForNeutronListFloatingIps() + requestDef := GenReqDefForNeutronListFloatingIps() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NeutronListFloatingIpsResponse), nil } } //查询浮动IP详情,包括浮动IP状态,浮动IP所属路由器ID,浮动IP的外部网络ID等等。 func (c *EipClient) NeutronShowFloatingIp(request *model.NeutronShowFloatingIpRequest) (*model.NeutronShowFloatingIpResponse, error) { - requestDef := GenReqDefForNeutronShowFloatingIp(request) - resp, responseDef := GenRespForNeutronShowFloatingIp() + requestDef := GenReqDefForNeutronShowFloatingIp() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NeutronShowFloatingIpResponse), nil } } //更新浮动IP。 更新时需在URL中给出浮动IP地址的ID。 port_id 为空,则表示浮动IP从端口解绑。 func (c *EipClient) NeutronUpdateFloatingIp(request *model.NeutronUpdateFloatingIpRequest) (*model.NeutronUpdateFloatingIpResponse, error) { - requestDef := GenReqDefForNeutronUpdateFloatingIp(request) - resp, responseDef := GenRespForNeutronUpdateFloatingIp() + requestDef := GenReqDefForNeutronUpdateFloatingIp() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.NeutronUpdateFloatingIpResponse), nil } } diff --git a/services/eip/v2/eip_meta.go b/services/eip/v2/eip_meta.go index 455cbc95c1..0da1287a50 100644 --- a/services/eip/v2/eip_meta.go +++ b/services/eip/v2/eip_meta.go @@ -6,863 +6,637 @@ import ( "net/http" ) -func GenReqDefForAddPublicipsIntoSharedBandwidth(request *model.AddPublicipsIntoSharedBandwidthRequest) *def.HttpRequestDef { +func GenReqDefForAddPublicipsIntoSharedBandwidth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/bandwidths/{bandwidth_id}/insert"). + WithResponse(new(model.AddPublicipsIntoSharedBandwidthResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth_id"). + WithName("BandwidthId"). + WithJsonTag("bandwidth_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAddPublicipsIntoSharedBandwidth() (*model.AddPublicipsIntoSharedBandwidthResponse, *def.HttpResponseDef) { - resp := new(model.AddPublicipsIntoSharedBandwidthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchCreateSharedBandwidths(request *model.BatchCreateSharedBandwidthsRequest) *def.HttpRequestDef { +func GenReqDefForBatchCreateSharedBandwidths() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/batch-bandwidths"). + WithResponse(new(model.BatchCreateSharedBandwidthsResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchCreateSharedBandwidths() (*model.BatchCreateSharedBandwidthsResponse, *def.HttpResponseDef) { - resp := new(model.BatchCreateSharedBandwidthsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSharedBandwidth(request *model.CreateSharedBandwidthRequest) *def.HttpRequestDef { +func GenReqDefForCreateSharedBandwidth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/bandwidths"). + WithResponse(new(model.CreateSharedBandwidthResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSharedBandwidth() (*model.CreateSharedBandwidthResponse, *def.HttpResponseDef) { - resp := new(model.CreateSharedBandwidthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSharedBandwidth(request *model.DeleteSharedBandwidthRequest) *def.HttpRequestDef { +func GenReqDefForDeleteSharedBandwidth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2.0/{project_id}/bandwidths/{bandwidth_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth_id"). - WithLocationType(def.Path)) + WithPath("/v2.0/{project_id}/bandwidths/{bandwidth_id}"). + WithResponse(new(model.DeleteSharedBandwidthResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("BandwidthId"). + WithJsonTag("bandwidth_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSharedBandwidth() (*model.DeleteSharedBandwidthResponse, *def.HttpResponseDef) { - resp := new(model.DeleteSharedBandwidthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListBandwidths(request *model.ListBandwidthsRequest) *def.HttpRequestDef { +func GenReqDefForListBandwidths() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/bandwidths") + WithPath("/v1/{project_id}/bandwidths"). + WithResponse(new(model.ListBandwidthsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("share_type"). + WithName("ShareType"). + WithJsonTag("share_type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListBandwidths() (*model.ListBandwidthsResponse, *def.HttpResponseDef) { - resp := new(model.ListBandwidthsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListQuotas(request *model.ListQuotasRequest) *def.HttpRequestDef { +func GenReqDefForListQuotas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/quotas") + WithPath("/v1/{project_id}/quotas"). + WithResponse(new(model.ListQuotasResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListQuotas() (*model.ListQuotasResponse, *def.HttpResponseDef) { - resp := new(model.ListQuotasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRemovePublicipsFromSharedBandwidth(request *model.RemovePublicipsFromSharedBandwidthRequest) *def.HttpRequestDef { +func GenReqDefForRemovePublicipsFromSharedBandwidth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/bandwidths/{bandwidth_id}/remove"). + WithResponse(new(model.RemovePublicipsFromSharedBandwidthResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth_id"). + WithName("BandwidthId"). + WithJsonTag("bandwidth_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRemovePublicipsFromSharedBandwidth() (*model.RemovePublicipsFromSharedBandwidthResponse, *def.HttpResponseDef) { - resp := new(model.RemovePublicipsFromSharedBandwidthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowBandwidth(request *model.ShowBandwidthRequest) *def.HttpRequestDef { +func GenReqDefForShowBandwidth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/bandwidths/{bandwidth_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth_id"). - WithLocationType(def.Path)) + WithPath("/v1/{project_id}/bandwidths/{bandwidth_id}"). + WithResponse(new(model.ShowBandwidthResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("BandwidthId"). + WithJsonTag("bandwidth_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowBandwidth() (*model.ShowBandwidthResponse, *def.HttpResponseDef) { - resp := new(model.ShowBandwidthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateBandwidth(request *model.UpdateBandwidthRequest) *def.HttpRequestDef { +func GenReqDefForUpdateBandwidth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/bandwidths/{bandwidth_id}"). + WithResponse(new(model.UpdateBandwidthResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth_id"). + WithName("BandwidthId"). + WithJsonTag("bandwidth_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateBandwidth() (*model.UpdateBandwidthResponse, *def.HttpResponseDef) { - resp := new(model.UpdateBandwidthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePrePaidBandwidth(request *model.UpdatePrePaidBandwidthRequest) *def.HttpRequestDef { +func GenReqDefForUpdatePrePaidBandwidth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2.0/{project_id}/bandwidths/{bandwidth_id}"). + WithResponse(new(model.UpdatePrePaidBandwidthResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth_id"). + WithName("BandwidthId"). + WithJsonTag("bandwidth_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdatePrePaidBandwidth() (*model.UpdatePrePaidBandwidthResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePrePaidBandwidthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchCreatePublicipTags(request *model.BatchCreatePublicipTagsRequest) *def.HttpRequestDef { +func GenReqDefForBatchCreatePublicipTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/publicips/{publicip_id}/tags/action"). + WithResponse(new(model.BatchCreatePublicipTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchCreatePublicipTags() (*model.BatchCreatePublicipTagsResponse, *def.HttpResponseDef) { - resp := new(model.BatchCreatePublicipTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchDeletePublicipTags(request *model.BatchDeletePublicipTagsRequest) *def.HttpRequestDef { +func GenReqDefForBatchDeletePublicipTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/publicips/{publicip_id}/tags/action"). + WithResponse(new(model.BatchDeletePublicipTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchDeletePublicipTags() (*model.BatchDeletePublicipTagsResponse, *def.HttpResponseDef) { - resp := new(model.BatchDeletePublicipTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePrePaidPublicip(request *model.CreatePrePaidPublicipRequest) *def.HttpRequestDef { +func GenReqDefForCreatePrePaidPublicip() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/publicips"). + WithResponse(new(model.CreatePrePaidPublicipResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePrePaidPublicip() (*model.CreatePrePaidPublicipResponse, *def.HttpResponseDef) { - resp := new(model.CreatePrePaidPublicipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePublicip(request *model.CreatePublicipRequest) *def.HttpRequestDef { +func GenReqDefForCreatePublicip() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/publicips"). + WithResponse(new(model.CreatePublicipResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePublicip() (*model.CreatePublicipResponse, *def.HttpResponseDef) { - resp := new(model.CreatePublicipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePublicipTag(request *model.CreatePublicipTagRequest) *def.HttpRequestDef { +func GenReqDefForCreatePublicipTag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/publicips/{publicip_id}/tags"). + WithResponse(new(model.CreatePublicipTagResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePublicipTag() (*model.CreatePublicipTagResponse, *def.HttpResponseDef) { - resp := new(model.CreatePublicipTagResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePublicip(request *model.DeletePublicipRequest) *def.HttpRequestDef { +func GenReqDefForDeletePublicip() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/publicips/{publicip_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). - WithLocationType(def.Path)) + WithPath("/v1/{project_id}/publicips/{publicip_id}"). + WithResponse(new(model.DeletePublicipResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePublicip() (*model.DeletePublicipResponse, *def.HttpResponseDef) { - resp := new(model.DeletePublicipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePublicipTag(request *model.DeletePublicipTagRequest) *def.HttpRequestDef { +func GenReqDefForDeletePublicipTag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2.0/{project_id}/publicips/{publicip_id}/tags/{key}") + WithPath("/v2.0/{project_id}/publicips/{publicip_id}/tags/{key}"). + WithResponse(new(model.DeletePublicipTagResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("Key"). + WithJsonTag("key"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePublicipTag() (*model.DeletePublicipTagResponse, *def.HttpResponseDef) { - resp := new(model.DeletePublicipTagResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPublicipTags(request *model.ListPublicipTagsRequest) *def.HttpRequestDef { +func GenReqDefForListPublicipTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/{project_id}/publicips/tags") + WithPath("/v2.0/{project_id}/publicips/tags"). + WithResponse(new(model.ListPublicipTagsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPublicipTags() (*model.ListPublicipTagsResponse, *def.HttpResponseDef) { - resp := new(model.ListPublicipTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPublicips(request *model.ListPublicipsRequest) *def.HttpRequestDef { +func GenReqDefForListPublicips() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/publicips") + WithPath("/v1/{project_id}/publicips"). + WithResponse(new(model.ListPublicipsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip_version"). + WithName("IpVersion"). + WithJsonTag("ip_version"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("port_id"). + WithName("PortId"). + WithJsonTag("port_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("public_ip_address"). + WithName("PublicIpAddress"). + WithJsonTag("public_ip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("private_ip_address"). + WithName("PrivateIpAddress"). + WithJsonTag("private_ip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPublicips() (*model.ListPublicipsResponse, *def.HttpResponseDef) { - resp := new(model.ListPublicipsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPublicipsByTags(request *model.ListPublicipsByTagsRequest) *def.HttpRequestDef { +func GenReqDefForListPublicipsByTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/{project_id}/publicips/resource_instances/action"). + WithResponse(new(model.ListPublicipsByTagsResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPublicipsByTags() (*model.ListPublicipsByTagsResponse, *def.HttpResponseDef) { - resp := new(model.ListPublicipsByTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPublicip(request *model.ShowPublicipRequest) *def.HttpRequestDef { +func GenReqDefForShowPublicip() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/publicips/{publicip_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). - WithLocationType(def.Path)) + WithPath("/v1/{project_id}/publicips/{publicip_id}"). + WithResponse(new(model.ShowPublicipResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPublicip() (*model.ShowPublicipResponse, *def.HttpResponseDef) { - resp := new(model.ShowPublicipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPublicipTags(request *model.ShowPublicipTagsRequest) *def.HttpRequestDef { +func GenReqDefForShowPublicipTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/{project_id}/publicips/{publicip_id}/tags") + WithPath("/v2.0/{project_id}/publicips/{publicip_id}/tags"). + WithResponse(new(model.ShowPublicipTagsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPublicipTags() (*model.ShowPublicipTagsResponse, *def.HttpResponseDef) { - resp := new(model.ShowPublicipTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePublicip(request *model.UpdatePublicipRequest) *def.HttpRequestDef { +func GenReqDefForUpdatePublicip() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/publicips/{publicip_id}"). + WithResponse(new(model.UpdatePublicipResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdatePublicip() (*model.UpdatePublicipResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePublicipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNeutronCreateFloatingIp(request *model.NeutronCreateFloatingIpRequest) *def.HttpRequestDef { +func GenReqDefForNeutronCreateFloatingIp() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.0/floatingips"). + WithResponse(new(model.NeutronCreateFloatingIpResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNeutronCreateFloatingIp() (*model.NeutronCreateFloatingIpResponse, *def.HttpResponseDef) { - resp := new(model.NeutronCreateFloatingIpResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNeutronDeleteFloatingIp(request *model.NeutronDeleteFloatingIpRequest) *def.HttpRequestDef { +func GenReqDefForNeutronDeleteFloatingIp() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2.0/floatingips/{floatingip_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("floatingip_id"). - WithLocationType(def.Path)) + WithPath("/v2.0/floatingips/{floatingip_id}"). + WithResponse(new(model.NeutronDeleteFloatingIpResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("FloatingipId"). + WithJsonTag("floatingip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNeutronDeleteFloatingIp() (*model.NeutronDeleteFloatingIpResponse, *def.HttpResponseDef) { - resp := new(model.NeutronDeleteFloatingIpResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNeutronListFloatingIps(request *model.NeutronListFloatingIpsRequest) *def.HttpRequestDef { +func GenReqDefForNeutronListFloatingIps() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/floatingips") + WithPath("/v2.0/floatingips"). + WithResponse(new(model.NeutronListFloatingIpsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("floating_ip_address"). + WithName("FloatingIpAddress"). + WithJsonTag("floating_ip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("router_id"). + WithName("RouterId"). + WithJsonTag("router_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("port_id"). + WithName("PortId"). + WithJsonTag("port_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("fixed_ip_address"). + WithName("FixedIpAddress"). + WithJsonTag("fixed_ip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tenant_id"). + WithName("TenantId"). + WithJsonTag("tenant_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("floating_network_id"). + WithName("FloatingNetworkId"). + WithJsonTag("floating_network_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNeutronListFloatingIps() (*model.NeutronListFloatingIpsResponse, *def.HttpResponseDef) { - resp := new(model.NeutronListFloatingIpsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNeutronShowFloatingIp(request *model.NeutronShowFloatingIpRequest) *def.HttpRequestDef { +func GenReqDefForNeutronShowFloatingIp() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/floatingips/{floatingip_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("floatingip_id"). - WithLocationType(def.Path)) + WithPath("/v2.0/floatingips/{floatingip_id}"). + WithResponse(new(model.NeutronShowFloatingIpResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("FloatingipId"). + WithJsonTag("floatingip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForNeutronShowFloatingIp() (*model.NeutronShowFloatingIpResponse, *def.HttpResponseDef) { - resp := new(model.NeutronShowFloatingIpResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForNeutronUpdateFloatingIp(request *model.NeutronUpdateFloatingIpRequest) *def.HttpRequestDef { +func GenReqDefForNeutronUpdateFloatingIp() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2.0/floatingips/{floatingip_id}"). + WithResponse(new(model.NeutronUpdateFloatingIpResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("floatingip_id"). + WithName("FloatingipId"). + WithJsonTag("floatingip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForNeutronUpdateFloatingIp() (*model.NeutronUpdateFloatingIpResponse, *def.HttpResponseDef) { - resp := new(model.NeutronUpdateFloatingIpResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/eip/v3/eip_client.go b/services/eip/v3/eip_client.go index 0de227851f..72aa016935 100644 --- a/services/eip/v3/eip_client.go +++ b/services/eip/v3/eip_client.go @@ -20,48 +20,44 @@ func EipClientBuilder() *http_client.HcHttpClientBuilder { //绑定弹性公网IP func (c *EipClient) AssociatePublicips(request *model.AssociatePublicipsRequest) (*model.AssociatePublicipsResponse, error) { - requestDef := GenReqDefForAssociatePublicips(request) - resp, responseDef := GenRespForAssociatePublicips() + requestDef := GenReqDefForAssociatePublicips() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociatePublicipsResponse), nil } } //解绑弹性公网IP func (c *EipClient) DisassociatePublicips(request *model.DisassociatePublicipsRequest) (*model.DisassociatePublicipsResponse, error) { - requestDef := GenReqDefForDisassociatePublicips(request) - resp, responseDef := GenRespForDisassociatePublicips() + requestDef := GenReqDefForDisassociatePublicips() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisassociatePublicipsResponse), nil } } //查询弹性公网IP列表信息 func (c *EipClient) ListPublicips(request *model.ListPublicipsRequest) (*model.ListPublicipsResponse, error) { - requestDef := GenReqDefForListPublicips(request) - resp, responseDef := GenRespForListPublicips() + requestDef := GenReqDefForListPublicips() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPublicipsResponse), nil } } //查询弹性公网IP详情 func (c *EipClient) ShowPublicip(request *model.ShowPublicipRequest) (*model.ShowPublicipResponse, error) { - requestDef := GenReqDefForShowPublicip(request) - resp, responseDef := GenRespForShowPublicip() + requestDef := GenReqDefForShowPublicip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPublicipResponse), nil } } diff --git a/services/eip/v3/eip_meta.go b/services/eip/v3/eip_meta.go index be09fb709f..c052ee4c1c 100644 --- a/services/eip/v3/eip_meta.go +++ b/services/eip/v3/eip_meta.go @@ -6,241 +6,246 @@ import ( "net/http" ) -func GenReqDefForAssociatePublicips(request *model.AssociatePublicipsRequest) *def.HttpRequestDef { +func GenReqDefForAssociatePublicips() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/eip/publicips/{publicip_id}/associate-instance"). + WithResponse(new(model.AssociatePublicipsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociatePublicips() (*model.AssociatePublicipsResponse, *def.HttpResponseDef) { - resp := new(model.AssociatePublicipsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisassociatePublicips(request *model.DisassociatePublicipsRequest) *def.HttpRequestDef { +func GenReqDefForDisassociatePublicips() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/eip/publicips/{publicip_id}/disassociate-instance"). + WithResponse(new(model.DisassociatePublicipsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisassociatePublicips() (*model.DisassociatePublicipsResponse, *def.HttpResponseDef) { - resp := new(model.DisassociatePublicipsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPublicips(request *model.ListPublicipsRequest) *def.HttpRequestDef { +func GenReqDefForListPublicips() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/eip/publicips") + WithPath("/v3/{project_id}/eip/publicips"). + WithResponse(new(model.ListPublicipsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("fields"). + WithName("Fields"). + WithJsonTag("fields"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_key"). + WithName("SortKey"). + WithJsonTag("sort_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_dir"). + WithName("SortDir"). + WithJsonTag("sort_dir"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip_version"). + WithName("IpVersion"). + WithJsonTag("ip_version"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("public_ip_address"). + WithName("PublicIpAddress"). + WithJsonTag("public_ip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("public_ip_address_like"). + WithName("PublicIpAddressLike"). + WithJsonTag("public_ip_address_like"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("public_ipv6_address"). + WithName("PublicIpv6Address"). + WithJsonTag("public_ipv6_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("public_ipv6_address_like"). + WithName("PublicIpv6AddressLike"). + WithJsonTag("public_ipv6_address_like"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("network_type"). + WithName("NetworkType"). + WithJsonTag("network_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_pool_name"). + WithName("PublicipPoolName"). + WithJsonTag("publicip_pool_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("alias_like"). + WithName("AliasLike"). + WithJsonTag("alias_like"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("alias"). + WithName("Alias"). + WithJsonTag("alias"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.private_ip_address"). + WithName("VnicPrivateIpAddress"). + WithJsonTag("vnic.private_ip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.private_ip_address_like"). + WithName("VnicPrivateIpAddressLike"). + WithJsonTag("vnic.private_ip_address_like"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.device_id"). + WithName("VnicDeviceId"). + WithJsonTag("vnic.device_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.device_owner"). + WithName("VnicDeviceOwner"). + WithJsonTag("vnic.device_owner"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.vpc_id"). + WithName("VnicVpcId"). + WithJsonTag("vnic.vpc_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.port_id"). + WithName("VnicPortId"). + WithJsonTag("vnic.port_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.device_owner_prefixlike"). + WithName("VnicDeviceOwnerPrefixlike"). + WithJsonTag("vnic.device_owner_prefixlike"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.instance_type"). + WithName("VnicInstanceType"). + WithJsonTag("vnic.instance_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vnic.instance_id"). + WithName("VnicInstanceId"). + WithJsonTag("vnic.instance_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth.id"). + WithName("BandwidthId"). + WithJsonTag("bandwidth.id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth.name"). + WithName("BandwidthName"). + WithJsonTag("bandwidth.name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth.name_like"). + WithName("BandwidthNameLike"). + WithJsonTag("bandwidth.name_like"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth.size"). + WithName("BandwidthSize"). + WithJsonTag("bandwidth.size"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth.share_type"). + WithName("BandwidthShareType"). + WithJsonTag("bandwidth.share_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("bandwidth.charge_mode"). + WithName("BandwidthChargeMode"). + WithJsonTag("bandwidth.charge_mode"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("billing_info"). + WithName("BillingInfo"). + WithJsonTag("billing_info"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("billing_mode"). + WithName("BillingMode"). + WithJsonTag("billing_mode"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("associate_instance_type"). + WithName("AssociateInstanceType"). + WithJsonTag("associate_instance_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("associate_instance_id"). + WithName("AssociateInstanceId"). + WithJsonTag("associate_instance_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_name"). + WithName("GroupName"). + WithJsonTag("group_name"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPublicips() (*model.ListPublicipsResponse, *def.HttpResponseDef) { - resp := new(model.ListPublicipsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPublicip(request *model.ShowPublicipRequest) *def.HttpRequestDef { +func GenReqDefForShowPublicip() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/eip/publicips/{publicip_id}") + WithPath("/v3/{project_id}/eip/publicips/{publicip_id}"). + WithResponse(new(model.ShowPublicipResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicip_id"). + WithName("PublicipId"). + WithJsonTag("publicip_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("fields"). + WithName("Fields"). + WithJsonTag("fields"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForShowPublicip() (*model.ShowPublicipResponse, *def.HttpResponseDef) { - resp := new(model.ShowPublicipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/elb/v2/elb_client.go b/services/elb/v2/elb_client.go index c5d05f7f9a..d063ead8cc 100644 --- a/services/elb/v2/elb_client.go +++ b/services/elb/v2/elb_client.go @@ -20,552 +20,506 @@ func ElbClientBuilder() *http_client.HcHttpClientBuilder { //给后端云服务器组添加健康检查 func (c *ElbClient) CreateHealthmonitor(request *model.CreateHealthmonitorRequest) (*model.CreateHealthmonitorResponse, error) { - requestDef := GenReqDefForCreateHealthmonitor(request) - resp, responseDef := GenRespForCreateHealthmonitor() + requestDef := GenReqDefForCreateHealthmonitor() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateHealthmonitorResponse), nil } } //创建listener关联的转发策略 func (c *ElbClient) CreateL7policy(request *model.CreateL7policyRequest) (*model.CreateL7policyResponse, error) { - requestDef := GenReqDefForCreateL7policy(request) - resp, responseDef := GenRespForCreateL7policy() + requestDef := GenReqDefForCreateL7policy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateL7policyResponse), nil } } //创建转发规则 func (c *ElbClient) CreateL7rule(request *model.CreateL7ruleRequest) (*model.CreateL7ruleResponse, error) { - requestDef := GenReqDefForCreateL7rule(request) - resp, responseDef := GenRespForCreateL7rule() + requestDef := GenReqDefForCreateL7rule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateL7ruleResponse), nil } } //创建与负载均衡器绑定的监听器。 func (c *ElbClient) CreateListener(request *model.CreateListenerRequest) (*model.CreateListenerResponse, error) { - requestDef := GenReqDefForCreateListener(request) - resp, responseDef := GenRespForCreateListener() + requestDef := GenReqDefForCreateListener() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateListenerResponse), nil } } //创建私网类型的增强型负载均衡器。创建成功后,该接口会返回创建的增强型负载均衡器的ID、所属子网ID、负载均衡器IP等详细信息。若要创建公网类型的增强型负载均衡器,还需调用创建浮动IP的接口,将浮动IP与私网负载均衡器的vip_port_id绑定。 func (c *ElbClient) CreateLoadbalancer(request *model.CreateLoadbalancerRequest) (*model.CreateLoadbalancerResponse, error) { - requestDef := GenReqDefForCreateLoadbalancer(request) - resp, responseDef := GenRespForCreateLoadbalancer() + requestDef := GenReqDefForCreateLoadbalancer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateLoadbalancerResponse), nil } } //添加属于某个后端云服务器组的后端云服务器。 func (c *ElbClient) CreateMember(request *model.CreateMemberRequest) (*model.CreateMemberResponse, error) { - requestDef := GenReqDefForCreateMember(request) - resp, responseDef := GenRespForCreateMember() + requestDef := GenReqDefForCreateMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateMemberResponse), nil } } //创建后端云服务器组。将多个后端云服务器添加到后端云服务器组中后,请求会在后端云服务器间按后端云服务器组的负载均衡算法和后端云服务器的权重来做请求分发。 func (c *ElbClient) CreatePool(request *model.CreatePoolRequest) (*model.CreatePoolResponse, error) { - requestDef := GenReqDefForCreatePool(request) - resp, responseDef := GenRespForCreatePool() + requestDef := GenReqDefForCreatePool() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePoolResponse), nil } } //创建白名单,控制监听器的访问权限。若开启了白名单功能,只有白名单中放通的IP可以访问该监听器的后端服务。 func (c *ElbClient) CreateWhitelist(request *model.CreateWhitelistRequest) (*model.CreateWhitelistResponse, error) { - requestDef := GenReqDefForCreateWhitelist(request) - resp, responseDef := GenRespForCreateWhitelist() + requestDef := GenReqDefForCreateWhitelist() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateWhitelistResponse), nil } } //删除健康检查 func (c *ElbClient) DeleteHealthmonitor(request *model.DeleteHealthmonitorRequest) (*model.DeleteHealthmonitorResponse, error) { - requestDef := GenReqDefForDeleteHealthmonitor(request) - resp, responseDef := GenRespForDeleteHealthmonitor() + requestDef := GenReqDefForDeleteHealthmonitor() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteHealthmonitorResponse), nil } } //删除转发策略 func (c *ElbClient) DeleteL7policy(request *model.DeleteL7policyRequest) (*model.DeleteL7policyResponse, error) { - requestDef := GenReqDefForDeleteL7policy(request) - resp, responseDef := GenRespForDeleteL7policy() + requestDef := GenReqDefForDeleteL7policy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteL7policyResponse), nil } } //删除转发规则 func (c *ElbClient) DeleteL7rule(request *model.DeleteL7ruleRequest) (*model.DeleteL7ruleResponse, error) { - requestDef := GenReqDefForDeleteL7rule(request) - resp, responseDef := GenRespForDeleteL7rule() + requestDef := GenReqDefForDeleteL7rule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteL7ruleResponse), nil } } //根据指定ID删除监听器。提供级联删除选项,当选择级联删除时,删除和负载均衡器关联的转发规则、转发策略、白名单、标签等。 func (c *ElbClient) DeleteListener(request *model.DeleteListenerRequest) (*model.DeleteListenerResponse, error) { - requestDef := GenReqDefForDeleteListener(request) - resp, responseDef := GenRespForDeleteListener() + requestDef := GenReqDefForDeleteListener() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteListenerResponse), nil } } //根据指定ID删除负载均衡器。提供级联删除选项,当选择级联删除时,删除和负载均衡器关联的监听器、后端云服务器组、后端云服务器、健康检查、转发策略、转发规则、白名单、标签等 func (c *ElbClient) DeleteLoadbalancer(request *model.DeleteLoadbalancerRequest) (*model.DeleteLoadbalancerResponse, error) { - requestDef := GenReqDefForDeleteLoadbalancer(request) - resp, responseDef := GenRespForDeleteLoadbalancer() + requestDef := GenReqDefForDeleteLoadbalancer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteLoadbalancerResponse), nil } } //删除后端云服务器 func (c *ElbClient) DeleteMember(request *model.DeleteMemberRequest) (*model.DeleteMemberResponse, error) { - requestDef := GenReqDefForDeleteMember(request) - resp, responseDef := GenRespForDeleteMember() + requestDef := GenReqDefForDeleteMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteMemberResponse), nil } } //删除后端云服务器组。 func (c *ElbClient) DeletePool(request *model.DeletePoolRequest) (*model.DeletePoolResponse, error) { - requestDef := GenReqDefForDeletePool(request) - resp, responseDef := GenRespForDeletePool() + requestDef := GenReqDefForDeletePool() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePoolResponse), nil } } //删除白名单 func (c *ElbClient) DeleteWhitelist(request *model.DeleteWhitelistRequest) (*model.DeleteWhitelistResponse, error) { - requestDef := GenReqDefForDeleteWhitelist(request) - resp, responseDef := GenRespForDeleteWhitelist() + requestDef := GenReqDefForDeleteWhitelist() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteWhitelistResponse), nil } } //查询健康检查列表 func (c *ElbClient) ListHealthmonitors(request *model.ListHealthmonitorsRequest) (*model.ListHealthmonitorsResponse, error) { - requestDef := GenReqDefForListHealthmonitors(request) - resp, responseDef := GenRespForListHealthmonitors() + requestDef := GenReqDefForListHealthmonitors() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListHealthmonitorsResponse), nil } } //查询转发策略。支持过滤查询和分页查询。 func (c *ElbClient) ListL7policies(request *model.ListL7policiesRequest) (*model.ListL7policiesResponse, error) { - requestDef := GenReqDefForListL7policies(request) - resp, responseDef := GenRespForListL7policies() + requestDef := GenReqDefForListL7policies() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListL7policiesResponse), nil } } //查询指定转发策略下关联的转发规则列表 func (c *ElbClient) ListL7rules(request *model.ListL7rulesRequest) (*model.ListL7rulesResponse, error) { - requestDef := GenReqDefForListL7rules(request) - resp, responseDef := GenRespForListL7rules() + requestDef := GenReqDefForListL7rules() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListL7rulesResponse), nil } } //查询监听器列表。支持过滤查询和分页查询。可以通过监听器ID、协议类型、监听端口号、关联的后端云服务器的IP等查询监听器。 func (c *ElbClient) ListListeners(request *model.ListListenersRequest) (*model.ListListenersResponse, error) { - requestDef := GenReqDefForListListeners(request) - resp, responseDef := GenRespForListListeners() + requestDef := GenReqDefForListListeners() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListListenersResponse), nil } } //查询负载均衡器列表。 func (c *ElbClient) ListLoadbalancers(request *model.ListLoadbalancersRequest) (*model.ListLoadbalancersResponse, error) { - requestDef := GenReqDefForListLoadbalancers(request) - resp, responseDef := GenRespForListLoadbalancers() + requestDef := GenReqDefForListLoadbalancers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListLoadbalancersResponse), nil } } //添加属于某个后端云服务器组的后端云服务器。 func (c *ElbClient) ListMenbers(request *model.ListMenbersRequest) (*model.ListMenbersResponse, error) { - requestDef := GenReqDefForListMenbers(request) - resp, responseDef := GenRespForListMenbers() + requestDef := GenReqDefForListMenbers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListMenbersResponse), nil } } //查询后端云服务器组列表。 func (c *ElbClient) ListPools(request *model.ListPoolsRequest) (*model.ListPoolsResponse, error) { - requestDef := GenReqDefForListPools(request) - resp, responseDef := GenRespForListPools() + requestDef := GenReqDefForListPools() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPoolsResponse), nil } } //查询白名单,支持过滤查询和分页查询。 func (c *ElbClient) ListWhitelists(request *model.ListWhitelistsRequest) (*model.ListWhitelistsResponse, error) { - requestDef := GenReqDefForListWhitelists(request) - resp, responseDef := GenRespForListWhitelists() + requestDef := GenReqDefForListWhitelists() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListWhitelistsResponse), nil } } //根据指定ID查询健康检查详情。 func (c *ElbClient) ShowHealthmonitors(request *model.ShowHealthmonitorsRequest) (*model.ShowHealthmonitorsResponse, error) { - requestDef := GenReqDefForShowHealthmonitors(request) - resp, responseDef := GenRespForShowHealthmonitors() + requestDef := GenReqDefForShowHealthmonitors() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowHealthmonitorsResponse), nil } } //根据指定ID查询转发策略详情。 func (c *ElbClient) ShowL7policy(request *model.ShowL7policyRequest) (*model.ShowL7policyResponse, error) { - requestDef := GenReqDefForShowL7policy(request) - resp, responseDef := GenRespForShowL7policy() + requestDef := GenReqDefForShowL7policy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowL7policyResponse), nil } } //根据指定ID查询某转发策略下关联的转发规则详情。 func (c *ElbClient) ShowL7rule(request *model.ShowL7ruleRequest) (*model.ShowL7ruleResponse, error) { - requestDef := GenReqDefForShowL7rule(request) - resp, responseDef := GenRespForShowL7rule() + requestDef := GenReqDefForShowL7rule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowL7ruleResponse), nil } } //根据指定ID查询监听器详情。 func (c *ElbClient) ShowListener(request *model.ShowListenerRequest) (*model.ShowListenerResponse, error) { - requestDef := GenReqDefForShowListener(request) - resp, responseDef := GenRespForShowListener() + requestDef := GenReqDefForShowListener() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowListenerResponse), nil } } //根据指定负载均衡器ID查询负载均衡器详情 func (c *ElbClient) ShowLoadbalancer(request *model.ShowLoadbalancerRequest) (*model.ShowLoadbalancerResponse, error) { - requestDef := GenReqDefForShowLoadbalancer(request) - resp, responseDef := GenRespForShowLoadbalancer() + requestDef := GenReqDefForShowLoadbalancer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowLoadbalancerResponse), nil } } //查询负载均衡器状态树。可通过该接口查询负载均衡器关联的监听器、后端云服务器组、后端云服务器、健康检查、转发策略、转发规则的主要信息,了解负载均衡器下资源的拓扑情况。 func (c *ElbClient) ShowLoadbalancersStatus(request *model.ShowLoadbalancersStatusRequest) (*model.ShowLoadbalancersStatusResponse, error) { - requestDef := GenReqDefForShowLoadbalancersStatus(request) - resp, responseDef := GenRespForShowLoadbalancersStatus() + requestDef := GenReqDefForShowLoadbalancersStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowLoadbalancersStatusResponse), nil } } //根据指定ID查询后端云服务器详情。 func (c *ElbClient) ShowMember(request *model.ShowMemberRequest) (*model.ShowMemberResponse, error) { - requestDef := GenReqDefForShowMember(request) - resp, responseDef := GenRespForShowMember() + requestDef := GenReqDefForShowMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowMemberResponse), nil } } //根据指定ID查询后端云服务器组详情。 func (c *ElbClient) ShowPool(request *model.ShowPoolRequest) (*model.ShowPoolResponse, error) { - requestDef := GenReqDefForShowPool(request) - resp, responseDef := GenRespForShowPool() + requestDef := GenReqDefForShowPool() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPoolResponse), nil } } //根据指定ID查询白名单详情。 func (c *ElbClient) ShowWhitelist(request *model.ShowWhitelistRequest) (*model.ShowWhitelistResponse, error) { - requestDef := GenReqDefForShowWhitelist(request) - resp, responseDef := GenRespForShowWhitelist() + requestDef := GenReqDefForShowWhitelist() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowWhitelistResponse), nil } } //更新健康检查 func (c *ElbClient) UpdateHealthmonitor(request *model.UpdateHealthmonitorRequest) (*model.UpdateHealthmonitorResponse, error) { - requestDef := GenReqDefForUpdateHealthmonitor(request) - resp, responseDef := GenRespForUpdateHealthmonitor() + requestDef := GenReqDefForUpdateHealthmonitor() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateHealthmonitorResponse), nil } } //更新转发策略 func (c *ElbClient) UpdateL7policies(request *model.UpdateL7policiesRequest) (*model.UpdateL7policiesResponse, error) { - requestDef := GenReqDefForUpdateL7policies(request) - resp, responseDef := GenRespForUpdateL7policies() + requestDef := GenReqDefForUpdateL7policies() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateL7policiesResponse), nil } } //更新指定的转发规则 func (c *ElbClient) UpdateL7rule(request *model.UpdateL7ruleRequest) (*model.UpdateL7ruleResponse, error) { - requestDef := GenReqDefForUpdateL7rule(request) - resp, responseDef := GenRespForUpdateL7rule() + requestDef := GenReqDefForUpdateL7rule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateL7ruleResponse), nil } } //更新监听器。 func (c *ElbClient) UpdateListener(request *model.UpdateListenerRequest) (*model.UpdateListenerResponse, error) { - requestDef := GenReqDefForUpdateListener(request) - resp, responseDef := GenRespForUpdateListener() + requestDef := GenReqDefForUpdateListener() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateListenerResponse), nil } } //更新负载均衡器。 func (c *ElbClient) UpdateLoadbalancer(request *model.UpdateLoadbalancerRequest) (*model.UpdateLoadbalancerResponse, error) { - requestDef := GenReqDefForUpdateLoadbalancer(request) - resp, responseDef := GenRespForUpdateLoadbalancer() + requestDef := GenReqDefForUpdateLoadbalancer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateLoadbalancerResponse), nil } } //更新后端云服务器 func (c *ElbClient) UpdateMember(request *model.UpdateMemberRequest) (*model.UpdateMemberResponse, error) { - requestDef := GenReqDefForUpdateMember(request) - resp, responseDef := GenRespForUpdateMember() + requestDef := GenReqDefForUpdateMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateMemberResponse), nil } } //更新后端云服务器组。 func (c *ElbClient) UpdatePool(request *model.UpdatePoolRequest) (*model.UpdatePoolResponse, error) { - requestDef := GenReqDefForUpdatePool(request) - resp, responseDef := GenRespForUpdatePool() + requestDef := GenReqDefForUpdatePool() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePoolResponse), nil } } //更新白名单。可以打开或关闭白名单,或更新访问控制的IP。 func (c *ElbClient) UpdateWhitelist(request *model.UpdateWhitelistRequest) (*model.UpdateWhitelistResponse, error) { - requestDef := GenReqDefForUpdateWhitelist(request) - resp, responseDef := GenRespForUpdateWhitelist() + requestDef := GenReqDefForUpdateWhitelist() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateWhitelistResponse), nil } } //创建SSL证书。将监听器和SSL证书绑定后,可以通过负载均衡器实现服务端认证,后端服务器只要提供HTTP服务就能实现安全可靠的连接。 func (c *ElbClient) CreateCertificate(request *model.CreateCertificateRequest) (*model.CreateCertificateResponse, error) { - requestDef := GenReqDefForCreateCertificate(request) - resp, responseDef := GenRespForCreateCertificate() + requestDef := GenReqDefForCreateCertificate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateCertificateResponse), nil } } //删除指定的SSL证书 func (c *ElbClient) DeleteCertificate(request *model.DeleteCertificateRequest) (*model.DeleteCertificateResponse, error) { - requestDef := GenReqDefForDeleteCertificate(request) - resp, responseDef := GenRespForDeleteCertificate() + requestDef := GenReqDefForDeleteCertificate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteCertificateResponse), nil } } //查询SSL证书。支持过滤查询和分页查询。 func (c *ElbClient) ListCertificates(request *model.ListCertificatesRequest) (*model.ListCertificatesResponse, error) { - requestDef := GenReqDefForListCertificates(request) - resp, responseDef := GenRespForListCertificates() + requestDef := GenReqDefForListCertificates() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCertificatesResponse), nil } } //查询指定SSL证书的详情信息。 func (c *ElbClient) ShowCertificate(request *model.ShowCertificateRequest) (*model.ShowCertificateResponse, error) { - requestDef := GenReqDefForShowCertificate(request) - resp, responseDef := GenRespForShowCertificate() + requestDef := GenReqDefForShowCertificate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowCertificateResponse), nil } } //更新指定的SSL证书 func (c *ElbClient) UpdateCertificate(request *model.UpdateCertificateRequest) (*model.UpdateCertificateResponse, error) { - requestDef := GenReqDefForUpdateCertificate(request) - resp, responseDef := GenRespForUpdateCertificate() + requestDef := GenReqDefForUpdateCertificate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateCertificateResponse), nil } } diff --git a/services/elb/v2/elb_meta.go b/services/elb/v2/elb_meta.go index 23b52a2103..a18b513c8f 100644 --- a/services/elb/v2/elb_meta.go +++ b/services/elb/v2/elb_meta.go @@ -6,1665 +6,1363 @@ import ( "net/http" ) -func GenReqDefForCreateHealthmonitor(request *model.CreateHealthmonitorRequest) *def.HttpRequestDef { +func GenReqDefForCreateHealthmonitor() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/healthmonitors"). + WithResponse(new(model.CreateHealthmonitorResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateHealthmonitor() (*model.CreateHealthmonitorResponse, *def.HttpResponseDef) { - resp := new(model.CreateHealthmonitorResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateL7policy(request *model.CreateL7policyRequest) *def.HttpRequestDef { +func GenReqDefForCreateL7policy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/l7policies"). + WithResponse(new(model.CreateL7policyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateL7policy() (*model.CreateL7policyResponse, *def.HttpResponseDef) { - resp := new(model.CreateL7policyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateL7rule(request *model.CreateL7ruleRequest) *def.HttpRequestDef { +func GenReqDefForCreateL7rule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}/rules"). + WithResponse(new(model.CreateL7ruleResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateL7rule() (*model.CreateL7ruleResponse, *def.HttpResponseDef) { - resp := new(model.CreateL7ruleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateListener(request *model.CreateListenerRequest) *def.HttpRequestDef { +func GenReqDefForCreateListener() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/listeners"). + WithResponse(new(model.CreateListenerResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateListener() (*model.CreateListenerResponse, *def.HttpResponseDef) { - resp := new(model.CreateListenerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateLoadbalancer(request *model.CreateLoadbalancerRequest) *def.HttpRequestDef { +func GenReqDefForCreateLoadbalancer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/loadbalancers"). + WithResponse(new(model.CreateLoadbalancerResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateLoadbalancer() (*model.CreateLoadbalancerResponse, *def.HttpResponseDef) { - resp := new(model.CreateLoadbalancerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateMember(request *model.CreateMemberRequest) *def.HttpRequestDef { +func GenReqDefForCreateMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/pools/{pool_id}/members"). + WithResponse(new(model.CreateMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateMember() (*model.CreateMemberResponse, *def.HttpResponseDef) { - resp := new(model.CreateMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePool(request *model.CreatePoolRequest) *def.HttpRequestDef { +func GenReqDefForCreatePool() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/pools"). + WithResponse(new(model.CreatePoolResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePool() (*model.CreatePoolResponse, *def.HttpResponseDef) { - resp := new(model.CreatePoolResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateWhitelist(request *model.CreateWhitelistRequest) *def.HttpRequestDef { +func GenReqDefForCreateWhitelist() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/whitelists"). + WithResponse(new(model.CreateWhitelistResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateWhitelist() (*model.CreateWhitelistResponse, *def.HttpResponseDef) { - resp := new(model.CreateWhitelistResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteHealthmonitor(request *model.DeleteHealthmonitorRequest) *def.HttpRequestDef { +func GenReqDefForDeleteHealthmonitor() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/healthmonitors/{healthmonitor_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("healthmonitor_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/healthmonitors/{healthmonitor_id}"). + WithResponse(new(model.DeleteHealthmonitorResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("HealthmonitorId"). + WithJsonTag("healthmonitor_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteHealthmonitor() (*model.DeleteHealthmonitorResponse, *def.HttpResponseDef) { - resp := new(model.DeleteHealthmonitorResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteL7policy(request *model.DeleteL7policyRequest) *def.HttpRequestDef { +func GenReqDefForDeleteL7policy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}"). + WithResponse(new(model.DeleteL7policyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteL7policy() (*model.DeleteL7policyResponse, *def.HttpResponseDef) { - resp := new(model.DeleteL7policyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteL7rule(request *model.DeleteL7ruleRequest) *def.HttpRequestDef { +func GenReqDefForDeleteL7rule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}") + WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}"). + WithResponse(new(model.DeleteL7ruleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7rule_id"). + WithName("L7ruleId"). + WithJsonTag("l7rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteL7rule() (*model.DeleteL7ruleResponse, *def.HttpResponseDef) { - resp := new(model.DeleteL7ruleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteListener(request *model.DeleteListenerRequest) *def.HttpRequestDef { +func GenReqDefForDeleteListener() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/listeners/{listener_id}") + WithPath("/v2/{project_id}/elb/listeners/{listener_id}"). + WithResponse(new(model.DeleteListenerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cascade"). + WithName("Cascade"). + WithJsonTag("cascade"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteListener() (*model.DeleteListenerResponse, *def.HttpResponseDef) { - resp := new(model.DeleteListenerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteLoadbalancer(request *model.DeleteLoadbalancerRequest) *def.HttpRequestDef { +func GenReqDefForDeleteLoadbalancer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/loadbalancers/{loadbalancer_id}") + WithPath("/v2/{project_id}/elb/loadbalancers/{loadbalancer_id}"). + WithResponse(new(model.DeleteLoadbalancerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("cascade"). + WithName("Cascade"). + WithJsonTag("cascade"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteLoadbalancer() (*model.DeleteLoadbalancerResponse, *def.HttpResponseDef) { - resp := new(model.DeleteLoadbalancerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteMember(request *model.DeleteMemberRequest) *def.HttpRequestDef { +func GenReqDefForDeleteMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/pools/{pool_id}/members/{member_id}") + WithPath("/v2/{project_id}/elb/pools/{pool_id}/members/{member_id}"). + WithResponse(new(model.DeleteMemberResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteMember() (*model.DeleteMemberResponse, *def.HttpResponseDef) { - resp := new(model.DeleteMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePool(request *model.DeletePoolRequest) *def.HttpRequestDef { +func GenReqDefForDeletePool() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/pools/{pool_id}") + WithPath("/v2/{project_id}/elb/pools/{pool_id}"). + WithResponse(new(model.DeletePoolResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePool() (*model.DeletePoolResponse, *def.HttpResponseDef) { - resp := new(model.DeletePoolResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteWhitelist(request *model.DeleteWhitelistRequest) *def.HttpRequestDef { +func GenReqDefForDeleteWhitelist() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/whitelists/{whitelist_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("whitelist_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/whitelists/{whitelist_id}"). + WithResponse(new(model.DeleteWhitelistResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("WhitelistId"). + WithJsonTag("whitelist_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteWhitelist() (*model.DeleteWhitelistResponse, *def.HttpResponseDef) { - resp := new(model.DeleteWhitelistResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListHealthmonitors(request *model.ListHealthmonitorsRequest) *def.HttpRequestDef { +func GenReqDefForListHealthmonitors() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/healthmonitors") + WithPath("/v2/{project_id}/elb/healthmonitors"). + WithResponse(new(model.ListHealthmonitorsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("delay"). + WithName("Delay"). + WithJsonTag("delay"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("max_retries"). + WithName("MaxRetries"). + WithJsonTag("max_retries"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("timeout"). + WithName("Timeout"). + WithJsonTag("timeout"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("monitor_port"). + WithName("MonitorPort"). + WithJsonTag("monitor_port"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("expected_codes"). + WithName("ExpectedCodes"). + WithJsonTag("expected_codes"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_name"). + WithName("DomainName"). + WithJsonTag("domain_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("url_path"). + WithName("UrlPath"). + WithJsonTag("url_path"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("http_method"). + WithName("HttpMethod"). + WithJsonTag("http_method"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListHealthmonitors() (*model.ListHealthmonitorsResponse, *def.HttpResponseDef) { - resp := new(model.ListHealthmonitorsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListL7policies(request *model.ListL7policiesRequest) *def.HttpRequestDef { +func GenReqDefForListL7policies() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/l7policies") + WithPath("/v2/{project_id}/elb/l7policies"). + WithResponse(new(model.ListL7policiesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("action"). + WithName("Action"). + WithJsonTag("action"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("redirect_pool_id"). + WithName("RedirectPoolId"). + WithJsonTag("redirect_pool_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("redirect_listener_id"). + WithName("RedirectListenerId"). + WithJsonTag("redirect_listener_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("redirect_url"). + WithName("RedirectUrl"). + WithJsonTag("redirect_url"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("position"). + WithName("Position"). + WithJsonTag("position"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("provisioning_status"). + WithName("ProvisioningStatus"). + WithJsonTag("provisioning_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("display_all_rules"). + WithName("DisplayAllRules"). + WithJsonTag("display_all_rules"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListL7policies() (*model.ListL7policiesResponse, *def.HttpResponseDef) { - resp := new(model.ListL7policiesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListL7rules(request *model.ListL7rulesRequest) *def.HttpRequestDef { +func GenReqDefForListL7rules() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}/rules") + WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}/rules"). + WithResponse(new(model.ListL7rulesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("compare_type"). + WithName("CompareType"). + WithJsonTag("compare_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("invert"). + WithName("Invert"). + WithJsonTag("invert"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key"). + WithName("Key"). + WithJsonTag("key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("value"). + WithName("Value"). + WithJsonTag("value"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("provisioning_status"). + WithName("ProvisioningStatus"). + WithJsonTag("provisioning_status"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListL7rules() (*model.ListL7rulesResponse, *def.HttpResponseDef) { - resp := new(model.ListL7rulesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListListeners(request *model.ListListenersRequest) *def.HttpRequestDef { +func GenReqDefForListListeners() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/listeners") + WithPath("/v2/{project_id}/elb/listeners"). + WithResponse(new(model.ListListenersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("default_pool_id"). + WithName("DefaultPoolId"). + WithJsonTag("default_pool_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("default_tls_container_ref"). + WithName("DefaultTlsContainerRef"). + WithJsonTag("default_tls_container_ref"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("client_ca_tls_container_ref"). + WithName("ClientCaTlsContainerRef"). + WithJsonTag("client_ca_tls_container_ref"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol"). + WithName("Protocol"). + WithJsonTag("protocol"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol_port"). + WithName("ProtocolPort"). + WithJsonTag("protocol_port"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tls_ciphers_policy"). + WithName("TlsCiphersPolicy"). + WithJsonTag("tls_ciphers_policy"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_timeout"). + WithName("MemberTimeout"). + WithJsonTag("member_timeout"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("client_timeout"). + WithName("ClientTimeout"). + WithJsonTag("client_timeout"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("keepalive_timeout"). + WithName("KeepaliveTimeout"). + WithJsonTag("keepalive_timeout"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tls_container_id"). + WithName("TlsContainerId"). + WithJsonTag("tls_container_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListListeners() (*model.ListListenersResponse, *def.HttpResponseDef) { - resp := new(model.ListListenersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListLoadbalancers(request *model.ListLoadbalancersRequest) *def.HttpRequestDef { +func GenReqDefForListLoadbalancers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/loadbalancers") + WithPath("/v2/{project_id}/elb/loadbalancers"). + WithResponse(new(model.ListLoadbalancersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operating_status"). + WithName("OperatingStatus"). + WithJsonTag("operating_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("provisioning_status"). + WithName("ProvisioningStatus"). + WithJsonTag("provisioning_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vip_address"). + WithName("VipAddress"). + WithJsonTag("vip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vip_port_id"). + WithName("VipPortId"). + WithJsonTag("vip_port_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vip_subnet_id"). + WithName("VipSubnetId"). + WithJsonTag("vip_subnet_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_address"). + WithName("MemberAddress"). + WithJsonTag("member_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_device_id"). + WithName("MemberDeviceId"). + WithJsonTag("member_device_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListLoadbalancers() (*model.ListLoadbalancersResponse, *def.HttpResponseDef) { - resp := new(model.ListLoadbalancersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListMenbers(request *model.ListMenbersRequest) *def.HttpRequestDef { +func GenReqDefForListMenbers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/pools/{pool_id}/members") + WithPath("/v2/{project_id}/elb/pools/{pool_id}/members"). + WithResponse(new(model.ListMenbersResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("address"). + WithName("Address"). + WithJsonTag("address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol_port"). + WithName("ProtocolPort"). + WithJsonTag("protocol_port"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("subnet_id"). + WithName("SubnetId"). + WithJsonTag("subnet_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("weight"). + WithName("Weight"). + WithJsonTag("weight"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListMenbers() (*model.ListMenbersResponse, *def.HttpResponseDef) { - resp := new(model.ListMenbersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPools(request *model.ListPoolsRequest) *def.HttpRequestDef { +func GenReqDefForListPools() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/pools") + WithPath("/v2/{project_id}/elb/pools"). + WithResponse(new(model.ListPoolsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("healthmonitor_id"). + WithName("HealthmonitorId"). + WithJsonTag("healthmonitor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol"). + WithName("Protocol"). + WithJsonTag("protocol"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("lb_algorithm"). + WithName("LbAlgorithm"). + WithJsonTag("lb_algorithm"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_address"). + WithName("MemberAddress"). + WithJsonTag("member_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_device_id"). + WithName("MemberDeviceId"). + WithJsonTag("member_device_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPools() (*model.ListPoolsResponse, *def.HttpResponseDef) { - resp := new(model.ListPoolsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListWhitelists(request *model.ListWhitelistsRequest) *def.HttpRequestDef { +func GenReqDefForListWhitelists() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/whitelists") + WithPath("/v2/{project_id}/elb/whitelists"). + WithResponse(new(model.ListWhitelistsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enable_whitelist"). + WithName("EnableWhitelist"). + WithJsonTag("enable_whitelist"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("whitelist"). + WithName("Whitelist"). + WithJsonTag("whitelist"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListWhitelists() (*model.ListWhitelistsResponse, *def.HttpResponseDef) { - resp := new(model.ListWhitelistsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowHealthmonitors(request *model.ShowHealthmonitorsRequest) *def.HttpRequestDef { +func GenReqDefForShowHealthmonitors() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/healthmonitors/{healthmonitor_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("healthmonitor_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/healthmonitors/{healthmonitor_id}"). + WithResponse(new(model.ShowHealthmonitorsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("HealthmonitorId"). + WithJsonTag("healthmonitor_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowHealthmonitors() (*model.ShowHealthmonitorsResponse, *def.HttpResponseDef) { - resp := new(model.ShowHealthmonitorsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowL7policy(request *model.ShowL7policyRequest) *def.HttpRequestDef { +func GenReqDefForShowL7policy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}"). + WithResponse(new(model.ShowL7policyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowL7policy() (*model.ShowL7policyResponse, *def.HttpResponseDef) { - resp := new(model.ShowL7policyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowL7rule(request *model.ShowL7ruleRequest) *def.HttpRequestDef { +func GenReqDefForShowL7rule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}") + WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}"). + WithResponse(new(model.ShowL7ruleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7rule_id"). + WithName("L7ruleId"). + WithJsonTag("l7rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowL7rule() (*model.ShowL7ruleResponse, *def.HttpResponseDef) { - resp := new(model.ShowL7ruleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowListener(request *model.ShowListenerRequest) *def.HttpRequestDef { +func GenReqDefForShowListener() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/listeners/{listener_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/listeners/{listener_id}"). + WithResponse(new(model.ShowListenerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowListener() (*model.ShowListenerResponse, *def.HttpResponseDef) { - resp := new(model.ShowListenerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowLoadbalancer(request *model.ShowLoadbalancerRequest) *def.HttpRequestDef { +func GenReqDefForShowLoadbalancer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/loadbalancers/{loadbalancer_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/loadbalancers/{loadbalancer_id}"). + WithResponse(new(model.ShowLoadbalancerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowLoadbalancer() (*model.ShowLoadbalancerResponse, *def.HttpResponseDef) { - resp := new(model.ShowLoadbalancerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowLoadbalancersStatus(request *model.ShowLoadbalancersStatusRequest) *def.HttpRequestDef { +func GenReqDefForShowLoadbalancersStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/loadbalancers/{loadbalancer_id}/statuses") + WithPath("/v2/{project_id}/elb/loadbalancers/{loadbalancer_id}/statuses"). + WithResponse(new(model.ShowLoadbalancersStatusResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowLoadbalancersStatus() (*model.ShowLoadbalancersStatusResponse, *def.HttpResponseDef) { - resp := new(model.ShowLoadbalancersStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowMember(request *model.ShowMemberRequest) *def.HttpRequestDef { +func GenReqDefForShowMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/pools/{pool_id}/members/{member_id}") + WithPath("/v2/{project_id}/elb/pools/{pool_id}/members/{member_id}"). + WithResponse(new(model.ShowMemberResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowMember() (*model.ShowMemberResponse, *def.HttpResponseDef) { - resp := new(model.ShowMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPool(request *model.ShowPoolRequest) *def.HttpRequestDef { +func GenReqDefForShowPool() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/pools/{pool_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/pools/{pool_id}"). + WithResponse(new(model.ShowPoolResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPool() (*model.ShowPoolResponse, *def.HttpResponseDef) { - resp := new(model.ShowPoolResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowWhitelist(request *model.ShowWhitelistRequest) *def.HttpRequestDef { +func GenReqDefForShowWhitelist() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/whitelists/{whitelist_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("whitelist_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/whitelists/{whitelist_id}"). + WithResponse(new(model.ShowWhitelistResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("WhitelistId"). + WithJsonTag("whitelist_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowWhitelist() (*model.ShowWhitelistResponse, *def.HttpResponseDef) { - resp := new(model.ShowWhitelistResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateHealthmonitor(request *model.UpdateHealthmonitorRequest) *def.HttpRequestDef { +func GenReqDefForUpdateHealthmonitor() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/healthmonitors/{healthmonitor_id}"). + WithResponse(new(model.UpdateHealthmonitorResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("healthmonitor_id"). + WithName("HealthmonitorId"). + WithJsonTag("healthmonitor_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateHealthmonitor() (*model.UpdateHealthmonitorResponse, *def.HttpResponseDef) { - resp := new(model.UpdateHealthmonitorResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateL7policies(request *model.UpdateL7policiesRequest) *def.HttpRequestDef { +func GenReqDefForUpdateL7policies() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}"). + WithResponse(new(model.UpdateL7policiesResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateL7policies() (*model.UpdateL7policiesResponse, *def.HttpResponseDef) { - resp := new(model.UpdateL7policiesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateL7rule(request *model.UpdateL7ruleRequest) *def.HttpRequestDef { +func GenReqDefForUpdateL7rule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}"). + WithResponse(new(model.UpdateL7ruleResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7rule_id"). + WithName("L7ruleId"). + WithJsonTag("l7rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateL7rule() (*model.UpdateL7ruleResponse, *def.HttpResponseDef) { - resp := new(model.UpdateL7ruleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateListener(request *model.UpdateListenerRequest) *def.HttpRequestDef { +func GenReqDefForUpdateListener() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/listeners/{listener_id}"). + WithResponse(new(model.UpdateListenerResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateListener() (*model.UpdateListenerResponse, *def.HttpResponseDef) { - resp := new(model.UpdateListenerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateLoadbalancer(request *model.UpdateLoadbalancerRequest) *def.HttpRequestDef { +func GenReqDefForUpdateLoadbalancer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/loadbalancers/{loadbalancer_id}"). + WithResponse(new(model.UpdateLoadbalancerResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateLoadbalancer() (*model.UpdateLoadbalancerResponse, *def.HttpResponseDef) { - resp := new(model.UpdateLoadbalancerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateMember(request *model.UpdateMemberRequest) *def.HttpRequestDef { +func GenReqDefForUpdateMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/pools/{pool_id}/members/{member_id}"). + WithResponse(new(model.UpdateMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateMember() (*model.UpdateMemberResponse, *def.HttpResponseDef) { - resp := new(model.UpdateMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePool(request *model.UpdatePoolRequest) *def.HttpRequestDef { +func GenReqDefForUpdatePool() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/pools/{pool_id}"). + WithResponse(new(model.UpdatePoolResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdatePool() (*model.UpdatePoolResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePoolResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateWhitelist(request *model.UpdateWhitelistRequest) *def.HttpRequestDef { +func GenReqDefForUpdateWhitelist() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/whitelists/{whitelist_id}"). + WithResponse(new(model.UpdateWhitelistResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("whitelist_id"). + WithName("WhitelistId"). + WithJsonTag("whitelist_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateWhitelist() (*model.UpdateWhitelistResponse, *def.HttpResponseDef) { - resp := new(model.UpdateWhitelistResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateCertificate(request *model.CreateCertificateRequest) *def.HttpRequestDef { +func GenReqDefForCreateCertificate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/elb/certificates"). + WithResponse(new(model.CreateCertificateResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateCertificate() (*model.CreateCertificateResponse, *def.HttpResponseDef) { - resp := new(model.CreateCertificateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteCertificate(request *model.DeleteCertificateRequest) *def.HttpRequestDef { +func GenReqDefForDeleteCertificate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/elb/certificates/{certificate_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/certificates/{certificate_id}"). + WithResponse(new(model.DeleteCertificateResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("CertificateId"). + WithJsonTag("certificate_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteCertificate() (*model.DeleteCertificateResponse, *def.HttpResponseDef) { - resp := new(model.DeleteCertificateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCertificates(request *model.ListCertificatesRequest) *def.HttpRequestDef { +func GenReqDefForListCertificates() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/certificates") + WithPath("/v2/{project_id}/elb/certificates"). + WithResponse(new(model.ListCertificatesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("private_key"). + WithName("PrivateKey"). + WithJsonTag("private_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate"). + WithName("Certificate"). + WithJsonTag("certificate"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCertificates() (*model.ListCertificatesResponse, *def.HttpResponseDef) { - resp := new(model.ListCertificatesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowCertificate(request *model.ShowCertificateRequest) *def.HttpRequestDef { +func GenReqDefForShowCertificate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/elb/certificates/{certificate_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/elb/certificates/{certificate_id}"). + WithResponse(new(model.ShowCertificateResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("CertificateId"). + WithJsonTag("certificate_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCertificate() (*model.ShowCertificateResponse, *def.HttpResponseDef) { - resp := new(model.ShowCertificateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateCertificate(request *model.UpdateCertificateRequest) *def.HttpRequestDef { +func GenReqDefForUpdateCertificate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/elb/certificates/{certificate_id}"). + WithResponse(new(model.UpdateCertificateResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate_id"). + WithName("CertificateId"). + WithJsonTag("certificate_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateCertificate() (*model.UpdateCertificateResponse, *def.HttpResponseDef) { - resp := new(model.UpdateCertificateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/elb/v3/elb_client.go b/services/elb/v3/elb_client.go index 7a57449053..b7d6f18a85 100644 --- a/services/elb/v3/elb_client.go +++ b/services/elb/v3/elb_client.go @@ -20,624 +20,572 @@ func ElbClientBuilder() *http_client.HcHttpClientBuilder { //创建证书。 func (c *ElbClient) CreateCertificate(request *model.CreateCertificateRequest) (*model.CreateCertificateResponse, error) { - requestDef := GenReqDefForCreateCertificate(request) - resp, responseDef := GenRespForCreateCertificate() + requestDef := GenReqDefForCreateCertificate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateCertificateResponse), nil } } //创建健康检查。 func (c *ElbClient) CreateHealthMonitor(request *model.CreateHealthMonitorRequest) (*model.CreateHealthMonitorResponse, error) { - requestDef := GenReqDefForCreateHealthMonitor(request) - resp, responseDef := GenRespForCreateHealthMonitor() + requestDef := GenReqDefForCreateHealthMonitor() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateHealthMonitorResponse), nil } } //创建转发策略. func (c *ElbClient) CreateL7Policy(request *model.CreateL7PolicyRequest) (*model.CreateL7PolicyResponse, error) { - requestDef := GenReqDefForCreateL7Policy(request) - resp, responseDef := GenRespForCreateL7Policy() + requestDef := GenReqDefForCreateL7Policy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateL7PolicyResponse), nil } } //创建转发规则。 func (c *ElbClient) CreateL7Rule(request *model.CreateL7RuleRequest) (*model.CreateL7RuleResponse, error) { - requestDef := GenReqDefForCreateL7Rule(request) - resp, responseDef := GenRespForCreateL7Rule() + requestDef := GenReqDefForCreateL7Rule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateL7RuleResponse), nil } } //ElbV3 创建监听器。 func (c *ElbClient) CreateListener(request *model.CreateListenerRequest) (*model.CreateListenerResponse, error) { - requestDef := GenReqDefForCreateListener(request) - resp, responseDef := GenRespForCreateListener() + requestDef := GenReqDefForCreateListener() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateListenerResponse), nil } } //创建负载均衡器。 1.创建公网负载均衡器的场合,需要传入vpc_id。 2.创建内网负载均衡器的场合,需要传入vip_subnet_cidr_id。 3.创建内网双栈负载均衡器的场合,需要传入ipv6_vip_virsubnet_id。 关联有已有公网ip地址,需要传入publicip_ids 新建公网ip地址,需要传入publicip 包括IPV4私网类型,IPV4公网类型,IPV6私网,IPV6公网 func (c *ElbClient) CreateLoadBalancer(request *model.CreateLoadBalancerRequest) (*model.CreateLoadBalancerResponse, error) { - requestDef := GenReqDefForCreateLoadBalancer(request) - resp, responseDef := GenRespForCreateLoadBalancer() + requestDef := GenReqDefForCreateLoadBalancer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateLoadBalancerResponse), nil } } //创建后端服务器。 func (c *ElbClient) CreateMember(request *model.CreateMemberRequest) (*model.CreateMemberResponse, error) { - requestDef := GenReqDefForCreateMember(request) - resp, responseDef := GenRespForCreateMember() + requestDef := GenReqDefForCreateMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateMemberResponse), nil } } //创建后端服务器组。 func (c *ElbClient) CreatePool(request *model.CreatePoolRequest) (*model.CreatePoolResponse, error) { - requestDef := GenReqDefForCreatePool(request) - resp, responseDef := GenRespForCreatePool() + requestDef := GenReqDefForCreatePool() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePoolResponse), nil } } //删除SSL证书。 func (c *ElbClient) DeleteCertificate(request *model.DeleteCertificateRequest) (*model.DeleteCertificateResponse, error) { - requestDef := GenReqDefForDeleteCertificate(request) - resp, responseDef := GenRespForDeleteCertificate() + requestDef := GenReqDefForDeleteCertificate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteCertificateResponse), nil } } //删除健康检查。 func (c *ElbClient) DeleteHealthMonitor(request *model.DeleteHealthMonitorRequest) (*model.DeleteHealthMonitorResponse, error) { - requestDef := GenReqDefForDeleteHealthMonitor(request) - resp, responseDef := GenRespForDeleteHealthMonitor() + requestDef := GenReqDefForDeleteHealthMonitor() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteHealthMonitorResponse), nil } } //删除转发策略。 func (c *ElbClient) DeleteL7Policy(request *model.DeleteL7PolicyRequest) (*model.DeleteL7PolicyResponse, error) { - requestDef := GenReqDefForDeleteL7Policy(request) - resp, responseDef := GenRespForDeleteL7Policy() + requestDef := GenReqDefForDeleteL7Policy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteL7PolicyResponse), nil } } //删除转发规则。 func (c *ElbClient) DeleteL7Rule(request *model.DeleteL7RuleRequest) (*model.DeleteL7RuleResponse, error) { - requestDef := GenReqDefForDeleteL7Rule(request) - resp, responseDef := GenRespForDeleteL7Rule() + requestDef := GenReqDefForDeleteL7Rule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteL7RuleResponse), nil } } //删除监听器。 func (c *ElbClient) DeleteListener(request *model.DeleteListenerRequest) (*model.DeleteListenerResponse, error) { - requestDef := GenReqDefForDeleteListener(request) - resp, responseDef := GenRespForDeleteListener() + requestDef := GenReqDefForDeleteListener() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteListenerResponse), nil } } //删除负载均衡器。 func (c *ElbClient) DeleteLoadBalancer(request *model.DeleteLoadBalancerRequest) (*model.DeleteLoadBalancerResponse, error) { - requestDef := GenReqDefForDeleteLoadBalancer(request) - resp, responseDef := GenRespForDeleteLoadBalancer() + requestDef := GenReqDefForDeleteLoadBalancer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteLoadBalancerResponse), nil } } //删除后端服务器。 func (c *ElbClient) DeleteMember(request *model.DeleteMemberRequest) (*model.DeleteMemberResponse, error) { - requestDef := GenReqDefForDeleteMember(request) - resp, responseDef := GenRespForDeleteMember() + requestDef := GenReqDefForDeleteMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteMemberResponse), nil } } //删除后端服务器组。 func (c *ElbClient) DeletePool(request *model.DeletePoolRequest) (*model.DeletePoolResponse, error) { - requestDef := GenReqDefForDeletePool(request) - resp, responseDef := GenRespForDeletePool() + requestDef := GenReqDefForDeletePool() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePoolResponse), nil } } -//返回用户可使用的可用区的列表情况 +//返回租户创建LB时可使用的可用区列表情况。 返回的数据类型是可用区集合的列表,比如列表 [ [az1,az2], [az2, az3] ] ,有两个可用区集合。在创建负载均衡器时,可以选择创建在多个可用区,但所选的多个可用区必须同属于其中一个可用区集合,如可以选择 az2和az3,但不能选择 az1和az3。 func (c *ElbClient) ListAvailabilityZones(request *model.ListAvailabilityZonesRequest) (*model.ListAvailabilityZonesResponse, error) { - requestDef := GenReqDefForListAvailabilityZones(request) - resp, responseDef := GenRespForListAvailabilityZones() + requestDef := GenReqDefForListAvailabilityZones() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAvailabilityZonesResponse), nil } } //查询SSL证书列表。 func (c *ElbClient) ListCertificates(request *model.ListCertificatesRequest) (*model.ListCertificatesResponse, error) { - requestDef := GenReqDefForListCertificates(request) - resp, responseDef := GenRespForListCertificates() + requestDef := GenReqDefForListCertificates() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCertificatesResponse), nil } } //查询所有的规格。 func (c *ElbClient) ListFlavors(request *model.ListFlavorsRequest) (*model.ListFlavorsResponse, error) { - requestDef := GenReqDefForListFlavors(request) - resp, responseDef := GenRespForListFlavors() + requestDef := GenReqDefForListFlavors() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListFlavorsResponse), nil } } //健康检查列表。 func (c *ElbClient) ListHealthMonitors(request *model.ListHealthMonitorsRequest) (*model.ListHealthMonitorsResponse, error) { - requestDef := GenReqDefForListHealthMonitors(request) - resp, responseDef := GenRespForListHealthMonitors() + requestDef := GenReqDefForListHealthMonitors() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListHealthMonitorsResponse), nil } } //查询转发策略列表。 func (c *ElbClient) ListL7Policies(request *model.ListL7PoliciesRequest) (*model.ListL7PoliciesResponse, error) { - requestDef := GenReqDefForListL7Policies(request) - resp, responseDef := GenRespForListL7Policies() + requestDef := GenReqDefForListL7Policies() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListL7PoliciesResponse), nil } } //查询转发规则列表。 func (c *ElbClient) ListL7Rules(request *model.ListL7RulesRequest) (*model.ListL7RulesResponse, error) { - requestDef := GenReqDefForListL7Rules(request) - resp, responseDef := GenRespForListL7Rules() + requestDef := GenReqDefForListL7Rules() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListL7RulesResponse), nil } } //查询监听器列表。 func (c *ElbClient) ListListeners(request *model.ListListenersRequest) (*model.ListListenersResponse, error) { - requestDef := GenReqDefForListListeners(request) - resp, responseDef := GenRespForListListeners() + requestDef := GenReqDefForListListeners() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListListenersResponse), nil } } //查询负载均衡器列表,支持过滤查询和分页查询 func (c *ElbClient) ListLoadBalancers(request *model.ListLoadBalancersRequest) (*model.ListLoadBalancersResponse, error) { - requestDef := GenReqDefForListLoadBalancers(request) - resp, responseDef := GenRespForListLoadBalancers() + requestDef := GenReqDefForListLoadBalancers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListLoadBalancersResponse), nil } } //Pool下的后端服务器列表。 func (c *ElbClient) ListMembers(request *model.ListMembersRequest) (*model.ListMembersResponse, error) { - requestDef := GenReqDefForListMembers(request) - resp, responseDef := GenRespForListMembers() + requestDef := GenReqDefForListMembers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListMembersResponse), nil } } //后端服务器组列表。 func (c *ElbClient) ListPools(request *model.ListPoolsRequest) (*model.ListPoolsResponse, error) { - requestDef := GenReqDefForListPools(request) - resp, responseDef := GenRespForListPools() + requestDef := GenReqDefForListPools() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPoolsResponse), nil } } //查询SSL证书详情。 func (c *ElbClient) ShowCertificate(request *model.ShowCertificateRequest) (*model.ShowCertificateResponse, error) { - requestDef := GenReqDefForShowCertificate(request) - resp, responseDef := GenRespForShowCertificate() + requestDef := GenReqDefForShowCertificate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowCertificateResponse), nil } } //查询规格的详情。 func (c *ElbClient) ShowFlavor(request *model.ShowFlavorRequest) (*model.ShowFlavorResponse, error) { - requestDef := GenReqDefForShowFlavor(request) - resp, responseDef := GenRespForShowFlavor() + requestDef := GenReqDefForShowFlavor() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowFlavorResponse), nil } } //查询健康检查详情。 func (c *ElbClient) ShowHealthMonitor(request *model.ShowHealthMonitorRequest) (*model.ShowHealthMonitorResponse, error) { - requestDef := GenReqDefForShowHealthMonitor(request) - resp, responseDef := GenRespForShowHealthMonitor() + requestDef := GenReqDefForShowHealthMonitor() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowHealthMonitorResponse), nil } } //查询转发策略详情。 func (c *ElbClient) ShowL7Policy(request *model.ShowL7PolicyRequest) (*model.ShowL7PolicyResponse, error) { - requestDef := GenReqDefForShowL7Policy(request) - resp, responseDef := GenRespForShowL7Policy() + requestDef := GenReqDefForShowL7Policy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowL7PolicyResponse), nil } } //查询转发规则详情 func (c *ElbClient) ShowL7Rule(request *model.ShowL7RuleRequest) (*model.ShowL7RuleResponse, error) { - requestDef := GenReqDefForShowL7Rule(request) - resp, responseDef := GenRespForShowL7Rule() + requestDef := GenReqDefForShowL7Rule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowL7RuleResponse), nil } } //监听器详情。 func (c *ElbClient) ShowListener(request *model.ShowListenerRequest) (*model.ShowListenerResponse, error) { - requestDef := GenReqDefForShowListener(request) - resp, responseDef := GenRespForShowListener() + requestDef := GenReqDefForShowListener() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowListenerResponse), nil } } //查询负载均衡器详情 func (c *ElbClient) ShowLoadBalancer(request *model.ShowLoadBalancerRequest) (*model.ShowLoadBalancerResponse, error) { - requestDef := GenReqDefForShowLoadBalancer(request) - resp, responseDef := GenRespForShowLoadBalancer() + requestDef := GenReqDefForShowLoadBalancer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowLoadBalancerResponse), nil } } //查询负载均衡器状态树,列出负载均衡器关联的子资源的信息 func (c *ElbClient) ShowLoadBalancerStatus(request *model.ShowLoadBalancerStatusRequest) (*model.ShowLoadBalancerStatusResponse, error) { - requestDef := GenReqDefForShowLoadBalancerStatus(request) - resp, responseDef := GenRespForShowLoadBalancerStatus() + requestDef := GenReqDefForShowLoadBalancerStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowLoadBalancerStatusResponse), nil } } //后端服务器详情 func (c *ElbClient) ShowMember(request *model.ShowMemberRequest) (*model.ShowMemberResponse, error) { - requestDef := GenReqDefForShowMember(request) - resp, responseDef := GenRespForShowMember() + requestDef := GenReqDefForShowMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowMemberResponse), nil } } //后端服务器组详情。 func (c *ElbClient) ShowPool(request *model.ShowPoolRequest) (*model.ShowPoolResponse, error) { - requestDef := GenReqDefForShowPool(request) - resp, responseDef := GenRespForShowPool() + requestDef := GenReqDefForShowPool() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPoolResponse), nil } } //【不开放】查询特定项目的配额数。 func (c *ElbClient) ShowQuota(request *model.ShowQuotaRequest) (*model.ShowQuotaResponse, error) { - requestDef := GenReqDefForShowQuota(request) - resp, responseDef := GenRespForShowQuota() + requestDef := GenReqDefForShowQuota() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowQuotaResponse), nil } } //【不开放】查询默认配额数。 func (c *ElbClient) ShowQuotaDefaults(request *model.ShowQuotaDefaultsRequest) (*model.ShowQuotaDefaultsResponse, error) { - requestDef := GenReqDefForShowQuotaDefaults(request) - resp, responseDef := GenRespForShowQuotaDefaults() + requestDef := GenReqDefForShowQuotaDefaults() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowQuotaDefaultsResponse), nil } } //更新SSL证书。 func (c *ElbClient) UpdateCertificate(request *model.UpdateCertificateRequest) (*model.UpdateCertificateResponse, error) { - requestDef := GenReqDefForUpdateCertificate(request) - resp, responseDef := GenRespForUpdateCertificate() + requestDef := GenReqDefForUpdateCertificate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateCertificateResponse), nil } } //更新健康检查。 func (c *ElbClient) UpdateHealthMonitor(request *model.UpdateHealthMonitorRequest) (*model.UpdateHealthMonitorResponse, error) { - requestDef := GenReqDefForUpdateHealthMonitor(request) - resp, responseDef := GenRespForUpdateHealthMonitor() + requestDef := GenReqDefForUpdateHealthMonitor() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateHealthMonitorResponse), nil } } //更新转发策略。 func (c *ElbClient) UpdateL7Policy(request *model.UpdateL7PolicyRequest) (*model.UpdateL7PolicyResponse, error) { - requestDef := GenReqDefForUpdateL7Policy(request) - resp, responseDef := GenRespForUpdateL7Policy() + requestDef := GenReqDefForUpdateL7Policy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateL7PolicyResponse), nil } } //更新转发规则。 func (c *ElbClient) UpdateL7Rule(request *model.UpdateL7RuleRequest) (*model.UpdateL7RuleResponse, error) { - requestDef := GenReqDefForUpdateL7Rule(request) - resp, responseDef := GenRespForUpdateL7Rule() + requestDef := GenReqDefForUpdateL7Rule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateL7RuleResponse), nil } } //更新监听器。 func (c *ElbClient) UpdateListener(request *model.UpdateListenerRequest) (*model.UpdateListenerResponse, error) { - requestDef := GenReqDefForUpdateListener(request) - resp, responseDef := GenRespForUpdateListener() + requestDef := GenReqDefForUpdateListener() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateListenerResponse), nil } } //更新负载均衡器。 func (c *ElbClient) UpdateLoadBalancer(request *model.UpdateLoadBalancerRequest) (*model.UpdateLoadBalancerResponse, error) { - requestDef := GenReqDefForUpdateLoadBalancer(request) - resp, responseDef := GenRespForUpdateLoadBalancer() + requestDef := GenReqDefForUpdateLoadBalancer() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateLoadBalancerResponse), nil } } //如果member绑定的负载均衡器的provisioning status不是ACTIVE,则不能更新该member。 func (c *ElbClient) UpdateMember(request *model.UpdateMemberRequest) (*model.UpdateMemberResponse, error) { - requestDef := GenReqDefForUpdateMember(request) - resp, responseDef := GenRespForUpdateMember() + requestDef := GenReqDefForUpdateMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateMemberResponse), nil } } //更新后端服务器组。 func (c *ElbClient) UpdatePool(request *model.UpdatePoolRequest) (*model.UpdatePoolResponse, error) { - requestDef := GenReqDefForUpdatePool(request) - resp, responseDef := GenRespForUpdatePool() + requestDef := GenReqDefForUpdatePool() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePoolResponse), nil } } //计算创建一个负载均衡实例和第一个七层监听器需预占用的IP数 func (c *ElbClient) CountPreoccupyIpNum(request *model.CountPreoccupyIpNumRequest) (*model.CountPreoccupyIpNumResponse, error) { - requestDef := GenReqDefForCountPreoccupyIpNum(request) - resp, responseDef := GenRespForCountPreoccupyIpNum() + requestDef := GenReqDefForCountPreoccupyIpNum() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CountPreoccupyIpNumResponse), nil } } //创建ip地址组 func (c *ElbClient) CreateIpGroup(request *model.CreateIpGroupRequest) (*model.CreateIpGroupResponse, error) { - requestDef := GenReqDefForCreateIpGroup(request) - resp, responseDef := GenRespForCreateIpGroup() + requestDef := GenReqDefForCreateIpGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateIpGroupResponse), nil } } //删除ip地址组。 func (c *ElbClient) DeleteIpGroup(request *model.DeleteIpGroupRequest) (*model.DeleteIpGroupResponse, error) { - requestDef := GenReqDefForDeleteIpGroup(request) - resp, responseDef := GenRespForDeleteIpGroup() + requestDef := GenReqDefForDeleteIpGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteIpGroupResponse), nil } } //查询IP地址组列表 func (c *ElbClient) ListIpGroups(request *model.ListIpGroupsRequest) (*model.ListIpGroupsResponse, error) { - requestDef := GenReqDefForListIpGroups(request) - resp, responseDef := GenRespForListIpGroups() + requestDef := GenReqDefForListIpGroups() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListIpGroupsResponse), nil } } //获取ip地址组详情 func (c *ElbClient) ShowIpGroup(request *model.ShowIpGroupRequest) (*model.ShowIpGroupResponse, error) { - requestDef := GenReqDefForShowIpGroup(request) - resp, responseDef := GenRespForShowIpGroup() + requestDef := GenReqDefForShowIpGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowIpGroupResponse), nil } } //更新ip地址组,只支持全量更新ip。 func (c *ElbClient) UpdateIpGroup(request *model.UpdateIpGroupRequest) (*model.UpdateIpGroupResponse, error) { - requestDef := GenReqDefForUpdateIpGroup(request) - resp, responseDef := GenRespForUpdateIpGroup() + requestDef := GenReqDefForUpdateIpGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateIpGroupResponse), nil } } diff --git a/services/elb/v3/elb_meta.go b/services/elb/v3/elb_meta.go index 36c7e9c245..089ca241ec 100644 --- a/services/elb/v3/elb_meta.go +++ b/services/elb/v3/elb_meta.go @@ -6,1934 +6,1607 @@ import ( "net/http" ) -func GenReqDefForCreateCertificate(request *model.CreateCertificateRequest) *def.HttpRequestDef { +func GenReqDefForCreateCertificate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/certificates"). + WithResponse(new(model.CreateCertificateResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateCertificate() (*model.CreateCertificateResponse, *def.HttpResponseDef) { - resp := new(model.CreateCertificateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateHealthMonitor(request *model.CreateHealthMonitorRequest) *def.HttpRequestDef { +func GenReqDefForCreateHealthMonitor() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/healthmonitors"). + WithResponse(new(model.CreateHealthMonitorResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateHealthMonitor() (*model.CreateHealthMonitorResponse, *def.HttpResponseDef) { - resp := new(model.CreateHealthMonitorResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateL7Policy(request *model.CreateL7PolicyRequest) *def.HttpRequestDef { +func GenReqDefForCreateL7Policy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/l7policies"). + WithResponse(new(model.CreateL7PolicyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateL7Policy() (*model.CreateL7PolicyResponse, *def.HttpResponseDef) { - resp := new(model.CreateL7PolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateL7Rule(request *model.CreateL7RuleRequest) *def.HttpRequestDef { +func GenReqDefForCreateL7Rule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}/rules"). + WithResponse(new(model.CreateL7RuleResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateL7Rule() (*model.CreateL7RuleResponse, *def.HttpResponseDef) { - resp := new(model.CreateL7RuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateListener(request *model.CreateListenerRequest) *def.HttpRequestDef { +func GenReqDefForCreateListener() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/listeners"). + WithResponse(new(model.CreateListenerResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateListener() (*model.CreateListenerResponse, *def.HttpResponseDef) { - resp := new(model.CreateListenerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateLoadBalancer(request *model.CreateLoadBalancerRequest) *def.HttpRequestDef { +func GenReqDefForCreateLoadBalancer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/loadbalancers"). + WithResponse(new(model.CreateLoadBalancerResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Auth-Project-Token"). - WithLocationType(def.Header)) - - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateLoadBalancer() (*model.CreateLoadBalancerResponse, *def.HttpResponseDef) { - resp := new(model.CreateLoadBalancerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateMember(request *model.CreateMemberRequest) *def.HttpRequestDef { +func GenReqDefForCreateMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/pools/{pool_id}/members"). + WithResponse(new(model.CreateMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateMember() (*model.CreateMemberResponse, *def.HttpResponseDef) { - resp := new(model.CreateMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePool(request *model.CreatePoolRequest) *def.HttpRequestDef { +func GenReqDefForCreatePool() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/pools"). + WithResponse(new(model.CreatePoolResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePool() (*model.CreatePoolResponse, *def.HttpResponseDef) { - resp := new(model.CreatePoolResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteCertificate(request *model.DeleteCertificateRequest) *def.HttpRequestDef { +func GenReqDefForDeleteCertificate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/certificates/{certificate_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/certificates/{certificate_id}"). + WithResponse(new(model.DeleteCertificateResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("CertificateId"). + WithJsonTag("certificate_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteCertificate() (*model.DeleteCertificateResponse, *def.HttpResponseDef) { - resp := new(model.DeleteCertificateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteHealthMonitor(request *model.DeleteHealthMonitorRequest) *def.HttpRequestDef { +func GenReqDefForDeleteHealthMonitor() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/healthmonitors/{healthmonitor_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("healthmonitor_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/healthmonitors/{healthmonitor_id}"). + WithResponse(new(model.DeleteHealthMonitorResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("HealthmonitorId"). + WithJsonTag("healthmonitor_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteHealthMonitor() (*model.DeleteHealthMonitorResponse, *def.HttpResponseDef) { - resp := new(model.DeleteHealthMonitorResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteL7Policy(request *model.DeleteL7PolicyRequest) *def.HttpRequestDef { +func GenReqDefForDeleteL7Policy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}"). + WithResponse(new(model.DeleteL7PolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteL7Policy() (*model.DeleteL7PolicyResponse, *def.HttpResponseDef) { - resp := new(model.DeleteL7PolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteL7Rule(request *model.DeleteL7RuleRequest) *def.HttpRequestDef { +func GenReqDefForDeleteL7Rule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}") + WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}"). + WithResponse(new(model.DeleteL7RuleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7rule_id"). + WithName("L7ruleId"). + WithJsonTag("l7rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteL7Rule() (*model.DeleteL7RuleResponse, *def.HttpResponseDef) { - resp := new(model.DeleteL7RuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteListener(request *model.DeleteListenerRequest) *def.HttpRequestDef { +func GenReqDefForDeleteListener() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/listeners/{listener_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/listeners/{listener_id}"). + WithResponse(new(model.DeleteListenerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteListener() (*model.DeleteListenerResponse, *def.HttpResponseDef) { - resp := new(model.DeleteListenerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteLoadBalancer(request *model.DeleteLoadBalancerRequest) *def.HttpRequestDef { +func GenReqDefForDeleteLoadBalancer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}") + WithPath("/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}"). + WithResponse(new(model.DeleteLoadBalancerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteLoadBalancer() (*model.DeleteLoadBalancerResponse, *def.HttpResponseDef) { - resp := new(model.DeleteLoadBalancerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteMember(request *model.DeleteMemberRequest) *def.HttpRequestDef { +func GenReqDefForDeleteMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/pools/{pool_id}/members/{member_id}") + WithPath("/v3/{project_id}/elb/pools/{pool_id}/members/{member_id}"). + WithResponse(new(model.DeleteMemberResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteMember() (*model.DeleteMemberResponse, *def.HttpResponseDef) { - resp := new(model.DeleteMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePool(request *model.DeletePoolRequest) *def.HttpRequestDef { +func GenReqDefForDeletePool() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/pools/{pool_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/pools/{pool_id}"). + WithResponse(new(model.DeletePoolResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePool() (*model.DeletePoolResponse, *def.HttpResponseDef) { - resp := new(model.DeletePoolResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListAvailabilityZones(request *model.ListAvailabilityZonesRequest) *def.HttpRequestDef { +func GenReqDefForListAvailabilityZones() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/availability-zones") + WithPath("/v3/{project_id}/elb/availability-zones"). + WithResponse(new(model.ListAvailabilityZonesResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListAvailabilityZones() (*model.ListAvailabilityZonesResponse, *def.HttpResponseDef) { - resp := new(model.ListAvailabilityZonesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCertificates(request *model.ListCertificatesRequest) *def.HttpRequestDef { +func GenReqDefForListCertificates() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/certificates") + WithPath("/v3/{project_id}/elb/certificates"). + WithResponse(new(model.ListCertificatesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCertificates() (*model.ListCertificatesResponse, *def.HttpResponseDef) { - resp := new(model.ListCertificatesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListFlavors(request *model.ListFlavorsRequest) *def.HttpRequestDef { +func GenReqDefForListFlavors() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/flavors") + WithPath("/v3/{project_id}/elb/flavors"). + WithResponse(new(model.ListFlavorsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Shared"). + WithJsonTag("shared"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("shared"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListFlavors() (*model.ListFlavorsResponse, *def.HttpResponseDef) { - resp := new(model.ListFlavorsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListHealthMonitors(request *model.ListHealthMonitorsRequest) *def.HttpRequestDef { +func GenReqDefForListHealthMonitors() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/healthmonitors") + WithPath("/v3/{project_id}/elb/healthmonitors"). + WithResponse(new(model.ListHealthMonitorsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Delay"). + WithJsonTag("delay"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("DomainName"). + WithJsonTag("domain_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("monitor_port"). + WithName("ExpectedCodes"). + WithJsonTag("expected_codes"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_name"). + WithName("HttpMethod"). + WithJsonTag("http_method"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("delay"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("max_retries"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("MaxRetries"). + WithJsonTag("max_retries"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("max_retries_down"). + WithName("MaxRetriesDown"). + WithJsonTag("max_retries_down"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("timeout"). + WithName("MonitorPort"). + WithJsonTag("monitor_port"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("expected_codes"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("url_path"). + WithName("Timeout"). + WithJsonTag("timeout"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("http_method"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("UrlPath"). + WithJsonTag("url_path"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListHealthMonitors() (*model.ListHealthMonitorsResponse, *def.HttpResponseDef) { - resp := new(model.ListHealthMonitorsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListL7Policies(request *model.ListL7PoliciesRequest) *def.HttpRequestDef { +func GenReqDefForListL7Policies() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/l7policies") + WithPath("/v3/{project_id}/elb/l7policies"). + WithResponse(new(model.ListL7PoliciesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Action"). + WithJsonTag("action"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("DisplayAllRules"). + WithJsonTag("display_all_rules"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("position"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("action"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("redirect_url"). + WithName("Position"). + WithJsonTag("position"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("redirect_pool_id"). + WithName("ProvisioningStatus"). + WithJsonTag("provisioning_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("redirect_listener_id"). + WithName("RedirectListenerId"). + WithJsonTag("redirect_listener_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("provisioning_status"). + WithName("RedirectPoolId"). + WithJsonTag("redirect_pool_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("display_all_rules"). + WithName("RedirectUrl"). + WithJsonTag("redirect_url"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListL7Policies() (*model.ListL7PoliciesResponse, *def.HttpResponseDef) { - resp := new(model.ListL7PoliciesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListL7Rules(request *model.ListL7RulesRequest) *def.HttpRequestDef { +func GenReqDefForListL7Rules() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}/rules") + WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}/rules"). + WithResponse(new(model.ListL7RulesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("CompareType"). + WithJsonTag("compare_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("compare_type"). + WithName("Invert"). + WithJsonTag("invert"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("provisioning_status"). + WithName("Key"). + WithJsonTag("key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("invert"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("value"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key"). + WithName("ProvisioningStatus"). + WithJsonTag("provisioning_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("Value"). + WithJsonTag("value"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListL7Rules() (*model.ListL7RulesResponse, *def.HttpResponseDef) { - resp := new(model.ListL7RulesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListListeners(request *model.ListListenersRequest) *def.HttpRequestDef { +func GenReqDefForListListeners() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/listeners") + WithPath("/v3/{project_id}/elb/listeners"). + WithResponse(new(model.ListListenersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("ClientCaTlsContainerRef"). + WithJsonTag("client_ca_tls_container_ref"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("ClientTimeout"). + WithJsonTag("client_timeout"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol_port"). + WithName("ConnectionLimit"). + WithJsonTag("connection_limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol"). + WithName("DefaultPoolId"). + WithJsonTag("default_pool_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("DefaultTlsContainerRef"). + WithJsonTag("default_tls_container_ref"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("default_tls_container_ref"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("client_ca_tls_container_ref"). + WithName("EnableMemberRetry"). + WithJsonTag("enable_member_retry"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("connection_limit"). + WithName("Http2Enable"). + WithJsonTag("http2_enable"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("default_pool_id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("KeepaliveTimeout"). + WithJsonTag("keepalive_timeout"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("http2_enable"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tls_ciphers_policy"). + WithName("MemberAddress"). + WithJsonTag("member_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_address"). + WithName("MemberDeviceId"). + WithJsonTag("member_device_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_device_id"). + WithName("MemberTimeout"). + WithJsonTag("member_timeout"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enable_member_retry"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_timeout"). + WithName("Protocol"). + WithJsonTag("protocol"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("client_timeout"). + WithName("ProtocolPort"). + WithJsonTag("protocol_port"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("keepalive_timeout"). + WithName("TlsCiphersPolicy"). + WithJsonTag("tls_ciphers_policy"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("transparent_client_ip_enable"). + WithName("TransparentClientIpEnable"). + WithJsonTag("transparent_client_ip_enable"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListListeners() (*model.ListListenersResponse, *def.HttpResponseDef) { - resp := new(model.ListListenersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListLoadBalancers(request *model.ListLoadBalancersRequest) *def.HttpRequestDef { +func GenReqDefForListLoadBalancers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/loadbalancers") + WithPath("/v3/{project_id}/elb/loadbalancers"). + WithResponse(new(model.ListLoadBalancersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("AvailabilityZoneList"). + WithJsonTag("availability_zone_list"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("BillingInfo"). + WithJsonTag("billing_info"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("DeletionProtectionEnable"). + WithJsonTag("deletion_protection_enable"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Eips"). + WithJsonTag("eips"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("provisioning_status"). + WithName("Guaranteed"). + WithJsonTag("guaranteed"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operating_status"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("guaranteed"). + WithName("IpVersion"). + WithJsonTag("ip_version"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("Ipv6VipAddress"). + WithJsonTag("ipv6_vip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vip_port_id"). + WithName("Ipv6VipPortId"). + WithJsonTag("ipv6_vip_port_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vip_address"). + WithName("Ipv6VipVirsubnetId"). + WithJsonTag("ipv6_vip_virsubnet_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vip_subnet_cidr_id"). + WithName("L4FlavorId"). + WithJsonTag("l4_flavor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l4_flavor_id"). + WithName("L4ScaleFlavorId"). + WithJsonTag("l4_scale_flavor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l4_scale_flavor_id"). + WithName("L7FlavorId"). + WithJsonTag("l7_flavor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ipv6_vip_address"). + WithName("L7ScaleFlavorId"). + WithJsonTag("l7_scale_flavor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ipv6_vip_virsubnet_id"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ipv6_vip_port_id"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("availability_zone_list"). + WithName("MemberAddress"). + WithJsonTag("member_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("eips"). + WithName("MemberDeviceId"). + WithJsonTag("member_device_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7_flavor_id"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7_scale_flavor_id"). + WithName("OperatingStatus"). + WithJsonTag("operating_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("billing_info"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_device_id"). + WithName("ProvisioningStatus"). + WithJsonTag("provisioning_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_address"). + WithName("Publicips"). + WithJsonTag("publicips"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("VipAddress"). + WithJsonTag("vip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publicips"). + WithName("VipPortId"). + WithJsonTag("vip_port_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip_version"). + WithName("VipSubnetCidrId"). + WithJsonTag("vip_subnet_cidr_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("deletion_protection_enable"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListLoadBalancers() (*model.ListLoadBalancersResponse, *def.HttpResponseDef) { - resp := new(model.ListLoadBalancersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListMembers(request *model.ListMembersRequest) *def.HttpRequestDef { +func GenReqDefForListMembers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/pools/{pool_id}/members") + WithPath("/v3/{project_id}/elb/pools/{pool_id}/members"). + WithResponse(new(model.ListMembersResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Address"). + WithJsonTag("address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("weight"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("subnet_cidr_id"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("address"). + WithName("OperatingStatus"). + WithJsonTag("operating_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol_port"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("ProtocolPort"). + WithJsonTag("protocol_port"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("operating_status"). + WithName("SubnetCidrId"). + WithJsonTag("subnet_cidr_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("Weight"). + WithJsonTag("weight"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListMembers() (*model.ListMembersResponse, *def.HttpResponseDef) { - resp := new(model.ListMembersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPools(request *model.ListPoolsRequest) *def.HttpRequestDef { +func GenReqDefForListPools() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/pools") + WithPath("/v3/{project_id}/elb/pools"). + WithResponse(new(model.ListPoolsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("HealthmonitorId"). + WithJsonTag("healthmonitor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("healthmonitor_id"). + WithName("IpVersion"). + WithJsonTag("ip_version"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("LbAlgorithm"). + WithJsonTag("lb_algorithm"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("lb_algorithm"). + WithName("MemberAddress"). + WithJsonTag("member_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("MemberDeletionProtectionEnable"). + WithJsonTag("member_deletion_protection_enable"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip_version"). + WithName("MemberDeviceId"). + WithJsonTag("member_device_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_address"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_device_id"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_deletion_protection_enable"). + WithName("Protocol"). + WithJsonTag("protocol"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPools() (*model.ListPoolsResponse, *def.HttpResponseDef) { - resp := new(model.ListPoolsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowCertificate(request *model.ShowCertificateRequest) *def.HttpRequestDef { +func GenReqDefForShowCertificate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/certificates/{certificate_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/certificates/{certificate_id}"). + WithResponse(new(model.ShowCertificateResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("CertificateId"). + WithJsonTag("certificate_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCertificate() (*model.ShowCertificateResponse, *def.HttpResponseDef) { - resp := new(model.ShowCertificateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowFlavor(request *model.ShowFlavorRequest) *def.HttpRequestDef { +func GenReqDefForShowFlavor() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/flavors/{flavor_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("flavor_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/flavors/{flavor_id}"). + WithResponse(new(model.ShowFlavorResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("FlavorId"). + WithJsonTag("flavor_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowFlavor() (*model.ShowFlavorResponse, *def.HttpResponseDef) { - resp := new(model.ShowFlavorResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowHealthMonitor(request *model.ShowHealthMonitorRequest) *def.HttpRequestDef { +func GenReqDefForShowHealthMonitor() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/healthmonitors/{healthmonitor_id}") + WithPath("/v3/{project_id}/elb/healthmonitors/{healthmonitor_id}"). + WithResponse(new(model.ShowHealthMonitorResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("healthmonitor_id"). + WithName("HealthmonitorId"). + WithJsonTag("healthmonitor_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowHealthMonitor() (*model.ShowHealthMonitorResponse, *def.HttpResponseDef) { - resp := new(model.ShowHealthMonitorResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowL7Policy(request *model.ShowL7PolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowL7Policy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}"). + WithResponse(new(model.ShowL7PolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowL7Policy() (*model.ShowL7PolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowL7PolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowL7Rule(request *model.ShowL7RuleRequest) *def.HttpRequestDef { +func GenReqDefForShowL7Rule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}") + WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}"). + WithResponse(new(model.ShowL7RuleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7rule_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("L7ruleId"). + WithJsonTag("l7rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowL7Rule() (*model.ShowL7RuleResponse, *def.HttpResponseDef) { - resp := new(model.ShowL7RuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowListener(request *model.ShowListenerRequest) *def.HttpRequestDef { +func GenReqDefForShowListener() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/listeners/{listener_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/listeners/{listener_id}"). + WithResponse(new(model.ShowListenerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowListener() (*model.ShowListenerResponse, *def.HttpResponseDef) { - resp := new(model.ShowListenerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowLoadBalancer(request *model.ShowLoadBalancerRequest) *def.HttpRequestDef { +func GenReqDefForShowLoadBalancer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}"). + WithResponse(new(model.ShowLoadBalancerResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowLoadBalancer() (*model.ShowLoadBalancerResponse, *def.HttpResponseDef) { - resp := new(model.ShowLoadBalancerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowLoadBalancerStatus(request *model.ShowLoadBalancerStatusRequest) *def.HttpRequestDef { +func GenReqDefForShowLoadBalancerStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}/statuses") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}/statuses"). + WithResponse(new(model.ShowLoadBalancerStatusResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowLoadBalancerStatus() (*model.ShowLoadBalancerStatusResponse, *def.HttpResponseDef) { - resp := new(model.ShowLoadBalancerStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowMember(request *model.ShowMemberRequest) *def.HttpRequestDef { +func GenReqDefForShowMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/pools/{pool_id}/members/{member_id}") + WithPath("/v3/{project_id}/elb/pools/{pool_id}/members/{member_id}"). + WithResponse(new(model.ShowMemberResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowMember() (*model.ShowMemberResponse, *def.HttpResponseDef) { - resp := new(model.ShowMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPool(request *model.ShowPoolRequest) *def.HttpRequestDef { +func GenReqDefForShowPool() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/pools/{pool_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/pools/{pool_id}"). + WithResponse(new(model.ShowPoolResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPool() (*model.ShowPoolResponse, *def.HttpResponseDef) { - resp := new(model.ShowPoolResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowQuota(request *model.ShowQuotaRequest) *def.HttpRequestDef { +func GenReqDefForShowQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/quotas") + WithPath("/v3/{project_id}/elb/quotas"). + WithResponse(new(model.ShowQuotaResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowQuota() (*model.ShowQuotaResponse, *def.HttpResponseDef) { - resp := new(model.ShowQuotaResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowQuotaDefaults(request *model.ShowQuotaDefaultsRequest) *def.HttpRequestDef { +func GenReqDefForShowQuotaDefaults() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/quotas/defaults") + WithPath("/v3/{project_id}/elb/quotas/defaults"). + WithResponse(new(model.ShowQuotaDefaultsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowQuotaDefaults() (*model.ShowQuotaDefaultsResponse, *def.HttpResponseDef) { - resp := new(model.ShowQuotaDefaultsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateCertificate(request *model.UpdateCertificateRequest) *def.HttpRequestDef { +func GenReqDefForUpdateCertificate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/certificates/{certificate_id}"). + WithResponse(new(model.UpdateCertificateResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("certificate_id"). + WithName("CertificateId"). + WithJsonTag("certificate_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateCertificate() (*model.UpdateCertificateResponse, *def.HttpResponseDef) { - resp := new(model.UpdateCertificateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateHealthMonitor(request *model.UpdateHealthMonitorRequest) *def.HttpRequestDef { +func GenReqDefForUpdateHealthMonitor() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/healthmonitors/{healthmonitor_id}"). + WithResponse(new(model.UpdateHealthMonitorResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("healthmonitor_id"). + WithName("HealthmonitorId"). + WithJsonTag("healthmonitor_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateHealthMonitor() (*model.UpdateHealthMonitorResponse, *def.HttpResponseDef) { - resp := new(model.UpdateHealthMonitorResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateL7Policy(request *model.UpdateL7PolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateL7Policy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}"). + WithResponse(new(model.UpdateL7PolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateL7Policy() (*model.UpdateL7PolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateL7PolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateL7Rule(request *model.UpdateL7RuleRequest) *def.HttpRequestDef { +func GenReqDefForUpdateL7Rule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/l7policies/{l7policy_id}/rules/{l7rule_id}"). + WithResponse(new(model.UpdateL7RuleResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7policy_id"). + WithName("L7policyId"). + WithJsonTag("l7policy_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7rule_id"). + WithName("L7ruleId"). + WithJsonTag("l7rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateL7Rule() (*model.UpdateL7RuleResponse, *def.HttpResponseDef) { - resp := new(model.UpdateL7RuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateListener(request *model.UpdateListenerRequest) *def.HttpRequestDef { +func GenReqDefForUpdateListener() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/listeners/{listener_id}"). + WithResponse(new(model.UpdateListenerResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("listener_id"). + WithName("ListenerId"). + WithJsonTag("listener_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateListener() (*model.UpdateListenerResponse, *def.HttpResponseDef) { - resp := new(model.UpdateListenerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateLoadBalancer(request *model.UpdateLoadBalancerRequest) *def.HttpRequestDef { +func GenReqDefForUpdateLoadBalancer() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/loadbalancers/{loadbalancer_id}"). + WithResponse(new(model.UpdateLoadBalancerResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateLoadBalancer() (*model.UpdateLoadBalancerResponse, *def.HttpResponseDef) { - resp := new(model.UpdateLoadBalancerResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateMember(request *model.UpdateMemberRequest) *def.HttpRequestDef { +func GenReqDefForUpdateMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/pools/{pool_id}/members/{member_id}"). + WithResponse(new(model.UpdateMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateMember() (*model.UpdateMemberResponse, *def.HttpResponseDef) { - resp := new(model.UpdateMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePool(request *model.UpdatePoolRequest) *def.HttpRequestDef { +func GenReqDefForUpdatePool() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/pools/{pool_id}"). + WithResponse(new(model.UpdatePoolResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("pool_id"). + WithName("PoolId"). + WithJsonTag("pool_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdatePool() (*model.UpdatePoolResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePoolResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCountPreoccupyIpNum(request *model.CountPreoccupyIpNumRequest) *def.HttpRequestDef { +func GenReqDefForCountPreoccupyIpNum() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/preoccupy-ip-num") + WithPath("/v3/{project_id}/elb/preoccupy-ip-num"). + WithResponse(new(model.CountPreoccupyIpNumResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("l7_flavor_id"). + WithName("AvailabilityZoneId"). + WithJsonTag("availability_zone_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip_target_enable"). + WithName("IpTargetEnable"). + WithJsonTag("ip_target_enable"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip_version"). + WithName("IpVersion"). + WithJsonTag("ip_version"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("loadbalancer_id"). + WithName("L7FlavorId"). + WithJsonTag("l7_flavor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("availability_zone_id"). + WithName("LoadbalancerId"). + WithJsonTag("loadbalancer_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCountPreoccupyIpNum() (*model.CountPreoccupyIpNumResponse, *def.HttpResponseDef) { - resp := new(model.CountPreoccupyIpNumResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateIpGroup(request *model.CreateIpGroupRequest) *def.HttpRequestDef { +func GenReqDefForCreateIpGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/elb/ipgroups"). + WithResponse(new(model.CreateIpGroupResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateIpGroup() (*model.CreateIpGroupResponse, *def.HttpResponseDef) { - resp := new(model.CreateIpGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteIpGroup(request *model.DeleteIpGroupRequest) *def.HttpRequestDef { +func GenReqDefForDeleteIpGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/elb/ipgroups/{ipgroup_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ipgroup_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/ipgroups/{ipgroup_id}"). + WithResponse(new(model.DeleteIpGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("IpgroupId"). + WithJsonTag("ipgroup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteIpGroup() (*model.DeleteIpGroupResponse, *def.HttpResponseDef) { - resp := new(model.DeleteIpGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListIpGroups(request *model.ListIpGroupsRequest) *def.HttpRequestDef { +func GenReqDefForListIpGroups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/ipgroups") + WithPath("/v3/{project_id}/elb/ipgroups"). + WithResponse(new(model.ListIpGroupsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page_reverse"). + WithName("IpList"). + WithJsonTag("ip_list"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ip_list"). + WithName("PageReverse"). + WithJsonTag("page_reverse"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListIpGroups() (*model.ListIpGroupsResponse, *def.HttpResponseDef) { - resp := new(model.ListIpGroupsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowIpGroup(request *model.ShowIpGroupRequest) *def.HttpRequestDef { +func GenReqDefForShowIpGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/elb/ipgroups/{ipgroup_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ipgroup_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/elb/ipgroups/{ipgroup_id}"). + WithResponse(new(model.ShowIpGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("IpgroupId"). + WithJsonTag("ipgroup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowIpGroup() (*model.ShowIpGroupResponse, *def.HttpResponseDef) { - resp := new(model.ShowIpGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateIpGroup(request *model.UpdateIpGroupRequest) *def.HttpRequestDef { +func GenReqDefForUpdateIpGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/elb/ipgroups/{ipgroup_id}"). + WithResponse(new(model.UpdateIpGroupResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ipgroup_id"). + WithName("IpgroupId"). + WithJsonTag("ipgroup_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateIpGroup() (*model.UpdateIpGroupResponse, *def.HttpResponseDef) { - resp := new(model.UpdateIpGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/elb/v3/model/model_availability_zone.go b/services/elb/v3/model/model_availability_zone.go index 153089fea9..b725a07744 100644 --- a/services/elb/v3/model/model_availability_zone.go +++ b/services/elb/v3/model/model_availability_zone.go @@ -13,11 +13,11 @@ import ( "strings" ) -// +// 可用区 type AvailabilityZone struct { - // 可用区code + // 可用区code。 Code string `json:"code"` - // az状态.取值: ACTIVE + // az状态。 取值:ACTIVE State string `json:"state"` } diff --git a/services/elb/v3/model/model_count_preoccupy_ip_num_request.go b/services/elb/v3/model/model_count_preoccupy_ip_num_request.go index 8f34f9620e..f247f55976 100644 --- a/services/elb/v3/model/model_count_preoccupy_ip_num_request.go +++ b/services/elb/v3/model/model_count_preoccupy_ip_num_request.go @@ -15,11 +15,11 @@ import ( // Request Object type CountPreoccupyIpNumRequest struct { - L7FlavorId *string `json:"l7_flavor_id,omitempty"` + AvailabilityZoneId *[]string `json:"availability_zone_id,omitempty"` IpTargetEnable *bool `json:"ip_target_enable,omitempty"` IpVersion *int32 `json:"ip_version,omitempty"` + L7FlavorId *string `json:"l7_flavor_id,omitempty"` LoadbalancerId *string `json:"loadbalancer_id,omitempty"` - AvailabilityZoneId *[]string `json:"availability_zone_id,omitempty"` } func (o CountPreoccupyIpNumRequest) String() string { diff --git a/services/elb/v3/model/model_create_certificate_response.go b/services/elb/v3/model/model_create_certificate_response.go index 5cc02d9ee6..a4cdf3e465 100644 --- a/services/elb/v3/model/model_create_certificate_response.go +++ b/services/elb/v3/model/model_create_certificate_response.go @@ -15,7 +15,7 @@ import ( // Response Object type CreateCertificateResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Certificate *CertificateInfo `json:"certificate,omitempty"` } diff --git a/services/elb/v3/model/model_create_health_monitor_option.go b/services/elb/v3/model/model_create_health_monitor_option.go index 14a215b3af..bf90c974a2 100644 --- a/services/elb/v3/model/model_create_health_monitor_option.go +++ b/services/elb/v3/model/model_create_health_monitor_option.go @@ -27,7 +27,7 @@ type CreateHealthMonitorOption struct { HttpMethod *string `json:"http_method,omitempty"` // 健康检查连续成功多少次后,将后端服务器的健康检查状态由offline判定为online,取值范围[1,10]。 MaxRetries int32 `json:"max_retries"` - // 健康检查连续失败多少次后,将后端服务器的健康检查状态由online判定为offline,取值范围[1,10]。 默认值:3 + // 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE MaxRetriesDown *int32 `json:"max_retries_down,omitempty"` // 健康检查端口号。默认为空,表示使用后端云服务器组的端口。 MonitorPort *int32 `json:"monitor_port,omitempty"` diff --git a/services/elb/v3/model/model_create_health_monitor_response.go b/services/elb/v3/model/model_create_health_monitor_response.go index d36e14a675..3b93c78e02 100644 --- a/services/elb/v3/model/model_create_health_monitor_response.go +++ b/services/elb/v3/model/model_create_health_monitor_response.go @@ -15,7 +15,7 @@ import ( // Response Object type CreateHealthMonitorResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Healthmonitor *HealthMonitor `json:"healthmonitor,omitempty"` } diff --git a/services/elb/v3/model/model_create_ip_group_response.go b/services/elb/v3/model/model_create_ip_group_response.go index 1d0d602ef3..abd25668a3 100644 --- a/services/elb/v3/model/model_create_ip_group_response.go +++ b/services/elb/v3/model/model_create_ip_group_response.go @@ -16,7 +16,7 @@ import ( // Response Object type CreateIpGroupResponse struct { Ipgroup *IpGroup `json:"ipgroup,omitempty"` - // 请求id + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` } diff --git a/services/elb/v3/model/model_create_l7_policy_response.go b/services/elb/v3/model/model_create_l7_policy_response.go index 8e4d705b2a..72d950125a 100644 --- a/services/elb/v3/model/model_create_l7_policy_response.go +++ b/services/elb/v3/model/model_create_l7_policy_response.go @@ -15,7 +15,7 @@ import ( // Response Object type CreateL7PolicyResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` L7policy *L7Policy `json:"l7policy,omitempty"` } diff --git a/services/elb/v3/model/model_create_l7_rule_response.go b/services/elb/v3/model/model_create_l7_rule_response.go index 31dc846b23..bd735153f8 100644 --- a/services/elb/v3/model/model_create_l7_rule_response.go +++ b/services/elb/v3/model/model_create_l7_rule_response.go @@ -15,7 +15,7 @@ import ( // Response Object type CreateL7RuleResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Rule *L7Rule `json:"rule,omitempty"` } diff --git a/services/elb/v3/model/model_create_listener_response.go b/services/elb/v3/model/model_create_listener_response.go index f0e9c1ccb8..9f2106d42c 100644 --- a/services/elb/v3/model/model_create_listener_response.go +++ b/services/elb/v3/model/model_create_listener_response.go @@ -15,7 +15,7 @@ import ( // Response Object type CreateListenerResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Listener *Listener `json:"listener,omitempty"` } diff --git a/services/elb/v3/model/model_create_load_balancer_request.go b/services/elb/v3/model/model_create_load_balancer_request.go index 0d4a9412c2..00ef8afc75 100644 --- a/services/elb/v3/model/model_create_load_balancer_request.go +++ b/services/elb/v3/model/model_create_load_balancer_request.go @@ -15,8 +15,7 @@ import ( // Request Object type CreateLoadBalancerRequest struct { - XAuthProjectToken *string `json:"X-Auth-Project-Token,omitempty"` - Body *CreateLoadBalancerRequestBody `json:"body,omitempty"` + Body *CreateLoadBalancerRequestBody `json:"body,omitempty"` } func (o CreateLoadBalancerRequest) String() string { diff --git a/services/elb/v3/model/model_create_load_balancer_response.go b/services/elb/v3/model/model_create_load_balancer_response.go index 4716c29960..df6a80f149 100644 --- a/services/elb/v3/model/model_create_load_balancer_response.go +++ b/services/elb/v3/model/model_create_load_balancer_response.go @@ -16,7 +16,7 @@ import ( // Response Object type CreateLoadBalancerResponse struct { Loadbalancer *LoadBalancer `json:"loadbalancer,omitempty"` - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` } diff --git a/services/elb/v3/model/model_create_member_response.go b/services/elb/v3/model/model_create_member_response.go index 80e8cb6d4f..25b2c318c0 100644 --- a/services/elb/v3/model/model_create_member_response.go +++ b/services/elb/v3/model/model_create_member_response.go @@ -15,7 +15,7 @@ import ( // Response Object type CreateMemberResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Member *Member `json:"member,omitempty"` } diff --git a/services/elb/v3/model/model_create_pool_response.go b/services/elb/v3/model/model_create_pool_response.go index 376f20748f..b13ad56bf2 100644 --- a/services/elb/v3/model/model_create_pool_response.go +++ b/services/elb/v3/model/model_create_pool_response.go @@ -15,7 +15,7 @@ import ( // Response Object type CreatePoolResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Pool *Pool `json:"pool,omitempty"` } diff --git a/services/elb/v3/model/model_delete_member_request.go b/services/elb/v3/model/model_delete_member_request.go index 2788a6a353..8889b81d59 100644 --- a/services/elb/v3/model/model_delete_member_request.go +++ b/services/elb/v3/model/model_delete_member_request.go @@ -15,8 +15,8 @@ import ( // Request Object type DeleteMemberRequest struct { - PoolId string `json:"pool_id"` MemberId string `json:"member_id"` + PoolId string `json:"pool_id"` } func (o DeleteMemberRequest) String() string { diff --git a/services/elb/v3/model/model_flavor.go b/services/elb/v3/model/model_flavor.go index 4232fe0793..9a1a20bd01 100644 --- a/services/elb/v3/model/model_flavor.go +++ b/services/elb/v3/model/model_flavor.go @@ -22,7 +22,7 @@ type Flavor struct { Name string `json:"name"` // 共享。 Shared bool `json:"shared"` - // 项目ID。包括flavor所属的项目ID及其共享型的项目ID。 + // 项目ID ProjectId string `json:"project_id"` // L4和L7 分别表示四层和七层flavor。查询支持按type过滤 Type string `json:"type"` diff --git a/services/elb/v3/model/model_health_monitor.go b/services/elb/v3/model/model_health_monitor.go index afadca76d4..4f7c1d2f8a 100644 --- a/services/elb/v3/model/model_health_monitor.go +++ b/services/elb/v3/model/model_health_monitor.go @@ -29,7 +29,7 @@ type HealthMonitor struct { Id string `json:"id"` // 健康检查连续成功多少次后,将后端服务器的健康检查状态由offline判定为online,取值范围[1,10]。 MaxRetries int32 `json:"max_retries"` - // 健康检查连续成功多少次后,将后端服务器的健康检查状态由online判定为offline,取值范围[1,10]。 + // 健康检查连续成功多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE MaxRetriesDown int32 `json:"max_retries_down"` // 健康检查端口号。默认为空,表示使用后端云服务器组的端口。 MonitorPort int32 `json:"monitor_port"` diff --git a/services/elb/v3/model/model_l7_rule.go b/services/elb/v3/model/model_l7_rule.go index 1e151b2f1e..fa3d999ae8 100644 --- a/services/elb/v3/model/model_l7_rule.go +++ b/services/elb/v3/model/model_l7_rule.go @@ -29,7 +29,7 @@ type L7Rule struct { Value string `json:"value"` // provisioning状态,可以为ACTIVE、PENDING_CREATE 或者ERROR。 说明:该字段无实际含义,默认为ACTIVE。 ProvisioningStatus string `json:"provisioning_status"` - // 是否反向匹配,true/false。 使用说明:固定为false。该字段能更新但不会生效。 + // 是否反向匹配。 使用说明:固定为false。该字段能更新但不会生效。 Invert bool `json:"invert"` // 规则ID。 Id string `json:"id"` diff --git a/services/elb/v3/model/model_list_availability_zones_response.go b/services/elb/v3/model/model_list_availability_zones_response.go index 23a7473f16..1577aa228d 100644 --- a/services/elb/v3/model/model_list_availability_zones_response.go +++ b/services/elb/v3/model/model_list_availability_zones_response.go @@ -15,9 +15,9 @@ import ( // Response Object type ListAvailabilityZonesResponse struct { - // 可用区列表 > 获取可用区列表后,在(如创建LB时)设置可用区,选择的多个可用区必须同时在同一个子集中 + // 可用区列表。 > 获取可用区集合列表后,在(如创建LB时)设置可用区,选择的多个可用区必须同时在同一个集合中。 AvailabilityZones *[][]AvailabilityZone `json:"availability_zones,omitempty"` - // 请求ID。 注:自动生成 + // 请求ID。 注:自动生成。 RequestId *string `json:"request_id,omitempty"` } diff --git a/services/elb/v3/model/model_list_certificates_request.go b/services/elb/v3/model/model_list_certificates_request.go index 2f0639c446..2600fb5a5c 100644 --- a/services/elb/v3/model/model_list_certificates_request.go +++ b/services/elb/v3/model/model_list_certificates_request.go @@ -15,14 +15,14 @@ import ( // Request Object type ListCertificatesRequest struct { - Marker *string `json:"marker,omitempty"` - Limit *int32 `json:"limit,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` - Id *[]string `json:"id,omitempty"` - Name *[]string `json:"name,omitempty"` - Description *[]string `json:"description,omitempty"` AdminStateUp *bool `json:"admin_state_up,omitempty"` + Description *[]string `json:"description,omitempty"` Domain *[]string `json:"domain,omitempty"` + Id *[]string `json:"id,omitempty"` + Limit *int32 `json:"limit,omitempty"` + Marker *string `json:"marker,omitempty"` + Name *[]string `json:"name,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` Type *[]string `json:"type,omitempty"` } diff --git a/services/elb/v3/model/model_list_certificates_response.go b/services/elb/v3/model/model_list_certificates_response.go index 3844cc2f42..0d81add089 100644 --- a/services/elb/v3/model/model_list_certificates_response.go +++ b/services/elb/v3/model/model_list_certificates_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ListCertificatesResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` // 证书对象列表。 diff --git a/services/elb/v3/model/model_list_flavors_request.go b/services/elb/v3/model/model_list_flavors_request.go index 18ba268f06..a766f16013 100644 --- a/services/elb/v3/model/model_list_flavors_request.go +++ b/services/elb/v3/model/model_list_flavors_request.go @@ -15,13 +15,13 @@ import ( // Request Object type ListFlavorsRequest struct { - Marker *string `json:"marker,omitempty"` - Limit *int32 `json:"limit,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` Id *[]string `json:"id,omitempty"` + Limit *int32 `json:"limit,omitempty"` + Marker *string `json:"marker,omitempty"` Name *[]string `json:"name,omitempty"` - Type *[]string `json:"type,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` Shared *bool `json:"shared,omitempty"` + Type *[]string `json:"type,omitempty"` } func (o ListFlavorsRequest) String() string { diff --git a/services/elb/v3/model/model_list_flavors_response.go b/services/elb/v3/model/model_list_flavors_response.go index 26e20a7f44..38c594dd94 100644 --- a/services/elb/v3/model/model_list_flavors_response.go +++ b/services/elb/v3/model/model_list_flavors_response.go @@ -18,7 +18,7 @@ type ListFlavorsResponse struct { // 规格列表。 Flavors *[]Flavor `json:"flavors,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` } diff --git a/services/elb/v3/model/model_list_health_monitors_request.go b/services/elb/v3/model/model_list_health_monitors_request.go index b07e81e951..2377ec5929 100644 --- a/services/elb/v3/model/model_list_health_monitors_request.go +++ b/services/elb/v3/model/model_list_health_monitors_request.go @@ -15,23 +15,23 @@ import ( // Request Object type ListHealthMonitorsRequest struct { - Marker *string `json:"marker,omitempty"` - Limit *int32 `json:"limit,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` - Id *[]string `json:"id,omitempty"` - MonitorPort *[]int32 `json:"monitor_port,omitempty"` - DomainName *[]string `json:"domain_name,omitempty"` - Name *[]string `json:"name,omitempty"` + AdminStateUp *bool `json:"admin_state_up,omitempty"` Delay *[]int32 `json:"delay,omitempty"` + DomainName *[]string `json:"domain_name,omitempty"` + EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` + ExpectedCodes *[]string `json:"expected_codes,omitempty"` + HttpMethod *[]string `json:"http_method,omitempty"` + Id *[]string `json:"id,omitempty"` + Limit *int32 `json:"limit,omitempty"` + Marker *string `json:"marker,omitempty"` MaxRetries *[]int32 `json:"max_retries,omitempty"` - AdminStateUp *bool `json:"admin_state_up,omitempty"` MaxRetriesDown *[]int32 `json:"max_retries_down,omitempty"` + MonitorPort *[]int32 `json:"monitor_port,omitempty"` + Name *[]string `json:"name,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` Timeout *int32 `json:"timeout,omitempty"` Type *[]string `json:"type,omitempty"` - ExpectedCodes *[]string `json:"expected_codes,omitempty"` UrlPath *[]string `json:"url_path,omitempty"` - HttpMethod *[]string `json:"http_method,omitempty"` - EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` } func (o ListHealthMonitorsRequest) String() string { diff --git a/services/elb/v3/model/model_list_health_monitors_response.go b/services/elb/v3/model/model_list_health_monitors_response.go index 27faa05ff2..902576ecbe 100644 --- a/services/elb/v3/model/model_list_health_monitors_response.go +++ b/services/elb/v3/model/model_list_health_monitors_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ListHealthMonitorsResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` // 健康检查对象。 diff --git a/services/elb/v3/model/model_list_ip_groups_request.go b/services/elb/v3/model/model_list_ip_groups_request.go index 51b24cbb37..0606955abe 100644 --- a/services/elb/v3/model/model_list_ip_groups_request.go +++ b/services/elb/v3/model/model_list_ip_groups_request.go @@ -15,13 +15,13 @@ import ( // Request Object type ListIpGroupsRequest struct { - Marker *string `json:"marker,omitempty"` - Limit *int32 `json:"limit,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` - Id *[]string `json:"id,omitempty"` - Name *[]string `json:"name,omitempty"` Description *[]string `json:"description,omitempty"` + Id *[]string `json:"id,omitempty"` IpList *[]string `json:"ip_list,omitempty"` + Limit *int32 `json:"limit,omitempty"` + Marker *string `json:"marker,omitempty"` + Name *[]string `json:"name,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` } func (o ListIpGroupsRequest) String() string { diff --git a/services/elb/v3/model/model_list_ip_groups_response.go b/services/elb/v3/model/model_list_ip_groups_response.go index fb22cd21b2..43a8973239 100644 --- a/services/elb/v3/model/model_list_ip_groups_response.go +++ b/services/elb/v3/model/model_list_ip_groups_response.go @@ -17,7 +17,7 @@ import ( type ListIpGroupsResponse struct { // IP地址组列表返回对象。 Ipgroups *[]IpGroup `json:"ipgroups,omitempty"` - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` } diff --git a/services/elb/v3/model/model_list_l7_policies_request.go b/services/elb/v3/model/model_list_l7_policies_request.go index 5c82c2dd34..448420667f 100644 --- a/services/elb/v3/model/model_list_l7_policies_request.go +++ b/services/elb/v3/model/model_list_l7_policies_request.go @@ -15,22 +15,22 @@ import ( // Request Object type ListL7PoliciesRequest struct { - Marker *string `json:"marker,omitempty"` - Limit *int32 `json:"limit,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` + Action *[]string `json:"action,omitempty"` + AdminStateUp *bool `json:"admin_state_up,omitempty"` + Description *[]string `json:"description,omitempty"` + DisplayAllRules *bool `json:"display_all_rules,omitempty"` EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` Id *[]string `json:"id,omitempty"` - Name *[]string `json:"name,omitempty"` - Description *[]string `json:"description,omitempty"` - AdminStateUp *bool `json:"admin_state_up,omitempty"` + Limit *int32 `json:"limit,omitempty"` ListenerId *[]string `json:"listener_id,omitempty"` + Marker *string `json:"marker,omitempty"` + Name *[]string `json:"name,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` Position *[]int32 `json:"position,omitempty"` - Action *[]string `json:"action,omitempty"` - RedirectUrl *[]string `json:"redirect_url,omitempty"` - RedirectPoolId *[]string `json:"redirect_pool_id,omitempty"` - RedirectListenerId *[]string `json:"redirect_listener_id,omitempty"` ProvisioningStatus *[]string `json:"provisioning_status,omitempty"` - DisplayAllRules *bool `json:"display_all_rules,omitempty"` + RedirectListenerId *[]string `json:"redirect_listener_id,omitempty"` + RedirectPoolId *[]string `json:"redirect_pool_id,omitempty"` + RedirectUrl *[]string `json:"redirect_url,omitempty"` } func (o ListL7PoliciesRequest) String() string { diff --git a/services/elb/v3/model/model_list_l7_policies_response.go b/services/elb/v3/model/model_list_l7_policies_response.go index 5a5388bbe6..e8ada1b87b 100644 --- a/services/elb/v3/model/model_list_l7_policies_response.go +++ b/services/elb/v3/model/model_list_l7_policies_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ListL7PoliciesResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` // 转发策略对象列表。 diff --git a/services/elb/v3/model/model_list_l7_rules_request.go b/services/elb/v3/model/model_list_l7_rules_request.go index 1119c8e1b8..e239e25a48 100644 --- a/services/elb/v3/model/model_list_l7_rules_request.go +++ b/services/elb/v3/model/model_list_l7_rules_request.go @@ -16,18 +16,18 @@ import ( // Request Object type ListL7RulesRequest struct { L7policyId string `json:"l7policy_id"` + AdminStateUp *bool `json:"admin_state_up,omitempty"` + CompareType *[]string `json:"compare_type,omitempty"` + EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` + Id *[]string `json:"id,omitempty"` + Invert *bool `json:"invert,omitempty"` + Key *[]string `json:"key,omitempty"` Limit *int32 `json:"limit,omitempty"` Marker *string `json:"marker,omitempty"` PageReverse *bool `json:"page_reverse,omitempty"` - Id *[]string `json:"id,omitempty"` - CompareType *[]string `json:"compare_type,omitempty"` ProvisioningStatus *[]string `json:"provisioning_status,omitempty"` - Invert *bool `json:"invert,omitempty"` - AdminStateUp *bool `json:"admin_state_up,omitempty"` - Value *[]string `json:"value,omitempty"` - Key *[]string `json:"key,omitempty"` Type *[]string `json:"type,omitempty"` - EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` + Value *[]string `json:"value,omitempty"` } func (o ListL7RulesRequest) String() string { diff --git a/services/elb/v3/model/model_list_l7_rules_response.go b/services/elb/v3/model/model_list_l7_rules_response.go index 16b665036e..a247754ec2 100644 --- a/services/elb/v3/model/model_list_l7_rules_response.go +++ b/services/elb/v3/model/model_list_l7_rules_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ListL7RulesResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` // 规则对象列表。 diff --git a/services/elb/v3/model/model_list_listeners_request.go b/services/elb/v3/model/model_list_listeners_request.go index 74d204ebe8..240561bd1b 100644 --- a/services/elb/v3/model/model_list_listeners_request.go +++ b/services/elb/v3/model/model_list_listeners_request.go @@ -15,29 +15,29 @@ import ( // Request Object type ListListenersRequest struct { - Limit *int32 `json:"limit,omitempty"` - Marker *string `json:"marker,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` - ProtocolPort *[]string `json:"protocol_port,omitempty"` - Protocol *[]string `json:"protocol,omitempty"` - Description *[]string `json:"description,omitempty"` - DefaultTlsContainerRef *[]string `json:"default_tls_container_ref,omitempty"` - ClientCaTlsContainerRef *[]string `json:"client_ca_tls_container_ref,omitempty"` AdminStateUp *bool `json:"admin_state_up,omitempty"` + ClientCaTlsContainerRef *[]string `json:"client_ca_tls_container_ref,omitempty"` + ClientTimeout *[]int32 `json:"client_timeout,omitempty"` ConnectionLimit *[]int32 `json:"connection_limit,omitempty"` DefaultPoolId *[]string `json:"default_pool_id,omitempty"` - Id *[]string `json:"id,omitempty"` - Name *[]string `json:"name,omitempty"` + DefaultTlsContainerRef *[]string `json:"default_tls_container_ref,omitempty"` + Description *[]string `json:"description,omitempty"` + EnableMemberRetry *bool `json:"enable_member_retry,omitempty"` + EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` Http2Enable *bool `json:"http2_enable,omitempty"` + Id *[]string `json:"id,omitempty"` + KeepaliveTimeout *[]int32 `json:"keepalive_timeout,omitempty"` + Limit *int32 `json:"limit,omitempty"` LoadbalancerId *[]string `json:"loadbalancer_id,omitempty"` - TlsCiphersPolicy *[]string `json:"tls_ciphers_policy,omitempty"` + Marker *string `json:"marker,omitempty"` MemberAddress *[]string `json:"member_address,omitempty"` MemberDeviceId *[]string `json:"member_device_id,omitempty"` - EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` - EnableMemberRetry *bool `json:"enable_member_retry,omitempty"` MemberTimeout *[]int32 `json:"member_timeout,omitempty"` - ClientTimeout *[]int32 `json:"client_timeout,omitempty"` - KeepaliveTimeout *[]int32 `json:"keepalive_timeout,omitempty"` + Name *[]string `json:"name,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` + Protocol *[]string `json:"protocol,omitempty"` + ProtocolPort *[]string `json:"protocol_port,omitempty"` + TlsCiphersPolicy *[]string `json:"tls_ciphers_policy,omitempty"` TransparentClientIpEnable *bool `json:"transparent_client_ip_enable,omitempty"` } diff --git a/services/elb/v3/model/model_list_listeners_response.go b/services/elb/v3/model/model_list_listeners_response.go index 316c99612c..b648e4f98f 100644 --- a/services/elb/v3/model/model_list_listeners_response.go +++ b/services/elb/v3/model/model_list_listeners_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ListListenersResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` // listener的列表。 diff --git a/services/elb/v3/model/model_list_load_balancers_request.go b/services/elb/v3/model/model_list_load_balancers_request.go index 1de6d446e7..5987142f59 100644 --- a/services/elb/v3/model/model_list_load_balancers_request.go +++ b/services/elb/v3/model/model_list_load_balancers_request.go @@ -15,36 +15,36 @@ import ( // Request Object type ListLoadBalancersRequest struct { - Marker *string `json:"marker,omitempty"` - Limit *int32 `json:"limit,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` - Id *[]string `json:"id,omitempty"` - Name *[]string `json:"name,omitempty"` - Description *[]string `json:"description,omitempty"` AdminStateUp *bool `json:"admin_state_up,omitempty"` - ProvisioningStatus *[]string `json:"provisioning_status,omitempty"` - OperatingStatus *[]string `json:"operating_status,omitempty"` + AvailabilityZoneList *[]string `json:"availability_zone_list,omitempty"` + BillingInfo *[]string `json:"billing_info,omitempty"` + DeletionProtectionEnable *bool `json:"deletion_protection_enable,omitempty"` + Description *[]string `json:"description,omitempty"` + Eips *[]string `json:"eips,omitempty"` + EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` Guaranteed *bool `json:"guaranteed,omitempty"` - VpcId *[]string `json:"vpc_id,omitempty"` - VipPortId *[]string `json:"vip_port_id,omitempty"` - VipAddress *[]string `json:"vip_address,omitempty"` - VipSubnetCidrId *[]string `json:"vip_subnet_cidr_id,omitempty"` - L4FlavorId *[]string `json:"l4_flavor_id,omitempty"` - L4ScaleFlavorId *[]string `json:"l4_scale_flavor_id,omitempty"` + Id *[]string `json:"id,omitempty"` + IpVersion *[]int32 `json:"ip_version,omitempty"` Ipv6VipAddress *[]string `json:"ipv6_vip_address,omitempty"` - Ipv6VipVirsubnetId *[]string `json:"ipv6_vip_virsubnet_id,omitempty"` Ipv6VipPortId *[]string `json:"ipv6_vip_port_id,omitempty"` - AvailabilityZoneList *[]string `json:"availability_zone_list,omitempty"` - Eips *[]string `json:"eips,omitempty"` + Ipv6VipVirsubnetId *[]string `json:"ipv6_vip_virsubnet_id,omitempty"` + L4FlavorId *[]string `json:"l4_flavor_id,omitempty"` + L4ScaleFlavorId *[]string `json:"l4_scale_flavor_id,omitempty"` L7FlavorId *[]string `json:"l7_flavor_id,omitempty"` L7ScaleFlavorId *[]string `json:"l7_scale_flavor_id,omitempty"` - BillingInfo *[]string `json:"billing_info,omitempty"` - MemberDeviceId *[]string `json:"member_device_id,omitempty"` + Limit *int32 `json:"limit,omitempty"` + Marker *string `json:"marker,omitempty"` MemberAddress *[]string `json:"member_address,omitempty"` - EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` + MemberDeviceId *[]string `json:"member_device_id,omitempty"` + Name *[]string `json:"name,omitempty"` + OperatingStatus *[]string `json:"operating_status,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` + ProvisioningStatus *[]string `json:"provisioning_status,omitempty"` Publicips *[]string `json:"publicips,omitempty"` - IpVersion *[]int32 `json:"ip_version,omitempty"` - DeletionProtectionEnable *bool `json:"deletion_protection_enable,omitempty"` + VipAddress *[]string `json:"vip_address,omitempty"` + VipPortId *[]string `json:"vip_port_id,omitempty"` + VipSubnetCidrId *[]string `json:"vip_subnet_cidr_id,omitempty"` + VpcId *[]string `json:"vpc_id,omitempty"` } func (o ListLoadBalancersRequest) String() string { diff --git a/services/elb/v3/model/model_list_load_balancers_response.go b/services/elb/v3/model/model_list_load_balancers_response.go index e07a010982..d28803cdb9 100644 --- a/services/elb/v3/model/model_list_load_balancers_response.go +++ b/services/elb/v3/model/model_list_load_balancers_response.go @@ -18,7 +18,7 @@ type ListLoadBalancersResponse struct { // Loadbalancer的列表。 Loadbalancers *[]LoadBalancer `json:"loadbalancers,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` } diff --git a/services/elb/v3/model/model_list_members_request.go b/services/elb/v3/model/model_list_members_request.go index 9e2d9f4ee7..5d85eadeb9 100644 --- a/services/elb/v3/model/model_list_members_request.go +++ b/services/elb/v3/model/model_list_members_request.go @@ -16,18 +16,18 @@ import ( // Request Object type ListMembersRequest struct { PoolId string `json:"pool_id"` - Marker *string `json:"marker,omitempty"` - Limit *int32 `json:"limit,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` - Name *[]string `json:"name,omitempty"` - Weight *[]int32 `json:"weight,omitempty"` - AdminStateUp *bool `json:"admin_state_up,omitempty"` - SubnetCidrId *[]string `json:"subnet_cidr_id,omitempty"` Address *[]string `json:"address,omitempty"` - ProtocolPort *[]int32 `json:"protocol_port,omitempty"` + AdminStateUp *bool `json:"admin_state_up,omitempty"` + EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` Id *[]string `json:"id,omitempty"` + Limit *int32 `json:"limit,omitempty"` + Marker *string `json:"marker,omitempty"` + Name *[]string `json:"name,omitempty"` OperatingStatus *[]string `json:"operating_status,omitempty"` - EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` + ProtocolPort *[]int32 `json:"protocol_port,omitempty"` + SubnetCidrId *[]string `json:"subnet_cidr_id,omitempty"` + Weight *[]int32 `json:"weight,omitempty"` } func (o ListMembersRequest) String() string { diff --git a/services/elb/v3/model/model_list_members_response.go b/services/elb/v3/model/model_list_members_response.go index 6233f75344..c369245d73 100644 --- a/services/elb/v3/model/model_list_members_response.go +++ b/services/elb/v3/model/model_list_members_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ListMembersResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` // 后端服务器对象列表。 diff --git a/services/elb/v3/model/model_list_pools_request.go b/services/elb/v3/model/model_list_pools_request.go index 365f1e2cb3..221fba85fd 100644 --- a/services/elb/v3/model/model_list_pools_request.go +++ b/services/elb/v3/model/model_list_pools_request.go @@ -15,22 +15,22 @@ import ( // Request Object type ListPoolsRequest struct { - Marker *string `json:"marker,omitempty"` - Limit *int32 `json:"limit,omitempty"` - PageReverse *bool `json:"page_reverse,omitempty"` - Description *[]string `json:"description,omitempty"` AdminStateUp *bool `json:"admin_state_up,omitempty"` + Description *[]string `json:"description,omitempty"` + EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` HealthmonitorId *[]string `json:"healthmonitor_id,omitempty"` Id *[]string `json:"id,omitempty"` - Name *[]string `json:"name,omitempty"` - LoadbalancerId *[]string `json:"loadbalancer_id,omitempty"` - Protocol *[]string `json:"protocol,omitempty"` - LbAlgorithm *[]string `json:"lb_algorithm,omitempty"` - EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` IpVersion *[]string `json:"ip_version,omitempty"` + LbAlgorithm *[]string `json:"lb_algorithm,omitempty"` + Limit *int32 `json:"limit,omitempty"` + LoadbalancerId *[]string `json:"loadbalancer_id,omitempty"` + Marker *string `json:"marker,omitempty"` MemberAddress *[]string `json:"member_address,omitempty"` - MemberDeviceId *[]string `json:"member_device_id,omitempty"` MemberDeletionProtectionEnable *bool `json:"member_deletion_protection_enable,omitempty"` + MemberDeviceId *[]string `json:"member_device_id,omitempty"` + Name *[]string `json:"name,omitempty"` + PageReverse *bool `json:"page_reverse,omitempty"` + Protocol *[]string `json:"protocol,omitempty"` } func (o ListPoolsRequest) String() string { diff --git a/services/elb/v3/model/model_list_pools_response.go b/services/elb/v3/model/model_list_pools_response.go index 3bddf71473..a4b69b7545 100644 --- a/services/elb/v3/model/model_list_pools_response.go +++ b/services/elb/v3/model/model_list_pools_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ListPoolsResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` PageInfo *PageInfo `json:"page_info,omitempty"` // 后端服务器组列表。 diff --git a/services/elb/v3/model/model_show_certificate_response.go b/services/elb/v3/model/model_show_certificate_response.go index a46c4f3d19..22071d8ab6 100644 --- a/services/elb/v3/model/model_show_certificate_response.go +++ b/services/elb/v3/model/model_show_certificate_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowCertificateResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Certificate *CertificateInfo `json:"certificate,omitempty"` } diff --git a/services/elb/v3/model/model_show_flavor_response.go b/services/elb/v3/model/model_show_flavor_response.go index c68fb5ece7..8dfb9a0cee 100644 --- a/services/elb/v3/model/model_show_flavor_response.go +++ b/services/elb/v3/model/model_show_flavor_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowFlavorResponse struct { - // 请求ID。 注:自动生成 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Flavor *Flavor `json:"flavor,omitempty"` } diff --git a/services/elb/v3/model/model_show_health_monitor_response.go b/services/elb/v3/model/model_show_health_monitor_response.go index 288a010684..16afe719de 100644 --- a/services/elb/v3/model/model_show_health_monitor_response.go +++ b/services/elb/v3/model/model_show_health_monitor_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowHealthMonitorResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Healthmonitor *HealthMonitor `json:"healthmonitor,omitempty"` } diff --git a/services/elb/v3/model/model_show_ip_group_response.go b/services/elb/v3/model/model_show_ip_group_response.go index 91a38bf7f3..00abd1030f 100644 --- a/services/elb/v3/model/model_show_ip_group_response.go +++ b/services/elb/v3/model/model_show_ip_group_response.go @@ -16,7 +16,7 @@ import ( // Response Object type ShowIpGroupResponse struct { Ipgroup *IpGroup `json:"ipgroup,omitempty"` - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` } diff --git a/services/elb/v3/model/model_show_l7_policy_response.go b/services/elb/v3/model/model_show_l7_policy_response.go index 33242bce3a..10bbcc5452 100644 --- a/services/elb/v3/model/model_show_l7_policy_response.go +++ b/services/elb/v3/model/model_show_l7_policy_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowL7PolicyResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` L7policy *L7Policy `json:"l7policy,omitempty"` } diff --git a/services/elb/v3/model/model_show_l7_rule_response.go b/services/elb/v3/model/model_show_l7_rule_response.go index 464982aec6..ec41937d70 100644 --- a/services/elb/v3/model/model_show_l7_rule_response.go +++ b/services/elb/v3/model/model_show_l7_rule_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowL7RuleResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Rule *L7Rule `json:"rule,omitempty"` } diff --git a/services/elb/v3/model/model_show_listener_response.go b/services/elb/v3/model/model_show_listener_response.go index a03ce1bdfa..550b2c3065 100644 --- a/services/elb/v3/model/model_show_listener_response.go +++ b/services/elb/v3/model/model_show_listener_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowListenerResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Listener *Listener `json:"listener,omitempty"` } diff --git a/services/elb/v3/model/model_show_load_balancer_response.go b/services/elb/v3/model/model_show_load_balancer_response.go index 140e4b2df6..f720947395 100644 --- a/services/elb/v3/model/model_show_load_balancer_response.go +++ b/services/elb/v3/model/model_show_load_balancer_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowLoadBalancerResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Loadbalancer *LoadBalancer `json:"loadbalancer,omitempty"` } diff --git a/services/elb/v3/model/model_show_load_balancer_status_response.go b/services/elb/v3/model/model_show_load_balancer_status_response.go index c1f216a3cb..c1bb6270a6 100644 --- a/services/elb/v3/model/model_show_load_balancer_status_response.go +++ b/services/elb/v3/model/model_show_load_balancer_status_response.go @@ -16,7 +16,7 @@ import ( // Response Object type ShowLoadBalancerStatusResponse struct { Statuses *LoadBalancerStatusResult `json:"statuses,omitempty"` - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` } diff --git a/services/elb/v3/model/model_show_member_request.go b/services/elb/v3/model/model_show_member_request.go index 38bef737bb..8ae8d11be8 100644 --- a/services/elb/v3/model/model_show_member_request.go +++ b/services/elb/v3/model/model_show_member_request.go @@ -15,8 +15,8 @@ import ( // Request Object type ShowMemberRequest struct { - PoolId string `json:"pool_id"` MemberId string `json:"member_id"` + PoolId string `json:"pool_id"` } func (o ShowMemberRequest) String() string { diff --git a/services/elb/v3/model/model_show_member_response.go b/services/elb/v3/model/model_show_member_response.go index 898654825d..52db35b1cc 100644 --- a/services/elb/v3/model/model_show_member_response.go +++ b/services/elb/v3/model/model_show_member_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowMemberResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Member *Member `json:"member,omitempty"` } diff --git a/services/elb/v3/model/model_show_pool_response.go b/services/elb/v3/model/model_show_pool_response.go index f0dba99e4b..78a0cb29dd 100644 --- a/services/elb/v3/model/model_show_pool_response.go +++ b/services/elb/v3/model/model_show_pool_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowPoolResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Pool *Pool `json:"pool,omitempty"` } diff --git a/services/elb/v3/model/model_show_quota_defaults_response.go b/services/elb/v3/model/model_show_quota_defaults_response.go index 6de10613be..581210f544 100644 --- a/services/elb/v3/model/model_show_quota_defaults_response.go +++ b/services/elb/v3/model/model_show_quota_defaults_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowQuotaDefaultsResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Quota *Quota `json:"quota,omitempty"` } diff --git a/services/elb/v3/model/model_show_quota_response.go b/services/elb/v3/model/model_show_quota_response.go index 28a3060bf4..64141240c7 100644 --- a/services/elb/v3/model/model_show_quota_response.go +++ b/services/elb/v3/model/model_show_quota_response.go @@ -15,7 +15,7 @@ import ( // Response Object type ShowQuotaResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Quota *Quota `json:"quota,omitempty"` } diff --git a/services/elb/v3/model/model_update_certificate_response.go b/services/elb/v3/model/model_update_certificate_response.go index 37c0743671..d8ab41f3b5 100644 --- a/services/elb/v3/model/model_update_certificate_response.go +++ b/services/elb/v3/model/model_update_certificate_response.go @@ -15,7 +15,7 @@ import ( // Response Object type UpdateCertificateResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Certificate *CertificateInfo `json:"certificate,omitempty"` } diff --git a/services/elb/v3/model/model_update_health_monitor_option.go b/services/elb/v3/model/model_update_health_monitor_option.go index cc78f810da..720203baf3 100644 --- a/services/elb/v3/model/model_update_health_monitor_option.go +++ b/services/elb/v3/model/model_update_health_monitor_option.go @@ -27,7 +27,7 @@ type UpdateHealthMonitorOption struct { HttpMethod *string `json:"http_method,omitempty"` // 最大重试次数 MaxRetries *int32 `json:"max_retries,omitempty"` - // 健康检查连续成功多少次后,将后端服务器的健康检查状态由online判定为offline,取值范围[1,10]。 + // 健康检查连续成功多少次后,将后端服务器的健康检查状态由ONLIEN判定为OFFLINE MaxRetriesDown *int32 `json:"max_retries_down,omitempty"` // 健康检查端口号。默认为空,表示使用后端云服务器组的端口。 MonitorPort *int32 `json:"monitor_port,omitempty"` diff --git a/services/elb/v3/model/model_update_health_monitor_response.go b/services/elb/v3/model/model_update_health_monitor_response.go index ebb372b598..061c0fb4eb 100644 --- a/services/elb/v3/model/model_update_health_monitor_response.go +++ b/services/elb/v3/model/model_update_health_monitor_response.go @@ -15,7 +15,7 @@ import ( // Response Object type UpdateHealthMonitorResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Healthmonitor *HealthMonitor `json:"healthmonitor,omitempty"` } diff --git a/services/elb/v3/model/model_update_ip_group_response.go b/services/elb/v3/model/model_update_ip_group_response.go index 028e82fdfa..3b8020b383 100644 --- a/services/elb/v3/model/model_update_ip_group_response.go +++ b/services/elb/v3/model/model_update_ip_group_response.go @@ -16,7 +16,7 @@ import ( // Response Object type UpdateIpGroupResponse struct { Ipgroup *IpGroup `json:"ipgroup,omitempty"` - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` } diff --git a/services/elb/v3/model/model_update_l7_policy_response.go b/services/elb/v3/model/model_update_l7_policy_response.go index fcf6f19071..bc39330f63 100644 --- a/services/elb/v3/model/model_update_l7_policy_response.go +++ b/services/elb/v3/model/model_update_l7_policy_response.go @@ -15,7 +15,7 @@ import ( // Response Object type UpdateL7PolicyResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` L7policy *L7Policy `json:"l7policy,omitempty"` } diff --git a/services/elb/v3/model/model_update_l7_rule_response.go b/services/elb/v3/model/model_update_l7_rule_response.go index 348eaf7960..2841ebe806 100644 --- a/services/elb/v3/model/model_update_l7_rule_response.go +++ b/services/elb/v3/model/model_update_l7_rule_response.go @@ -15,7 +15,7 @@ import ( // Response Object type UpdateL7RuleResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Rule *L7Rule `json:"rule,omitempty"` } diff --git a/services/elb/v3/model/model_update_listener_response.go b/services/elb/v3/model/model_update_listener_response.go index 49b3b05787..a3dd68ede2 100644 --- a/services/elb/v3/model/model_update_listener_response.go +++ b/services/elb/v3/model/model_update_listener_response.go @@ -15,7 +15,7 @@ import ( // Response Object type UpdateListenerResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Listener *Listener `json:"listener,omitempty"` } diff --git a/services/elb/v3/model/model_update_load_balancer_response.go b/services/elb/v3/model/model_update_load_balancer_response.go index 67e8bb6aee..b08600a4ac 100644 --- a/services/elb/v3/model/model_update_load_balancer_response.go +++ b/services/elb/v3/model/model_update_load_balancer_response.go @@ -15,7 +15,7 @@ import ( // Response Object type UpdateLoadBalancerResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Loadbalancer *LoadBalancer `json:"loadbalancer,omitempty"` } diff --git a/services/elb/v3/model/model_update_member_response.go b/services/elb/v3/model/model_update_member_response.go index 9d057bd172..0f027c3b71 100644 --- a/services/elb/v3/model/model_update_member_response.go +++ b/services/elb/v3/model/model_update_member_response.go @@ -15,7 +15,7 @@ import ( // Response Object type UpdateMemberResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Member *Member `json:"member,omitempty"` } diff --git a/services/elb/v3/model/model_update_pool_response.go b/services/elb/v3/model/model_update_pool_response.go index 513fb1107b..eef66166eb 100644 --- a/services/elb/v3/model/model_update_pool_response.go +++ b/services/elb/v3/model/model_update_pool_response.go @@ -15,7 +15,7 @@ import ( // Response Object type UpdatePoolResponse struct { - // 请求ID。 注:自动生成 。 + // 请求ID。 注:自动生成 。 RequestId *string `json:"request_id,omitempty"` Pool *Pool `json:"pool,omitempty"` } diff --git a/services/eps/v1/eps_client.go b/services/eps/v1/eps_client.go index bcc164c82e..03fdce18e7 100644 --- a/services/eps/v1/eps_client.go +++ b/services/eps/v1/eps_client.go @@ -19,133 +19,122 @@ func EpsClientBuilder() *http_client.HcHttpClientBuilder { } //创建企业项目。 -func (c *EpsClient) CreateEP(request *model.CreateEPRequest) (*model.CreateEPResponse, error) { - requestDef := GenReqDefForCreateEP(request) - resp, responseDef := GenRespForCreateEP() +func (c *EpsClient) CreateEnterpriseProject(request *model.CreateEnterpriseProjectRequest) (*model.CreateEnterpriseProjectResponse, error) { + requestDef := GenReqDefForCreateEnterpriseProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateEnterpriseProjectResponse), nil } } //停用企业项目。 -func (c *EpsClient) DisableEP(request *model.DisableEPRequest) (*model.DisableEPResponse, error) { - requestDef := GenReqDefForDisableEP(request) - resp, responseDef := GenRespForDisableEP() +func (c *EpsClient) DisableEnterpriseProject(request *model.DisableEnterpriseProjectRequest) (*model.DisableEnterpriseProjectResponse, error) { + requestDef := GenReqDefForDisableEnterpriseProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisableEnterpriseProjectResponse), nil } } //启用企业项目。 -func (c *EpsClient) EnableEP(request *model.EnableEPRequest) (*model.EnableEPResponse, error) { - requestDef := GenReqDefForEnableEP(request) - resp, responseDef := GenRespForEnableEP() +func (c *EpsClient) EnableEnterpriseProject(request *model.EnableEnterpriseProjectRequest) (*model.EnableEnterpriseProjectResponse, error) { + requestDef := GenReqDefForEnableEnterpriseProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.EnableEnterpriseProjectResponse), nil } } //查询企业项目的API版本列表。 func (c *EpsClient) ListApiVersions(request *model.ListApiVersionsRequest) (*model.ListApiVersionsResponse, error) { - requestDef := GenReqDefForListApiVersions(request) - resp, responseDef := GenRespForListApiVersions() + requestDef := GenReqDefForListApiVersions() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApiVersionsResponse), nil } } //查询当前用户已授权的企业项目列表,用户可以使用企业项目绑定资源。 -func (c *EpsClient) ListEP(request *model.ListEPRequest) (*model.ListEPResponse, error) { - requestDef := GenReqDefForListEP(request) - resp, responseDef := GenRespForListEP() +func (c *EpsClient) ListEnterpriseProject(request *model.ListEnterpriseProjectRequest) (*model.ListEnterpriseProjectResponse, error) { + requestDef := GenReqDefForListEnterpriseProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListEnterpriseProjectResponse), nil } } //迁移资源到目标企业项目。 func (c *EpsClient) MigrateResource(request *model.MigrateResourceRequest) (*model.MigrateResourceResponse, error) { - requestDef := GenReqDefForMigrateResource(request) - resp, responseDef := GenRespForMigrateResource() + requestDef := GenReqDefForMigrateResource() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.MigrateResourceResponse), nil } } //修改企业项目。当前仅支持修改名称和描述。 -func (c *EpsClient) ModifyEP(request *model.ModifyEPRequest) (*model.ModifyEPResponse, error) { - requestDef := GenReqDefForModifyEP(request) - resp, responseDef := GenRespForModifyEP() +func (c *EpsClient) ModifyEnterpriseProject(request *model.ModifyEnterpriseProjectRequest) (*model.ModifyEnterpriseProjectResponse, error) { + requestDef := GenReqDefForModifyEnterpriseProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ModifyEnterpriseProjectResponse), nil } } //查询指定的企业项目API版本号详情 func (c *EpsClient) ShowApiVersion(request *model.ShowApiVersionRequest) (*model.ShowApiVersionResponse, error) { - requestDef := GenReqDefForShowApiVersion(request) - resp, responseDef := GenRespForShowApiVersion() + requestDef := GenReqDefForShowApiVersion() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowApiVersionResponse), nil } } //查询企业项目详情。 -func (c *EpsClient) ShowEP(request *model.ShowEPRequest) (*model.ShowEPResponse, error) { - requestDef := GenReqDefForShowEP(request) - resp, responseDef := GenRespForShowEP() +func (c *EpsClient) ShowEnterpriseProject(request *model.ShowEnterpriseProjectRequest) (*model.ShowEnterpriseProjectResponse, error) { + requestDef := GenReqDefForShowEnterpriseProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowEnterpriseProjectResponse), nil } } //查询企业项目的配额信息。 -func (c *EpsClient) ShowEPQuota(request *model.ShowEPQuotaRequest) (*model.ShowEPQuotaResponse, error) { - requestDef := GenReqDefForShowEPQuota(request) - resp, responseDef := GenRespForShowEPQuota() +func (c *EpsClient) ShowEnterpriseProjectQuota(request *model.ShowEnterpriseProjectQuotaRequest) (*model.ShowEnterpriseProjectQuotaResponse, error) { + requestDef := GenReqDefForShowEnterpriseProjectQuota() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowEnterpriseProjectQuotaResponse), nil } } //查询企业项目下绑定的资源详情。 -func (c *EpsClient) ShowResourceBindEP(request *model.ShowResourceBindEPRequest) (*model.ShowResourceBindEPResponse, error) { - requestDef := GenReqDefForShowResourceBindEP(request) - resp, responseDef := GenRespForShowResourceBindEP() +func (c *EpsClient) ShowResourceBindEnterpriseProject(request *model.ShowResourceBindEnterpriseProjectRequest) (*model.ShowResourceBindEnterpriseProjectResponse, error) { + requestDef := GenReqDefForShowResourceBindEnterpriseProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowResourceBindEnterpriseProjectResponse), nil } } diff --git a/services/eps/v1/eps_meta.go b/services/eps/v1/eps_meta.go index 7f086499b5..2ffa8d2d7c 100644 --- a/services/eps/v1/eps_meta.go +++ b/services/eps/v1/eps_meta.go @@ -6,334 +6,243 @@ import ( "net/http" ) -func GenReqDefForCreateEP(request *model.CreateEPRequest) *def.HttpRequestDef { +func GenReqDefForCreateEnterpriseProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.0/enterprise-projects"). + WithResponse(new(model.CreateEnterpriseProjectResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateEP() (*model.CreateEPResponse, *def.HttpResponseDef) { - resp := new(model.CreateEPResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisableEP(request *model.DisableEPRequest) *def.HttpRequestDef { +func GenReqDefForDisableEnterpriseProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.0/enterprise-projects/{enterprise_project_id}/action"). + WithResponse(new(model.DisableEnterpriseProjectResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisableEP() (*model.DisableEPResponse, *def.HttpResponseDef) { - resp := new(model.DisableEPResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForEnableEP(request *model.EnableEPRequest) *def.HttpRequestDef { +func GenReqDefForEnableEnterpriseProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.0/enterprise-projects/{enterprise_project_id}/action"). + WithResponse(new(model.EnableEnterpriseProjectResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForEnableEP() (*model.EnableEPResponse, *def.HttpResponseDef) { - resp := new(model.EnableEPResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApiVersions(request *model.ListApiVersionsRequest) *def.HttpRequestDef { +func GenReqDefForListApiVersions() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/") + WithPath("/"). + WithResponse(new(model.ListApiVersionsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApiVersions() (*model.ListApiVersionsResponse, *def.HttpResponseDef) { - resp := new(model.ListApiVersionsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListEP(request *model.ListEPRequest) *def.HttpRequestDef { +func GenReqDefForListEnterpriseProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1.0/enterprise-projects") + WithPath("/v1.0/enterprise-projects"). + WithResponse(new(model.ListEnterpriseProjectResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("SortDir"). + WithJsonTag("sort_dir"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_key"). + WithName("SortKey"). + WithJsonTag("sort_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_dir"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListEP() (*model.ListEPResponse, *def.HttpResponseDef) { - resp := new(model.ListEPResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForMigrateResource(request *model.MigrateResourceRequest) *def.HttpRequestDef { +func GenReqDefForMigrateResource() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.0/enterprise-projects/{enterprise_project_id}/resources-migrate"). + WithResponse(new(model.MigrateResourceResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForMigrateResource() (*model.MigrateResourceResponse, *def.HttpResponseDef) { - resp := new(model.MigrateResourceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForModifyEP(request *model.ModifyEPRequest) *def.HttpRequestDef { +func GenReqDefForModifyEnterpriseProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1.0/enterprise-projects/{enterprise_project_id}"). + WithResponse(new(model.ModifyEnterpriseProjectResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForModifyEP() (*model.ModifyEPResponse, *def.HttpResponseDef) { - resp := new(model.ModifyEPResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowApiVersion(request *model.ShowApiVersionRequest) *def.HttpRequestDef { +func GenReqDefForShowApiVersion() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/{api_version}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_version"). - WithLocationType(def.Path)) + WithPath("/{api_version}"). + WithResponse(new(model.ShowApiVersionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ApiVersion"). + WithJsonTag("api_version"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowApiVersion() (*model.ShowApiVersionResponse, *def.HttpResponseDef) { - resp := new(model.ShowApiVersionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowEP(request *model.ShowEPRequest) *def.HttpRequestDef { +func GenReqDefForShowEnterpriseProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1.0/enterprise-projects/{enterprise_project_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). - WithLocationType(def.Path)) + WithPath("/v1.0/enterprise-projects/{enterprise_project_id}"). + WithResponse(new(model.ShowEnterpriseProjectResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowEP() (*model.ShowEPResponse, *def.HttpResponseDef) { - resp := new(model.ShowEPResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowEPQuota(request *model.ShowEPQuotaRequest) *def.HttpRequestDef { +func GenReqDefForShowEnterpriseProjectQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1.0/enterprise-projects/quotas") + WithPath("/v1.0/enterprise-projects/quotas"). + WithResponse(new(model.ShowEnterpriseProjectQuotaResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowEPQuota() (*model.ShowEPQuotaResponse, *def.HttpResponseDef) { - resp := new(model.ShowEPQuotaResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowResourceBindEP(request *model.ShowResourceBindEPRequest) *def.HttpRequestDef { +func GenReqDefForShowResourceBindEnterpriseProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.0/enterprise-projects/{enterprise_project_id}/resources/filter"). + WithResponse(new(model.ShowResourceBindEnterpriseProjectResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForShowResourceBindEP() (*model.ShowResourceBindEPResponse, *def.HttpResponseDef) { - resp := new(model.ShowResourceBindEPResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/eps/v1/model/model_create_ep_request.go b/services/eps/v1/model/model_create_enterprise_project_request.go similarity index 60% rename from services/eps/v1/model/model_create_ep_request.go rename to services/eps/v1/model/model_create_enterprise_project_request.go index 8385ba3cee..1a924789cb 100644 --- a/services/eps/v1/model/model_create_ep_request.go +++ b/services/eps/v1/model/model_create_enterprise_project_request.go @@ -14,11 +14,11 @@ import ( ) // Request Object -type CreateEpRequest struct { +type CreateEnterpriseProjectRequest struct { Body *EnterpriseProject `json:"body,omitempty"` } -func (o CreateEpRequest) String() string { +func (o CreateEnterpriseProjectRequest) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"CreateEpRequest", string(data)}, " ") + return strings.Join([]string{"CreateEnterpriseProjectRequest", string(data)}, " ") } diff --git a/services/eps/v1/model/model_modify_ep_response.go b/services/eps/v1/model/model_create_enterprise_project_response.go similarity index 61% rename from services/eps/v1/model/model_modify_ep_response.go rename to services/eps/v1/model/model_create_enterprise_project_response.go index e34302589e..1986c79855 100644 --- a/services/eps/v1/model/model_modify_ep_response.go +++ b/services/eps/v1/model/model_create_enterprise_project_response.go @@ -14,11 +14,11 @@ import ( ) // Response Object -type ModifyEpResponse struct { +type CreateEnterpriseProjectResponse struct { EnterpriseProject *EpDetail `json:"enterprise_project,omitempty"` } -func (o ModifyEpResponse) String() string { +func (o CreateEnterpriseProjectResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ModifyEpResponse", string(data)}, " ") + return strings.Join([]string{"CreateEnterpriseProjectResponse", string(data)}, " ") } diff --git a/services/eps/v1/model/model_disable_ep_request.go b/services/eps/v1/model/model_disable_enterprise_project_request.go similarity index 65% rename from services/eps/v1/model/model_disable_ep_request.go rename to services/eps/v1/model/model_disable_enterprise_project_request.go index 538228a5ba..d26b5f6313 100644 --- a/services/eps/v1/model/model_disable_ep_request.go +++ b/services/eps/v1/model/model_disable_enterprise_project_request.go @@ -14,12 +14,12 @@ import ( ) // Request Object -type DisableEpRequest struct { +type DisableEnterpriseProjectRequest struct { EnterpriseProjectId string `json:"enterprise_project_id"` Body *DisableAction `json:"body,omitempty"` } -func (o DisableEpRequest) String() string { +func (o DisableEnterpriseProjectRequest) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"DisableEpRequest", string(data)}, " ") + return strings.Join([]string{"DisableEnterpriseProjectRequest", string(data)}, " ") } diff --git a/services/eps/v1/model/model_disable_enterprise_project_response.go b/services/eps/v1/model/model_disable_enterprise_project_response.go new file mode 100644 index 0000000000..369f2d51c8 --- /dev/null +++ b/services/eps/v1/model/model_disable_enterprise_project_response.go @@ -0,0 +1,23 @@ +/* + * EPS + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DisableEnterpriseProjectResponse struct { +} + +func (o DisableEnterpriseProjectResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DisableEnterpriseProjectResponse", string(data)}, " ") +} diff --git a/services/eps/v1/model/model_enable_ep_request.go b/services/eps/v1/model/model_enable_enterprise_project_request.go similarity index 66% rename from services/eps/v1/model/model_enable_ep_request.go rename to services/eps/v1/model/model_enable_enterprise_project_request.go index 69bad09a94..93c8e1af58 100644 --- a/services/eps/v1/model/model_enable_ep_request.go +++ b/services/eps/v1/model/model_enable_enterprise_project_request.go @@ -14,12 +14,12 @@ import ( ) // Request Object -type EnableEpRequest struct { +type EnableEnterpriseProjectRequest struct { EnterpriseProjectId string `json:"enterprise_project_id"` Body *EnableAction `json:"body,omitempty"` } -func (o EnableEpRequest) String() string { +func (o EnableEnterpriseProjectRequest) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"EnableEpRequest", string(data)}, " ") + return strings.Join([]string{"EnableEnterpriseProjectRequest", string(data)}, " ") } diff --git a/services/eps/v1/model/model_enable_enterprise_project_response.go b/services/eps/v1/model/model_enable_enterprise_project_response.go new file mode 100644 index 0000000000..d71ba5e4ad --- /dev/null +++ b/services/eps/v1/model/model_enable_enterprise_project_response.go @@ -0,0 +1,23 @@ +/* + * EPS + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type EnableEnterpriseProjectResponse struct { +} + +func (o EnableEnterpriseProjectResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"EnableEnterpriseProjectResponse", string(data)}, " ") +} diff --git a/services/eps/v1/model/model_enterprise_project.go b/services/eps/v1/model/model_enterprise_project.go index 22df61596f..e288a0aa35 100644 --- a/services/eps/v1/model/model_enterprise_project.go +++ b/services/eps/v1/model/model_enterprise_project.go @@ -19,6 +19,8 @@ type EnterpriseProject struct { Name string `json:"name"` // 最大长度512个字符。 Description *string `json:"description,omitempty"` + // 企业项目类型 + Type *string `json:"type,omitempty"` } func (o EnterpriseProject) String() string { diff --git a/services/eps/v1/model/model_ep_detail.go b/services/eps/v1/model/model_ep_detail.go index 561b4340c5..7aa28d2082 100644 --- a/services/eps/v1/model/model_ep_detail.go +++ b/services/eps/v1/model/model_ep_detail.go @@ -9,8 +9,9 @@ package model import ( "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/sdktime" - "strings" ) @@ -28,9 +29,45 @@ type EpDetail struct { CreatedAt *sdktime.SdkTime `json:"created_at"` // 修改时间,格式为UTC格式。如:2018-05-28T02:21:36Z。 UpdatedAt *sdktime.SdkTime `json:"updated_at"` + // 项目类型。prod-商用项目;poc-测试项目 + Type EpDetailType `json:"type"` } func (o EpDetail) String() string { data, _ := json.Marshal(o) return strings.Join([]string{"EpDetail", string(data)}, " ") } + +type EpDetailType struct { + value string +} + +type EpDetailTypeEnum struct { + PROD_PROC EpDetailType +} + +func GetEpDetailTypeEnum() EpDetailTypeEnum { + return EpDetailTypeEnum{ + PROD_PROC: EpDetailType{ + value: "prod; proc", + }, + } +} + +func (c EpDetailType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *EpDetailType) 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/services/eps/v1/model/model_list_enterprise_project_request.go b/services/eps/v1/model/model_list_enterprise_project_request.go new file mode 100644 index 0000000000..bab0162a29 --- /dev/null +++ b/services/eps/v1/model/model_list_enterprise_project_request.go @@ -0,0 +1,107 @@ +/* + * EPS + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ListEnterpriseProjectRequest struct { + Id *string `json:"id,omitempty"` + Limit *int32 `json:"limit,omitempty"` + Name *string `json:"name,omitempty"` + Offset int32 `json:"offset"` + SortDir *ListEnterpriseProjectRequestSortDir `json:"sort_dir,omitempty"` + SortKey *ListEnterpriseProjectRequestSortKey `json:"sort_key,omitempty"` + Status *int32 `json:"status,omitempty"` +} + +func (o ListEnterpriseProjectRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListEnterpriseProjectRequest", string(data)}, " ") +} + +type ListEnterpriseProjectRequestSortDir struct { + value string +} + +type ListEnterpriseProjectRequestSortDirEnum struct { + DESC ListEnterpriseProjectRequestSortDir + ASC ListEnterpriseProjectRequestSortDir +} + +func GetListEnterpriseProjectRequestSortDirEnum() ListEnterpriseProjectRequestSortDirEnum { + return ListEnterpriseProjectRequestSortDirEnum{ + DESC: ListEnterpriseProjectRequestSortDir{ + value: "desc", + }, + ASC: ListEnterpriseProjectRequestSortDir{ + value: "asc", + }, + } +} + +func (c ListEnterpriseProjectRequestSortDir) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListEnterpriseProjectRequestSortDir) 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 ListEnterpriseProjectRequestSortKey struct { + value string +} + +type ListEnterpriseProjectRequestSortKeyEnum struct { + CREATED_AT ListEnterpriseProjectRequestSortKey + UPDATED_AT ListEnterpriseProjectRequestSortKey +} + +func GetListEnterpriseProjectRequestSortKeyEnum() ListEnterpriseProjectRequestSortKeyEnum { + return ListEnterpriseProjectRequestSortKeyEnum{ + CREATED_AT: ListEnterpriseProjectRequestSortKey{ + value: "created_at", + }, + UPDATED_AT: ListEnterpriseProjectRequestSortKey{ + value: "updated_at", + }, + } +} + +func (c ListEnterpriseProjectRequestSortKey) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListEnterpriseProjectRequestSortKey) 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/services/eps/v1/model/model_list_ep_response.go b/services/eps/v1/model/model_list_enterprise_project_response.go similarity index 68% rename from services/eps/v1/model/model_list_ep_response.go rename to services/eps/v1/model/model_list_enterprise_project_response.go index 03a07a42c5..08748cf819 100644 --- a/services/eps/v1/model/model_list_ep_response.go +++ b/services/eps/v1/model/model_list_enterprise_project_response.go @@ -14,14 +14,14 @@ import ( ) // Response Object -type ListEpResponse struct { +type ListEnterpriseProjectResponse struct { // 企业项目列表 EnterpriseProjects *[]EpDetail `json:"enterprise_projects,omitempty"` // 企业项目总数 TotalCount *int32 `json:"total_count,omitempty"` } -func (o ListEpResponse) String() string { +func (o ListEnterpriseProjectResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ListEpResponse", string(data)}, " ") + return strings.Join([]string{"ListEnterpriseProjectResponse", string(data)}, " ") } diff --git a/services/eps/v1/model/model_list_ep_request.go b/services/eps/v1/model/model_list_ep_request.go deleted file mode 100644 index 5cab24c83b..0000000000 --- a/services/eps/v1/model/model_list_ep_request.go +++ /dev/null @@ -1,107 +0,0 @@ -/* - * EPS - * - * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) - * - */ - -package model - -import ( - "encoding/json" - "errors" - "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" - "strings" -) - -// Request Object -type ListEpRequest struct { - Id *string `json:"id,omitempty"` - Name *string `json:"name,omitempty"` - Status *int32 `json:"status,omitempty"` - Limit *int32 `json:"limit,omitempty"` - Offset int32 `json:"offset"` - SortKey *ListEpRequestSortKey `json:"sort_key,omitempty"` - SortDir *ListEpRequestSortDir `json:"sort_dir,omitempty"` -} - -func (o ListEpRequest) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"ListEpRequest", string(data)}, " ") -} - -type ListEpRequestSortKey struct { - value string -} - -type ListEpRequestSortKeyEnum struct { - CREATED_AT ListEpRequestSortKey - UPDATED_AT ListEpRequestSortKey -} - -func GetListEpRequestSortKeyEnum() ListEpRequestSortKeyEnum { - return ListEpRequestSortKeyEnum{ - CREATED_AT: ListEpRequestSortKey{ - value: "created_at", - }, - UPDATED_AT: ListEpRequestSortKey{ - value: "updated_at", - }, - } -} - -func (c ListEpRequestSortKey) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *ListEpRequestSortKey) 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 ListEpRequestSortDir struct { - value string -} - -type ListEpRequestSortDirEnum struct { - DESC ListEpRequestSortDir - ASC ListEpRequestSortDir -} - -func GetListEpRequestSortDirEnum() ListEpRequestSortDirEnum { - return ListEpRequestSortDirEnum{ - DESC: ListEpRequestSortDir{ - value: "desc", - }, - ASC: ListEpRequestSortDir{ - value: "asc", - }, - } -} - -func (c ListEpRequestSortDir) MarshalJSON() ([]byte, error) { - return json.Marshal(c.value) -} - -func (c *ListEpRequestSortDir) 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/services/eps/v1/model/model_modify_ep_request.go b/services/eps/v1/model/model_modify_enterprise_project_request.go similarity index 66% rename from services/eps/v1/model/model_modify_ep_request.go rename to services/eps/v1/model/model_modify_enterprise_project_request.go index 7573be5b2c..c98b10fe65 100644 --- a/services/eps/v1/model/model_modify_ep_request.go +++ b/services/eps/v1/model/model_modify_enterprise_project_request.go @@ -14,12 +14,12 @@ import ( ) // Request Object -type ModifyEpRequest struct { +type ModifyEnterpriseProjectRequest struct { EnterpriseProjectId string `json:"enterprise_project_id"` Body *EnterpriseProject `json:"body,omitempty"` } -func (o ModifyEpRequest) String() string { +func (o ModifyEnterpriseProjectRequest) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ModifyEpRequest", string(data)}, " ") + return strings.Join([]string{"ModifyEnterpriseProjectRequest", string(data)}, " ") } diff --git a/services/eps/v1/model/model_create_ep_response.go b/services/eps/v1/model/model_modify_enterprise_project_response.go similarity index 61% rename from services/eps/v1/model/model_create_ep_response.go rename to services/eps/v1/model/model_modify_enterprise_project_response.go index 8f4bba2cbb..de0fac8b5d 100644 --- a/services/eps/v1/model/model_create_ep_response.go +++ b/services/eps/v1/model/model_modify_enterprise_project_response.go @@ -14,11 +14,11 @@ import ( ) // Response Object -type CreateEpResponse struct { +type ModifyEnterpriseProjectResponse struct { EnterpriseProject *EpDetail `json:"enterprise_project,omitempty"` } -func (o CreateEpResponse) String() string { +func (o ModifyEnterpriseProjectResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"CreateEpResponse", string(data)}, " ") + return strings.Join([]string{"ModifyEnterpriseProjectResponse", string(data)}, " ") } diff --git a/services/eps/v1/model/model_show_enterprise_project_quota_request.go b/services/eps/v1/model/model_show_enterprise_project_quota_request.go new file mode 100644 index 0000000000..f6d27995b6 --- /dev/null +++ b/services/eps/v1/model/model_show_enterprise_project_quota_request.go @@ -0,0 +1,23 @@ +/* + * EPS + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowEnterpriseProjectQuotaRequest struct { +} + +func (o ShowEnterpriseProjectQuotaRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowEnterpriseProjectQuotaRequest", string(data)}, " ") +} diff --git a/services/eps/v1/model/model_show_ep_quota_response.go b/services/eps/v1/model/model_show_enterprise_project_quota_response.go similarity index 59% rename from services/eps/v1/model/model_show_ep_quota_response.go rename to services/eps/v1/model/model_show_enterprise_project_quota_response.go index f0562fa49f..ef2e69289c 100644 --- a/services/eps/v1/model/model_show_ep_quota_response.go +++ b/services/eps/v1/model/model_show_enterprise_project_quota_response.go @@ -14,11 +14,11 @@ import ( ) // Response Object -type ShowEpQuotaResponse struct { +type ShowEnterpriseProjectQuotaResponse struct { Quotas *QuotasDetail `json:"quotas,omitempty"` } -func (o ShowEpQuotaResponse) String() string { +func (o ShowEnterpriseProjectQuotaResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ShowEpQuotaResponse", string(data)}, " ") + return strings.Join([]string{"ShowEnterpriseProjectQuotaResponse", string(data)}, " ") } diff --git a/services/eps/v1/model/model_show_ep_request.go b/services/eps/v1/model/model_show_enterprise_project_request.go similarity index 62% rename from services/eps/v1/model/model_show_ep_request.go rename to services/eps/v1/model/model_show_enterprise_project_request.go index ef3b1f2131..8c60b66597 100644 --- a/services/eps/v1/model/model_show_ep_request.go +++ b/services/eps/v1/model/model_show_enterprise_project_request.go @@ -14,11 +14,11 @@ import ( ) // Request Object -type ShowEpRequest struct { +type ShowEnterpriseProjectRequest struct { EnterpriseProjectId string `json:"enterprise_project_id"` } -func (o ShowEpRequest) String() string { +func (o ShowEnterpriseProjectRequest) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ShowEpRequest", string(data)}, " ") + return strings.Join([]string{"ShowEnterpriseProjectRequest", string(data)}, " ") } diff --git a/services/eps/v1/model/model_show_ep_response.go b/services/eps/v1/model/model_show_enterprise_project_response.go similarity index 62% rename from services/eps/v1/model/model_show_ep_response.go rename to services/eps/v1/model/model_show_enterprise_project_response.go index 86afcb6d4a..7a4b3f5a7f 100644 --- a/services/eps/v1/model/model_show_ep_response.go +++ b/services/eps/v1/model/model_show_enterprise_project_response.go @@ -14,11 +14,11 @@ import ( ) // Response Object -type ShowEpResponse struct { +type ShowEnterpriseProjectResponse struct { EnterpriseProject *EpDetail `json:"enterprise_project,omitempty"` } -func (o ShowEpResponse) String() string { +func (o ShowEnterpriseProjectResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ShowEpResponse", string(data)}, " ") + return strings.Join([]string{"ShowEnterpriseProjectResponse", string(data)}, " ") } diff --git a/services/eps/v1/model/model_show_resource_bind_ep_request.go b/services/eps/v1/model/model_show_resource_bind_enterprise_project_request.go similarity index 62% rename from services/eps/v1/model/model_show_resource_bind_ep_request.go rename to services/eps/v1/model/model_show_resource_bind_enterprise_project_request.go index d2fcc2b990..20d354e07e 100644 --- a/services/eps/v1/model/model_show_resource_bind_ep_request.go +++ b/services/eps/v1/model/model_show_resource_bind_enterprise_project_request.go @@ -14,12 +14,12 @@ import ( ) // Request Object -type ShowResourceBindEpRequest struct { +type ShowResourceBindEnterpriseProjectRequest struct { EnterpriseProjectId string `json:"enterprise_project_id"` Body *ResqEpResouce `json:"body,omitempty"` } -func (o ShowResourceBindEpRequest) String() string { +func (o ShowResourceBindEnterpriseProjectRequest) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ShowResourceBindEpRequest", string(data)}, " ") + return strings.Join([]string{"ShowResourceBindEnterpriseProjectRequest", string(data)}, " ") } diff --git a/services/eps/v1/model/model_show_resource_bind_ep_response.go b/services/eps/v1/model/model_show_resource_bind_enterprise_project_response.go similarity index 68% rename from services/eps/v1/model/model_show_resource_bind_ep_response.go rename to services/eps/v1/model/model_show_resource_bind_enterprise_project_response.go index 1c5fe09f62..521e50386c 100644 --- a/services/eps/v1/model/model_show_resource_bind_ep_response.go +++ b/services/eps/v1/model/model_show_resource_bind_enterprise_project_response.go @@ -14,7 +14,7 @@ import ( ) // Response Object -type ShowResourceBindEpResponse struct { +type ShowResourceBindEnterpriseProjectResponse struct { // 资源列表 Resources *[]Resources `json:"resources,omitempty"` // 查询失败的企业项目下的资源 @@ -23,7 +23,7 @@ type ShowResourceBindEpResponse struct { TotalCount *int32 `json:"total_count,omitempty"` } -func (o ShowResourceBindEpResponse) String() string { +func (o ShowResourceBindEnterpriseProjectResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ShowResourceBindEpResponse", string(data)}, " ") + return strings.Join([]string{"ShowResourceBindEnterpriseProjectResponse", string(data)}, " ") } diff --git a/services/evs/v2/evs_client.go b/services/evs/v2/evs_client.go index ac1b7e550a..cb8fa07dd1 100644 --- a/services/evs/v2/evs_client.go +++ b/services/evs/v2/evs_client.go @@ -20,264 +20,242 @@ func EvsClientBuilder() *http_client.HcHttpClientBuilder { //为指定云硬盘批量添加标签。 添加标签时,如果云硬盘的标签已存在相同key,则会覆盖已有标签。 单个云硬盘最多支持创建10个标签。 func (c *EvsClient) BatchCreateVolumeTags(request *model.BatchCreateVolumeTagsRequest) (*model.BatchCreateVolumeTagsResponse, error) { - requestDef := GenReqDefForBatchCreateVolumeTags(request) - resp, responseDef := GenRespForBatchCreateVolumeTags() + requestDef := GenReqDefForBatchCreateVolumeTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchCreateVolumeTagsResponse), nil } } //为指定云硬盘批量删除标签。 func (c *EvsClient) BatchDeleteVolumeTags(request *model.BatchDeleteVolumeTagsRequest) (*model.BatchDeleteVolumeTagsResponse, error) { - requestDef := GenReqDefForBatchDeleteVolumeTags(request) - resp, responseDef := GenRespForBatchDeleteVolumeTags() + requestDef := GenReqDefForBatchDeleteVolumeTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchDeleteVolumeTagsResponse), nil } } //将系统盘或数据盘的数据导出为IMS镜像,导出的镜像在IMS的私有镜像列表中可以查 看并使用。 func (c *EvsClient) CinderExportToImage(request *model.CinderExportToImageRequest) (*model.CinderExportToImageResponse, error) { - requestDef := GenReqDefForCinderExportToImage(request) - resp, responseDef := GenRespForCinderExportToImage() + requestDef := GenReqDefForCinderExportToImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CinderExportToImageResponse), nil } } //查询所有的可用分区信息。 func (c *EvsClient) CinderListAvailabilityZones(request *model.CinderListAvailabilityZonesRequest) (*model.CinderListAvailabilityZonesResponse, error) { - requestDef := GenReqDefForCinderListAvailabilityZones(request) - resp, responseDef := GenRespForCinderListAvailabilityZones() + requestDef := GenReqDefForCinderListAvailabilityZones() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CinderListAvailabilityZonesResponse), nil } } //查询租户的详细配额。 func (c *EvsClient) CinderListQuotas(request *model.CinderListQuotasRequest) (*model.CinderListQuotasResponse, error) { - requestDef := GenReqDefForCinderListQuotas(request) - resp, responseDef := GenRespForCinderListQuotas() + requestDef := GenReqDefForCinderListQuotas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CinderListQuotasResponse), nil } } //查询云硬盘类型列表。 func (c *EvsClient) CinderListVolumeTypes(request *model.CinderListVolumeTypesRequest) (*model.CinderListVolumeTypesResponse, error) { - requestDef := GenReqDefForCinderListVolumeTypes(request) - resp, responseDef := GenRespForCinderListVolumeTypes() + requestDef := GenReqDefForCinderListVolumeTypes() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CinderListVolumeTypesResponse), nil } } //创建云硬盘快照。 func (c *EvsClient) CreateSnapshot(request *model.CreateSnapshotRequest) (*model.CreateSnapshotResponse, error) { - requestDef := GenReqDefForCreateSnapshot(request) - resp, responseDef := GenRespForCreateSnapshot() + requestDef := GenReqDefForCreateSnapshot() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSnapshotResponse), nil } } //创建按需或包周期云硬盘。 在创建包周期云硬盘的场景下: - 如果您需要查看订单可用的优惠券,请参考\"[查询订单可用优惠券](https://support.huaweicloud.com/api-oce/zh-cn_topic_0092953630.html)\"。 - 如果您需要支付订单,请参考\"[支付包周期产品订单](https://support.huaweicloud.com/api-oce/zh-cn_topic_0075746561.html)\"。 - 如果您需要查询订单的资源开通详情,请参考\"[查询订单的资源开通详情](https://support.huaweicloud.com/api-oce/api_order_00001.html)\"。 - 如果您需要退订该包周期资源,请参考“[退订包周期资源](https://support.huaweicloud.com/api-oce/zh-cn_topic_0082522030.html)”。 func (c *EvsClient) CreateVolume(request *model.CreateVolumeRequest) (*model.CreateVolumeResponse, error) { - requestDef := GenReqDefForCreateVolume(request) - resp, responseDef := GenRespForCreateVolume() + requestDef := GenReqDefForCreateVolume() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateVolumeResponse), nil } } //删除云硬盘快照。 func (c *EvsClient) DeleteSnapshot(request *model.DeleteSnapshotRequest) (*model.DeleteSnapshotResponse, error) { - requestDef := GenReqDefForDeleteSnapshot(request) - resp, responseDef := GenRespForDeleteSnapshot() + requestDef := GenReqDefForDeleteSnapshot() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSnapshotResponse), nil } } //删除一个云硬盘。 func (c *EvsClient) DeleteVolume(request *model.DeleteVolumeRequest) (*model.DeleteVolumeResponse, error) { - requestDef := GenReqDefForDeleteVolume(request) - resp, responseDef := GenRespForDeleteVolume() + requestDef := GenReqDefForDeleteVolume() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteVolumeResponse), nil } } //查询云硬盘快照详细列表信息。 func (c *EvsClient) ListSnapshots(request *model.ListSnapshotsRequest) (*model.ListSnapshotsResponse, error) { - requestDef := GenReqDefForListSnapshots(request) - resp, responseDef := GenRespForListSnapshots() + requestDef := GenReqDefForListSnapshots() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSnapshotsResponse), nil } } //获取某个租户的所有云硬盘资源的标签信息。 func (c *EvsClient) ListVolumeTags(request *model.ListVolumeTagsRequest) (*model.ListVolumeTagsResponse, error) { - requestDef := GenReqDefForListVolumeTags(request) - resp, responseDef := GenRespForListVolumeTags() + requestDef := GenReqDefForListVolumeTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListVolumeTagsResponse), nil } } //查询所有云硬盘的详细信息。 func (c *EvsClient) ListVolumes(request *model.ListVolumesRequest) (*model.ListVolumesResponse, error) { - requestDef := GenReqDefForListVolumes(request) - resp, responseDef := GenRespForListVolumes() + requestDef := GenReqDefForListVolumes() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListVolumesResponse), nil } } //通过标签查询云硬盘资源实例详情。 func (c *EvsClient) ListVolumesByTags(request *model.ListVolumesByTagsRequest) (*model.ListVolumesByTagsResponse, error) { - requestDef := GenReqDefForListVolumesByTags(request) - resp, responseDef := GenRespForListVolumesByTags() + requestDef := GenReqDefForListVolumesByTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListVolumesByTagsResponse), nil } } //对按需或者包周期云硬盘进行扩容。 在扩容包周期云硬盘的场景下: - 如果您需要查看订单可用的优惠券,请参考\"[查询订单可用优惠券](https://support.huaweicloud.com/api-oce/zh-cn_topic_0092953630.html)\"。 - 如果您需要支付订单,请参考\"[支付包周期产品订单](https://support.huaweicloud.com/api-oce/zh-cn_topic_0075746561.html)\"。 - 如果您需要查询订单的资源开通详情,请参考\"[查询订单的资源开通详情](https://support.huaweicloud.com/api-oce/api_order_00001.html)\"。 - 如果您需要退订该包周期资源,请参考“[退订包周期资源](https://support.huaweicloud.com/api-oce/zh-cn_topic_0082522030.html)”。 func (c *EvsClient) ResizeVolume(request *model.ResizeVolumeRequest) (*model.ResizeVolumeResponse, error) { - requestDef := GenReqDefForResizeVolume(request) - resp, responseDef := GenRespForResizeVolume() + requestDef := GenReqDefForResizeVolume() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ResizeVolumeResponse), nil } } //将快照数据回滚到云硬盘。支持企业项目授权功能。 func (c *EvsClient) RollbackSnapshot(request *model.RollbackSnapshotRequest) (*model.RollbackSnapshotResponse, error) { - requestDef := GenReqDefForRollbackSnapshot(request) - resp, responseDef := GenRespForRollbackSnapshot() + requestDef := GenReqDefForRollbackSnapshot() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RollbackSnapshotResponse), nil } } //查询Job的执行状态。 可用于查询创建云硬盘,扩容云硬盘,删除云硬盘等API的执行状态。 func (c *EvsClient) ShowJob(request *model.ShowJobRequest) (*model.ShowJobResponse, error) { - requestDef := GenReqDefForShowJob(request) - resp, responseDef := GenRespForShowJob() + requestDef := GenReqDefForShowJob() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowJobResponse), nil } } //查询单个云硬盘快照信息。支持企业项目授权功能。 func (c *EvsClient) ShowSnapshot(request *model.ShowSnapshotRequest) (*model.ShowSnapshotResponse, error) { - requestDef := GenReqDefForShowSnapshot(request) - resp, responseDef := GenRespForShowSnapshot() + requestDef := GenReqDefForShowSnapshot() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowSnapshotResponse), nil } } //查询单个云硬盘的详细信息。支持企业项目授权功能。 func (c *EvsClient) ShowVolume(request *model.ShowVolumeRequest) (*model.ShowVolumeResponse, error) { - requestDef := GenReqDefForShowVolume(request) - resp, responseDef := GenRespForShowVolume() + requestDef := GenReqDefForShowVolume() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowVolumeResponse), nil } } //查询指定云硬盘的标签信息。 func (c *EvsClient) ShowVolumeTags(request *model.ShowVolumeTagsRequest) (*model.ShowVolumeTagsResponse, error) { - requestDef := GenReqDefForShowVolumeTags(request) - resp, responseDef := GenRespForShowVolumeTags() + requestDef := GenReqDefForShowVolumeTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowVolumeTagsResponse), nil } } //更新云硬盘快照。支持企业项目授权功能。 func (c *EvsClient) UpdateSnapshot(request *model.UpdateSnapshotRequest) (*model.UpdateSnapshotResponse, error) { - requestDef := GenReqDefForUpdateSnapshot(request) - resp, responseDef := GenRespForUpdateSnapshot() + requestDef := GenReqDefForUpdateSnapshot() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateSnapshotResponse), nil } } //更新一个云硬盘的名称和描述。 func (c *EvsClient) UpdateVolume(request *model.UpdateVolumeRequest) (*model.UpdateVolumeResponse, error) { - requestDef := GenReqDefForUpdateVolume(request) - resp, responseDef := GenRespForUpdateVolume() + requestDef := GenReqDefForUpdateVolume() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateVolumeResponse), nil } } diff --git a/services/evs/v2/evs_meta.go b/services/evs/v2/evs_meta.go index c42dbe2d9a..e935ba9ebe 100644 --- a/services/evs/v2/evs_meta.go +++ b/services/evs/v2/evs_meta.go @@ -6,706 +6,535 @@ import ( "net/http" ) -func GenReqDefForBatchCreateVolumeTags(request *model.BatchCreateVolumeTagsRequest) *def.HttpRequestDef { +func GenReqDefForBatchCreateVolumeTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/cloudvolumes/{volume_id}/tags/action"). + WithResponse(new(model.BatchCreateVolumeTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchCreateVolumeTags() (*model.BatchCreateVolumeTagsResponse, *def.HttpResponseDef) { - resp := new(model.BatchCreateVolumeTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchDeleteVolumeTags(request *model.BatchDeleteVolumeTagsRequest) *def.HttpRequestDef { +func GenReqDefForBatchDeleteVolumeTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/cloudvolumes/{volume_id}/tags/action"). + WithResponse(new(model.BatchDeleteVolumeTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchDeleteVolumeTags() (*model.BatchDeleteVolumeTagsResponse, *def.HttpResponseDef) { - resp := new(model.BatchDeleteVolumeTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCinderExportToImage(request *model.CinderExportToImageRequest) *def.HttpRequestDef { +func GenReqDefForCinderExportToImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/volumes/{volume_id}/action"). + WithResponse(new(model.CinderExportToImageResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCinderExportToImage() (*model.CinderExportToImageResponse, *def.HttpResponseDef) { - resp := new(model.CinderExportToImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCinderListAvailabilityZones(request *model.CinderListAvailabilityZonesRequest) *def.HttpRequestDef { +func GenReqDefForCinderListAvailabilityZones() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/os-availability-zone") + WithPath("/v2/{project_id}/os-availability-zone"). + WithResponse(new(model.CinderListAvailabilityZonesResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCinderListAvailabilityZones() (*model.CinderListAvailabilityZonesResponse, *def.HttpResponseDef) { - resp := new(model.CinderListAvailabilityZonesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCinderListQuotas(request *model.CinderListQuotasRequest) *def.HttpRequestDef { +func GenReqDefForCinderListQuotas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/os-quota-sets/{target_project_id}") + WithPath("/v2/{project_id}/os-quota-sets/{target_project_id}"). + WithResponse(new(model.CinderListQuotasResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("target_project_id"). + WithName("TargetProjectId"). + WithJsonTag("target_project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("usage"). + WithName("Usage"). + WithJsonTag("usage"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCinderListQuotas() (*model.CinderListQuotasResponse, *def.HttpResponseDef) { - resp := new(model.CinderListQuotasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCinderListVolumeTypes(request *model.CinderListVolumeTypesRequest) *def.HttpRequestDef { +func GenReqDefForCinderListVolumeTypes() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/types") + WithPath("/v2/{project_id}/types"). + WithResponse(new(model.CinderListVolumeTypesResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCinderListVolumeTypes() (*model.CinderListVolumeTypesResponse, *def.HttpResponseDef) { - resp := new(model.CinderListVolumeTypesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSnapshot(request *model.CreateSnapshotRequest) *def.HttpRequestDef { +func GenReqDefForCreateSnapshot() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/cloudsnapshots"). + WithResponse(new(model.CreateSnapshotResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSnapshot() (*model.CreateSnapshotResponse, *def.HttpResponseDef) { - resp := new(model.CreateSnapshotResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateVolume(request *model.CreateVolumeRequest) *def.HttpRequestDef { +func GenReqDefForCreateVolume() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.1/{project_id}/cloudvolumes"). + WithResponse(new(model.CreateVolumeResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateVolume() (*model.CreateVolumeResponse, *def.HttpResponseDef) { - resp := new(model.CreateVolumeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSnapshot(request *model.DeleteSnapshotRequest) *def.HttpRequestDef { +func GenReqDefForDeleteSnapshot() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/cloudsnapshots/{snapshot_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("snapshot_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/cloudsnapshots/{snapshot_id}"). + WithResponse(new(model.DeleteSnapshotResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("SnapshotId"). + WithJsonTag("snapshot_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSnapshot() (*model.DeleteSnapshotResponse, *def.HttpResponseDef) { - resp := new(model.DeleteSnapshotResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteVolume(request *model.DeleteVolumeRequest) *def.HttpRequestDef { +func GenReqDefForDeleteVolume() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/{project_id}/cloudvolumes/{volume_id}") + WithPath("/v2/{project_id}/cloudvolumes/{volume_id}"). + WithResponse(new(model.DeleteVolumeResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteVolume() (*model.DeleteVolumeResponse, *def.HttpResponseDef) { - resp := new(model.DeleteVolumeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSnapshots(request *model.ListSnapshotsRequest) *def.HttpRequestDef { +func GenReqDefForListSnapshots() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/cloudsnapshots/detail") + WithPath("/v2/{project_id}/cloudsnapshots/detail"). + WithResponse(new(model.ListSnapshotsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("availability_zone"). + WithName("AvailabilityZone"). + WithJsonTag("availability_zone"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dedicated_storage_name"). + WithName("DedicatedStorageName"). + WithJsonTag("dedicated_storage_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dedicated_storage_id"). + WithName("DedicatedStorageId"). + WithJsonTag("dedicated_storage_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("service_type"). + WithName("ServiceType"). + WithJsonTag("service_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSnapshots() (*model.ListSnapshotsResponse, *def.HttpResponseDef) { - resp := new(model.ListSnapshotsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListVolumeTags(request *model.ListVolumeTagsRequest) *def.HttpRequestDef { +func GenReqDefForListVolumeTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/cloudvolumes/tags") + WithPath("/v2/{project_id}/cloudvolumes/tags"). + WithResponse(new(model.ListVolumeTagsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListVolumeTags() (*model.ListVolumeTagsResponse, *def.HttpResponseDef) { - resp := new(model.ListVolumeTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListVolumes(request *model.ListVolumesRequest) *def.HttpRequestDef { +func GenReqDefForListVolumes() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/cloudvolumes/detail") + WithPath("/v2/{project_id}/cloudvolumes/detail"). + WithResponse(new(model.ListVolumesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_key"). + WithName("SortKey"). + WithJsonTag("sort_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_dir"). + WithName("SortDir"). + WithJsonTag("sort_dir"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("metadata"). + WithName("Metadata"). + WithJsonTag("metadata"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("availability_zone"). + WithName("AvailabilityZone"). + WithJsonTag("availability_zone"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("multiattach"). + WithName("Multiattach"). + WithJsonTag("multiattach"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("service_type"). + WithName("ServiceType"). + WithJsonTag("service_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dedicated_storage_id"). + WithName("DedicatedStorageId"). + WithJsonTag("dedicated_storage_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("dedicated_storage_name"). + WithName("DedicatedStorageName"). + WithJsonTag("dedicated_storage_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_type_id"). + WithName("VolumeTypeId"). + WithJsonTag("volume_type_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("ids"). + WithName("Ids"). + WithJsonTag("ids"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListVolumes() (*model.ListVolumesResponse, *def.HttpResponseDef) { - resp := new(model.ListVolumesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListVolumesByTags(request *model.ListVolumesByTagsRequest) *def.HttpRequestDef { +func GenReqDefForListVolumesByTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/cloudvolumes/resource_instances/action"). + WithResponse(new(model.ListVolumesByTagsResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListVolumesByTags() (*model.ListVolumesByTagsResponse, *def.HttpResponseDef) { - resp := new(model.ListVolumesByTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForResizeVolume(request *model.ResizeVolumeRequest) *def.HttpRequestDef { +func GenReqDefForResizeVolume() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2.1/{project_id}/cloudvolumes/{volume_id}/action"). + WithResponse(new(model.ResizeVolumeResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForResizeVolume() (*model.ResizeVolumeResponse, *def.HttpResponseDef) { - resp := new(model.ResizeVolumeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRollbackSnapshot(request *model.RollbackSnapshotRequest) *def.HttpRequestDef { +func GenReqDefForRollbackSnapshot() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/{project_id}/cloudsnapshots/{snapshot_id}/rollback"). + WithResponse(new(model.RollbackSnapshotResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("snapshot_id"). + WithName("SnapshotId"). + WithJsonTag("snapshot_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRollbackSnapshot() (*model.RollbackSnapshotResponse, *def.HttpResponseDef) { - resp := new(model.RollbackSnapshotResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowJob(request *model.ShowJobRequest) *def.HttpRequestDef { +func GenReqDefForShowJob() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/jobs/{job_id}") + WithPath("/v1/{project_id}/jobs/{job_id}"). + WithResponse(new(model.ShowJobResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("job_id"). + WithName("JobId"). + WithJsonTag("job_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowJob() (*model.ShowJobResponse, *def.HttpResponseDef) { - resp := new(model.ShowJobResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowSnapshot(request *model.ShowSnapshotRequest) *def.HttpRequestDef { +func GenReqDefForShowSnapshot() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/cloudsnapshots/{snapshot_id}") + WithPath("/v2/{project_id}/cloudsnapshots/{snapshot_id}"). + WithResponse(new(model.ShowSnapshotResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("snapshot_id"). + WithName("SnapshotId"). + WithJsonTag("snapshot_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowSnapshot() (*model.ShowSnapshotResponse, *def.HttpResponseDef) { - resp := new(model.ShowSnapshotResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowVolume(request *model.ShowVolumeRequest) *def.HttpRequestDef { +func GenReqDefForShowVolume() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/cloudvolumes/{volume_id}") + WithPath("/v2/{project_id}/cloudvolumes/{volume_id}"). + WithResponse(new(model.ShowVolumeResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowVolume() (*model.ShowVolumeResponse, *def.HttpResponseDef) { - resp := new(model.ShowVolumeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowVolumeTags(request *model.ShowVolumeTagsRequest) *def.HttpRequestDef { +func GenReqDefForShowVolumeTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/cloudvolumes/{volume_id}/tags") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). - WithLocationType(def.Path)) + WithPath("/v2/{project_id}/cloudvolumes/{volume_id}/tags"). + WithResponse(new(model.ShowVolumeTagsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowVolumeTags() (*model.ShowVolumeTagsResponse, *def.HttpResponseDef) { - resp := new(model.ShowVolumeTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateSnapshot(request *model.UpdateSnapshotRequest) *def.HttpRequestDef { +func GenReqDefForUpdateSnapshot() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/cloudsnapshots/{snapshot_id}"). + WithResponse(new(model.UpdateSnapshotResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("snapshot_id"). + WithName("SnapshotId"). + WithJsonTag("snapshot_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateSnapshot() (*model.UpdateSnapshotResponse, *def.HttpResponseDef) { - resp := new(model.UpdateSnapshotResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateVolume(request *model.UpdateVolumeRequest) *def.HttpRequestDef { +func GenReqDefForUpdateVolume() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/{project_id}/cloudvolumes/{volume_id}"). + WithResponse(new(model.UpdateVolumeResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("volume_id"). + WithName("VolumeId"). + WithJsonTag("volume_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateVolume() (*model.UpdateVolumeResponse, *def.HttpResponseDef) { - resp := new(model.UpdateVolumeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/iam/v3/iam_client.go b/services/iam/v3/iam_client.go index aa6dc406a0..7b6def8697 100644 --- a/services/iam/v3/iam_client.go +++ b/services/iam/v3/iam_client.go @@ -20,1176 +20,1342 @@ func IamClientBuilder() *http_client.HcHttpClientBuilder { //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)为委托授予所有项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) AssociateAgencyWithAllProjectsPermission(request *model.AssociateAgencyWithAllProjectsPermissionRequest) (*model.AssociateAgencyWithAllProjectsPermissionResponse, error) { - requestDef := GenReqDefForAssociateAgencyWithAllProjectsPermission(request) - resp, responseDef := GenRespForAssociateAgencyWithAllProjectsPermission() + requestDef := GenReqDefForAssociateAgencyWithAllProjectsPermission() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateAgencyWithAllProjectsPermissionResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)为委托授予全局服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) AssociateAgencyWithDomainPermission(request *model.AssociateAgencyWithDomainPermissionRequest) (*model.AssociateAgencyWithDomainPermissionResponse, error) { - requestDef := GenReqDefForAssociateAgencyWithDomainPermission(request) - resp, responseDef := GenRespForAssociateAgencyWithDomainPermission() + requestDef := GenReqDefForAssociateAgencyWithDomainPermission() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateAgencyWithDomainPermissionResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)为委托授予项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) AssociateAgencyWithProjectPermission(request *model.AssociateAgencyWithProjectPermissionRequest) (*model.AssociateAgencyWithProjectPermissionResponse, error) { - requestDef := GenReqDefForAssociateAgencyWithProjectPermission(request) - resp, responseDef := GenRespForAssociateAgencyWithProjectPermission() + requestDef := GenReqDefForAssociateAgencyWithProjectPermission() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateAgencyWithProjectPermissionResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)检查委托是否具有所有项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CheckAllProjectsPermissionForAgency(request *model.CheckAllProjectsPermissionForAgencyRequest) (*model.CheckAllProjectsPermissionForAgencyResponse, error) { - requestDef := GenReqDefForCheckAllProjectsPermissionForAgency(request) - resp, responseDef := GenRespForCheckAllProjectsPermissionForAgency() + requestDef := GenReqDefForCheckAllProjectsPermissionForAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CheckAllProjectsPermissionForAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询委托是否拥有全局服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CheckDomainPermissionForAgency(request *model.CheckDomainPermissionForAgencyRequest) (*model.CheckDomainPermissionForAgencyResponse, error) { - requestDef := GenReqDefForCheckDomainPermissionForAgency(request) - resp, responseDef := GenRespForCheckDomainPermissionForAgency() + requestDef := GenReqDefForCheckDomainPermissionForAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CheckDomainPermissionForAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询委托是否拥有项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CheckProjectPermissionForAgency(request *model.CheckProjectPermissionForAgencyRequest) (*model.CheckProjectPermissionForAgencyResponse, error) { - requestDef := GenReqDefForCheckProjectPermissionForAgency(request) - resp, responseDef := GenRespForCheckProjectPermissionForAgency() + requestDef := GenReqDefForCheckProjectPermissionForAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CheckProjectPermissionForAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)创建委托。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CreateAgency(request *model.CreateAgencyRequest) (*model.CreateAgencyResponse, error) { - requestDef := GenReqDefForCreateAgency(request) - resp, responseDef := GenRespForCreateAgency() + requestDef := GenReqDefForCreateAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)创建委托自定义策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CreateAgencyCustomPolicy(request *model.CreateAgencyCustomPolicyRequest) (*model.CreateAgencyCustomPolicyResponse, error) { - requestDef := GenReqDefForCreateAgencyCustomPolicy(request) - resp, responseDef := GenRespForCreateAgencyCustomPolicy() + requestDef := GenReqDefForCreateAgencyCustomPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateAgencyCustomPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)创建云服务自定义策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CreateCloudServiceCustomPolicy(request *model.CreateCloudServiceCustomPolicyRequest) (*model.CreateCloudServiceCustomPolicyResponse, error) { - requestDef := GenReqDefForCreateCloudServiceCustomPolicy(request) - resp, responseDef := GenRespForCreateCloudServiceCustomPolicy() + requestDef := GenReqDefForCreateCloudServiceCustomPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateCloudServiceCustomPolicyResponse), nil + } +} + +//该接口用于用于获取自定义代理登录票据logintoken。logintoken是系统颁发给自定义代理用户的登录票据,承载用户的身份、session等信息。调用自定义代理URL登录云服务控制台时,可以使用本接口获取的logintoken进行认证。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 > - logintoken的有效期为10分钟。 +func (c *IamClient) CreateLoginToken(request *model.CreateLoginTokenRequest) (*model.CreateLoginTokenResponse, error) { + requestDef := GenReqDefForCreateLoginToken() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateLoginTokenResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)导入Metadata文件。 账号在使用联邦认证功能前,需要先将Metadata文件导入到IAM中。Metadata文件是SAML 2.0协议约定的接口文件,包含访问接口地址和证书信息,请找企业管理员获取企业IdP的Metadata文件。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) CreateMetadata(request *model.CreateMetadataRequest) (*model.CreateMetadataResponse, error) { + requestDef := GenReqDefForCreateMetadata() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateMetadataResponse), nil + } +} + +//该接口可以用于通过IdP initiated的联邦认证方式获取unscoped token。 Unscoped token不能用来鉴权,若联邦用户需要使用token进行鉴权,请参考[获取联邦认证scoped token](https://support.huaweicloud.com/api-iam/iam_13_0604.html)获取scoped token。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 > - 该接口支持在命令行侧调用,需要客户端使用IdP initiated的联邦认证方式获取SAMLResponse,并采用浏览器提交表单数据的方式,获取unscoped token。 +func (c *IamClient) CreateUnscopeTokenByIdpInitiated(request *model.CreateUnscopeTokenByIdpInitiatedRequest) (*model.CreateUnscopeTokenByIdpInitiatedResponse, error) { + requestDef := GenReqDefForCreateUnscopeTokenByIdpInitiated() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateUnscopeTokenByIdpInitiatedResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)删除委托。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) DeleteAgency(request *model.DeleteAgencyRequest) (*model.DeleteAgencyResponse, error) { - requestDef := GenReqDefForDeleteAgency(request) - resp, responseDef := GenRespForDeleteAgency() + requestDef := GenReqDefForDeleteAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)删除自定义策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) DeleteCustomPolicy(request *model.DeleteCustomPolicyRequest) (*model.DeleteCustomPolicyResponse, error) { - requestDef := GenReqDefForDeleteCustomPolicy(request) - resp, responseDef := GenRespForDeleteCustomPolicy() + requestDef := GenReqDefForDeleteCustomPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteCustomPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)添加IAM用户到用户组。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneAddUserToGroup(request *model.KeystoneAddUserToGroupRequest) (*model.KeystoneAddUserToGroupResponse, error) { - requestDef := GenReqDefForKeystoneAddUserToGroup(request) - resp, responseDef := GenRespForKeystoneAddUserToGroup() + requestDef := GenReqDefForKeystoneAddUserToGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneAddUserToGroupResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)为用户组授予所有项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneAssociateGroupWithAllProjectPermission(request *model.KeystoneAssociateGroupWithAllProjectPermissionRequest) (*model.KeystoneAssociateGroupWithAllProjectPermissionResponse, error) { - requestDef := GenReqDefForKeystoneAssociateGroupWithAllProjectPermission(request) - resp, responseDef := GenRespForKeystoneAssociateGroupWithAllProjectPermission() + requestDef := GenReqDefForKeystoneAssociateGroupWithAllProjectPermission() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneAssociateGroupWithAllProjectPermissionResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)为用户组授予全局服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneAssociateGroupWithDomainPermission(request *model.KeystoneAssociateGroupWithDomainPermissionRequest) (*model.KeystoneAssociateGroupWithDomainPermissionResponse, error) { - requestDef := GenReqDefForKeystoneAssociateGroupWithDomainPermission(request) - resp, responseDef := GenRespForKeystoneAssociateGroupWithDomainPermission() + requestDef := GenReqDefForKeystoneAssociateGroupWithDomainPermission() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneAssociateGroupWithDomainPermissionResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)为用户组授予项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneAssociateGroupWithProjectPermission(request *model.KeystoneAssociateGroupWithProjectPermissionRequest) (*model.KeystoneAssociateGroupWithProjectPermissionResponse, error) { - requestDef := GenReqDefForKeystoneAssociateGroupWithProjectPermission(request) - resp, responseDef := GenRespForKeystoneAssociateGroupWithProjectPermission() + requestDef := GenReqDefForKeystoneAssociateGroupWithProjectPermission() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneAssociateGroupWithProjectPermissionResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询用户组是否拥有全局服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneCheckDomainPermissionForGroup(request *model.KeystoneCheckDomainPermissionForGroupRequest) (*model.KeystoneCheckDomainPermissionForGroupResponse, error) { - requestDef := GenReqDefForKeystoneCheckDomainPermissionForGroup(request) - resp, responseDef := GenRespForKeystoneCheckDomainPermissionForGroup() + requestDef := GenReqDefForKeystoneCheckDomainPermissionForGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneCheckDomainPermissionForGroupResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询用户组是否拥有项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneCheckProjectPermissionForGroup(request *model.KeystoneCheckProjectPermissionForGroupRequest) (*model.KeystoneCheckProjectPermissionForGroupResponse, error) { - requestDef := GenReqDefForKeystoneCheckProjectPermissionForGroup(request) - resp, responseDef := GenRespForKeystoneCheckProjectPermissionForGroup() + requestDef := GenReqDefForKeystoneCheckProjectPermissionForGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneCheckProjectPermissionForGroupResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户是否在用户组中。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneCheckUserInGroup(request *model.KeystoneCheckUserInGroupRequest) (*model.KeystoneCheckUserInGroupResponse, error) { - requestDef := GenReqDefForKeystoneCheckUserInGroup(request) - resp, responseDef := GenRespForKeystoneCheckUserInGroup() + requestDef := GenReqDefForKeystoneCheckUserInGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneCheckUserInGroupResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)创建用户组。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneCreateGroup(request *model.KeystoneCreateGroupRequest) (*model.KeystoneCreateGroupResponse, error) { - requestDef := GenReqDefForKeystoneCreateGroup(request) - resp, responseDef := GenRespForKeystoneCreateGroup() + requestDef := GenReqDefForKeystoneCreateGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneCreateGroupResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)注册身份提供商。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneCreateIdentityProvider(request *model.KeystoneCreateIdentityProviderRequest) (*model.KeystoneCreateIdentityProviderResponse, error) { + requestDef := GenReqDefForKeystoneCreateIdentityProvider() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneCreateIdentityProviderResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)注册映射。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneCreateMapping(request *model.KeystoneCreateMappingRequest) (*model.KeystoneCreateMappingResponse, error) { + requestDef := GenReqDefForKeystoneCreateMapping() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneCreateMappingResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)创建项目。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneCreateProject(request *model.KeystoneCreateProjectRequest) (*model.KeystoneCreateProjectResponse, error) { - requestDef := GenReqDefForKeystoneCreateProject(request) - resp, responseDef := GenRespForKeystoneCreateProject() + requestDef := GenReqDefForKeystoneCreateProject() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneCreateProjectResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)注册协议(将协议关联到某一身份提供商)。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneCreateProtocol(request *model.KeystoneCreateProtocolRequest) (*model.KeystoneCreateProtocolResponse, error) { + requestDef := GenReqDefForKeystoneCreateProtocol() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneCreateProtocolResponse), nil + } +} + +//该接口可以用于通过联邦认证方式获取scoped token。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneCreateScopedToken(request *model.KeystoneCreateScopedTokenRequest) (*model.KeystoneCreateScopedTokenResponse, error) { + requestDef := GenReqDefForKeystoneCreateScopedToken() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneCreateScopedTokenResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)删除用户组。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneDeleteGroup(request *model.KeystoneDeleteGroupRequest) (*model.KeystoneDeleteGroupResponse, error) { - requestDef := GenReqDefForKeystoneDeleteGroup(request) - resp, responseDef := GenRespForKeystoneDeleteGroup() + requestDef := GenReqDefForKeystoneDeleteGroup() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneDeleteGroupResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html) 删除身份提供商。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneDeleteIdentityProvider(request *model.KeystoneDeleteIdentityProviderRequest) (*model.KeystoneDeleteIdentityProviderResponse, error) { + requestDef := GenReqDefForKeystoneDeleteIdentityProvider() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneDeleteIdentityProviderResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)删除映射。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneDeleteMapping(request *model.KeystoneDeleteMappingRequest) (*model.KeystoneDeleteMappingResponse, error) { + requestDef := GenReqDefForKeystoneDeleteMapping() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneDeleteMappingResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)删除协议。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneDeleteProtocol(request *model.KeystoneDeleteProtocolRequest) (*model.KeystoneDeleteProtocolResponse, error) { + requestDef := GenReqDefForKeystoneDeleteProtocol() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneDeleteProtocolResponse), nil } } //该接口可以用于查询IAM用户可以用访问的账号详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListAuthDomains(request *model.KeystoneListAuthDomainsRequest) (*model.KeystoneListAuthDomainsResponse, error) { - requestDef := GenReqDefForKeystoneListAuthDomains(request) - resp, responseDef := GenRespForKeystoneListAuthDomains() + requestDef := GenReqDefForKeystoneListAuthDomains() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListAuthDomainsResponse), nil } } //该接口可以用于查询IAM用户可以访问的项目列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListAuthProjects(request *model.KeystoneListAuthProjectsRequest) (*model.KeystoneListAuthProjectsResponse, error) { - requestDef := GenReqDefForKeystoneListAuthProjects(request) - resp, responseDef := GenRespForKeystoneListAuthProjects() + requestDef := GenReqDefForKeystoneListAuthProjects() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListAuthProjectsResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询全局服务中的用户组权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListDomainPermissionsForGroup(request *model.KeystoneListDomainPermissionsForGroupRequest) (*model.KeystoneListDomainPermissionsForGroupResponse, error) { - requestDef := GenReqDefForKeystoneListDomainPermissionsForGroup(request) - resp, responseDef := GenRespForKeystoneListDomainPermissionsForGroup() + requestDef := GenReqDefForKeystoneListDomainPermissionsForGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListDomainPermissionsForGroupResponse), nil } } //该接口可以用于查询终端节点列表。终端节点用来提供服务访问入口。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListEndpoints(request *model.KeystoneListEndpointsRequest) (*model.KeystoneListEndpointsResponse, error) { - requestDef := GenReqDefForKeystoneListEndpoints(request) - resp, responseDef := GenRespForKeystoneListEndpoints() + requestDef := GenReqDefForKeystoneListEndpoints() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListEndpointsResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询用户组列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListGroups(request *model.KeystoneListGroupsRequest) (*model.KeystoneListGroupsResponse, error) { - requestDef := GenReqDefForKeystoneListGroups(request) - resp, responseDef := GenRespForKeystoneListGroups() + requestDef := GenReqDefForKeystoneListGroups() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneListGroupsResponse), nil + } +} + +//该接口可以用于查询身份提供商列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneListIdentityProviders(request *model.KeystoneListIdentityProvidersRequest) (*model.KeystoneListIdentityProvidersResponse, error) { + requestDef := GenReqDefForKeystoneListIdentityProviders() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneListIdentityProvidersResponse), nil + } +} + +//该接口可以用于查询映射列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneListMappings(request *model.KeystoneListMappingsRequest) (*model.KeystoneListMappingsResponse, error) { + requestDef := GenReqDefForKeystoneListMappings() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListMappingsResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询权限列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListPermissions(request *model.KeystoneListPermissionsRequest) (*model.KeystoneListPermissionsResponse, error) { - requestDef := GenReqDefForKeystoneListPermissions(request) - resp, responseDef := GenRespForKeystoneListPermissions() + requestDef := GenReqDefForKeystoneListPermissions() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListPermissionsResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询项目服务中的用户组权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListProjectPermissionsForGroup(request *model.KeystoneListProjectPermissionsForGroupRequest) (*model.KeystoneListProjectPermissionsForGroupResponse, error) { - requestDef := GenReqDefForKeystoneListProjectPermissionsForGroup(request) - resp, responseDef := GenRespForKeystoneListProjectPermissionsForGroup() + requestDef := GenReqDefForKeystoneListProjectPermissionsForGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListProjectPermissionsForGroupResponse), nil } } //该接口可以用于查询指定条件下的项目列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListProjects(request *model.KeystoneListProjectsRequest) (*model.KeystoneListProjectsResponse, error) { - requestDef := GenReqDefForKeystoneListProjects(request) - resp, responseDef := GenRespForKeystoneListProjects() + requestDef := GenReqDefForKeystoneListProjects() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListProjectsResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询指定IAM用户的项目列表,或IAM用户查询自己的项目列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListProjectsForUser(request *model.KeystoneListProjectsForUserRequest) (*model.KeystoneListProjectsForUserResponse, error) { - requestDef := GenReqDefForKeystoneListProjectsForUser(request) - resp, responseDef := GenRespForKeystoneListProjectsForUser() + requestDef := GenReqDefForKeystoneListProjectsForUser() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListProjectsForUserResponse), nil + } +} + +//该接口可以用于查询协议列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneListProtocols(request *model.KeystoneListProtocolsRequest) (*model.KeystoneListProtocolsResponse, error) { + requestDef := GenReqDefForKeystoneListProtocols() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneListProtocolsResponse), nil } } //该接口可以用于查询区域列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListRegions(request *model.KeystoneListRegionsRequest) (*model.KeystoneListRegionsResponse, error) { - requestDef := GenReqDefForKeystoneListRegions(request) - resp, responseDef := GenRespForKeystoneListRegions() + requestDef := GenReqDefForKeystoneListRegions() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListRegionsResponse), nil } } //该接口可以用于查询服务列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListServices(request *model.KeystoneListServicesRequest) (*model.KeystoneListServicesResponse, error) { - requestDef := GenReqDefForKeystoneListServices(request) - resp, responseDef := GenRespForKeystoneListServices() + requestDef := GenReqDefForKeystoneListServices() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListServicesResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询用户组中所包含的IAM用户。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListUsersForGroupByAdmin(request *model.KeystoneListUsersForGroupByAdminRequest) (*model.KeystoneListUsersForGroupByAdminResponse, error) { - requestDef := GenReqDefForKeystoneListUsersForGroupByAdmin(request) - resp, responseDef := GenRespForKeystoneListUsersForGroupByAdmin() + requestDef := GenReqDefForKeystoneListUsersForGroupByAdmin() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListUsersForGroupByAdminResponse), nil } } //该接口用于查询Keystone API的版本信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListVersions(request *model.KeystoneListVersionsRequest) (*model.KeystoneListVersionsResponse, error) { - requestDef := GenReqDefForKeystoneListVersions(request) - resp, responseDef := GenRespForKeystoneListVersions() + requestDef := GenReqDefForKeystoneListVersions() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListVersionsResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)移除用户组的全局服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneRemoveDomainPermissionFromGroup(request *model.KeystoneRemoveDomainPermissionFromGroupRequest) (*model.KeystoneRemoveDomainPermissionFromGroupResponse, error) { - requestDef := GenReqDefForKeystoneRemoveDomainPermissionFromGroup(request) - resp, responseDef := GenRespForKeystoneRemoveDomainPermissionFromGroup() + requestDef := GenReqDefForKeystoneRemoveDomainPermissionFromGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneRemoveDomainPermissionFromGroupResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)移除用户组的项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneRemoveProjectPermissionFromGroup(request *model.KeystoneRemoveProjectPermissionFromGroupRequest) (*model.KeystoneRemoveProjectPermissionFromGroupResponse, error) { - requestDef := GenReqDefForKeystoneRemoveProjectPermissionFromGroup(request) - resp, responseDef := GenRespForKeystoneRemoveProjectPermissionFromGroup() + requestDef := GenReqDefForKeystoneRemoveProjectPermissionFromGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneRemoveProjectPermissionFromGroupResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)移除用户组中的IAM用户。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneRemoveUserFromGroup(request *model.KeystoneRemoveUserFromGroupRequest) (*model.KeystoneRemoveUserFromGroupResponse, error) { - requestDef := GenReqDefForKeystoneRemoveUserFromGroup(request) - resp, responseDef := GenRespForKeystoneRemoveUserFromGroup() + requestDef := GenReqDefForKeystoneRemoveUserFromGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneRemoveUserFromGroupResponse), nil } } //该接口可以用于查询请求头中X-Auth-Token对应的服务目录。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowCatalog(request *model.KeystoneShowCatalogRequest) (*model.KeystoneShowCatalogResponse, error) { - requestDef := GenReqDefForKeystoneShowCatalog(request) - resp, responseDef := GenRespForKeystoneShowCatalog() + requestDef := GenReqDefForKeystoneShowCatalog() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowCatalogResponse), nil } } //该接口可以用于查询终端节点详情。终端节点用来提供服务访问入口。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowEndpoint(request *model.KeystoneShowEndpointRequest) (*model.KeystoneShowEndpointResponse, error) { - requestDef := GenReqDefForKeystoneShowEndpoint(request) - resp, responseDef := GenRespForKeystoneShowEndpoint() + requestDef := GenReqDefForKeystoneShowEndpoint() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowEndpointResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询用户组详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowGroup(request *model.KeystoneShowGroupRequest) (*model.KeystoneShowGroupResponse, error) { - requestDef := GenReqDefForKeystoneShowGroup(request) - resp, responseDef := GenRespForKeystoneShowGroup() + requestDef := GenReqDefForKeystoneShowGroup() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneShowGroupResponse), nil + } +} + +//该接口可以用于查询身份提供商详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneShowIdentityProvider(request *model.KeystoneShowIdentityProviderRequest) (*model.KeystoneShowIdentityProviderResponse, error) { + requestDef := GenReqDefForKeystoneShowIdentityProvider() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneShowIdentityProviderResponse), nil + } +} + +//该接口可以用于查询映射详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneShowMapping(request *model.KeystoneShowMappingRequest) (*model.KeystoneShowMappingResponse, error) { + requestDef := GenReqDefForKeystoneShowMapping() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowMappingResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询权限详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowPermission(request *model.KeystoneShowPermissionRequest) (*model.KeystoneShowPermissionResponse, error) { - requestDef := GenReqDefForKeystoneShowPermission(request) - resp, responseDef := GenRespForKeystoneShowPermission() + requestDef := GenReqDefForKeystoneShowPermission() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowPermissionResponse), nil } } //该接口可以用于查询项目详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowProject(request *model.KeystoneShowProjectRequest) (*model.KeystoneShowProjectResponse, error) { - requestDef := GenReqDefForKeystoneShowProject(request) - resp, responseDef := GenRespForKeystoneShowProject() + requestDef := GenReqDefForKeystoneShowProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowProjectResponse), nil + } +} + +//该接口可以用于查询协议详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneShowProtocol(request *model.KeystoneShowProtocolRequest) (*model.KeystoneShowProtocolResponse, error) { + requestDef := GenReqDefForKeystoneShowProtocol() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneShowProtocolResponse), nil } } //该接口可以用于查询区域详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowRegion(request *model.KeystoneShowRegionRequest) (*model.KeystoneShowRegionResponse, error) { - requestDef := GenReqDefForKeystoneShowRegion(request) - resp, responseDef := GenRespForKeystoneShowRegion() + requestDef := GenReqDefForKeystoneShowRegion() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowRegionResponse), nil } } //该接口可以用于查询账号密码强度策略,查询结果包括密码强度策略的正则表达式及其描述。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowSecurityCompliance(request *model.KeystoneShowSecurityComplianceRequest) (*model.KeystoneShowSecurityComplianceResponse, error) { - requestDef := GenReqDefForKeystoneShowSecurityCompliance(request) - resp, responseDef := GenRespForKeystoneShowSecurityCompliance() + requestDef := GenReqDefForKeystoneShowSecurityCompliance() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowSecurityComplianceResponse), nil } } //该接口可以用于按条件查询账号密码强度策略,查询结果包括密码强度策略的正则表达式及其描述。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowSecurityComplianceByOption(request *model.KeystoneShowSecurityComplianceByOptionRequest) (*model.KeystoneShowSecurityComplianceByOptionResponse, error) { - requestDef := GenReqDefForKeystoneShowSecurityComplianceByOption(request) - resp, responseDef := GenRespForKeystoneShowSecurityComplianceByOption() + requestDef := GenReqDefForKeystoneShowSecurityComplianceByOption() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowSecurityComplianceByOptionResponse), nil } } //该接口可以用于查询服务详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowService(request *model.KeystoneShowServiceRequest) (*model.KeystoneShowServiceResponse, error) { - requestDef := GenReqDefForKeystoneShowService(request) - resp, responseDef := GenRespForKeystoneShowService() + requestDef := GenReqDefForKeystoneShowService() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowServiceResponse), nil } } //该接口用于查询Keystone API的3.0版本的信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowVersion(request *model.KeystoneShowVersionRequest) (*model.KeystoneShowVersionResponse, error) { - requestDef := GenReqDefForKeystoneShowVersion(request) - resp, responseDef := GenRespForKeystoneShowVersion() + requestDef := GenReqDefForKeystoneShowVersion() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowVersionResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)更新用户组信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneUpdateGroup(request *model.KeystoneUpdateGroupRequest) (*model.KeystoneUpdateGroupResponse, error) { - requestDef := GenReqDefForKeystoneUpdateGroup(request) - resp, responseDef := GenRespForKeystoneUpdateGroup() + requestDef := GenReqDefForKeystoneUpdateGroup() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneUpdateGroupResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)更新身份提供商。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneUpdateIdentityProvider(request *model.KeystoneUpdateIdentityProviderRequest) (*model.KeystoneUpdateIdentityProviderResponse, error) { + requestDef := GenReqDefForKeystoneUpdateIdentityProvider() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneUpdateIdentityProviderResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)更新映射。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneUpdateMapping(request *model.KeystoneUpdateMappingRequest) (*model.KeystoneUpdateMappingResponse, error) { + requestDef := GenReqDefForKeystoneUpdateMapping() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneUpdateMappingResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改项目信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneUpdateProject(request *model.KeystoneUpdateProjectRequest) (*model.KeystoneUpdateProjectResponse, error) { - requestDef := GenReqDefForKeystoneUpdateProject(request) - resp, responseDef := GenRespForKeystoneUpdateProject() + requestDef := GenReqDefForKeystoneUpdateProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneUpdateProjectResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)更新协议。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneUpdateProtocol(request *model.KeystoneUpdateProtocolRequest) (*model.KeystoneUpdateProtocolResponse, error) { + requestDef := GenReqDefForKeystoneUpdateProtocol() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneUpdateProtocolResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询指定条件下的委托列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ListAgencies(request *model.ListAgenciesRequest) (*model.ListAgenciesResponse, error) { - requestDef := GenReqDefForListAgencies(request) - resp, responseDef := GenRespForListAgencies() + requestDef := GenReqDefForListAgencies() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAgenciesResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询委托所有项目服务权限列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ListAllProjectsPermissionsForAgency(request *model.ListAllProjectsPermissionsForAgencyRequest) (*model.ListAllProjectsPermissionsForAgencyResponse, error) { - requestDef := GenReqDefForListAllProjectsPermissionsForAgency(request) - resp, responseDef := GenRespForListAllProjectsPermissionsForAgency() + requestDef := GenReqDefForListAllProjectsPermissionsForAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAllProjectsPermissionsForAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询自定义策略列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ListCustomPolicies(request *model.ListCustomPoliciesRequest) (*model.ListCustomPoliciesResponse, error) { - requestDef := GenReqDefForListCustomPolicies(request) - resp, responseDef := GenRespForListCustomPolicies() + requestDef := GenReqDefForListCustomPolicies() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListCustomPoliciesResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询全局服务中的委托权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ListDomainPermissionsForAgency(request *model.ListDomainPermissionsForAgencyRequest) (*model.ListDomainPermissionsForAgencyResponse, error) { - requestDef := GenReqDefForListDomainPermissionsForAgency(request) - resp, responseDef := GenRespForListDomainPermissionsForAgency() + requestDef := GenReqDefForListDomainPermissionsForAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListDomainPermissionsForAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询项目服务中的委托权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ListProjectPermissionsForAgency(request *model.ListProjectPermissionsForAgencyRequest) (*model.ListProjectPermissionsForAgencyResponse, error) { - requestDef := GenReqDefForListProjectPermissionsForAgency(request) - resp, responseDef := GenRespForListProjectPermissionsForAgency() + requestDef := GenReqDefForListProjectPermissionsForAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListProjectPermissionsForAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)移除委托的所有项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) RemoveAllProjectsPermissionFromAgency(request *model.RemoveAllProjectsPermissionFromAgencyRequest) (*model.RemoveAllProjectsPermissionFromAgencyResponse, error) { - requestDef := GenReqDefForRemoveAllProjectsPermissionFromAgency(request) - resp, responseDef := GenRespForRemoveAllProjectsPermissionFromAgency() + requestDef := GenReqDefForRemoveAllProjectsPermissionFromAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RemoveAllProjectsPermissionFromAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)移除委托的全局服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) RemoveDomainPermissionFromAgency(request *model.RemoveDomainPermissionFromAgencyRequest) (*model.RemoveDomainPermissionFromAgencyResponse, error) { - requestDef := GenReqDefForRemoveDomainPermissionFromAgency(request) - resp, responseDef := GenRespForRemoveDomainPermissionFromAgency() + requestDef := GenReqDefForRemoveDomainPermissionFromAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RemoveDomainPermissionFromAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)移除委托的项目服务权限。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) RemoveProjectPermissionFromAgency(request *model.RemoveProjectPermissionFromAgencyRequest) (*model.RemoveProjectPermissionFromAgencyResponse, error) { - requestDef := GenReqDefForRemoveProjectPermissionFromAgency(request) - resp, responseDef := GenRespForRemoveProjectPermissionFromAgency() + requestDef := GenReqDefForRemoveProjectPermissionFromAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RemoveProjectPermissionFromAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询委托详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowAgency(request *model.ShowAgencyRequest) (*model.ShowAgencyResponse, error) { - requestDef := GenReqDefForShowAgency(request) - resp, responseDef := GenRespForShowAgency() + requestDef := GenReqDefForShowAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询自定义策略详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowCustomPolicy(request *model.ShowCustomPolicyRequest) (*model.ShowCustomPolicyResponse, error) { - requestDef := GenReqDefForShowCustomPolicy(request) - resp, responseDef := GenRespForShowCustomPolicy() + requestDef := GenReqDefForShowCustomPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowCustomPolicyResponse), nil } } //该接口可以用于查询账号接口访问控制策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowDomainApiAclPolicy(request *model.ShowDomainApiAclPolicyRequest) (*model.ShowDomainApiAclPolicyResponse, error) { - requestDef := GenReqDefForShowDomainApiAclPolicy(request) - resp, responseDef := GenRespForShowDomainApiAclPolicy() + requestDef := GenReqDefForShowDomainApiAclPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDomainApiAclPolicyResponse), nil } } //该接口可以用于查询账号控制台访问控制策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowDomainConsoleAclPolicy(request *model.ShowDomainConsoleAclPolicyRequest) (*model.ShowDomainConsoleAclPolicyResponse, error) { - requestDef := GenReqDefForShowDomainConsoleAclPolicy(request) - resp, responseDef := GenRespForShowDomainConsoleAclPolicy() + requestDef := GenReqDefForShowDomainConsoleAclPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDomainConsoleAclPolicyResponse), nil } } //该接口可以用于查询账号登录策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowDomainLoginPolicy(request *model.ShowDomainLoginPolicyRequest) (*model.ShowDomainLoginPolicyResponse, error) { - requestDef := GenReqDefForShowDomainLoginPolicy(request) - resp, responseDef := GenRespForShowDomainLoginPolicy() + requestDef := GenReqDefForShowDomainLoginPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDomainLoginPolicyResponse), nil } } //该接口可以用于查询账号密码策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowDomainPasswordPolicy(request *model.ShowDomainPasswordPolicyRequest) (*model.ShowDomainPasswordPolicyResponse, error) { - requestDef := GenReqDefForShowDomainPasswordPolicy(request) - resp, responseDef := GenRespForShowDomainPasswordPolicy() + requestDef := GenReqDefForShowDomainPasswordPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDomainPasswordPolicyResponse), nil } } //该接口可以用于查询账号操作保护策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowDomainProtectPolicy(request *model.ShowDomainProtectPolicyRequest) (*model.ShowDomainProtectPolicyResponse, error) { - requestDef := GenReqDefForShowDomainProtectPolicy(request) - resp, responseDef := GenRespForShowDomainProtectPolicy() + requestDef := GenReqDefForShowDomainProtectPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowDomainProtectPolicyResponse), nil } } //该接口可以用于查询账号配额。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowDomainQuota(request *model.ShowDomainQuotaRequest) (*model.ShowDomainQuotaResponse, error) { - requestDef := GenReqDefForShowDomainQuota(request) - resp, responseDef := GenRespForShowDomainQuota() + requestDef := GenReqDefForShowDomainQuota() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowDomainQuotaResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询身份提供商导入到IAM中的Metadata文件。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) ShowMetadata(request *model.ShowMetadataRequest) (*model.ShowMetadataResponse, error) { + requestDef := GenReqDefForShowMetadata() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowMetadataResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询项目详情与状态。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowProjectDetailsAndStatus(request *model.ShowProjectDetailsAndStatusRequest) (*model.ShowProjectDetailsAndStatusResponse, error) { - requestDef := GenReqDefForShowProjectDetailsAndStatus(request) - resp, responseDef := GenRespForShowProjectDetailsAndStatus() + requestDef := GenReqDefForShowProjectDetailsAndStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowProjectDetailsAndStatusResponse), nil } } //该接口可以用于查询项目配额。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowProjectQuota(request *model.ShowProjectQuotaRequest) (*model.ShowProjectQuotaResponse, error) { - requestDef := GenReqDefForShowProjectQuota(request) - resp, responseDef := GenRespForShowProjectQuota() + requestDef := GenReqDefForShowProjectQuota() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowProjectQuotaResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改委托。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateAgency(request *model.UpdateAgencyRequest) (*model.UpdateAgencyResponse, error) { - requestDef := GenReqDefForUpdateAgency(request) - resp, responseDef := GenRespForUpdateAgency() + requestDef := GenReqDefForUpdateAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateAgencyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改委托自定义策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateAgencyCustomPolicy(request *model.UpdateAgencyCustomPolicyRequest) (*model.UpdateAgencyCustomPolicyResponse, error) { - requestDef := GenReqDefForUpdateAgencyCustomPolicy(request) - resp, responseDef := GenRespForUpdateAgencyCustomPolicy() + requestDef := GenReqDefForUpdateAgencyCustomPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateAgencyCustomPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改云服务自定义策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateCloudServiceCustomPolicy(request *model.UpdateCloudServiceCustomPolicyRequest) (*model.UpdateCloudServiceCustomPolicyResponse, error) { - requestDef := GenReqDefForUpdateCloudServiceCustomPolicy(request) - resp, responseDef := GenRespForUpdateCloudServiceCustomPolicy() + requestDef := GenReqDefForUpdateCloudServiceCustomPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateCloudServiceCustomPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改账号接口访问策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateDomainApiAclPolicy(request *model.UpdateDomainApiAclPolicyRequest) (*model.UpdateDomainApiAclPolicyResponse, error) { - requestDef := GenReqDefForUpdateDomainApiAclPolicy(request) - resp, responseDef := GenRespForUpdateDomainApiAclPolicy() + requestDef := GenReqDefForUpdateDomainApiAclPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateDomainApiAclPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改账号控制台访问策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateDomainConsoleAclPolicy(request *model.UpdateDomainConsoleAclPolicyRequest) (*model.UpdateDomainConsoleAclPolicyResponse, error) { - requestDef := GenReqDefForUpdateDomainConsoleAclPolicy(request) - resp, responseDef := GenRespForUpdateDomainConsoleAclPolicy() + requestDef := GenReqDefForUpdateDomainConsoleAclPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateDomainConsoleAclPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改账号登录策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateDomainLoginPolicy(request *model.UpdateDomainLoginPolicyRequest) (*model.UpdateDomainLoginPolicyResponse, error) { - requestDef := GenReqDefForUpdateDomainLoginPolicy(request) - resp, responseDef := GenRespForUpdateDomainLoginPolicy() + requestDef := GenReqDefForUpdateDomainLoginPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateDomainLoginPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改账号密码策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateDomainPasswordPolicy(request *model.UpdateDomainPasswordPolicyRequest) (*model.UpdateDomainPasswordPolicyResponse, error) { - requestDef := GenReqDefForUpdateDomainPasswordPolicy(request) - resp, responseDef := GenRespForUpdateDomainPasswordPolicy() + requestDef := GenReqDefForUpdateDomainPasswordPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateDomainPasswordPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改账号操作保护策略。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateDomainProtectPolicy(request *model.UpdateDomainProtectPolicyRequest) (*model.UpdateDomainProtectPolicyResponse, error) { - requestDef := GenReqDefForUpdateDomainProtectPolicy(request) - resp, responseDef := GenRespForUpdateDomainProtectPolicy() + requestDef := GenReqDefForUpdateDomainProtectPolicy() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateDomainProtectPolicyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)设置项目状态。项目状态包括:正常、冻结。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateProjectStatus(request *model.UpdateProjectStatusRequest) (*model.UpdateProjectStatusResponse, error) { - requestDef := GenReqDefForUpdateProjectStatus(request) - resp, responseDef := GenRespForUpdateProjectStatus() + requestDef := GenReqDefForUpdateProjectStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateProjectStatusResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)给IAM用户创建永久访问密钥,或IAM用户给自己创建永久访问密钥。 访问密钥(Access Key ID/Secret Access Key,简称AK/SK),是您通过开发工具(API、CLI、SDK)访问华为云时的身份凭证,不用于登录控制台。系统通过AK识别访问用户的身份,通过SK进行签名验证,通过加密签名验证可以确保请求的机密性、完整性和请求者身份的正确性。在控制台创建访问密钥的方式请参见:[访问密钥](https://support.huaweicloud.com/usermanual-ca/zh-cn_topic_0046606340.html) 。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CreatePermanentAccessKey(request *model.CreatePermanentAccessKeyRequest) (*model.CreatePermanentAccessKeyResponse, error) { - requestDef := GenReqDefForCreatePermanentAccessKey(request) - resp, responseDef := GenRespForCreatePermanentAccessKey() + requestDef := GenReqDefForCreatePermanentAccessKey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePermanentAccessKeyResponse), nil } } //该接口可以用于通过委托来获取临时访问密钥(临时AK/SK)和securitytoken。 临时AK/SK和securitytoken是系统颁发给IAM用户的临时访问令牌,有效期为15分钟至24小时,过期后需要重新获取。临时AK/SK和securitytoken遵循权限最小化原则。鉴权时,临时AK/SK和securitytoken必须同时使用,请求头中需要添加“x-security-token”字段,使用方法详情请参考:[API签名参考](https://support.huaweicloud.com/devg-apisign/api-sign-provide.html) 。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CreateTemporaryAccessKeyByAgency(request *model.CreateTemporaryAccessKeyByAgencyRequest) (*model.CreateTemporaryAccessKeyByAgencyResponse, error) { - requestDef := GenReqDefForCreateTemporaryAccessKeyByAgency(request) - resp, responseDef := GenRespForCreateTemporaryAccessKeyByAgency() + requestDef := GenReqDefForCreateTemporaryAccessKeyByAgency() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateTemporaryAccessKeyByAgencyResponse), nil } } //该接口可以用于通过token来获取临时AK/SK和securitytoken。 临时AK/SK和securitytoken是系统颁发给IAM用户的临时访问令牌,有效期为15分钟至24小时,过期后需要重新获取。临时AK/SK和securitytoken遵循权限最小化原则。鉴权时,临时AK/SK和securitytoken必须同时使用,请求头中需要添加“x-security-token”字段,使用方法详情请参考:[API签名参考](https://support.huaweicloud.com/devg-apisign/api-sign-provide.html)。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CreateTemporaryAccessKeyByToken(request *model.CreateTemporaryAccessKeyByTokenRequest) (*model.CreateTemporaryAccessKeyByTokenResponse, error) { - requestDef := GenReqDefForCreateTemporaryAccessKeyByToken(request) - resp, responseDef := GenRespForCreateTemporaryAccessKeyByToken() + requestDef := GenReqDefForCreateTemporaryAccessKeyByToken() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateTemporaryAccessKeyByTokenResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)删除IAM用户的指定永久访问密钥,或IAM用户删除自己的指定永久访问密钥。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) DeletePermanentAccessKey(request *model.DeletePermanentAccessKeyRequest) (*model.DeletePermanentAccessKeyResponse, error) { - requestDef := GenReqDefForDeletePermanentAccessKey(request) - resp, responseDef := GenRespForDeletePermanentAccessKey() + requestDef := GenReqDefForDeletePermanentAccessKey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePermanentAccessKeyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户的所有永久访问密钥,或IAM用户查询自己的所有永久访问密钥。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ListPermanentAccessKeys(request *model.ListPermanentAccessKeysRequest) (*model.ListPermanentAccessKeysResponse, error) { - requestDef := GenReqDefForListPermanentAccessKeys(request) - resp, responseDef := GenRespForListPermanentAccessKeys() + requestDef := GenReqDefForListPermanentAccessKeys() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPermanentAccessKeysResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户的指定永久访问密钥,或IAM用户查询自己的指定永久访问密钥。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowPermanentAccessKey(request *model.ShowPermanentAccessKeyRequest) (*model.ShowPermanentAccessKeyResponse, error) { - requestDef := GenReqDefForShowPermanentAccessKey(request) - resp, responseDef := GenRespForShowPermanentAccessKey() + requestDef := GenReqDefForShowPermanentAccessKey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPermanentAccessKeyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改IAM用户的指定永久访问密钥,或IAM用户修改自己的指定永久访问密钥。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdatePermanentAccessKey(request *model.UpdatePermanentAccessKeyRequest) (*model.UpdatePermanentAccessKeyResponse, error) { - requestDef := GenReqDefForUpdatePermanentAccessKey(request) - resp, responseDef := GenRespForUpdatePermanentAccessKey() + requestDef := GenReqDefForUpdatePermanentAccessKey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePermanentAccessKeyResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)创建IAM用户。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) CreateUser(request *model.CreateUserRequest) (*model.CreateUserResponse, error) { - requestDef := GenReqDefForCreateUser(request) - resp, responseDef := GenRespForCreateUser() + requestDef := GenReqDefForCreateUser() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateUserResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)创建IAM用户。IAM用户首次登录时需要修改密码。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneCreateUser(request *model.KeystoneCreateUserRequest) (*model.KeystoneCreateUserResponse, error) { - requestDef := GenReqDefForKeystoneCreateUser(request) - resp, responseDef := GenRespForKeystoneCreateUser() + requestDef := GenReqDefForKeystoneCreateUser() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneCreateUserResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)删除指定IAM用户。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneDeleteUser(request *model.KeystoneDeleteUserRequest) (*model.KeystoneDeleteUserResponse, error) { - requestDef := GenReqDefForKeystoneDeleteUser(request) - resp, responseDef := GenRespForKeystoneDeleteUser() + requestDef := GenReqDefForKeystoneDeleteUser() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneDeleteUserResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户所属用户组,或IAM用户查询自己所属用户组。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListGroupsForUser(request *model.KeystoneListGroupsForUserRequest) (*model.KeystoneListGroupsForUserResponse, error) { - requestDef := GenReqDefForKeystoneListGroupsForUser(request) - resp, responseDef := GenRespForKeystoneListGroupsForUser() + requestDef := GenReqDefForKeystoneListGroupsForUser() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListGroupsForUserResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneListUsers(request *model.KeystoneListUsersRequest) (*model.KeystoneListUsersResponse, error) { - requestDef := GenReqDefForKeystoneListUsers(request) - resp, responseDef := GenRespForKeystoneListUsers() + requestDef := GenReqDefForKeystoneListUsers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneListUsersResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户详情,或IAM用户查询自己的用户详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneShowUser(request *model.KeystoneShowUserRequest) (*model.KeystoneShowUserResponse, error) { - requestDef := GenReqDefForKeystoneShowUser(request) - resp, responseDef := GenRespForKeystoneShowUser() + requestDef := GenReqDefForKeystoneShowUser() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneShowUserResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改IAM用户信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneUpdateUserByAdmin(request *model.KeystoneUpdateUserByAdminRequest) (*model.KeystoneUpdateUserByAdminResponse, error) { - requestDef := GenReqDefForKeystoneUpdateUserByAdmin(request) - resp, responseDef := GenRespForKeystoneUpdateUserByAdmin() + requestDef := GenReqDefForKeystoneUpdateUserByAdmin() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneUpdateUserByAdminResponse), nil } } //该接口可以用于IAM用户修改自己的密码。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) KeystoneUpdateUserPassword(request *model.KeystoneUpdateUserPasswordRequest) (*model.KeystoneUpdateUserPasswordResponse, error) { - requestDef := GenReqDefForKeystoneUpdateUserPassword(request) - resp, responseDef := GenRespForKeystoneUpdateUserPassword() + requestDef := GenReqDefForKeystoneUpdateUserPassword() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneUpdateUserPasswordResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户的登录保护状态列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ListUserLoginProtects(request *model.ListUserLoginProtectsRequest) (*model.ListUserLoginProtectsResponse, error) { - requestDef := GenReqDefForListUserLoginProtects(request) - resp, responseDef := GenRespForListUserLoginProtects() + requestDef := GenReqDefForListUserLoginProtects() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListUserLoginProtectsResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户的MFA绑定信息列表。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ListUserMfaDevices(request *model.ListUserMfaDevicesRequest) (*model.ListUserMfaDevicesResponse, error) { - requestDef := GenReqDefForListUserMfaDevices(request) - resp, responseDef := GenRespForListUserMfaDevices() + requestDef := GenReqDefForListUserMfaDevices() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListUserMfaDevicesResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询IAM用户详情,或IAM用户查询自己的详情。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowUser(request *model.ShowUserRequest) (*model.ShowUserResponse, error) { - requestDef := GenReqDefForShowUser(request) - resp, responseDef := GenRespForShowUser() + requestDef := GenReqDefForShowUser() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowUserResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询指定IAM用户的登录保护状态信息,或IAM用户查询自己的登录保护状态信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowUserLoginProtect(request *model.ShowUserLoginProtectRequest) (*model.ShowUserLoginProtectResponse, error) { - requestDef := GenReqDefForShowUserLoginProtect(request) - resp, responseDef := GenRespForShowUserLoginProtect() + requestDef := GenReqDefForShowUserLoginProtect() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowUserLoginProtectResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)查询指定IAM用户的MFA绑定信息,或IAM用户查询自己的MFA绑定信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) ShowUserMfaDevice(request *model.ShowUserMfaDeviceRequest) (*model.ShowUserMfaDeviceResponse, error) { - requestDef := GenReqDefForShowUserMfaDevice(request) - resp, responseDef := GenRespForShowUserMfaDevice() + requestDef := GenReqDefForShowUserMfaDevice() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowUserMfaDeviceResponse), nil } } //该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)修改IAM用户信息 。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateUser(request *model.UpdateUserRequest) (*model.UpdateUserResponse, error) { - requestDef := GenReqDefForUpdateUser(request) - resp, responseDef := GenRespForUpdateUser() + requestDef := GenReqDefForUpdateUser() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateUserResponse), nil } } //该接口可以用于IAM用户修改自己的用户信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 func (c *IamClient) UpdateUserInformation(request *model.UpdateUserInformationRequest) (*model.UpdateUserInformationResponse, error) { - requestDef := GenReqDefForUpdateUserInformation(request) - resp, responseDef := GenRespForUpdateUserInformation() + requestDef := GenReqDefForUpdateUserInformation() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateUserInformationResponse), nil + } +} + +//该接口可以用于获取委托方的token。 例如:A账号希望B账号管理自己的某些资源,所以A账号创建了委托给B账号,则A账号为委托方,B账号为被委托方。那么B账号可以通过该接口获取委托token。B账号仅能使用该token管理A账号的委托资源,不能管理自己账号中的资源。如果B账号需要管理自己账号中的资源,则需要获取自己的用户token。 token是系统颁发给用户的访问令牌,承载用户的身份、权限等信息。调用IAM以及其他云服务的接口时,可以使用本接口获取的token进行鉴权。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。如果使用全局区域的Endpoint调用,该token可以在所有区域使用;如果使用非全局区域的Endpoint调用,则该token仅在该区域生效,不能跨区域使用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 > - token的有效期为24小时,建议进行缓存,避免频繁调用。 +func (c *IamClient) KeystoneCreateAgencyToken(request *model.KeystoneCreateAgencyTokenRequest) (*model.KeystoneCreateAgencyTokenResponse, error) { + requestDef := GenReqDefForKeystoneCreateAgencyToken() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneCreateAgencyTokenResponse), nil + } +} + +//该接口可以用于通过用户名/密码的方式进行认证来获取IAM用户token。 token是系统颁发给IAM用户的访问令牌,承载用户的身份、权限等信息。调用IAM以及其他云服务的接口时,可以使用本接口获取的IAM用户token进行鉴权。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。如果使用全局区域的Endpoint调用,该token可以在所有区域使用;如果使用非全局区域的Endpoint调用,则该token仅在该区域生效,不能跨区域使用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 > - token的有效期为24小时,建议进行缓存,避免频繁调用。 > - 通过Postman获取用户token示例请参见:[如何通过Postman获取用户token](https://support.huaweicloud.com/iam_faq/iam_01_034.html)。 > - 如果需要获取具有Security Administrator权限的token,请参见:[IAM 常见问题](https://support.huaweicloud.com/iam_faq/iam_01_0608.html)。 +func (c *IamClient) KeystoneCreateUserTokenByPassword(request *model.KeystoneCreateUserTokenByPasswordRequest) (*model.KeystoneCreateUserTokenByPasswordResponse, error) { + requestDef := GenReqDefForKeystoneCreateUserTokenByPassword() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneCreateUserTokenByPasswordResponse), nil + } +} + +//该接口可以用于通过用户名/密码+虚拟MFA的方式进行认证,在IAM用户开启了的登录保护功能,并选择通过虚拟MFA验证时获取IAM用户token。 token是系统颁发给用户的访问令牌,承载用户的身份、权限等信息。调用IAM以及其他云服务的接口时,可以使用本接口获取的token进行鉴权。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。如果使用全局区域的Endpoint调用,该token可以在所有区域使用;如果使用非全局区域的Endpoint调用,则该token仅在该区域生效,不能跨区域使用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 > - token的有效期为24小时,建议进行缓存,避免频繁调用。 > - 通过Postman获取用户token示例请参见:[如何通过Postman获取用户token](https://support.huaweicloud.com/iam_faq/iam_01_034.html)。 > - 如果需要获取具有Security Administrator权限的token,请参见:[IAM 常见问题](https://support.huaweicloud.com/iam_faq/iam_01_0608.html)。 +func (c *IamClient) KeystoneCreateUserTokenByPasswordAndMfa(request *model.KeystoneCreateUserTokenByPasswordAndMfaRequest) (*model.KeystoneCreateUserTokenByPasswordAndMfaResponse, error) { + requestDef := GenReqDefForKeystoneCreateUserTokenByPasswordAndMfa() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.KeystoneCreateUserTokenByPasswordAndMfaResponse), nil + } +} + +//该接口可以用于[管理员](https://support.huaweicloud.com/usermanual-iam/iam_01_0001.html)校验本账号中IAM用户token的有效性,或IAM用户校验自己token的有效性。管理员仅能校验本账号中IAM用户token的有效性,不能校验其他账号中IAM用户token的有效性。如果被校验的token有效,则返回该token的详细信息。 该接口可以使用全局区域的Endpoint和其他区域的Endpoint调用。IAM的Endpoint请参见:[地区和终端节点](https://developer.huaweicloud.com/endpoint?IAM)。 +func (c *IamClient) KeystoneValidateToken(request *model.KeystoneValidateTokenRequest) (*model.KeystoneValidateTokenResponse, error) { + requestDef := GenReqDefForKeystoneValidateToken() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.KeystoneValidateTokenResponse), nil } } diff --git a/services/iam/v3/iam_meta.go b/services/iam/v3/iam_meta.go index 1d41364b10..91887c61f8 100644 --- a/services/iam/v3/iam_meta.go +++ b/services/iam/v3/iam_meta.go @@ -6,2917 +6,2606 @@ import ( "net/http" ) -func GenReqDefForAssociateAgencyWithAllProjectsPermission(request *model.AssociateAgencyWithAllProjectsPermissionRequest) *def.HttpRequestDef { +func GenReqDefForAssociateAgencyWithAllProjectsPermission() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects") + WithPath("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects"). + WithResponse(new(model.AssociateAgencyWithAllProjectsPermissionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateAgencyWithAllProjectsPermission() (*model.AssociateAgencyWithAllProjectsPermissionResponse, *def.HttpResponseDef) { - resp := new(model.AssociateAgencyWithAllProjectsPermissionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForAssociateAgencyWithDomainPermission(request *model.AssociateAgencyWithDomainPermissionRequest) *def.HttpRequestDef { +func GenReqDefForAssociateAgencyWithDomainPermission() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}") + WithPath("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}"). + WithResponse(new(model.AssociateAgencyWithDomainPermissionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateAgencyWithDomainPermission() (*model.AssociateAgencyWithDomainPermissionResponse, *def.HttpResponseDef) { - resp := new(model.AssociateAgencyWithDomainPermissionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForAssociateAgencyWithProjectPermission(request *model.AssociateAgencyWithProjectPermissionRequest) *def.HttpRequestDef { +func GenReqDefForAssociateAgencyWithProjectPermission() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}") + WithPath("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}"). + WithResponse(new(model.AssociateAgencyWithProjectPermissionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateAgencyWithProjectPermission() (*model.AssociateAgencyWithProjectPermissionResponse, *def.HttpResponseDef) { - resp := new(model.AssociateAgencyWithProjectPermissionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCheckAllProjectsPermissionForAgency(request *model.CheckAllProjectsPermissionForAgencyRequest) *def.HttpRequestDef { +func GenReqDefForCheckAllProjectsPermissionForAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodHead). - WithPath("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects") + WithPath("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects"). + WithResponse(new(model.CheckAllProjectsPermissionForAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCheckAllProjectsPermissionForAgency() (*model.CheckAllProjectsPermissionForAgencyResponse, *def.HttpResponseDef) { - resp := new(model.CheckAllProjectsPermissionForAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCheckDomainPermissionForAgency(request *model.CheckDomainPermissionForAgencyRequest) *def.HttpRequestDef { +func GenReqDefForCheckDomainPermissionForAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodHead). - WithPath("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}") + WithPath("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}"). + WithResponse(new(model.CheckDomainPermissionForAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCheckDomainPermissionForAgency() (*model.CheckDomainPermissionForAgencyResponse, *def.HttpResponseDef) { - resp := new(model.CheckDomainPermissionForAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCheckProjectPermissionForAgency(request *model.CheckProjectPermissionForAgencyRequest) *def.HttpRequestDef { +func GenReqDefForCheckProjectPermissionForAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodHead). - WithPath("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}") + WithPath("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}"). + WithResponse(new(model.CheckProjectPermissionForAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCheckProjectPermissionForAgency() (*model.CheckProjectPermissionForAgencyResponse, *def.HttpResponseDef) { - resp := new(model.CheckProjectPermissionForAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateAgency(request *model.CreateAgencyRequest) *def.HttpRequestDef { +func GenReqDefForCreateAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3.0/OS-AGENCY/agencies"). + WithResponse(new(model.CreateAgencyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateAgency() (*model.CreateAgencyResponse, *def.HttpResponseDef) { - resp := new(model.CreateAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateAgencyCustomPolicy(request *model.CreateAgencyCustomPolicyRequest) *def.HttpRequestDef { +func GenReqDefForCreateAgencyCustomPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3.0/OS-ROLE/roles"). + WithResponse(new(model.CreateAgencyCustomPolicyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateAgencyCustomPolicy() (*model.CreateAgencyCustomPolicyResponse, *def.HttpResponseDef) { - resp := new(model.CreateAgencyCustomPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateCloudServiceCustomPolicy(request *model.CreateCloudServiceCustomPolicyRequest) *def.HttpRequestDef { +func GenReqDefForCreateCloudServiceCustomPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3.0/OS-ROLE/roles"). + WithResponse(new(model.CreateCloudServiceCustomPolicyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateCloudServiceCustomPolicy() (*model.CreateCloudServiceCustomPolicyResponse, *def.HttpResponseDef) { - resp := new(model.CreateCloudServiceCustomPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForCreateLoginToken() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3.0/OS-AUTH/securitytoken/logintokens"). + WithResponse(new(model.CreateLoginTokenResponse)). + WithContentType("application/json;charset=UTF-8") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XSubjectLoginToken"). + WithJsonTag("X-Subject-LoginToken"). + WithKindName("string"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForDeleteAgency(request *model.DeleteAgencyRequest) *def.HttpRequestDef { +func GenReqDefForCreateMetadata() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodDelete). - WithPath("/v3.0/OS-AGENCY/agencies/{agency_id}") + WithMethod(http.MethodPost). + WithPath("/v3-ext/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/metadata"). + WithResponse(new(model.CreateMetadataResponse)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("IdpId"). + WithJsonTag("idp_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProtocolId"). + WithJsonTag("protocol_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteAgency() (*model.DeleteAgencyResponse, *def.HttpResponseDef) { - resp := new(model.DeleteAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForCreateUnscopeTokenByIdpInitiated() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3.0/OS-FEDERATION/tokens"). + WithResponse(new(model.CreateUnscopeTokenByIdpInitiatedResponse)). + WithContentType("application/x-www-form-urlencoded") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XIdpId"). + WithJsonTag("X-Idp-Id"). + WithLocationType(def.Header)) + + // response + + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XSubjectToken"). + WithJsonTag("X-Subject-Token"). + WithKindName("string"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForDeleteCustomPolicy(request *model.DeleteCustomPolicyRequest) *def.HttpRequestDef { +func GenReqDefForDeleteAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3.0/OS-ROLE/roles/{role_id}") + WithPath("/v3.0/OS-AGENCY/agencies/{agency_id}"). + WithResponse(new(model.DeleteAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteCustomPolicy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v3.0/OS-ROLE/roles/{role_id}"). + WithResponse(new(model.DeleteCustomPolicyResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteCustomPolicy() (*model.DeleteCustomPolicyResponse, *def.HttpResponseDef) { - resp := new(model.DeleteCustomPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneAddUserToGroup(request *model.KeystoneAddUserToGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneAddUserToGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v3/groups/{group_id}/users/{user_id}") + WithPath("/v3/groups/{group_id}/users/{user_id}"). + WithResponse(new(model.KeystoneAddUserToGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneAddUserToGroup() (*model.KeystoneAddUserToGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneAddUserToGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneAssociateGroupWithAllProjectPermission(request *model.KeystoneAssociateGroupWithAllProjectPermissionRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneAssociateGroupWithAllProjectPermission() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects") + WithPath("/v3/OS-INHERIT/domains/{domain_id}/groups/{group_id}/roles/{role_id}/inherited_to_projects"). + WithResponse(new(model.KeystoneAssociateGroupWithAllProjectPermissionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneAssociateGroupWithAllProjectPermission() (*model.KeystoneAssociateGroupWithAllProjectPermissionResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneAssociateGroupWithAllProjectPermissionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneAssociateGroupWithDomainPermission(request *model.KeystoneAssociateGroupWithDomainPermissionRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneAssociateGroupWithDomainPermission() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}") + WithPath("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}"). + WithResponse(new(model.KeystoneAssociateGroupWithDomainPermissionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneAssociateGroupWithDomainPermission() (*model.KeystoneAssociateGroupWithDomainPermissionResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneAssociateGroupWithDomainPermissionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneAssociateGroupWithProjectPermission(request *model.KeystoneAssociateGroupWithProjectPermissionRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneAssociateGroupWithProjectPermission() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}") + WithPath("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}"). + WithResponse(new(model.KeystoneAssociateGroupWithProjectPermissionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneAssociateGroupWithProjectPermission() (*model.KeystoneAssociateGroupWithProjectPermissionResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneAssociateGroupWithProjectPermissionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneCheckDomainPermissionForGroup(request *model.KeystoneCheckDomainPermissionForGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneCheckDomainPermissionForGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodHead). - WithPath("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}") + WithPath("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}"). + WithResponse(new(model.KeystoneCheckDomainPermissionForGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneCheckDomainPermissionForGroup() (*model.KeystoneCheckDomainPermissionForGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneCheckDomainPermissionForGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneCheckProjectPermissionForGroup(request *model.KeystoneCheckProjectPermissionForGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneCheckProjectPermissionForGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodHead). - WithPath("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}") + WithPath("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}"). + WithResponse(new(model.KeystoneCheckProjectPermissionForGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneCheckProjectPermissionForGroup() (*model.KeystoneCheckProjectPermissionForGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneCheckProjectPermissionForGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneCheckUserInGroup(request *model.KeystoneCheckUserInGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneCheckUserInGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodHead). - WithPath("/v3/groups/{group_id}/users/{user_id}") + WithPath("/v3/groups/{group_id}/users/{user_id}"). + WithResponse(new(model.KeystoneCheckUserInGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneCheckUserInGroup() (*model.KeystoneCheckUserInGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneCheckUserInGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneCreateGroup(request *model.KeystoneCreateGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneCreateGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/groups"). + WithResponse(new(model.KeystoneCreateGroupResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForKeystoneCreateIdentityProvider() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v3/OS-FEDERATION/identity_providers/{id}"). + WithResponse(new(model.KeystoneCreateIdentityProviderResponse)). + WithContentType("application/json;charset=UTF-8") + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneCreateGroup() (*model.KeystoneCreateGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneCreateGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneCreateMapping() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v3/OS-FEDERATION/mappings/{id}"). + WithResponse(new(model.KeystoneCreateMappingResponse)). + WithContentType("application/json;charset=UTF-8") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForKeystoneCreateProject(request *model.KeystoneCreateProjectRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneCreateProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/projects"). + WithResponse(new(model.KeystoneCreateProjectResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneCreateProject() (*model.KeystoneCreateProjectResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneCreateProjectResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneDeleteGroup(request *model.KeystoneDeleteGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneCreateProtocol() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodDelete). - WithPath("/v3/groups/{group_id}") + WithMethod(http.MethodPut). + WithPath("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}"). + WithResponse(new(model.KeystoneCreateProtocolResponse)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("IdpId"). + WithJsonTag("idp_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProtocolId"). + WithJsonTag("protocol_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneDeleteGroup() (*model.KeystoneDeleteGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneDeleteGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneCreateScopedToken() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3/auth/tokens"). + WithResponse(new(model.KeystoneCreateScopedTokenResponse)). + WithContentType("application/json;charset=UTF-8") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XSubjectToken"). + WithJsonTag("X-Subject-Token"). + WithKindName("string"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForKeystoneListAuthDomains(request *model.KeystoneListAuthDomainsRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneDeleteGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v3/auth/domains") + WithMethod(http.MethodDelete). + WithPath("/v3/groups/{group_id}"). + WithResponse(new(model.KeystoneDeleteGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForKeystoneDeleteIdentityProvider() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v3/OS-FEDERATION/identity_providers/{id}"). + WithResponse(new(model.KeystoneDeleteIdentityProviderResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListAuthDomains() (*model.KeystoneListAuthDomainsResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListAuthDomainsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneDeleteMapping() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v3/OS-FEDERATION/mappings/{id}"). + WithResponse(new(model.KeystoneDeleteMappingResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Id"). + WithJsonTag("id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForKeystoneListAuthProjects(request *model.KeystoneListAuthProjectsRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneDeleteProtocol() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v3/auth/projects") + WithMethod(http.MethodDelete). + WithPath("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}"). + WithResponse(new(model.KeystoneDeleteProtocolResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("IdpId"). + WithJsonTag("idp_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("ProtocolId"). + WithJsonTag("protocol_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListAuthProjects() (*model.KeystoneListAuthProjectsResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListAuthProjectsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneListAuthDomains() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/auth/domains"). + WithResponse(new(model.KeystoneListAuthDomainsResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForKeystoneListDomainPermissionsForGroup(request *model.KeystoneListDomainPermissionsForGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListAuthProjects() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/domains/{domain_id}/groups/{group_id}/roles") + WithPath("/v3/auth/projects"). + WithResponse(new(model.KeystoneListAuthProjectsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). - WithLocationType(def.Path)) + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} +func GenReqDefForKeystoneListDomainPermissionsForGroup() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/domains/{domain_id}/groups/{group_id}/roles"). + WithResponse(new(model.KeystoneListDomainPermissionsForGroupResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListDomainPermissionsForGroup() (*model.KeystoneListDomainPermissionsForGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListDomainPermissionsForGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListEndpoints(request *model.KeystoneListEndpointsRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListEndpoints() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/endpoints") + WithPath("/v3/endpoints"). + WithResponse(new(model.KeystoneListEndpointsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("interface"). + WithName("Interface"). + WithJsonTag("interface"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("service_id"). + WithName("ServiceId"). + WithJsonTag("service_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListEndpoints() (*model.KeystoneListEndpointsResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListEndpointsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListGroups(request *model.KeystoneListGroupsRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListGroups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/groups") + WithPath("/v3/groups"). + WithResponse(new(model.KeystoneListGroupsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForKeystoneListIdentityProviders() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/OS-FEDERATION/identity_providers"). + WithResponse(new(model.KeystoneListIdentityProvidersResponse)) + + // request + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListGroups() (*model.KeystoneListGroupsResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListGroupsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneListMappings() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/OS-FEDERATION/mappings"). + WithResponse(new(model.KeystoneListMappingsResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForKeystoneListPermissions(request *model.KeystoneListPermissionsRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListPermissions() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/roles") + WithPath("/v3/roles"). + WithResponse(new(model.KeystoneListPermissionsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListPermissions() (*model.KeystoneListPermissionsResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListPermissionsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListProjectPermissionsForGroup(request *model.KeystoneListProjectPermissionsForGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListProjectPermissionsForGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/projects/{project_id}/groups/{group_id}/roles") + WithPath("/v3/projects/{project_id}/groups/{group_id}/roles"). + WithResponse(new(model.KeystoneListProjectPermissionsForGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListProjectPermissionsForGroup() (*model.KeystoneListProjectPermissionsForGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListProjectPermissionsForGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListProjects(request *model.KeystoneListProjectsRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListProjects() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/projects") + WithPath("/v3/projects"). + WithResponse(new(model.KeystoneListProjectsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("parent_id"). + WithName("ParentId"). + WithJsonTag("parent_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enabled"). + WithName("Enabled"). + WithJsonTag("enabled"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("is_domain"). + WithName("IsDomain"). + WithJsonTag("is_domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("per_page"). + WithName("PerPage"). + WithJsonTag("per_page"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListProjects() (*model.KeystoneListProjectsResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListProjectsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListProjectsForUser(request *model.KeystoneListProjectsForUserRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListProjectsForUser() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/users/{user_id}/projects") + WithPath("/v3/users/{user_id}/projects"). + WithResponse(new(model.KeystoneListProjectsForUserResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListProjectsForUser() (*model.KeystoneListProjectsForUserResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListProjectsForUserResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListRegions(request *model.KeystoneListRegionsRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListProtocols() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/regions") + WithPath("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols"). + WithResponse(new(model.KeystoneListProtocolsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("IdpId"). + WithJsonTag("idp_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListRegions() (*model.KeystoneListRegionsResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListRegionsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneListRegions() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/regions"). + WithResponse(new(model.KeystoneListRegionsResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForKeystoneListServices(request *model.KeystoneListServicesRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListServices() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/services") + WithPath("/v3/services"). + WithResponse(new(model.KeystoneListServicesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForKeystoneListUsersForGroupByAdmin() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/groups/{group_id}/users"). + WithResponse(new(model.KeystoneListUsersForGroupByAdminResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListServices() (*model.KeystoneListServicesResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListServicesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneListVersions() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/"). + WithResponse(new(model.KeystoneListVersionsResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForKeystoneListUsersForGroupByAdmin(request *model.KeystoneListUsersForGroupByAdminRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneRemoveDomainPermissionFromGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v3/groups/{group_id}/users") + WithMethod(http.MethodDelete). + WithPath("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}"). + WithResponse(new(model.KeystoneRemoveDomainPermissionFromGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListUsersForGroupByAdmin() (*model.KeystoneListUsersForGroupByAdminResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListUsersForGroupByAdminResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListVersions(request *model.KeystoneListVersionsRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneRemoveProjectPermissionFromGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/") + WithMethod(http.MethodDelete). + WithPath("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}"). + WithResponse(new(model.KeystoneRemoveProjectPermissionFromGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RoleId"). + WithJsonTag("role_id"). + WithLocationType(def.Path)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListVersions() (*model.KeystoneListVersionsResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListVersionsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneRemoveDomainPermissionFromGroup(request *model.KeystoneRemoveDomainPermissionFromGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneRemoveUserFromGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/domains/{domain_id}/groups/{group_id}/roles/{role_id}") + WithPath("/v3/groups/{group_id}/users/{user_id}"). + WithResponse(new(model.KeystoneRemoveUserFromGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForKeystoneShowCatalog() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/auth/catalog"). + WithResponse(new(model.KeystoneShowCatalogResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForKeystoneShowEndpoint() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/endpoints/{endpoint_id}"). + WithResponse(new(model.KeystoneShowEndpointResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("EndpointId"). + WithJsonTag("endpoint_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneRemoveDomainPermissionFromGroup() (*model.KeystoneRemoveDomainPermissionFromGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneRemoveDomainPermissionFromGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneRemoveProjectPermissionFromGroup(request *model.KeystoneRemoveProjectPermissionFromGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodDelete). - WithPath("/v3/projects/{project_id}/groups/{group_id}/roles/{role_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). - WithLocationType(def.Path)) + WithMethod(http.MethodGet). + WithPath("/v3/groups/{group_id}"). + WithResponse(new(model.KeystoneShowGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneRemoveProjectPermissionFromGroup() (*model.KeystoneRemoveProjectPermissionFromGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneRemoveProjectPermissionFromGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneRemoveUserFromGroup(request *model.KeystoneRemoveUserFromGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowIdentityProvider() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodDelete). - WithPath("/v3/groups/{group_id}/users/{user_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). - WithLocationType(def.Path)) + WithMethod(http.MethodGet). + WithPath("/v3/OS-FEDERATION/identity_providers/{id}"). + WithResponse(new(model.KeystoneShowIdentityProviderResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneRemoveUserFromGroup() (*model.KeystoneRemoveUserFromGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneRemoveUserFromGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowCatalog(request *model.KeystoneShowCatalogRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowMapping() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/auth/catalog") + WithPath("/v3/OS-FEDERATION/mappings/{id}"). + WithResponse(new(model.KeystoneShowMappingResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowCatalog() (*model.KeystoneShowCatalogResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowCatalogResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowEndpoint(request *model.KeystoneShowEndpointRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowPermission() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/endpoints/{endpoint_id}") + WithPath("/v3/roles/{role_id}"). + WithResponse(new(model.KeystoneShowPermissionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("endpoint_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowEndpoint() (*model.KeystoneShowEndpointResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowEndpointResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowGroup(request *model.KeystoneShowGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/groups/{group_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). - WithLocationType(def.Path)) + WithPath("/v3/projects/{project_id}"). + WithResponse(new(model.KeystoneShowProjectResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowGroup() (*model.KeystoneShowGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowPermission(request *model.KeystoneShowPermissionRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowProtocol() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/roles/{role_id}") + WithPath("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}"). + WithResponse(new(model.KeystoneShowProtocolResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("IdpId"). + WithJsonTag("idp_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProtocolId"). + WithJsonTag("protocol_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowPermission() (*model.KeystoneShowPermissionResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowPermissionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowProject(request *model.KeystoneShowProjectRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowRegion() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/projects/{project_id}") + WithPath("/v3/regions/{region_id}"). + WithResponse(new(model.KeystoneShowRegionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RegionId"). + WithJsonTag("region_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForKeystoneShowSecurityCompliance() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/domains/{domain_id}/config/security_compliance"). + WithResponse(new(model.KeystoneShowSecurityComplianceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowProject() (*model.KeystoneShowProjectResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowProjectResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowRegion(request *model.KeystoneShowRegionRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowSecurityComplianceByOption() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/regions/{region_id}") + WithPath("/v3/domains/{domain_id}/config/security_compliance/{option}"). + WithResponse(new(model.KeystoneShowSecurityComplianceByOptionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("Option"). + WithJsonTag("option"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowRegion() (*model.KeystoneShowRegionResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowRegionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowSecurityCompliance(request *model.KeystoneShowSecurityComplianceRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowService() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/domains/{domain_id}/config/security_compliance") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithPath("/v3/services/{service_id}"). + WithResponse(new(model.KeystoneShowServiceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ServiceId"). + WithJsonTag("service_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowSecurityCompliance() (*model.KeystoneShowSecurityComplianceResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowSecurityComplianceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneShowVersion() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3"). + WithResponse(new(model.KeystoneShowVersionResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForKeystoneShowSecurityComplianceByOption(request *model.KeystoneShowSecurityComplianceByOptionRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneUpdateGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v3/domains/{domain_id}/config/security_compliance/{option}") + WithMethod(http.MethodPatch). + WithPath("/v3/groups/{group_id}"). + WithResponse(new(model.KeystoneUpdateGroupResponse)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("option"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowSecurityComplianceByOption() (*model.KeystoneShowSecurityComplianceByOptionResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowSecurityComplianceByOptionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowService(request *model.KeystoneShowServiceRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneUpdateIdentityProvider() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v3/services/{service_id}") + WithMethod(http.MethodPatch). + WithPath("/v3/OS-FEDERATION/identity_providers/{id}"). + WithResponse(new(model.KeystoneUpdateIdentityProviderResponse)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("service_id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowService() (*model.KeystoneShowServiceResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowServiceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowVersion(request *model.KeystoneShowVersionRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneUpdateMapping() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v3") + WithMethod(http.MethodPatch). + WithPath("/v3/OS-FEDERATION/mappings/{id}"). + WithResponse(new(model.KeystoneUpdateMappingResponse)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowVersion() (*model.KeystoneShowVersionResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowVersionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneUpdateGroup(request *model.KeystoneUpdateGroupRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneUpdateProject() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPatch). - WithPath("/v3/groups/{group_id}"). + WithPath("/v3/projects/{project_id}"). + WithResponse(new(model.KeystoneUpdateProjectResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneUpdateGroup() (*model.KeystoneUpdateGroupResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneUpdateGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneUpdateProject(request *model.KeystoneUpdateProjectRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneUpdateProtocol() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPatch). - WithPath("/v3/projects/{project_id}"). + WithPath("/v3/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}"). + WithResponse(new(model.KeystoneUpdateProtocolResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("IdpId"). + WithJsonTag("idp_id"). WithLocationType(def.Path)) - - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProtocolId"). + WithJsonTag("protocol_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneUpdateProject() (*model.KeystoneUpdateProjectResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneUpdateProjectResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListAgencies(request *model.ListAgenciesRequest) *def.HttpRequestDef { +func GenReqDefForListAgencies() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-AGENCY/agencies") + WithPath("/v3.0/OS-AGENCY/agencies"). + WithResponse(new(model.ListAgenciesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("trust_domain_id"). + WithName("TrustDomainId"). + WithJsonTag("trust_domain_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListAgencies() (*model.ListAgenciesResponse, *def.HttpResponseDef) { - resp := new(model.ListAgenciesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListAllProjectsPermissionsForAgency(request *model.ListAllProjectsPermissionsForAgencyRequest) *def.HttpRequestDef { +func GenReqDefForListAllProjectsPermissionsForAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/inherited_to_projects") + WithPath("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/inherited_to_projects"). + WithResponse(new(model.ListAllProjectsPermissionsForAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListAllProjectsPermissionsForAgency() (*model.ListAllProjectsPermissionsForAgencyResponse, *def.HttpResponseDef) { - resp := new(model.ListAllProjectsPermissionsForAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListCustomPolicies(request *model.ListCustomPoliciesRequest) *def.HttpRequestDef { +func GenReqDefForListCustomPolicies() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-ROLE/roles") + WithPath("/v3.0/OS-ROLE/roles"). + WithResponse(new(model.ListCustomPoliciesResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListCustomPolicies() (*model.ListCustomPoliciesResponse, *def.HttpResponseDef) { - resp := new(model.ListCustomPoliciesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListDomainPermissionsForAgency(request *model.ListDomainPermissionsForAgencyRequest) *def.HttpRequestDef { +func GenReqDefForListDomainPermissionsForAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles") + WithPath("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles"). + WithResponse(new(model.ListDomainPermissionsForAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListDomainPermissionsForAgency() (*model.ListDomainPermissionsForAgencyResponse, *def.HttpResponseDef) { - resp := new(model.ListDomainPermissionsForAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListProjectPermissionsForAgency(request *model.ListProjectPermissionsForAgencyRequest) *def.HttpRequestDef { +func GenReqDefForListProjectPermissionsForAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles") + WithPath("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles"). + WithResponse(new(model.ListProjectPermissionsForAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListProjectPermissionsForAgency() (*model.ListProjectPermissionsForAgencyResponse, *def.HttpResponseDef) { - resp := new(model.ListProjectPermissionsForAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRemoveAllProjectsPermissionFromAgency(request *model.RemoveAllProjectsPermissionFromAgencyRequest) *def.HttpRequestDef { +func GenReqDefForRemoveAllProjectsPermissionFromAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects") + WithPath("/v3.0/OS-INHERIT/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}/inherited_to_projects"). + WithResponse(new(model.RemoveAllProjectsPermissionFromAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRemoveAllProjectsPermissionFromAgency() (*model.RemoveAllProjectsPermissionFromAgencyResponse, *def.HttpResponseDef) { - resp := new(model.RemoveAllProjectsPermissionFromAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRemoveDomainPermissionFromAgency(request *model.RemoveDomainPermissionFromAgencyRequest) *def.HttpRequestDef { +func GenReqDefForRemoveDomainPermissionFromAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}") + WithPath("/v3.0/OS-AGENCY/domains/{domain_id}/agencies/{agency_id}/roles/{role_id}"). + WithResponse(new(model.RemoveDomainPermissionFromAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRemoveDomainPermissionFromAgency() (*model.RemoveDomainPermissionFromAgencyResponse, *def.HttpResponseDef) { - resp := new(model.RemoveDomainPermissionFromAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRemoveProjectPermissionFromAgency(request *model.RemoveProjectPermissionFromAgencyRequest) *def.HttpRequestDef { +func GenReqDefForRemoveProjectPermissionFromAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}") + WithPath("/v3.0/OS-AGENCY/projects/{project_id}/agencies/{agency_id}/roles/{role_id}"). + WithResponse(new(model.RemoveProjectPermissionFromAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRemoveProjectPermissionFromAgency() (*model.RemoveProjectPermissionFromAgencyResponse, *def.HttpResponseDef) { - resp := new(model.RemoveProjectPermissionFromAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowAgency(request *model.ShowAgencyRequest) *def.HttpRequestDef { +func GenReqDefForShowAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-AGENCY/agencies/{agency_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-AGENCY/agencies/{agency_id}"). + WithResponse(new(model.ShowAgencyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowAgency() (*model.ShowAgencyResponse, *def.HttpResponseDef) { - resp := new(model.ShowAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowCustomPolicy(request *model.ShowCustomPolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowCustomPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-ROLE/roles/{role_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-ROLE/roles/{role_id}"). + WithResponse(new(model.ShowCustomPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCustomPolicy() (*model.ShowCustomPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowCustomPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDomainApiAclPolicy(request *model.ShowDomainApiAclPolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowDomainApiAclPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policy") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policy"). + WithResponse(new(model.ShowDomainApiAclPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDomainApiAclPolicy() (*model.ShowDomainApiAclPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowDomainApiAclPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDomainConsoleAclPolicy(request *model.ShowDomainConsoleAclPolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowDomainConsoleAclPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policy") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policy"). + WithResponse(new(model.ShowDomainConsoleAclPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDomainConsoleAclPolicy() (*model.ShowDomainConsoleAclPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowDomainConsoleAclPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDomainLoginPolicy(request *model.ShowDomainLoginPolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowDomainLoginPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policy") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policy"). + WithResponse(new(model.ShowDomainLoginPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDomainLoginPolicy() (*model.ShowDomainLoginPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowDomainLoginPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDomainPasswordPolicy(request *model.ShowDomainPasswordPolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowDomainPasswordPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policy") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policy"). + WithResponse(new(model.ShowDomainPasswordPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDomainPasswordPolicy() (*model.ShowDomainPasswordPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowDomainPasswordPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDomainProtectPolicy(request *model.ShowDomainProtectPolicyRequest) *def.HttpRequestDef { +func GenReqDefForShowDomainProtectPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policy") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policy"). + WithResponse(new(model.ShowDomainProtectPolicyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDomainProtectPolicy() (*model.ShowDomainProtectPolicyResponse, *def.HttpResponseDef) { - resp := new(model.ShowDomainProtectPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowDomainQuota(request *model.ShowDomainQuotaRequest) *def.HttpRequestDef { +func GenReqDefForShowDomainQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-QUOTA/domains/{domain_id}") + WithPath("/v3.0/OS-QUOTA/domains/{domain_id}"). + WithResponse(new(model.ShowDomainQuotaResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowDomainQuota() (*model.ShowDomainQuotaResponse, *def.HttpResponseDef) { - resp := new(model.ShowDomainQuotaResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowProjectDetailsAndStatus(request *model.ShowProjectDetailsAndStatusRequest) *def.HttpRequestDef { +func GenReqDefForShowMetadata() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3-ext/projects/{project_id}") + WithPath("/v3-ext/OS-FEDERATION/identity_providers/{idp_id}/protocols/{protocol_id}/metadata"). + WithResponse(new(model.ShowMetadataResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("IdpId"). + WithJsonTag("idp_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProtocolId"). + WithJsonTag("protocol_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowProjectDetailsAndStatus() (*model.ShowProjectDetailsAndStatusResponse, *def.HttpResponseDef) { - resp := new(model.ShowProjectDetailsAndStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForShowProjectDetailsAndStatus() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3-ext/projects/{project_id}"). + WithResponse(new(model.ShowProjectDetailsAndStatusResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForShowProjectQuota(request *model.ShowProjectQuotaRequest) *def.HttpRequestDef { +func GenReqDefForShowProjectQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-QUOTA/projects/{project_id}") + WithPath("/v3.0/OS-QUOTA/projects/{project_id}"). + WithResponse(new(model.ShowProjectQuotaResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowProjectQuota() (*model.ShowProjectQuotaResponse, *def.HttpResponseDef) { - resp := new(model.ShowProjectQuotaResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateAgency(request *model.UpdateAgencyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3.0/OS-AGENCY/agencies/{agency_id}"). + WithResponse(new(model.UpdateAgencyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("agency_id"). + WithName("AgencyId"). + WithJsonTag("agency_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateAgency() (*model.UpdateAgencyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateAgencyCustomPolicy(request *model.UpdateAgencyCustomPolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateAgencyCustomPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPatch). WithPath("/v3.0/OS-ROLE/roles/{role_id}"). + WithResponse(new(model.UpdateAgencyCustomPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateAgencyCustomPolicy() (*model.UpdateAgencyCustomPolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateAgencyCustomPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateCloudServiceCustomPolicy(request *model.UpdateCloudServiceCustomPolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateCloudServiceCustomPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPatch). WithPath("/v3.0/OS-ROLE/roles/{role_id}"). + WithResponse(new(model.UpdateCloudServiceCustomPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("role_id"). + WithName("RoleId"). + WithJsonTag("role_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateCloudServiceCustomPolicy() (*model.UpdateCloudServiceCustomPolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateCloudServiceCustomPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateDomainApiAclPolicy(request *model.UpdateDomainApiAclPolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateDomainApiAclPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/api-acl-policy"). + WithResponse(new(model.UpdateDomainApiAclPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateDomainApiAclPolicy() (*model.UpdateDomainApiAclPolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateDomainApiAclPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateDomainConsoleAclPolicy(request *model.UpdateDomainConsoleAclPolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateDomainConsoleAclPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/console-acl-policy"). + WithResponse(new(model.UpdateDomainConsoleAclPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateDomainConsoleAclPolicy() (*model.UpdateDomainConsoleAclPolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateDomainConsoleAclPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateDomainLoginPolicy(request *model.UpdateDomainLoginPolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateDomainLoginPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/login-policy"). + WithResponse(new(model.UpdateDomainLoginPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateDomainLoginPolicy() (*model.UpdateDomainLoginPolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateDomainLoginPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateDomainPasswordPolicy(request *model.UpdateDomainPasswordPolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateDomainPasswordPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/password-policy"). + WithResponse(new(model.UpdateDomainPasswordPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateDomainPasswordPolicy() (*model.UpdateDomainPasswordPolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateDomainPasswordPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateDomainProtectPolicy(request *model.UpdateDomainProtectPolicyRequest) *def.HttpRequestDef { +func GenReqDefForUpdateDomainProtectPolicy() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3.0/OS-SECURITYPOLICY/domains/{domain_id}/protect-policy"). + WithResponse(new(model.UpdateDomainProtectPolicyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateDomainProtectPolicy() (*model.UpdateDomainProtectPolicyResponse, *def.HttpResponseDef) { - resp := new(model.UpdateDomainProtectPolicyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateProjectStatus(request *model.UpdateProjectStatusRequest) *def.HttpRequestDef { +func GenReqDefForUpdateProjectStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3-ext/projects/{project_id}"). + WithResponse(new(model.UpdateProjectStatusResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateProjectStatus() (*model.UpdateProjectStatusResponse, *def.HttpResponseDef) { - resp := new(model.UpdateProjectStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePermanentAccessKey(request *model.CreatePermanentAccessKeyRequest) *def.HttpRequestDef { +func GenReqDefForCreatePermanentAccessKey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3.0/OS-CREDENTIAL/credentials"). + WithResponse(new(model.CreatePermanentAccessKeyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePermanentAccessKey() (*model.CreatePermanentAccessKeyResponse, *def.HttpResponseDef) { - resp := new(model.CreatePermanentAccessKeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateTemporaryAccessKeyByAgency(request *model.CreateTemporaryAccessKeyByAgencyRequest) *def.HttpRequestDef { +func GenReqDefForCreateTemporaryAccessKeyByAgency() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3.0/OS-CREDENTIAL/securitytokens"). + WithResponse(new(model.CreateTemporaryAccessKeyByAgencyResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateTemporaryAccessKeyByAgency() (*model.CreateTemporaryAccessKeyByAgencyResponse, *def.HttpResponseDef) { - resp := new(model.CreateTemporaryAccessKeyByAgencyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateTemporaryAccessKeyByToken(request *model.CreateTemporaryAccessKeyByTokenRequest) *def.HttpRequestDef { +func GenReqDefForCreateTemporaryAccessKeyByToken() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3.0/OS-CREDENTIAL/securitytokens"). + WithResponse(new(model.CreateTemporaryAccessKeyByTokenResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateTemporaryAccessKeyByToken() (*model.CreateTemporaryAccessKeyByTokenResponse, *def.HttpResponseDef) { - resp := new(model.CreateTemporaryAccessKeyByTokenResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePermanentAccessKey(request *model.DeletePermanentAccessKeyRequest) *def.HttpRequestDef { +func GenReqDefForDeletePermanentAccessKey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3.0/OS-CREDENTIAL/credentials/{access_key}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("access_key"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-CREDENTIAL/credentials/{access_key}"). + WithResponse(new(model.DeletePermanentAccessKeyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("AccessKey"). + WithJsonTag("access_key"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePermanentAccessKey() (*model.DeletePermanentAccessKeyResponse, *def.HttpResponseDef) { - resp := new(model.DeletePermanentAccessKeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPermanentAccessKeys(request *model.ListPermanentAccessKeysRequest) *def.HttpRequestDef { +func GenReqDefForListPermanentAccessKeys() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-CREDENTIAL/credentials") + WithPath("/v3.0/OS-CREDENTIAL/credentials"). + WithResponse(new(model.ListPermanentAccessKeysResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("UserId"). + WithJsonTag("user_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPermanentAccessKeys() (*model.ListPermanentAccessKeysResponse, *def.HttpResponseDef) { - resp := new(model.ListPermanentAccessKeysResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPermanentAccessKey(request *model.ShowPermanentAccessKeyRequest) *def.HttpRequestDef { +func GenReqDefForShowPermanentAccessKey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-CREDENTIAL/credentials/{access_key}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("access_key"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-CREDENTIAL/credentials/{access_key}"). + WithResponse(new(model.ShowPermanentAccessKeyResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("AccessKey"). + WithJsonTag("access_key"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPermanentAccessKey() (*model.ShowPermanentAccessKeyResponse, *def.HttpResponseDef) { - resp := new(model.ShowPermanentAccessKeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePermanentAccessKey(request *model.UpdatePermanentAccessKeyRequest) *def.HttpRequestDef { +func GenReqDefForUpdatePermanentAccessKey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3.0/OS-CREDENTIAL/credentials/{access_key}"). + WithResponse(new(model.UpdatePermanentAccessKeyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("access_key"). + WithName("AccessKey"). + WithJsonTag("access_key"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdatePermanentAccessKey() (*model.UpdatePermanentAccessKeyResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePermanentAccessKeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateUser(request *model.CreateUserRequest) *def.HttpRequestDef { +func GenReqDefForCreateUser() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3.0/OS-USER/users"). + WithResponse(new(model.CreateUserResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateUser() (*model.CreateUserResponse, *def.HttpResponseDef) { - resp := new(model.CreateUserResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneCreateUser(request *model.KeystoneCreateUserRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneCreateUser() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/users"). + WithResponse(new(model.KeystoneCreateUserResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneCreateUser() (*model.KeystoneCreateUserResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneCreateUserResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneDeleteUser(request *model.KeystoneDeleteUserRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneDeleteUser() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/users/{user_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). - WithLocationType(def.Path)) + WithPath("/v3/users/{user_id}"). + WithResponse(new(model.KeystoneDeleteUserResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneDeleteUser() (*model.KeystoneDeleteUserResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneDeleteUserResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListGroupsForUser(request *model.KeystoneListGroupsForUserRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListGroupsForUser() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/users/{user_id}/groups") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). - WithLocationType(def.Path)) + WithPath("/v3/users/{user_id}/groups"). + WithResponse(new(model.KeystoneListGroupsForUserResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListGroupsForUser() (*model.KeystoneListGroupsForUserResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListGroupsForUserResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneListUsers(request *model.KeystoneListUsersRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneListUsers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/users") + WithPath("/v3/users"). + WithResponse(new(model.KeystoneListUsersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("DomainId"). + WithJsonTag("domain_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enabled"). + WithName("Enabled"). + WithJsonTag("enabled"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("password_expires_at"). + WithName("PasswordExpiresAt"). + WithJsonTag("password_expires_at"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneListUsers() (*model.KeystoneListUsersResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneListUsersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneShowUser(request *model.KeystoneShowUserRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneShowUser() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/users/{user_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). - WithLocationType(def.Path)) + WithPath("/v3/users/{user_id}"). + WithResponse(new(model.KeystoneShowUserResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneShowUser() (*model.KeystoneShowUserResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneShowUserResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneUpdateUserByAdmin(request *model.KeystoneUpdateUserByAdminRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneUpdateUserByAdmin() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPatch). WithPath("/v3/users/{user_id}"). + WithResponse(new(model.KeystoneUpdateUserByAdminResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneUpdateUserByAdmin() (*model.KeystoneUpdateUserByAdminResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneUpdateUserByAdminResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForKeystoneUpdateUserPassword(request *model.KeystoneUpdateUserPasswordRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneUpdateUserPassword() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/users/{user_id}/password"). + WithResponse(new(model.KeystoneUpdateUserPasswordResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForKeystoneUpdateUserPassword() (*model.KeystoneUpdateUserPasswordResponse, *def.HttpResponseDef) { - resp := new(model.KeystoneUpdateUserPasswordResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListUserLoginProtects(request *model.ListUserLoginProtectsRequest) *def.HttpRequestDef { +func GenReqDefForListUserLoginProtects() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-USER/login-protects") + WithPath("/v3.0/OS-USER/login-protects"). + WithResponse(new(model.ListUserLoginProtectsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListUserLoginProtects() (*model.ListUserLoginProtectsResponse, *def.HttpResponseDef) { - resp := new(model.ListUserLoginProtectsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForListUserMfaDevices() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3.0/OS-MFA/virtual-mfa-devices"). + WithResponse(new(model.ListUserMfaDevicesResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForListUserMfaDevices(request *model.ListUserMfaDevicesRequest) *def.HttpRequestDef { +func GenReqDefForShowUser() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-MFA/virtual-mfa-devices") + WithPath("/v3.0/OS-USER/users/{user_id}"). + WithResponse(new(model.ShowUserResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListUserMfaDevices() (*model.ListUserMfaDevicesResponse, *def.HttpResponseDef) { - resp := new(model.ListUserMfaDevicesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowUser(request *model.ShowUserRequest) *def.HttpRequestDef { +func GenReqDefForShowUserLoginProtect() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-USER/users/{user_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). - WithLocationType(def.Path)) + WithPath("/v3.0/OS-USER/users/{user_id}/login-protect"). + WithResponse(new(model.ShowUserLoginProtectResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowUser() (*model.ShowUserResponse, *def.HttpResponseDef) { - resp := new(model.ShowUserResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowUserLoginProtect(request *model.ShowUserLoginProtectRequest) *def.HttpRequestDef { +func GenReqDefForShowUserMfaDevice() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3.0/OS-USER/users/{user_id}/login-protect") + WithPath("/v3.0/OS-MFA/users/{user_id}/virtual-mfa-device"). + WithResponse(new(model.ShowUserMfaDeviceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowUserLoginProtect() (*model.ShowUserLoginProtectResponse, *def.HttpResponseDef) { - resp := new(model.ShowUserLoginProtectResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowUserMfaDevice(request *model.ShowUserMfaDeviceRequest) *def.HttpRequestDef { +func GenReqDefForUpdateUser() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v3.0/OS-MFA/users/{user_id}/virtual-mfa-device") + WithMethod(http.MethodPut). + WithPath("/v3.0/OS-USER/users/{user_id}"). + WithResponse(new(model.UpdateUserResponse)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowUserMfaDevice() (*model.ShowUserMfaDeviceResponse, *def.HttpResponseDef) { - resp := new(model.ShowUserMfaDeviceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateUser(request *model.UpdateUserRequest) *def.HttpRequestDef { +func GenReqDefForUpdateUserInformation() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v3.0/OS-USER/users/{user_id}"). + WithPath("/v3.0/OS-USER/users/{user_id}/info"). + WithResponse(new(model.UpdateUserInformationResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). + WithName("UserId"). + WithJsonTag("user_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateUser() (*model.UpdateUserResponse, *def.HttpResponseDef) { - resp := new(model.UpdateUserResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneCreateAgencyToken() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3/auth/tokens"). + WithResponse(new(model.KeystoneCreateAgencyTokenResponse)). + WithContentType("application/json;charset=UTF-8") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Nocatalog"). + WithJsonTag("nocatalog"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XSubjectToken"). + WithJsonTag("X-Subject-Token"). + WithKindName("string"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForUpdateUserInformation(request *model.UpdateUserInformationRequest) *def.HttpRequestDef { +func GenReqDefForKeystoneCreateUserTokenByPassword() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodPut). - WithPath("/v3.0/OS-USER/users/{user_id}/info"). + WithMethod(http.MethodPost). + WithPath("/v3/auth/tokens"). + WithResponse(new(model.KeystoneCreateUserTokenByPasswordResponse)). WithContentType("application/json;charset=UTF-8") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("user_id"). - WithLocationType(def.Path)) + WithName("Nocatalog"). + WithJsonTag("nocatalog"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XSubjectToken"). + WithJsonTag("X-Subject-Token"). + WithKindName("string"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForKeystoneCreateUserTokenByPasswordAndMfa() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3/auth/tokens"). + WithResponse(new(model.KeystoneCreateUserTokenByPasswordAndMfaResponse)). + WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Nocatalog"). + WithJsonTag("nocatalog"). + WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response + + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XSubjectToken"). + WithJsonTag("X-Subject-Token"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateUserInformation() (*model.UpdateUserInformationResponse, *def.HttpResponseDef) { - resp := new(model.UpdateUserInformationResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForKeystoneValidateToken() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/auth/tokens"). + WithResponse(new(model.KeystoneValidateTokenResponse)) + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Nocatalog"). + WithJsonTag("nocatalog"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XSubjectToken"). + WithJsonTag("X-Subject-Token"). + WithLocationType(def.Header)) + + // response + + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XSubjectToken"). + WithJsonTag("X-Subject-Token"). + WithKindName("string"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef } diff --git a/services/iam/v3/model/model_agency_assumedby.go b/services/iam/v3/model/model_agency_assumedby.go new file mode 100644 index 0000000000..02b58c18d4 --- /dev/null +++ b/services/iam/v3/model/model_agency_assumedby.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyAssumedby struct { + User *AgencyAssumedbyUser `json:"user"` +} + +func (o AgencyAssumedby) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyAssumedby", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_assumedby_user.go b/services/iam/v3/model/model_agency_assumedby_user.go new file mode 100644 index 0000000000..6a87c4b2fb --- /dev/null +++ b/services/iam/v3/model/model_agency_assumedby_user.go @@ -0,0 +1,30 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyAssumedbyUser struct { + // 被委托方B中IAM用户的用户名。 + Name string `json:"name"` + // 被委托方B中IAM用户的用户ID。 + Id string `json:"id"` + Domain *AgencyAssumedbyUserDomain `json:"domain"` + // 被委托方B中IAM用户的密码过期时间(UTC时间),“”表示密码不过期。 + PasswordExpiresAt string `json:"password_expires_at"` +} + +func (o AgencyAssumedbyUser) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyAssumedbyUser", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_assumedby_user_domain.go b/services/iam/v3/model/model_agency_assumedby_user_domain.go new file mode 100644 index 0000000000..9a6f69dc4d --- /dev/null +++ b/services/iam/v3/model/model_agency_assumedby_user_domain.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyAssumedbyUserDomain struct { + // 被委托方B的账号名称。 + Name string `json:"name"` + // 被委托方B的账号ID。 + Id string `json:"id"` +} + +func (o AgencyAssumedbyUserDomain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyAssumedbyUserDomain", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_assumerole.go b/services/iam/v3/model/model_agency_token_assumerole.go new file mode 100644 index 0000000000..0dbe5d5cc6 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_assumerole.go @@ -0,0 +1,29 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenAssumerole struct { + // 委托方A的账号ID。“domain_id”与“domain_name”至少填写一个。 + DomainId *string `json:"domain_id,omitempty"` + // 委托方A的账号名称。“domain_id”与“domain_name”至少填写一个。 + DomainName *string `json:"domain_name,omitempty"` + // 委托方A创建的委托的名称。 + AgencyName string `json:"agency_name"` +} + +func (o AgencyTokenAssumerole) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenAssumerole", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_auth.go b/services/iam/v3/model/model_agency_token_auth.go new file mode 100644 index 0000000000..13192b1e82 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_auth.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenAuth struct { + Identity *AgencyTokenIdentity `json:"identity"` + Scope *AgencyTokenScope `json:"scope"` +} + +func (o AgencyTokenAuth) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenAuth", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_domain.go b/services/iam/v3/model/model_agency_token_domain.go new file mode 100644 index 0000000000..f6ba44dd8c --- /dev/null +++ b/services/iam/v3/model/model_agency_token_domain.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenDomain struct { + // 委托方A的账号名称。 + Name string `json:"name"` + // 委托方A的账号ID。 + Id string `json:"id"` +} + +func (o AgencyTokenDomain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenDomain", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_identity.go b/services/iam/v3/model/model_agency_token_identity.go new file mode 100644 index 0000000000..c992c03d91 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_identity.go @@ -0,0 +1,61 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// +type AgencyTokenIdentity struct { + // token的获取方式,该字段内容为[\"assume_role\"]。 + Methods []AgencyTokenIdentityMethods `json:"methods"` + AssumeRole *AgencyTokenAssumerole `json:"assume_role"` +} + +func (o AgencyTokenIdentity) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenIdentity", string(data)}, " ") +} + +type AgencyTokenIdentityMethods struct { + value string +} + +type AgencyTokenIdentityMethodsEnum struct { + ASSUME_ROLE AgencyTokenIdentityMethods +} + +func GetAgencyTokenIdentityMethodsEnum() AgencyTokenIdentityMethodsEnum { + return AgencyTokenIdentityMethodsEnum{ + ASSUME_ROLE: AgencyTokenIdentityMethods{ + value: "assume_role", + }, + } +} + +func (c AgencyTokenIdentityMethods) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *AgencyTokenIdentityMethods) 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/services/iam/v3/model/model_agency_token_project.go b/services/iam/v3/model/model_agency_token_project.go new file mode 100644 index 0000000000..f266383380 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_project.go @@ -0,0 +1,28 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenProject struct { + // 委托方A的项目名称。 + Name string `json:"name"` + // 委托方A的项目ID。 + Id string `json:"id"` + Domain *AgencyTokenProjectDomain `json:"domain"` +} + +func (o AgencyTokenProject) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenProject", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_project_domain.go b/services/iam/v3/model/model_agency_token_project_domain.go new file mode 100644 index 0000000000..1eab618e73 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_project_domain.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenProjectDomain struct { + // 委托方A的账号名称。 + Name string `json:"name"` + // 委托方A的账号ID。 + Id string `json:"id"` +} + +func (o AgencyTokenProjectDomain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenProjectDomain", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_result.go b/services/iam/v3/model/model_agency_token_result.go new file mode 100644 index 0000000000..d1e7763dd3 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_result.go @@ -0,0 +1,37 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenResult struct { + // 获取token的方式。 + Methods []string `json:"methods"` + // token到期时间。 + ExpiresAt string `json:"expires_at"` + // token下发时间。 + IssuedAt string `json:"issued_at"` + AssumedBy *AgencyAssumedby `json:"assumed_by"` + // 服务目录信息。 + Catalog *[]TokenCatalog `json:"catalog,omitempty"` + Domain *AgencyTokenDomain `json:"domain,omitempty"` + Project *AgencyTokenProject `json:"project,omitempty"` + // 委托token的权限信息。 + Roles []TokenRole `json:"roles"` + User *AgencyTokenUser `json:"user"` +} + +func (o AgencyTokenResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_scope.go b/services/iam/v3/model/model_agency_token_scope.go new file mode 100644 index 0000000000..7421af2a7e --- /dev/null +++ b/services/iam/v3/model/model_agency_token_scope.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenScope struct { + Domain *AgencyTokenScopeDomain `json:"domain,omitempty"` + Project *AgencyTokenScopeProject `json:"project,omitempty"` +} + +func (o AgencyTokenScope) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenScope", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_scope_domain.go b/services/iam/v3/model/model_agency_token_scope_domain.go new file mode 100644 index 0000000000..7309890630 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_scope_domain.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenScopeDomain struct { + // 委托方A的账号ID,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 + Id *string `json:"id,omitempty"` + // 委托方A的账号名,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 + Name *string `json:"name,omitempty"` +} + +func (o AgencyTokenScopeDomain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenScopeDomain", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_scope_project.go b/services/iam/v3/model/model_agency_token_scope_project.go new file mode 100644 index 0000000000..fb26b8c721 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_scope_project.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenScopeProject struct { + // 委托方A项目的ID,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 + Id *string `json:"id,omitempty"` + // 委托方A项目的名称,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 + Name *string `json:"name,omitempty"` +} + +func (o AgencyTokenScopeProject) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenScopeProject", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_user.go b/services/iam/v3/model/model_agency_token_user.go new file mode 100644 index 0000000000..f1bfd32415 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_user.go @@ -0,0 +1,28 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenUser struct { + // 委托方A账号名/委托名。 + Name string `json:"name"` + // 委托ID。 + Id string `json:"id"` + Domain *AgencyTokenUserDomain `json:"domain"` +} + +func (o AgencyTokenUser) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenUser", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_agency_token_user_domain.go b/services/iam/v3/model/model_agency_token_user_domain.go new file mode 100644 index 0000000000..e4a17beb18 --- /dev/null +++ b/services/iam/v3/model/model_agency_token_user_domain.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AgencyTokenUserDomain struct { + // 委托方A的账号ID。 + Id string `json:"id"` + // 委托方A的账号名称。 + Name string `json:"name"` +} + +func (o AgencyTokenUserDomain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AgencyTokenUserDomain", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_auth_scope.go b/services/iam/v3/model/model_auth_scope.go new file mode 100644 index 0000000000..f75f5116bd --- /dev/null +++ b/services/iam/v3/model/model_auth_scope.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AuthScope struct { + Domain *AuthScopeDomain `json:"domain,omitempty"` + Project *AuthScopeProject `json:"project,omitempty"` +} + +func (o AuthScope) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AuthScope", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_auth_scope_domain.go b/services/iam/v3/model/model_auth_scope_domain.go new file mode 100644 index 0000000000..55f61d2451 --- /dev/null +++ b/services/iam/v3/model/model_auth_scope_domain.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AuthScopeDomain struct { + // IAM用户所属账号ID,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 + Id *string `json:"id,omitempty"` + // IAM用户所属账号名称,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 + Name *string `json:"name,omitempty"` +} + +func (o AuthScopeDomain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AuthScopeDomain", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_auth_scope_project.go b/services/iam/v3/model/model_auth_scope_project.go new file mode 100644 index 0000000000..25d19bab7f --- /dev/null +++ b/services/iam/v3/model/model_auth_scope_project.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type AuthScopeProject struct { + // IAM用户所属账号的项目ID,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 + Id *string `json:"id,omitempty"` + // IAM用户所属账号的项目名称,获取方式请参见:[获取账号、IAM用户、项目、用户组、委托的名称和ID](https://support.huaweicloud.com/api-iam/iam_17_0002.html)。 + Name *string `json:"name,omitempty"` +} + +func (o AuthScopeProject) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AuthScopeProject", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_create_login_token_request.go b/services/iam/v3/model/model_create_login_token_request.go new file mode 100644 index 0000000000..027f3e412c --- /dev/null +++ b/services/iam/v3/model/model_create_login_token_request.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateLoginTokenRequest struct { + Body *CreateLoginTokenRequestBody `json:"body,omitempty"` +} + +func (o CreateLoginTokenRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateLoginTokenRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_create_login_token_request_body.go b/services/iam/v3/model/model_create_login_token_request_body.go new file mode 100644 index 0000000000..5d65a22e89 --- /dev/null +++ b/services/iam/v3/model/model_create_login_token_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type CreateLoginTokenRequestBody struct { + Auth *LoginTokenAuth `json:"auth"` +} + +func (o CreateLoginTokenRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateLoginTokenRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_create_login_token_response.go b/services/iam/v3/model/model_create_login_token_response.go new file mode 100644 index 0000000000..a816ccc1c8 --- /dev/null +++ b/services/iam/v3/model/model_create_login_token_response.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateLoginTokenResponse struct { + Logintoken *LoginToken `json:"logintoken,omitempty"` + XSubjectLoginToken *string `json:"X-Subject-LoginToken,omitempty"` +} + +func (o CreateLoginTokenResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateLoginTokenResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_create_metadata_request.go b/services/iam/v3/model/model_create_metadata_request.go new file mode 100644 index 0000000000..237dff6dcd --- /dev/null +++ b/services/iam/v3/model/model_create_metadata_request.go @@ -0,0 +1,26 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateMetadataRequest struct { + IdpId string `json:"idp_id"` + ProtocolId string `json:"protocol_id"` + Body *CreateMetadataRequestBody `json:"body,omitempty"` +} + +func (o CreateMetadataRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateMetadataRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_create_metadata_request_body.go b/services/iam/v3/model/model_create_metadata_request_body.go new file mode 100644 index 0000000000..d0e89a18b9 --- /dev/null +++ b/services/iam/v3/model/model_create_metadata_request_body.go @@ -0,0 +1,29 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type CreateMetadataRequestBody struct { + // 用户所属账号ID。 + DomainId string `json:"domain_id"` + // 该字段为标识租户来源字段,默认为空。 + XaccountType string `json:"xaccount_type"` + // 该字段为用户IdP服务器的Metadata文件的内容。 + Metadata string `json:"metadata"` +} + +func (o CreateMetadataRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateMetadataRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_create_metadata_response.go b/services/iam/v3/model/model_create_metadata_response.go new file mode 100644 index 0000000000..17919ba3df --- /dev/null +++ b/services/iam/v3/model/model_create_metadata_response.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateMetadataResponse struct { + // 导入结果信息。 + Message *string `json:"message,omitempty"` +} + +func (o CreateMetadataResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateMetadataResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_create_unscope_token_by_idp_initiated_request.go b/services/iam/v3/model/model_create_unscope_token_by_idp_initiated_request.go new file mode 100644 index 0000000000..43015ff5e7 --- /dev/null +++ b/services/iam/v3/model/model_create_unscope_token_by_idp_initiated_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateUnscopeTokenByIdpInitiatedRequest struct { + XIdpId string `json:"X-Idp-Id"` + Body *interface{} `json:"body,omitempty"` +} + +func (o CreateUnscopeTokenByIdpInitiatedRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateUnscopeTokenByIdpInitiatedRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_create_unscope_token_by_idp_initiated_response.go b/services/iam/v3/model/model_create_unscope_token_by_idp_initiated_response.go new file mode 100644 index 0000000000..391f1495bd --- /dev/null +++ b/services/iam/v3/model/model_create_unscope_token_by_idp_initiated_response.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateUnscopeTokenByIdpInitiatedResponse struct { + Token *IdpToken `json:"token,omitempty"` + XSubjectToken *string `json:"X-Subject-Token,omitempty"` +} + +func (o CreateUnscopeTokenByIdpInitiatedResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateUnscopeTokenByIdpInitiatedResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_identityprovider_option.go b/services/iam/v3/model/model_identityprovider_option.go new file mode 100644 index 0000000000..463f65d3e5 --- /dev/null +++ b/services/iam/v3/model/model_identityprovider_option.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type IdentityproviderOption struct { + // 身份提供商描述信息。 + Description *string `json:"description,omitempty"` + // 身份提供商是否启用,true为启用,false为停用,默认为false。 + Enabled *bool `json:"enabled,omitempty"` +} + +func (o IdentityproviderOption) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IdentityproviderOption", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_identityproviders_links.go b/services/iam/v3/model/model_identityproviders_links.go new file mode 100644 index 0000000000..93f928f5aa --- /dev/null +++ b/services/iam/v3/model/model_identityproviders_links.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type IdentityprovidersLinks struct { + // 身份提供商的资源链接地址。 + Self string `json:"self"` + // 协议的资源链接地址。 + Protocols string `json:"protocols"` +} + +func (o IdentityprovidersLinks) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IdentityprovidersLinks", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_identityproviders_result.go b/services/iam/v3/model/model_identityproviders_result.go new file mode 100644 index 0000000000..4dac5b5144 --- /dev/null +++ b/services/iam/v3/model/model_identityproviders_result.go @@ -0,0 +1,32 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type IdentityprovidersResult struct { + // 身份提供商ID。 + Id string `json:"id"` + // 身份提供商描述信息。 + Description string `json:"description"` + // 身份提供商是否启用,true为启用,false为停用,默认为false。 + Enabled bool `json:"enabled"` + // 身份提供商的联邦用户ID列表。 + RemoteIds []string `json:"remote_ids"` + Links *IdentityprovidersLinks `json:"links"` +} + +func (o IdentityprovidersResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IdentityprovidersResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_idp_token.go b/services/iam/v3/model/model_idp_token.go new file mode 100644 index 0000000000..f93d21d560 --- /dev/null +++ b/services/iam/v3/model/model_idp_token.go @@ -0,0 +1,30 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type IdpToken struct { + // token产生时间。 + IssuedAt string `json:"issued_at"` + // token到期时间。 + ExpiresAt string `json:"expires_at"` + // 获取token的方式。 + Methods []string `json:"methods"` + User *UnscopedTokenUser `json:"user"` +} + +func (o IdpToken) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IdpToken", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_agency_token_request.go b/services/iam/v3/model/model_keystone_create_agency_token_request.go new file mode 100644 index 0000000000..cfe3be5c25 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_agency_token_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneCreateAgencyTokenRequest struct { + Nocatalog *string `json:"nocatalog,omitempty"` + Body *KeystoneCreateAgencyTokenRequestBody `json:"body,omitempty"` +} + +func (o KeystoneCreateAgencyTokenRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateAgencyTokenRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_agency_token_request_body.go b/services/iam/v3/model/model_keystone_create_agency_token_request_body.go new file mode 100644 index 0000000000..e1c3ab049d --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_agency_token_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneCreateAgencyTokenRequestBody struct { + Auth *AgencyTokenAuth `json:"auth"` +} + +func (o KeystoneCreateAgencyTokenRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateAgencyTokenRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_agency_token_response.go b/services/iam/v3/model/model_keystone_create_agency_token_response.go new file mode 100644 index 0000000000..7585bc3b60 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_agency_token_response.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneCreateAgencyTokenResponse struct { + Token *AgencyTokenResult `json:"token,omitempty"` + XSubjectToken *string `json:"X-Subject-Token,omitempty"` +} + +func (o KeystoneCreateAgencyTokenResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateAgencyTokenResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_identity_provider_request.go b/services/iam/v3/model/model_keystone_create_identity_provider_request.go new file mode 100644 index 0000000000..15460c006d --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_identity_provider_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneCreateIdentityProviderRequest struct { + Id string `json:"id"` + Body *KeystoneCreateIdentityProviderRequestBody `json:"body,omitempty"` +} + +func (o KeystoneCreateIdentityProviderRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateIdentityProviderRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_identity_provider_request_body.go b/services/iam/v3/model/model_keystone_create_identity_provider_request_body.go new file mode 100644 index 0000000000..07d68324ef --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_identity_provider_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneCreateIdentityProviderRequestBody struct { + IdentityProvider *IdentityproviderOption `json:"identity_provider"` +} + +func (o KeystoneCreateIdentityProviderRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateIdentityProviderRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_identity_provider_response.go b/services/iam/v3/model/model_keystone_create_identity_provider_response.go new file mode 100644 index 0000000000..2d53c27a71 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_identity_provider_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneCreateIdentityProviderResponse struct { + IdentityProvider *IdentityprovidersResult `json:"identity_provider,omitempty"` +} + +func (o KeystoneCreateIdentityProviderResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateIdentityProviderResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_mapping_request.go b/services/iam/v3/model/model_keystone_create_mapping_request.go new file mode 100644 index 0000000000..3d55422673 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_mapping_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneCreateMappingRequest struct { + Id string `json:"id"` + Body *KeystoneCreateMappingRequestBody `json:"body,omitempty"` +} + +func (o KeystoneCreateMappingRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateMappingRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_mapping_request_body.go b/services/iam/v3/model/model_keystone_create_mapping_request_body.go new file mode 100644 index 0000000000..8cd8b74247 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_mapping_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneCreateMappingRequestBody struct { + Mapping *MappingOption `json:"mapping"` +} + +func (o KeystoneCreateMappingRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateMappingRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_mapping_response.go b/services/iam/v3/model/model_keystone_create_mapping_response.go new file mode 100644 index 0000000000..d7b00a69b1 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_mapping_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneCreateMappingResponse struct { + Mapping *MappingResult `json:"mapping,omitempty"` +} + +func (o KeystoneCreateMappingResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateMappingResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_protocol_request.go b/services/iam/v3/model/model_keystone_create_protocol_request.go new file mode 100644 index 0000000000..bfabab0252 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_protocol_request.go @@ -0,0 +1,26 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneCreateProtocolRequest struct { + IdpId string `json:"idp_id"` + ProtocolId string `json:"protocol_id"` + Body *KeystoneCreateProtocolRequestBody `json:"body,omitempty"` +} + +func (o KeystoneCreateProtocolRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateProtocolRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_protocol_request_body.go b/services/iam/v3/model/model_keystone_create_protocol_request_body.go new file mode 100644 index 0000000000..5f75eb3502 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_protocol_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneCreateProtocolRequestBody struct { + Protocol *ProtocolOption `json:"protocol"` +} + +func (o KeystoneCreateProtocolRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateProtocolRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_protocol_response.go b/services/iam/v3/model/model_keystone_create_protocol_response.go new file mode 100644 index 0000000000..1e7799e673 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_protocol_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneCreateProtocolResponse struct { + Protocol *ProtocolResult `json:"protocol,omitempty"` +} + +func (o KeystoneCreateProtocolResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateProtocolResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_scoped_token_request.go b/services/iam/v3/model/model_keystone_create_scoped_token_request.go new file mode 100644 index 0000000000..e9990d0d92 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_scoped_token_request.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneCreateScopedTokenRequest struct { + Body *KeystoneCreateScopedTokenRequestBody `json:"body,omitempty"` +} + +func (o KeystoneCreateScopedTokenRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateScopedTokenRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_scoped_token_request_body.go b/services/iam/v3/model/model_keystone_create_scoped_token_request_body.go new file mode 100644 index 0000000000..60eb6ca640 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_scoped_token_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneCreateScopedTokenRequestBody struct { + Auth *ScopedTokenAuth `json:"auth"` +} + +func (o KeystoneCreateScopedTokenRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateScopedTokenRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_scoped_token_response.go b/services/iam/v3/model/model_keystone_create_scoped_token_response.go new file mode 100644 index 0000000000..6bcdc27116 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_scoped_token_response.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneCreateScopedTokenResponse struct { + Token *ScopeTokenResult `json:"token,omitempty"` + XSubjectToken *string `json:"X-Subject-Token,omitempty"` +} + +func (o KeystoneCreateScopedTokenResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateScopedTokenResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_request.go b/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_request.go new file mode 100644 index 0000000000..b5aef0d31d --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneCreateUserTokenByPasswordAndMfaRequest struct { + Nocatalog *string `json:"nocatalog,omitempty"` + Body *KeystoneCreateUserTokenByPasswordAndMfaRequestBody `json:"body,omitempty"` +} + +func (o KeystoneCreateUserTokenByPasswordAndMfaRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateUserTokenByPasswordAndMfaRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_request_body.go b/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_request_body.go new file mode 100644 index 0000000000..433d8399a2 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneCreateUserTokenByPasswordAndMfaRequestBody struct { + Auth *MfaAuth `json:"auth"` +} + +func (o KeystoneCreateUserTokenByPasswordAndMfaRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateUserTokenByPasswordAndMfaRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_response.go b/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_response.go new file mode 100644 index 0000000000..e69f14eb9e --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_user_token_by_password_and_mfa_response.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneCreateUserTokenByPasswordAndMfaResponse struct { + Token *TokenResult `json:"token,omitempty"` + XSubjectToken *string `json:"X-Subject-Token,omitempty"` +} + +func (o KeystoneCreateUserTokenByPasswordAndMfaResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateUserTokenByPasswordAndMfaResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_user_token_by_password_request.go b/services/iam/v3/model/model_keystone_create_user_token_by_password_request.go new file mode 100644 index 0000000000..495011fc4a --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_user_token_by_password_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneCreateUserTokenByPasswordRequest struct { + Nocatalog *string `json:"nocatalog,omitempty"` + Body *KeystoneCreateUserTokenByPasswordRequestBody `json:"body,omitempty"` +} + +func (o KeystoneCreateUserTokenByPasswordRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateUserTokenByPasswordRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_user_token_by_password_request_body.go b/services/iam/v3/model/model_keystone_create_user_token_by_password_request_body.go new file mode 100644 index 0000000000..0b7371897e --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_user_token_by_password_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneCreateUserTokenByPasswordRequestBody struct { + Auth *PwdAuth `json:"auth"` +} + +func (o KeystoneCreateUserTokenByPasswordRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateUserTokenByPasswordRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_create_user_token_by_password_response.go b/services/iam/v3/model/model_keystone_create_user_token_by_password_response.go new file mode 100644 index 0000000000..a422b81ea6 --- /dev/null +++ b/services/iam/v3/model/model_keystone_create_user_token_by_password_response.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneCreateUserTokenByPasswordResponse struct { + Token *TokenResult `json:"token,omitempty"` + XSubjectToken *string `json:"X-Subject-Token,omitempty"` +} + +func (o KeystoneCreateUserTokenByPasswordResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneCreateUserTokenByPasswordResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_delete_identity_provider_request.go b/services/iam/v3/model/model_keystone_delete_identity_provider_request.go new file mode 100644 index 0000000000..fae99c6239 --- /dev/null +++ b/services/iam/v3/model/model_keystone_delete_identity_provider_request.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneDeleteIdentityProviderRequest struct { + Id string `json:"id"` +} + +func (o KeystoneDeleteIdentityProviderRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneDeleteIdentityProviderRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_delete_identity_provider_response.go b/services/iam/v3/model/model_keystone_delete_identity_provider_response.go new file mode 100644 index 0000000000..88c6a7a47a --- /dev/null +++ b/services/iam/v3/model/model_keystone_delete_identity_provider_response.go @@ -0,0 +1,23 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneDeleteIdentityProviderResponse struct { +} + +func (o KeystoneDeleteIdentityProviderResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneDeleteIdentityProviderResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_delete_mapping_request.go b/services/iam/v3/model/model_keystone_delete_mapping_request.go new file mode 100644 index 0000000000..50afd87711 --- /dev/null +++ b/services/iam/v3/model/model_keystone_delete_mapping_request.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneDeleteMappingRequest struct { + Id string `json:"id"` +} + +func (o KeystoneDeleteMappingRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneDeleteMappingRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_delete_mapping_response.go b/services/iam/v3/model/model_keystone_delete_mapping_response.go new file mode 100644 index 0000000000..19002ad825 --- /dev/null +++ b/services/iam/v3/model/model_keystone_delete_mapping_response.go @@ -0,0 +1,23 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneDeleteMappingResponse struct { +} + +func (o KeystoneDeleteMappingResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneDeleteMappingResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_delete_protocol_request.go b/services/iam/v3/model/model_keystone_delete_protocol_request.go new file mode 100644 index 0000000000..3d302c0fac --- /dev/null +++ b/services/iam/v3/model/model_keystone_delete_protocol_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneDeleteProtocolRequest struct { + IdpId string `json:"idp_id"` + ProtocolId string `json:"protocol_id"` +} + +func (o KeystoneDeleteProtocolRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneDeleteProtocolRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_delete_protocol_response.go b/services/iam/v3/model/model_keystone_delete_protocol_response.go new file mode 100644 index 0000000000..a71d75b144 --- /dev/null +++ b/services/iam/v3/model/model_keystone_delete_protocol_response.go @@ -0,0 +1,23 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneDeleteProtocolResponse struct { +} + +func (o KeystoneDeleteProtocolResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneDeleteProtocolResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_list_identity_providers_request.go b/services/iam/v3/model/model_keystone_list_identity_providers_request.go new file mode 100644 index 0000000000..636cd2c515 --- /dev/null +++ b/services/iam/v3/model/model_keystone_list_identity_providers_request.go @@ -0,0 +1,23 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneListIdentityProvidersRequest struct { +} + +func (o KeystoneListIdentityProvidersRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneListIdentityProvidersRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_list_identity_providers_response.go b/services/iam/v3/model/model_keystone_list_identity_providers_response.go new file mode 100644 index 0000000000..e39bdbbd22 --- /dev/null +++ b/services/iam/v3/model/model_keystone_list_identity_providers_response.go @@ -0,0 +1,26 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneListIdentityProvidersResponse struct { + // 身份提供商信息列表。 + IdentityProviders *[]IdentityprovidersResult `json:"identity_providers,omitempty"` + Links *Links `json:"links,omitempty"` +} + +func (o KeystoneListIdentityProvidersResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneListIdentityProvidersResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_list_mappings_request.go b/services/iam/v3/model/model_keystone_list_mappings_request.go new file mode 100644 index 0000000000..35904c0c48 --- /dev/null +++ b/services/iam/v3/model/model_keystone_list_mappings_request.go @@ -0,0 +1,23 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneListMappingsRequest struct { +} + +func (o KeystoneListMappingsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneListMappingsRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_list_mappings_response.go b/services/iam/v3/model/model_keystone_list_mappings_response.go new file mode 100644 index 0000000000..e753330521 --- /dev/null +++ b/services/iam/v3/model/model_keystone_list_mappings_response.go @@ -0,0 +1,26 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneListMappingsResponse struct { + Links *Links `json:"links,omitempty"` + // 映射信息列表。 + Mappings *[]MappingResult `json:"mappings,omitempty"` +} + +func (o KeystoneListMappingsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneListMappingsResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_list_protocols_request.go b/services/iam/v3/model/model_keystone_list_protocols_request.go new file mode 100644 index 0000000000..d01029b605 --- /dev/null +++ b/services/iam/v3/model/model_keystone_list_protocols_request.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneListProtocolsRequest struct { + IdpId string `json:"idp_id"` +} + +func (o KeystoneListProtocolsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneListProtocolsRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_list_protocols_response.go b/services/iam/v3/model/model_keystone_list_protocols_response.go new file mode 100644 index 0000000000..87bb435ece --- /dev/null +++ b/services/iam/v3/model/model_keystone_list_protocols_response.go @@ -0,0 +1,26 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneListProtocolsResponse struct { + Links *Links `json:"links,omitempty"` + // 协议信息列表。 + Protocols *[]ProtocolResult `json:"protocols,omitempty"` +} + +func (o KeystoneListProtocolsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneListProtocolsResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_show_identity_provider_request.go b/services/iam/v3/model/model_keystone_show_identity_provider_request.go new file mode 100644 index 0000000000..cbbc326151 --- /dev/null +++ b/services/iam/v3/model/model_keystone_show_identity_provider_request.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneShowIdentityProviderRequest struct { + Id string `json:"id"` +} + +func (o KeystoneShowIdentityProviderRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneShowIdentityProviderRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_show_identity_provider_response.go b/services/iam/v3/model/model_keystone_show_identity_provider_response.go new file mode 100644 index 0000000000..d99aa23871 --- /dev/null +++ b/services/iam/v3/model/model_keystone_show_identity_provider_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneShowIdentityProviderResponse struct { + IdentityProvider *IdentityprovidersResult `json:"identity_provider,omitempty"` +} + +func (o KeystoneShowIdentityProviderResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneShowIdentityProviderResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_show_mapping_request.go b/services/iam/v3/model/model_keystone_show_mapping_request.go new file mode 100644 index 0000000000..aa06cb7c69 --- /dev/null +++ b/services/iam/v3/model/model_keystone_show_mapping_request.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneShowMappingRequest struct { + Id string `json:"id"` +} + +func (o KeystoneShowMappingRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneShowMappingRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_show_mapping_response.go b/services/iam/v3/model/model_keystone_show_mapping_response.go new file mode 100644 index 0000000000..19c4058fba --- /dev/null +++ b/services/iam/v3/model/model_keystone_show_mapping_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneShowMappingResponse struct { + Mapping *MappingResult `json:"mapping,omitempty"` +} + +func (o KeystoneShowMappingResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneShowMappingResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_show_protocol_request.go b/services/iam/v3/model/model_keystone_show_protocol_request.go new file mode 100644 index 0000000000..37ef2f2b28 --- /dev/null +++ b/services/iam/v3/model/model_keystone_show_protocol_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneShowProtocolRequest struct { + IdpId string `json:"idp_id"` + ProtocolId string `json:"protocol_id"` +} + +func (o KeystoneShowProtocolRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneShowProtocolRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_show_protocol_response.go b/services/iam/v3/model/model_keystone_show_protocol_response.go new file mode 100644 index 0000000000..cce56ea440 --- /dev/null +++ b/services/iam/v3/model/model_keystone_show_protocol_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneShowProtocolResponse struct { + Protocol *ProtocolResult `json:"protocol,omitempty"` +} + +func (o KeystoneShowProtocolResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneShowProtocolResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_identity_provider_request.go b/services/iam/v3/model/model_keystone_update_identity_provider_request.go new file mode 100644 index 0000000000..a3c9aee8a0 --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_identity_provider_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneUpdateIdentityProviderRequest struct { + Id string `json:"id"` + Body *KeystoneUpdateIdentityProviderRequestBody `json:"body,omitempty"` +} + +func (o KeystoneUpdateIdentityProviderRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateIdentityProviderRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_identity_provider_request_body.go b/services/iam/v3/model/model_keystone_update_identity_provider_request_body.go new file mode 100644 index 0000000000..b9e5073572 --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_identity_provider_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneUpdateIdentityProviderRequestBody struct { + IdentityProvider *IdentityproviderOption `json:"identity_provider"` +} + +func (o KeystoneUpdateIdentityProviderRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateIdentityProviderRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_identity_provider_response.go b/services/iam/v3/model/model_keystone_update_identity_provider_response.go new file mode 100644 index 0000000000..7d07972122 --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_identity_provider_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneUpdateIdentityProviderResponse struct { + IdentityProvider *IdentityprovidersResult `json:"identity_provider,omitempty"` +} + +func (o KeystoneUpdateIdentityProviderResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateIdentityProviderResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_mapping_request.go b/services/iam/v3/model/model_keystone_update_mapping_request.go new file mode 100644 index 0000000000..3712d4cde6 --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_mapping_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneUpdateMappingRequest struct { + Id string `json:"id"` + Body *KeystoneUpdateMappingRequestBody `json:"body,omitempty"` +} + +func (o KeystoneUpdateMappingRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateMappingRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_mapping_request_body.go b/services/iam/v3/model/model_keystone_update_mapping_request_body.go new file mode 100644 index 0000000000..1dca6e5c97 --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_mapping_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneUpdateMappingRequestBody struct { + Mapping *MappingOption `json:"mapping"` +} + +func (o KeystoneUpdateMappingRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateMappingRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_mapping_response.go b/services/iam/v3/model/model_keystone_update_mapping_response.go new file mode 100644 index 0000000000..ee0873b6c6 --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_mapping_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneUpdateMappingResponse struct { + Mapping *MappingResult `json:"mapping,omitempty"` +} + +func (o KeystoneUpdateMappingResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateMappingResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_protocol_request.go b/services/iam/v3/model/model_keystone_update_protocol_request.go new file mode 100644 index 0000000000..a29076c1a2 --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_protocol_request.go @@ -0,0 +1,26 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneUpdateProtocolRequest struct { + IdpId string `json:"idp_id"` + ProtocolId string `json:"protocol_id"` + Body *KeystoneUpdateProtocolRequestBody `json:"body,omitempty"` +} + +func (o KeystoneUpdateProtocolRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateProtocolRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_protocol_request_body.go b/services/iam/v3/model/model_keystone_update_protocol_request_body.go new file mode 100644 index 0000000000..e709e2102c --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_protocol_request_body.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type KeystoneUpdateProtocolRequestBody struct { + Protocol *ProtocolOption `json:"protocol"` +} + +func (o KeystoneUpdateProtocolRequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateProtocolRequestBody", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_update_protocol_response.go b/services/iam/v3/model/model_keystone_update_protocol_response.go new file mode 100644 index 0000000000..c5b47b011d --- /dev/null +++ b/services/iam/v3/model/model_keystone_update_protocol_response.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneUpdateProtocolResponse struct { + Protocol *ProtocolResult `json:"protocol,omitempty"` +} + +func (o KeystoneUpdateProtocolResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneUpdateProtocolResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_validate_token_request.go b/services/iam/v3/model/model_keystone_validate_token_request.go new file mode 100644 index 0000000000..65fe091816 --- /dev/null +++ b/services/iam/v3/model/model_keystone_validate_token_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type KeystoneValidateTokenRequest struct { + XSubjectToken string `json:"X-Subject-Token"` + Nocatalog *string `json:"nocatalog,omitempty"` +} + +func (o KeystoneValidateTokenRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneValidateTokenRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_keystone_validate_token_response.go b/services/iam/v3/model/model_keystone_validate_token_response.go new file mode 100644 index 0000000000..08d0203a46 --- /dev/null +++ b/services/iam/v3/model/model_keystone_validate_token_response.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type KeystoneValidateTokenResponse struct { + Token *TokenResult `json:"token,omitempty"` + XSubjectToken *string `json:"X-Subject-Token,omitempty"` +} + +func (o KeystoneValidateTokenResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"KeystoneValidateTokenResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_login_token.go b/services/iam/v3/model/model_login_token.go new file mode 100644 index 0000000000..1e6c6ef31a --- /dev/null +++ b/services/iam/v3/model/model_login_token.go @@ -0,0 +1,38 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type LoginToken struct { + // 账号ID。 + DomainId string `json:"domain_id"` + // logintoken的过期时间,默认10min。 + ExpiresAt string `json:"expires_at"` + // 认证方法。当认证用户为华为云用户时,该字段内容为“token”,当认证用户为自定义代理用户时,该字段内容为“federation_proxy”。 + Method string `json:"method"` + // 用户ID。 + UserId string `json:"user_id"` + // 用户名。 + UserName string `json:"user_name"` + // 会话ID。 + SessionId string `json:"session_id"` + // 自定义代理用户名。 > - [通过委托获取临时访问密钥和securitytoken](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IAM&api=CreateTemporaryAccessKeyByAgency)且请求体中填写session_user.name参数时,会返回该字段。该字段的值即为session_user.name所填写的值。 + SessionName *string `json:"session_name,omitempty"` + AssumedBy *LoginTokenAssumedBy `json:"assumed_by,omitempty"` +} + +func (o LoginToken) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"LoginToken", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_login_token_assumed_by.go b/services/iam/v3/model/model_login_token_assumed_by.go new file mode 100644 index 0000000000..3f2c838b9b --- /dev/null +++ b/services/iam/v3/model/model_login_token_assumed_by.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type LoginTokenAssumedBy struct { + User *LoginTokenUser `json:"user,omitempty"` +} + +func (o LoginTokenAssumedBy) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"LoginTokenAssumedBy", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_login_token_auth.go b/services/iam/v3/model/model_login_token_auth.go new file mode 100644 index 0000000000..c0c558be8c --- /dev/null +++ b/services/iam/v3/model/model_login_token_auth.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type LoginTokenAuth struct { + Securitytoken *LoginTokenSecurityToken `json:"securitytoken"` +} + +func (o LoginTokenAuth) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"LoginTokenAuth", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_login_token_domain.go b/services/iam/v3/model/model_login_token_domain.go new file mode 100644 index 0000000000..7595ec9e77 --- /dev/null +++ b/services/iam/v3/model/model_login_token_domain.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type LoginTokenDomain struct { + // 被委托方用户所属账号名称。 + Name *string `json:"name,omitempty"` + // 被委托方用户所属账号ID。 + Id *string `json:"id,omitempty"` +} + +func (o LoginTokenDomain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"LoginTokenDomain", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_login_token_security_token.go b/services/iam/v3/model/model_login_token_security_token.go new file mode 100644 index 0000000000..647c06a399 --- /dev/null +++ b/services/iam/v3/model/model_login_token_security_token.go @@ -0,0 +1,29 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type LoginTokenSecurityToken struct { + // AK。 + Access string `json:"access"` + // SK。 + Secret string `json:"secret"` + // securitytoken,即临时身份的安全token。 支持使用自定义代理用户或普通用户获取的securitytoken换取logintoken,详情请参见:[通过token获取临时访问密钥和securitytoken](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IAM&api=CreateTemporaryAccessKeyByToken)。 支持委托的方式,但获取securitytoken时,请求体中必须填写session_user.name参数,详情请参见:[通过委托获取临时访问密钥和securitytoken](https://apiexplorer.developer.huaweicloud.com/apiexplorer/doc?product=IAM&api=CreateTemporaryAccessKeyByAgency)。 + Id string `json:"id"` +} + +func (o LoginTokenSecurityToken) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"LoginTokenSecurityToken", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_login_token_user.go b/services/iam/v3/model/model_login_token_user.go new file mode 100644 index 0000000000..a731c86f48 --- /dev/null +++ b/services/iam/v3/model/model_login_token_user.go @@ -0,0 +1,30 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type LoginTokenUser struct { + Domain *LoginTokenDomain `json:"domain,omitempty"` + // 被委托方用户名。 + Name *string `json:"name,omitempty"` + // 被委托方用户的密码过期时间。 + PasswordExpiresAt *string `json:"password_expires_at,omitempty"` + // 被委托方用户ID。 + Id *string `json:"id,omitempty"` +} + +func (o LoginTokenUser) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"LoginTokenUser", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_mapping_option.go b/services/iam/v3/model/model_mapping_option.go new file mode 100644 index 0000000000..f037fe42a6 --- /dev/null +++ b/services/iam/v3/model/model_mapping_option.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type MappingOption struct { + // 将联邦用户映射为本地用户的规则列表。 + Rules []MappingRules `json:"rules"` +} + +func (o MappingOption) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"MappingOption", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_mapping_result.go b/services/iam/v3/model/model_mapping_result.go new file mode 100644 index 0000000000..6fe9fc2b03 --- /dev/null +++ b/services/iam/v3/model/model_mapping_result.go @@ -0,0 +1,28 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type MappingResult struct { + // 映射ID。 + Id string `json:"id"` + Links *LinksSelf `json:"links"` + // 将联邦用户映射为本地用户的规则列表。 + Rules []MappingRules `json:"rules"` +} + +func (o MappingResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"MappingResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_mapping_rules.go b/services/iam/v3/model/model_mapping_rules.go new file mode 100644 index 0000000000..c5fdb29f2f --- /dev/null +++ b/services/iam/v3/model/model_mapping_rules.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type MappingRules struct { + // 表示联邦用户在本系统中的用户信息。 user:联邦用户在本系统中的用户名称。group:联邦用户在本系统中所属用户组。 + Local []map[string]RulesLocalAdditional `json:"local"` + // 表示联邦用户在IdP中的用户信息。由断言属性及运算符组成的表达式,取值由断言决定。 + Remote []RulesRemote `json:"remote"` +} + +func (o MappingRules) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"MappingRules", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_mfa_auth.go b/services/iam/v3/model/model_mfa_auth.go new file mode 100644 index 0000000000..217375b247 --- /dev/null +++ b/services/iam/v3/model/model_mfa_auth.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type MfaAuth struct { + Identity *MfaIdentity `json:"identity"` + Scope *AuthScope `json:"scope"` +} + +func (o MfaAuth) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"MfaAuth", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_mfa_identity.go b/services/iam/v3/model/model_mfa_identity.go new file mode 100644 index 0000000000..71aa12139a --- /dev/null +++ b/services/iam/v3/model/model_mfa_identity.go @@ -0,0 +1,66 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// +type MfaIdentity struct { + // 认证方法,该字段内容为[\"password\", \"totp\"]。 + Methods []MfaIdentityMethods `json:"methods"` + Password *PwdPassword `json:"password"` + Totp *MfaTotp `json:"totp"` +} + +func (o MfaIdentity) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"MfaIdentity", string(data)}, " ") +} + +type MfaIdentityMethods struct { + value string +} + +type MfaIdentityMethodsEnum struct { + PASSWORD MfaIdentityMethods + TOTP MfaIdentityMethods +} + +func GetMfaIdentityMethodsEnum() MfaIdentityMethodsEnum { + return MfaIdentityMethodsEnum{ + PASSWORD: MfaIdentityMethods{ + value: "password", + }, + TOTP: MfaIdentityMethods{ + value: " totp", + }, + } +} + +func (c MfaIdentityMethods) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *MfaIdentityMethods) 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/services/iam/v3/model/model_mfa_totp.go b/services/iam/v3/model/model_mfa_totp.go new file mode 100644 index 0000000000..64b70d9c7b --- /dev/null +++ b/services/iam/v3/model/model_mfa_totp.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type MfaTotp struct { + User *MfaTotpUser `json:"user"` +} + +func (o MfaTotp) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"MfaTotp", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_mfa_totp_user.go b/services/iam/v3/model/model_mfa_totp_user.go new file mode 100644 index 0000000000..481ee207af --- /dev/null +++ b/services/iam/v3/model/model_mfa_totp_user.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type MfaTotpUser struct { + // 已开启虚拟MFA方式的登录保护的IAM用户ID。 + Id string `json:"id"` + // 虚拟MFA验证码,在MFA应用程序中获取动态验证码,获取方法请参见:[如何获取虚拟MFA验证码](https://support.huaweicloud.com/iam_faq/iam_01_0001.html)。 + Passcode string `json:"passcode"` +} + +func (o MfaTotpUser) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"MfaTotpUser", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_osfederation_groups.go b/services/iam/v3/model/model_osfederation_groups.go new file mode 100644 index 0000000000..c861506739 --- /dev/null +++ b/services/iam/v3/model/model_osfederation_groups.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type OsfederationGroups struct { + // 用户组ID。 + Id string `json:"id"` + // 用户组名称。 + Name string `json:"name"` +} + +func (o OsfederationGroups) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"OsfederationGroups", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_osfederation_identityprovider.go b/services/iam/v3/model/model_osfederation_identityprovider.go new file mode 100644 index 0000000000..cca20a4a86 --- /dev/null +++ b/services/iam/v3/model/model_osfederation_identityprovider.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type OsfederationIdentityprovider struct { + // 身份提供商ID。 + Id string `json:"id"` +} + +func (o OsfederationIdentityprovider) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"OsfederationIdentityprovider", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_osfederation_protocol.go b/services/iam/v3/model/model_osfederation_protocol.go new file mode 100644 index 0000000000..5d4b7458ff --- /dev/null +++ b/services/iam/v3/model/model_osfederation_protocol.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type OsfederationProtocol struct { + // 协议ID。 + Id string `json:"id"` +} + +func (o OsfederationProtocol) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"OsfederationProtocol", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_protocol_links.go b/services/iam/v3/model/model_protocol_links.go new file mode 100644 index 0000000000..c1b117cad5 --- /dev/null +++ b/services/iam/v3/model/model_protocol_links.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ProtocolLinks struct { + // 身份提供商的资源链接地址。 + IdentityProvider string `json:"identity_provider"` + // 资源链接地址。 + Self string `json:"self"` +} + +func (o ProtocolLinks) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ProtocolLinks", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_protocol_option.go b/services/iam/v3/model/model_protocol_option.go new file mode 100644 index 0000000000..41644fd4fa --- /dev/null +++ b/services/iam/v3/model/model_protocol_option.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ProtocolOption struct { + // 映射ID。 + MappingId string `json:"mapping_id"` +} + +func (o ProtocolOption) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ProtocolOption", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_protocol_result.go b/services/iam/v3/model/model_protocol_result.go new file mode 100644 index 0000000000..9996e27aee --- /dev/null +++ b/services/iam/v3/model/model_protocol_result.go @@ -0,0 +1,28 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ProtocolResult struct { + // 协议ID。 + Id string `json:"id"` + // 映射ID。 + MappingId string `json:"mapping_id"` + Links *ProtocolLinks `json:"links"` +} + +func (o ProtocolResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ProtocolResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_pwd_auth.go b/services/iam/v3/model/model_pwd_auth.go new file mode 100644 index 0000000000..068283598b --- /dev/null +++ b/services/iam/v3/model/model_pwd_auth.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type PwdAuth struct { + Identity *PwdIdentity `json:"identity"` + Scope *AuthScope `json:"scope"` +} + +func (o PwdAuth) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"PwdAuth", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_pwd_identity.go b/services/iam/v3/model/model_pwd_identity.go new file mode 100644 index 0000000000..b4bc724e16 --- /dev/null +++ b/services/iam/v3/model/model_pwd_identity.go @@ -0,0 +1,61 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// +type PwdIdentity struct { + // 认证方法,该字段内容为[\"password\"]。 + Methods []PwdIdentityMethods `json:"methods"` + Password *PwdPassword `json:"password"` +} + +func (o PwdIdentity) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"PwdIdentity", string(data)}, " ") +} + +type PwdIdentityMethods struct { + value string +} + +type PwdIdentityMethodsEnum struct { + PASSWORD PwdIdentityMethods +} + +func GetPwdIdentityMethodsEnum() PwdIdentityMethodsEnum { + return PwdIdentityMethodsEnum{ + PASSWORD: PwdIdentityMethods{ + value: "password", + }, + } +} + +func (c PwdIdentityMethods) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *PwdIdentityMethods) 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/services/iam/v3/model/model_pwd_password.go b/services/iam/v3/model/model_pwd_password.go new file mode 100644 index 0000000000..e1b24c7fed --- /dev/null +++ b/services/iam/v3/model/model_pwd_password.go @@ -0,0 +1,24 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type PwdPassword struct { + User *PwdPasswordUser `json:"user"` +} + +func (o PwdPassword) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"PwdPassword", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_pwd_password_user.go b/services/iam/v3/model/model_pwd_password_user.go new file mode 100644 index 0000000000..b661fc1a06 --- /dev/null +++ b/services/iam/v3/model/model_pwd_password_user.go @@ -0,0 +1,28 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type PwdPasswordUser struct { + Domain *PwdPasswordUserDomain `json:"domain"` + // IAM用户名。 + Name string `json:"name"` + // IAM用户的登录密码。 + Password string `json:"password"` +} + +func (o PwdPasswordUser) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"PwdPasswordUser", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_pwd_password_user_domain.go b/services/iam/v3/model/model_pwd_password_user_domain.go new file mode 100644 index 0000000000..7f97293572 --- /dev/null +++ b/services/iam/v3/model/model_pwd_password_user_domain.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type PwdPasswordUserDomain struct { + // IAM用户所属账号名。 + Name string `json:"name"` +} + +func (o PwdPasswordUserDomain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"PwdPasswordUserDomain", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_rules_local_additional.go b/services/iam/v3/model/model_rules_local_additional.go new file mode 100644 index 0000000000..ee36ae16d8 --- /dev/null +++ b/services/iam/v3/model/model_rules_local_additional.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type RulesLocalAdditional struct { + // user:联邦用户在本系统中的用户名称。 ``` \"user\":{\"name\":\"{0}\"} ``` group:联邦用户在本系统中所属用户组。 ``` \"group\":{\"name\":\"0cd5e9\"} ``` + Name *string `json:"name,omitempty"` +} + +func (o RulesLocalAdditional) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"RulesLocalAdditional", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_rules_remote.go b/services/iam/v3/model/model_rules_remote.go new file mode 100644 index 0000000000..fbb2f1daae --- /dev/null +++ b/services/iam/v3/model/model_rules_remote.go @@ -0,0 +1,29 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type RulesRemote struct { + // 表示IdP断言中的属性。 + Type string `json:"type"` + // 输入属性值中包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。在同一个remote数组元素中,any_one_of与not_any_of互斥,两者至多填写一个,不能同时填写。 + AnyOneOf *[]string `json:"any_one_of,omitempty"` + // 输入属性值中不包含指定值才生效,并返回布尔值,返回值不能用于local块中的占位符。在同一个remote数组元素中,any_one_of与not_any_of互斥,两者至多填写一个,不能同时填写。 + NotAnyOf *[]string `json:"not_any_of,omitempty"` +} + +func (o RulesRemote) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"RulesRemote", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_scope_domain_option.go b/services/iam/v3/model/model_scope_domain_option.go new file mode 100644 index 0000000000..b2039df3b2 --- /dev/null +++ b/services/iam/v3/model/model_scope_domain_option.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ScopeDomainOption struct { + // 账号ID,id与name二选一即可。 + Id *string `json:"id,omitempty"` + // 账号名,id与name二选一即可。 + Name *string `json:"name,omitempty"` +} + +func (o ScopeDomainOption) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ScopeDomainOption", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_scope_project_option.go b/services/iam/v3/model/model_scope_project_option.go new file mode 100644 index 0000000000..2261623ce5 --- /dev/null +++ b/services/iam/v3/model/model_scope_project_option.go @@ -0,0 +1,28 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ScopeProjectOption struct { + // 项目ID,id与name二选一即可。 + Id *string `json:"id,omitempty"` + // 项目名,id与name二选一即可。 + Name *string `json:"name,omitempty"` + Domain *ScopeDomainOption `json:"domain,omitempty"` +} + +func (o ScopeProjectOption) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ScopeProjectOption", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_scope_token_result.go b/services/iam/v3/model/model_scope_token_result.go new file mode 100644 index 0000000000..3d7e854201 --- /dev/null +++ b/services/iam/v3/model/model_scope_token_result.go @@ -0,0 +1,36 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ScopeTokenResult struct { + // 获取token的方式。 + Methods []string `json:"methods"` + // token过期时间。 + ExpiresAt string `json:"expires_at"` + // 服务目录信息。 + Catalog *[]TokenCatalog `json:"catalog,omitempty"` + Domain *TokenDomainResult `json:"domain"` + Project *TokenProjectResult `json:"project"` + // token的权限信息。 + Roles []TokenRole `json:"roles"` + User *ScopedTokenUser `json:"user"` + // token下发时间。 + IssuedAt string `json:"issued_at"` +} + +func (o ScopeTokenResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ScopeTokenResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_scoped_token.go b/services/iam/v3/model/model_scoped_token.go new file mode 100644 index 0000000000..7ad1fc00d8 --- /dev/null +++ b/services/iam/v3/model/model_scoped_token.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ScopedToken struct { + // 联邦unscoped token的ID。 + Id string `json:"id"` +} + +func (o ScopedToken) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ScopedToken", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_scoped_token_auth.go b/services/iam/v3/model/model_scoped_token_auth.go new file mode 100644 index 0000000000..81ea1d70fd --- /dev/null +++ b/services/iam/v3/model/model_scoped_token_auth.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ScopedTokenAuth struct { + Identity *ScopedTokenIdentity `json:"identity"` + Scope *TokenSocpeOption `json:"scope"` +} + +func (o ScopedTokenAuth) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ScopedTokenAuth", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_scoped_token_identity.go b/services/iam/v3/model/model_scoped_token_identity.go new file mode 100644 index 0000000000..233beabceb --- /dev/null +++ b/services/iam/v3/model/model_scoped_token_identity.go @@ -0,0 +1,26 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ScopedTokenIdentity struct { + // 认证方法,该字段内容为“token”。 + Methods []string `json:"methods"` + Token *ScopedToken `json:"token"` +} + +func (o ScopedTokenIdentity) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ScopedTokenIdentity", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_scoped_token_user.go b/services/iam/v3/model/model_scoped_token_user.go new file mode 100644 index 0000000000..fbc99456bc --- /dev/null +++ b/services/iam/v3/model/model_scoped_token_user.go @@ -0,0 +1,31 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type ScopedTokenUser struct { + Domain *TokenDomainResult `json:"domain"` + OsFederation *TokenUserOsfederation `json:"OS-FEDERATION"` + // 用户ID。 + Id string `json:"id"` + // 用户名。 + Name string `json:"name"` + // 密码过期时间(UTC时间),“”表示密码不过期。 + PasswordExpiresAt string `json:"password_expires_at"` +} + +func (o ScopedTokenUser) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ScopedTokenUser", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_show_metadata_request.go b/services/iam/v3/model/model_show_metadata_request.go new file mode 100644 index 0000000000..27c329d082 --- /dev/null +++ b/services/iam/v3/model/model_show_metadata_request.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowMetadataRequest struct { + IdpId string `json:"idp_id"` + ProtocolId string `json:"protocol_id"` +} + +func (o ShowMetadataRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowMetadataRequest", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_show_metadata_response.go b/services/iam/v3/model/model_show_metadata_response.go new file mode 100644 index 0000000000..9633a35f4b --- /dev/null +++ b/services/iam/v3/model/model_show_metadata_response.go @@ -0,0 +1,39 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowMetadataResponse struct { + // Metadata的ID。 + Id *string `json:"id,omitempty"` + // 身份提供商ID。 + IdpId *string `json:"idp_id,omitempty"` + // Metadata文件中的entityID字段。 + EntityId *string `json:"entity_id,omitempty"` + // 协议ID。 + ProtocolId *string `json:"protocol_id,omitempty"` + // 用户所属账号ID。 + DomainId *string `json:"domain_id,omitempty"` + // 账号来源,默认为空。 + XaccountType *string `json:"xaccount_type,omitempty"` + // 导入或更新Metadata文件的时间。 + UpdateTime *string `json:"update_time,omitempty"` + // Metadata文件的内容。 + Data *string `json:"data,omitempty"` +} + +func (o ShowMetadataResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowMetadataResponse", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_catalog.go b/services/iam/v3/model/model_token_catalog.go new file mode 100644 index 0000000000..4c6e1d03bb --- /dev/null +++ b/services/iam/v3/model/model_token_catalog.go @@ -0,0 +1,31 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenCatalog struct { + // 该接口所属服务。 + Type string `json:"type"` + // 服务ID。 + Id string `json:"id"` + // 服务名称。 + Name string `json:"name"` + // 终端节点。 + Endpoints []TokenCatalogEndpoint `json:"endpoints"` +} + +func (o TokenCatalog) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenCatalog", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_catalog_endpoint.go b/services/iam/v3/model/model_token_catalog_endpoint.go new file mode 100644 index 0000000000..2c3b48d475 --- /dev/null +++ b/services/iam/v3/model/model_token_catalog_endpoint.go @@ -0,0 +1,33 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenCatalogEndpoint struct { + // 终端节点的URL。 + Url string `json:"url"` + // 终端节点所属区域。 + Region string `json:"region"` + // 终端节点所属区域ID。 + RegionId string `json:"region_id"` + // 接口类型,描述接口在该终端节点的可见性。值为“public”,表示该接口为公开接口。 + Interface string `json:"interface"` + // 终端节点ID。 + Id string `json:"id"` +} + +func (o TokenCatalogEndpoint) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenCatalogEndpoint", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_domain_result.go b/services/iam/v3/model/model_token_domain_result.go new file mode 100644 index 0000000000..7329200a1f --- /dev/null +++ b/services/iam/v3/model/model_token_domain_result.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenDomainResult struct { + // 用户所属账号名。 + Name string `json:"name"` + // 用户所属账号ID。 + Id string `json:"id"` +} + +func (o TokenDomainResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenDomainResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_project_domain_result.go b/services/iam/v3/model/model_token_project_domain_result.go new file mode 100644 index 0000000000..f8494ff4cb --- /dev/null +++ b/services/iam/v3/model/model_token_project_domain_result.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenProjectDomainResult struct { + // 账号名。 + Name string `json:"name"` + // 账号ID。 + Id string `json:"id"` +} + +func (o TokenProjectDomainResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenProjectDomainResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_project_result.go b/services/iam/v3/model/model_token_project_result.go new file mode 100644 index 0000000000..943d2fa733 --- /dev/null +++ b/services/iam/v3/model/model_token_project_result.go @@ -0,0 +1,28 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenProjectResult struct { + // 项目名。 + Name string `json:"name"` + // 项目ID。 + Id string `json:"id"` + Domain *TokenProjectDomainResult `json:"domain"` +} + +func (o TokenProjectResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenProjectResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_result.go b/services/iam/v3/model/model_token_result.go new file mode 100644 index 0000000000..e9f7e6c829 --- /dev/null +++ b/services/iam/v3/model/model_token_result.go @@ -0,0 +1,36 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenResult struct { + // 服务目录信息。 + Catalog []TokenCatalog `json:"catalog"` + Domain *TokenDomainResult `json:"domain,omitempty"` + // token过期时间。 + ExpiresAt string `json:"expires_at"` + // token下发时间。 + IssuedAt string `json:"issued_at"` + // 获取token的方式。 + Methods []string `json:"methods"` + Project *TokenProjectResult `json:"project,omitempty"` + // token的权限信息。 + Roles []TokenRole `json:"roles"` + User *TokenUserResult `json:"user"` +} + +func (o TokenResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_role.go b/services/iam/v3/model/model_token_role.go new file mode 100644 index 0000000000..b2cbf2c268 --- /dev/null +++ b/services/iam/v3/model/model_token_role.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenRole struct { + // 权限名称。 + Name string `json:"name"` + // 权限ID。默认显示为0,非真实权限ID。 + Id string `json:"id"` +} + +func (o TokenRole) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenRole", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_socpe_option.go b/services/iam/v3/model/model_token_socpe_option.go new file mode 100644 index 0000000000..4251eddc9c --- /dev/null +++ b/services/iam/v3/model/model_token_socpe_option.go @@ -0,0 +1,25 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenSocpeOption struct { + Domain *ScopeDomainOption `json:"domain,omitempty"` + Project *ScopeProjectOption `json:"project,omitempty"` +} + +func (o TokenSocpeOption) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenSocpeOption", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_user_domain_result.go b/services/iam/v3/model/model_token_user_domain_result.go new file mode 100644 index 0000000000..c13c2bc23e --- /dev/null +++ b/services/iam/v3/model/model_token_user_domain_result.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenUserDomainResult struct { + // IAM用户所属账号名称。 + Name string `json:"name"` + // IAM用户所属账号ID。 + Id string `json:"id"` +} + +func (o TokenUserDomainResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenUserDomainResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_user_osfederation.go b/services/iam/v3/model/model_token_user_osfederation.go new file mode 100644 index 0000000000..f234fbfba3 --- /dev/null +++ b/services/iam/v3/model/model_token_user_osfederation.go @@ -0,0 +1,27 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenUserOsfederation struct { + // 用户组信息列表。 + Groups []OsfederationGroups `json:"groups"` + IdentityProvider *OsfederationIdentityprovider `json:"identity_provider"` + Protocol *OsfederationProtocol `json:"protocol"` +} + +func (o TokenUserOsfederation) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenUserOsfederation", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_token_user_result.go b/services/iam/v3/model/model_token_user_result.go new file mode 100644 index 0000000000..a6a4bb85d9 --- /dev/null +++ b/services/iam/v3/model/model_token_user_result.go @@ -0,0 +1,30 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type TokenUserResult struct { + // IAM用户名。 + Name string `json:"name"` + // IAM用户ID。 + Id string `json:"id"` + // 密码过期时间(UTC时间),“”表示密码不过期。 + PasswordExpiresAt string `json:"password_expires_at"` + Domain *TokenUserDomainResult `json:"domain"` +} + +func (o TokenUserResult) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TokenUserResult", string(data)}, " ") +} diff --git a/services/iam/v3/model/model_unscoped_token_user.go b/services/iam/v3/model/model_unscoped_token_user.go new file mode 100644 index 0000000000..2d5f0d08c6 --- /dev/null +++ b/services/iam/v3/model/model_unscoped_token_user.go @@ -0,0 +1,29 @@ +/* + * IAM + * + * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator) + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// +type UnscopedTokenUser struct { + Domain *TokenDomainResult `json:"domain"` + // 用户ID。 + Id string `json:"id"` + // 用户名称。 + Name string `json:"name"` + OsFederation *TokenUserOsfederation `json:"OS-FEDERATION"` +} + +func (o UnscopedTokenUser) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UnscopedTokenUser", string(data)}, " ") +} diff --git a/services/ims/v2/ims_client.go b/services/ims/v2/ims_client.go index e98d021e29..c75632b75d 100644 --- a/services/ims/v2/ims_client.go +++ b/services/ims/v2/ims_client.go @@ -20,408 +20,374 @@ func ImsClientBuilder() *http_client.HcHttpClientBuilder { //该接口为扩展接口,主要用于镜像共享时用户将多个镜像共享给多个用户。 该接口为异步接口,返回job_id说明任务下发成功,查询异步任务状态,如果是success说明任务执行成功,如果是failed说明任务执行失败。如何查询异步任务,请参见异步任务查询。 func (c *ImsClient) BatchAddMembers(request *model.BatchAddMembersRequest) (*model.BatchAddMembersResponse, error) { - requestDef := GenReqDefForBatchAddMembers(request) - resp, responseDef := GenRespForBatchAddMembers() + requestDef := GenReqDefForBatchAddMembers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchAddMembersResponse), nil } } //该接口为扩展接口,主要用于取消镜像共享。 该接口为异步接口,返回job_id说明任务下发成功,查询异步任务状态,如果是success说明任务执行成功,如果是failed说明任务执行失败。如何查询异步任务,请参见异步任务查询。 func (c *ImsClient) BatchDeleteMembers(request *model.BatchDeleteMembersRequest) (*model.BatchDeleteMembersResponse, error) { - requestDef := GenReqDefForBatchDeleteMembers(request) - resp, responseDef := GenRespForBatchDeleteMembers() + requestDef := GenReqDefForBatchDeleteMembers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchDeleteMembersResponse), nil } } //该接口为扩展接口,主要用于用户接受或者拒绝多个共享镜像时批量更新镜像成员的状态。 该接口为异步接口,返回job_id说明任务下发成功,查询异步任务状态,如果是success说明任务执行成功,如果是failed说明任务执行失败。如何查询异步任务,请参见异步任务查询。 func (c *ImsClient) BatchUpdateMembers(request *model.BatchUpdateMembersRequest) (*model.BatchUpdateMembersResponse, error) { - requestDef := GenReqDefForBatchUpdateMembers(request) - resp, responseDef := GenRespForBatchUpdateMembers() + requestDef := GenReqDefForBatchUpdateMembers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchUpdateMembersResponse), nil } } //该接口为扩展接口,用户在一个区域制作的私有镜像,可以通过跨Region复制镜像将镜像复制到其他区域,在其他区域发放相同类型的云服务器,帮助用户实现区域间的业务迁移。 该接口为异步接口,返回job_id说明任务下发成功,查询异步任务状态,如果是success说明任务执行成功,如果是failed说明任务执行失败。 如何查询异步任务,请参见异步任务进度查询。 func (c *ImsClient) CopyImageCrossRegion(request *model.CopyImageCrossRegionRequest) (*model.CopyImageCrossRegionResponse, error) { - requestDef := GenReqDefForCopyImageCrossRegion(request) - resp, responseDef := GenRespForCopyImageCrossRegion() + requestDef := GenReqDefForCopyImageCrossRegion() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CopyImageCrossRegionResponse), nil } } //该接口为扩展接口,主要用于用户将一个已有镜像复制为另一个镜像。复制镜像时,可以更改镜像的加密等属性,以满足不同的场景。 该接口为异步接口,返回job_id说明任务下发成功,查询异步任务状态,如果是success说明任务执行成功,如果是failed说明任务执行失败。如何查询异步任务,请参见异步任务查询。 func (c *ImsClient) CopyImageInRegion(request *model.CopyImageInRegionRequest) (*model.CopyImageInRegionResponse, error) { - requestDef := GenReqDefForCopyImageInRegion(request) - resp, responseDef := GenRespForCopyImageInRegion() + requestDef := GenReqDefForCopyImageInRegion() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CopyImageInRegionResponse), nil } } //使用上传至OBS桶中的外部数据卷镜像文件制作数据镜像。作为异步接口,调用成功,只是说明后台收到了制作请求,镜像是否制作成功需要通过异步任务查询接口查询该任务的执行状态。具体请参考异步任务查询。 func (c *ImsClient) CreateDataImage(request *model.CreateDataImageRequest) (*model.CreateDataImageResponse, error) { - requestDef := GenReqDefForCreateDataImage(request) - resp, responseDef := GenRespForCreateDataImage() + requestDef := GenReqDefForCreateDataImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateDataImageResponse), nil } } //本接口用于制作私有镜像,支持: 使用云服务器制作私有镜像。 使用上传至OBS桶中的外部镜像文件制作私有镜像。 使用数据卷制作系统盘镜像。 作为异步接口,调用成功,只是说明云平台收到了制作请求,镜像是否制作成功需要通过异步任务查询接口查询该任务的执行状态,具体请参考异步任务查询。 func (c *ImsClient) CreateImage(request *model.CreateImageRequest) (*model.CreateImageResponse, error) { - requestDef := GenReqDefForCreateImage(request) - resp, responseDef := GenRespForCreateImage() + requestDef := GenReqDefForCreateImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateImageResponse), nil } } //该接口主要用于为某个镜像增加或修改一个自定义标签。通过自定义标签,用户可以将镜像进行分类。 func (c *ImsClient) CreateOrUpdateTags(request *model.CreateOrUpdateTagsRequest) (*model.CreateOrUpdateTagsResponse, error) { - requestDef := GenReqDefForCreateOrUpdateTags(request) - resp, responseDef := GenRespForCreateOrUpdateTags() + requestDef := GenReqDefForCreateOrUpdateTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateOrUpdateTagsResponse), nil } } //使用云服务器或者云服务器备份制作整机镜像。作为异步接口,调用成功,只是说明后台收到了制作整机镜像的请求,镜像是否制作成功需要通过异步任务查询接口查询该任务的执行状态,具体请参考异步任务查询。 func (c *ImsClient) CreateWholeImage(request *model.CreateWholeImageRequest) (*model.CreateWholeImageResponse, error) { - requestDef := GenReqDefForCreateWholeImage(request) - resp, responseDef := GenRespForCreateWholeImage() + requestDef := GenReqDefForCreateWholeImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateWholeImageResponse), nil } } //该接口为扩展接口,用于用户将自己的私有镜像导出到指定的OBS桶中。 func (c *ImsClient) ExportImage(request *model.ExportImageRequest) (*model.ExportImageResponse, error) { - requestDef := GenReqDefForExportImage(request) - resp, responseDef := GenRespForExportImage() + requestDef := GenReqDefForExportImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ExportImageResponse), nil } } //使用上传至OBS桶中的超大外部镜像文件制作私有镜像,目前仅支持RAW或ZVHD2格式镜像文件。且要求镜像文件大小不能超过1TB。 由于快速导入功能要求提前转换镜像文件格式为RAW或ZVHD2格式,因此镜像文件小于128GB时推荐您优先使用常规的创建私有镜像的方式。 作为异步接口,调用成功,只是说明后台收到了制作请求,镜像是否制作成功需要通过异步任务查询接口查询该任务的执行状态,具体请参考异步任务查询。 func (c *ImsClient) ImportImageQuick(request *model.ImportImageQuickRequest) (*model.ImportImageQuickResponse, error) { - requestDef := GenReqDefForImportImageQuick(request) - resp, responseDef := GenRespForImportImageQuick() + requestDef := GenReqDefForImportImageQuick() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ImportImageQuickResponse), nil } } //根据不同条件查询镜像列表信息。 可以在URI后面用‘?’和‘&’添加不同的查询条件组合,请参考请求样例。 func (c *ImsClient) ListImages(request *model.ListImagesRequest) (*model.ListImagesResponse, error) { - requestDef := GenReqDefForListImages(request) - resp, responseDef := GenRespForListImages() + requestDef := GenReqDefForListImages() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListImagesResponse), nil } } //查询当前区域弹性云服务器的OS兼容性列表。 func (c *ImsClient) ListOsVersions(request *model.ListOsVersionsRequest) (*model.ListOsVersionsResponse, error) { - requestDef := GenReqDefForListOsVersions(request) - resp, responseDef := GenRespForListOsVersions() + requestDef := GenReqDefForListOsVersions() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListOsVersionsResponse), nil } } //根据不同条件查询镜像标签列表信息。 func (c *ImsClient) ListTags(request *model.ListTagsRequest) (*model.ListTagsResponse, error) { - requestDef := GenReqDefForListTags(request) - resp, responseDef := GenRespForListTags() + requestDef := GenReqDefForListTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTagsResponse), nil } } //该接口用于将镜像文件注册为云平台未初始化的私有镜像。 使用该接口注册镜像的具体步骤如下: 将镜像文件上传到OBS个人桶中。具体操作请参见《对象存储服务客户端指南(OBS Browser)》或《对象存储服务API参考》。 使用创建镜像元数据接口创建镜像元数据。调用成功后,保存该镜像的ID。创建镜像元数据请参考创建镜像元数据(OpenStack原生)。 根据2得到的镜像ID,使用注册镜像接口注册OBS桶中的镜像文件。 注册镜像接口作为异步接口,调用成功后,说明后台收到了注册请求。需要根据镜像ID查询该镜像状态验证镜像注册是否成功。当镜像状态变为“active”时,表示镜像注册成功。 如何查询异步任务,请参见异步任务查询。 func (c *ImsClient) RegisterImage(request *model.RegisterImageRequest) (*model.RegisterImageResponse, error) { - requestDef := GenReqDefForRegisterImage(request) - resp, responseDef := GenRespForRegisterImage() + requestDef := GenReqDefForRegisterImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RegisterImageResponse), nil } } //该接口为扩展接口,主要用于查询租户在当前Region的私有镜像的配额数量。 func (c *ImsClient) ShowImageQuota(request *model.ShowImageQuotaRequest) (*model.ShowImageQuotaResponse, error) { - requestDef := GenReqDefForShowImageQuota(request) - resp, responseDef := GenRespForShowImageQuota() + requestDef := GenReqDefForShowImageQuota() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowImageQuotaResponse), nil } } //更新镜像信息接口,主要用于镜像属性的修改。当前仅支持可用(active)状态的镜像更新相关信息。 func (c *ImsClient) UpdateImage(request *model.UpdateImageRequest) (*model.UpdateImageResponse, error) { - requestDef := GenReqDefForUpdateImage(request) - resp, responseDef := GenRespForUpdateImage() + requestDef := GenReqDefForUpdateImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateImageResponse), nil } } //该接口为扩展接口,主要用于查询异步接口执行情况,比如查询导出镜像任务的执行状态。 func (c *ImsClient) ShowJob(request *model.ShowJobRequest) (*model.ShowJobResponse, error) { - requestDef := GenReqDefForShowJob(request) - resp, responseDef := GenRespForShowJob() + requestDef := GenReqDefForShowJob() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowJobResponse), nil } } //用户共享镜像给其他用户时,使用该接口向该镜像成员中添加接受镜像用户的项目ID。 func (c *ImsClient) GlanceAddImageMember(request *model.GlanceAddImageMemberRequest) (*model.GlanceAddImageMemberResponse, error) { - requestDef := GenReqDefForGlanceAddImageMember(request) - resp, responseDef := GenRespForGlanceAddImageMember() + requestDef := GenReqDefForGlanceAddImageMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceAddImageMemberResponse), nil } } //创建镜像元数据。调用创建镜像元数据接口成功后,只是创建了镜像的元数据,镜像对应的实际镜像文件并不存在 func (c *ImsClient) GlanceCreateImageMetadata(request *model.GlanceCreateImageMetadataRequest) (*model.GlanceCreateImageMetadataResponse, error) { - requestDef := GenReqDefForGlanceCreateImageMetadata(request) - resp, responseDef := GenRespForGlanceCreateImageMetadata() + requestDef := GenReqDefForGlanceCreateImageMetadata() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceCreateImageMetadataResponse), nil } } //该接口主要用于为某个镜像添加一个自定义标签。通过自定义标签,用户可以将镜像进行分类。 func (c *ImsClient) GlanceCreateTag(request *model.GlanceCreateTagRequest) (*model.GlanceCreateTagResponse, error) { - requestDef := GenReqDefForGlanceCreateTag(request) - resp, responseDef := GenRespForGlanceCreateTag() + requestDef := GenReqDefForGlanceCreateTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceCreateTagResponse), nil } } //该接口主要用于删除镜像,用户可以通过该接口将自己的私有镜像删除。 func (c *ImsClient) GlanceDeleteImage(request *model.GlanceDeleteImageRequest) (*model.GlanceDeleteImageResponse, error) { - requestDef := GenReqDefForGlanceDeleteImage(request) - resp, responseDef := GenRespForGlanceDeleteImage() + requestDef := GenReqDefForGlanceDeleteImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceDeleteImageResponse), nil } } //该接口用于取消对某个用户的镜像共享。 func (c *ImsClient) GlanceDeleteImageMember(request *model.GlanceDeleteImageMemberRequest) (*model.GlanceDeleteImageMemberResponse, error) { - requestDef := GenReqDefForGlanceDeleteImageMember(request) - resp, responseDef := GenRespForGlanceDeleteImageMember() + requestDef := GenReqDefForGlanceDeleteImageMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceDeleteImageMemberResponse), nil } } //该接口主要用于删除某个镜像的自定义标签,通过该接口,用户可以将私有镜像中一些不用的标签删除。 func (c *ImsClient) GlanceDeleteTag(request *model.GlanceDeleteTagRequest) (*model.GlanceDeleteTagResponse, error) { - requestDef := GenReqDefForGlanceDeleteTag(request) - resp, responseDef := GenRespForGlanceDeleteTag() + requestDef := GenReqDefForGlanceDeleteTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceDeleteTagResponse), nil } } //该接口主要用于查询镜像成员列表视图,通过视图,用户可以了解到镜像成员包含哪些属性,同时也可以了解每个属性的数据类型。 func (c *ImsClient) GlanceListImageMemberSchemas(request *model.GlanceListImageMemberSchemasRequest) (*model.GlanceListImageMemberSchemasResponse, error) { - requestDef := GenReqDefForGlanceListImageMemberSchemas(request) - resp, responseDef := GenRespForGlanceListImageMemberSchemas() + requestDef := GenReqDefForGlanceListImageMemberSchemas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceListImageMemberSchemasResponse), nil } } //该接口用于共享镜像过程中,获取接受该镜像的成员列表。 func (c *ImsClient) GlanceListImageMembers(request *model.GlanceListImageMembersRequest) (*model.GlanceListImageMembersResponse, error) { - requestDef := GenReqDefForGlanceListImageMembers(request) - resp, responseDef := GenRespForGlanceListImageMembers() + requestDef := GenReqDefForGlanceListImageMembers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceListImageMembersResponse), nil } } //该接口主要用于查询镜像列表视图,通过该接口用户可以了解到镜像列表的详细情况和数据结构。 func (c *ImsClient) GlanceListImageSchemas(request *model.GlanceListImageSchemasRequest) (*model.GlanceListImageSchemasResponse, error) { - requestDef := GenReqDefForGlanceListImageSchemas(request) - resp, responseDef := GenRespForGlanceListImageSchemas() + requestDef := GenReqDefForGlanceListImageSchemas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceListImageSchemasResponse), nil } } //获取镜像列表。 使用本接口查询镜像列表时,需要使用分页查询才能返回全部的镜像列表。 分页说明 分页是指返回一组镜像的一个子集,在返回的时候会存在下个子集的链接和首个子集的链接,默认返回的子集中数量为25,用户也可以通过使用limit和marker两个参数自己分页,指定返回子集中需要返回的数量。 响应中的参数first是查询首页的URL。next是查询下一页的URL。当查询镜像列表最后一页时,不存在next。 func (c *ImsClient) GlanceListImages(request *model.GlanceListImagesRequest) (*model.GlanceListImagesResponse, error) { - requestDef := GenReqDefForGlanceListImages(request) - resp, responseDef := GenRespForGlanceListImages() + requestDef := GenReqDefForGlanceListImages() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceListImagesResponse), nil } } //查询单个镜像详情,用户可以通过该接口查询单个私有或者公共镜像的详情 func (c *ImsClient) GlanceShowImage(request *model.GlanceShowImageRequest) (*model.GlanceShowImageResponse, error) { - requestDef := GenReqDefForGlanceShowImage(request) - resp, responseDef := GenRespForGlanceShowImage() + requestDef := GenReqDefForGlanceShowImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceShowImageResponse), nil } } //该接口主要用于镜像共享中查询某个镜像成员的详情。 func (c *ImsClient) GlanceShowImageMember(request *model.GlanceShowImageMemberRequest) (*model.GlanceShowImageMemberResponse, error) { - requestDef := GenReqDefForGlanceShowImageMember(request) - resp, responseDef := GenRespForGlanceShowImageMember() + requestDef := GenReqDefForGlanceShowImageMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceShowImageMemberResponse), nil } } //该接口主要用于查询镜像成员视图,通过视图,用户可以了解到镜像成员包含哪些属性,同时也可以了解每个属性的数据类型。 func (c *ImsClient) GlanceShowImageMemberSchemas(request *model.GlanceShowImageMemberSchemasRequest) (*model.GlanceShowImageMemberSchemasResponse, error) { - requestDef := GenReqDefForGlanceShowImageMemberSchemas(request) - resp, responseDef := GenRespForGlanceShowImageMemberSchemas() + requestDef := GenReqDefForGlanceShowImageMemberSchemas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceShowImageMemberSchemasResponse), nil } } //该接口主要用于查询镜像视图,通过视图,用户可以了解到镜像包含哪些属性,同时也可以了解每个属性的数据类型等。 func (c *ImsClient) GlanceShowImageSchemas(request *model.GlanceShowImageSchemasRequest) (*model.GlanceShowImageSchemasResponse, error) { - requestDef := GenReqDefForGlanceShowImageSchemas(request) - resp, responseDef := GenRespForGlanceShowImageSchemas() + requestDef := GenReqDefForGlanceShowImageSchemas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceShowImageSchemasResponse), nil } } //修改镜像信息 func (c *ImsClient) GlanceUpdateImage(request *model.GlanceUpdateImageRequest) (*model.GlanceUpdateImageResponse, error) { - requestDef := GenReqDefForGlanceUpdateImage(request) - resp, responseDef := GenRespForGlanceUpdateImage() + requestDef := GenReqDefForGlanceUpdateImage() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceUpdateImageResponse), nil } } //用户接受或者拒绝共享镜像时,使用该接口更新镜像成员的状态。 func (c *ImsClient) GlanceUpdateImageMember(request *model.GlanceUpdateImageMemberRequest) (*model.GlanceUpdateImageMemberResponse, error) { - requestDef := GenReqDefForGlanceUpdateImageMember(request) - resp, responseDef := GenRespForGlanceUpdateImageMember() + requestDef := GenReqDefForGlanceUpdateImageMember() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.GlanceUpdateImageMemberResponse), nil } } diff --git a/services/ims/v2/ims_meta.go b/services/ims/v2/ims_meta.go index affcb52d09..5ee3e5d65d 100644 --- a/services/ims/v2/ims_meta.go +++ b/services/ims/v2/ims_meta.go @@ -6,1211 +6,1000 @@ import ( "net/http" ) -func GenReqDefForBatchAddMembers(request *model.BatchAddMembersRequest) *def.HttpRequestDef { +func GenReqDefForBatchAddMembers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/cloudimages/members"). + WithResponse(new(model.BatchAddMembersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchAddMembers() (*model.BatchAddMembersResponse, *def.HttpResponseDef) { - resp := new(model.BatchAddMembersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchDeleteMembers(request *model.BatchDeleteMembersRequest) *def.HttpRequestDef { +func GenReqDefForBatchDeleteMembers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/v1/cloudimages/members"). + WithResponse(new(model.BatchDeleteMembersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchDeleteMembers() (*model.BatchDeleteMembersResponse, *def.HttpResponseDef) { - resp := new(model.BatchDeleteMembersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForBatchUpdateMembers(request *model.BatchUpdateMembersRequest) *def.HttpRequestDef { +func GenReqDefForBatchUpdateMembers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/cloudimages/members"). + WithResponse(new(model.BatchUpdateMembersResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchUpdateMembers() (*model.BatchUpdateMembersResponse, *def.HttpResponseDef) { - resp := new(model.BatchUpdateMembersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCopyImageCrossRegion(request *model.CopyImageCrossRegionRequest) *def.HttpRequestDef { +func GenReqDefForCopyImageCrossRegion() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/cloudimages/{image_id}/cross_region_copy"). + WithResponse(new(model.CopyImageCrossRegionResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCopyImageCrossRegion() (*model.CopyImageCrossRegionResponse, *def.HttpResponseDef) { - resp := new(model.CopyImageCrossRegionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCopyImageInRegion(request *model.CopyImageInRegionRequest) *def.HttpRequestDef { +func GenReqDefForCopyImageInRegion() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/cloudimages/{image_id}/copy"). + WithResponse(new(model.CopyImageInRegionResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCopyImageInRegion() (*model.CopyImageInRegionResponse, *def.HttpResponseDef) { - resp := new(model.CopyImageInRegionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateDataImage(request *model.CreateDataImageRequest) *def.HttpRequestDef { +func GenReqDefForCreateDataImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/cloudimages/dataimages/action"). + WithResponse(new(model.CreateDataImageResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateDataImage() (*model.CreateDataImageResponse, *def.HttpResponseDef) { - resp := new(model.CreateDataImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateImage(request *model.CreateImageRequest) *def.HttpRequestDef { +func GenReqDefForCreateImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/cloudimages/action"). + WithResponse(new(model.CreateImageResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateImage() (*model.CreateImageResponse, *def.HttpResponseDef) { - resp := new(model.CreateImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateOrUpdateTags(request *model.CreateOrUpdateTagsRequest) *def.HttpRequestDef { +func GenReqDefForCreateOrUpdateTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/cloudimages/tags"). + WithResponse(new(model.CreateOrUpdateTagsResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateOrUpdateTags() (*model.CreateOrUpdateTagsResponse, *def.HttpResponseDef) { - resp := new(model.CreateOrUpdateTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateWholeImage(request *model.CreateWholeImageRequest) *def.HttpRequestDef { +func GenReqDefForCreateWholeImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/cloudimages/wholeimages/action"). + WithResponse(new(model.CreateWholeImageResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateWholeImage() (*model.CreateWholeImageResponse, *def.HttpResponseDef) { - resp := new(model.CreateWholeImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForExportImage(request *model.ExportImageRequest) *def.HttpRequestDef { +func GenReqDefForExportImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/cloudimages/{image_id}/file"). + WithResponse(new(model.ExportImageResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForExportImage() (*model.ExportImageResponse, *def.HttpResponseDef) { - resp := new(model.ExportImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForImportImageQuick(request *model.ImportImageQuickRequest) *def.HttpRequestDef { +func GenReqDefForImportImageQuick() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/cloudimages/quickimport/action"). + WithResponse(new(model.ImportImageQuickResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForImportImageQuick() (*model.ImportImageQuickResponse, *def.HttpResponseDef) { - resp := new(model.ImportImageQuickResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListImages(request *model.ListImagesRequest) *def.HttpRequestDef { +func GenReqDefForListImages() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/cloudimages") + WithPath("/v2/cloudimages"). + WithResponse(new(model.ListImagesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__imagetype"). + WithName("Imagetype"). + WithJsonTag("__imagetype"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__isregistered"). + WithName("Isregistered"). + WithJsonTag("__isregistered"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__os_bit"). + WithName("OsBit"). + WithJsonTag("__os_bit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__os_type"). + WithName("OsType"). + WithJsonTag("__os_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__platform"). + WithName("Platform"). + WithJsonTag("__platform"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_diskintensive"). + WithName("SupportDiskintensive"). + WithJsonTag("__support_diskintensive"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_highperformance"). + WithName("SupportHighperformance"). + WithJsonTag("__support_highperformance"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_kvm"). + WithName("SupportKvm"). + WithJsonTag("__support_kvm"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_kvm_gpu_type"). + WithName("SupportKvmGpuType"). + WithJsonTag("__support_kvm_gpu_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_kvm_infiniband"). + WithName("SupportKvmInfiniband"). + WithJsonTag("__support_kvm_infiniband"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_largememory"). + WithName("SupportLargememory"). + WithJsonTag("__support_largememory"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_xen"). + WithName("SupportXen"). + WithJsonTag("__support_xen"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_xen_gpu_type"). + WithName("SupportXenGpuType"). + WithJsonTag("__support_xen_gpu_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_xen_hana"). + WithName("SupportXenHana"). + WithJsonTag("__support_xen_hana"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("container_format"). + WithName("ContainerFormat"). + WithJsonTag("container_format"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("disk_format"). + WithName("DiskFormat"). + WithJsonTag("disk_format"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_status"). + WithName("MemberStatus"). + WithJsonTag("member_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("min_disk"). + WithName("MinDisk"). + WithJsonTag("min_disk"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("min_ram"). + WithName("MinRam"). + WithJsonTag("min_ram"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("owner"). + WithName("Owner"). + WithJsonTag("owner"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protected"). + WithName("Protected"). + WithJsonTag("protected"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_dir"). + WithName("SortDir"). + WithJsonTag("sort_dir"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_key"). + WithName("SortKey"). + WithJsonTag("sort_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tag"). + WithName("Tag"). + WithJsonTag("tag"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("virtual_env_type"). + WithName("VirtualEnvType"). + WithJsonTag("virtual_env_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("visibility"). + WithName("Visibility"). + WithJsonTag("visibility"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("flavor_id"). + WithName("FlavorId"). + WithJsonTag("flavor_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("created_at"). + WithName("CreatedAt"). + WithJsonTag("created_at"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("updated_at"). + WithName("UpdatedAt"). + WithJsonTag("updated_at"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("architecture"). + WithName("Architecture"). + WithJsonTag("architecture"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("X-Sdk-Date"). + WithName("XSdkDate"). + WithJsonTag("X-Sdk-Date"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListImages() (*model.ListImagesResponse, *def.HttpResponseDef) { - resp := new(model.ListImagesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListOsVersions(request *model.ListOsVersionsRequest) *def.HttpRequestDef { +func GenReqDefForListOsVersions() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/cloudimages/os_version") + WithPath("/v1/cloudimages/os_version"). + WithResponse(new(model.ListOsVersionsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tag"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Tag"). + WithJsonTag("tag"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListOsVersions() (*model.ListOsVersionsResponse, *def.HttpResponseDef) { - resp := new(model.ListOsVersionsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListTags(request *model.ListTagsRequest) *def.HttpRequestDef { +func GenReqDefForListTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/cloudimages/tags") + WithPath("/v1/cloudimages/tags"). + WithResponse(new(model.ListTagsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__imagetype"). + WithName("Imagetype"). + WithJsonTag("__imagetype"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("min_disk"). + WithName("MinDisk"). + WithJsonTag("min_disk"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__platform"). + WithName("Platform"). + WithJsonTag("__platform"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__os_type"). + WithName("OsType"). + WithJsonTag("__os_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_status"). + WithName("MemberStatus"). + WithJsonTag("member_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("virtual_env_type"). + WithName("VirtualEnvType"). + WithJsonTag("virtual_env_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("architecture"). + WithName("Architecture"). + WithJsonTag("architecture"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("created_at"). + WithName("CreatedAt"). + WithJsonTag("created_at"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("updated_at"). + WithName("UpdatedAt"). + WithJsonTag("updated_at"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTags() (*model.ListTagsResponse, *def.HttpResponseDef) { - resp := new(model.ListTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRegisterImage(request *model.RegisterImageRequest) *def.HttpRequestDef { +func GenReqDefForRegisterImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/cloudimages/{image_id}/upload"). + WithResponse(new(model.RegisterImageResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRegisterImage() (*model.RegisterImageResponse, *def.HttpResponseDef) { - resp := new(model.RegisterImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowImageQuota(request *model.ShowImageQuotaRequest) *def.HttpRequestDef { +func GenReqDefForShowImageQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/cloudimages/quota") + WithPath("/v1/cloudimages/quota"). + WithResponse(new(model.ShowImageQuotaResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowImageQuota() (*model.ShowImageQuotaResponse, *def.HttpResponseDef) { - resp := new(model.ShowImageQuotaResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateImage(request *model.UpdateImageRequest) *def.HttpRequestDef { +func GenReqDefForUpdateImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPatch). WithPath("/v2/cloudimages/{image_id}"). + WithResponse(new(model.UpdateImageResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateImage() (*model.UpdateImageResponse, *def.HttpResponseDef) { - resp := new(model.UpdateImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowJob(request *model.ShowJobRequest) *def.HttpRequestDef { +func GenReqDefForShowJob() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/jobs/{job_id}") + WithPath("/v1/{project_id}/jobs/{job_id}"). + WithResponse(new(model.ShowJobResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("job_id"). + WithName("JobId"). + WithJsonTag("job_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowJob() (*model.ShowJobResponse, *def.HttpResponseDef) { - resp := new(model.ShowJobResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceAddImageMember(request *model.GlanceAddImageMemberRequest) *def.HttpRequestDef { +func GenReqDefForGlanceAddImageMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/images/{image_id}/members"). + WithResponse(new(model.GlanceAddImageMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceAddImageMember() (*model.GlanceAddImageMemberResponse, *def.HttpResponseDef) { - resp := new(model.GlanceAddImageMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceCreateImageMetadata(request *model.GlanceCreateImageMetadataRequest) *def.HttpRequestDef { +func GenReqDefForGlanceCreateImageMetadata() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v2/images"). + WithResponse(new(model.GlanceCreateImageMetadataResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceCreateImageMetadata() (*model.GlanceCreateImageMetadataResponse, *def.HttpResponseDef) { - resp := new(model.GlanceCreateImageMetadataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceCreateTag(request *model.GlanceCreateTagRequest) *def.HttpRequestDef { +func GenReqDefForGlanceCreateTag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v2/images/{image_id}/tags/{tag}") + WithPath("/v2/images/{image_id}/tags/{tag}"). + WithResponse(new(model.GlanceCreateTagResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tag"). + WithName("Tag"). + WithJsonTag("tag"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceCreateTag() (*model.GlanceCreateTagResponse, *def.HttpResponseDef) { - resp := new(model.GlanceCreateTagResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceDeleteImage(request *model.GlanceDeleteImageRequest) *def.HttpRequestDef { +func GenReqDefForGlanceDeleteImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). WithPath("/v2/images/{image_id}"). + WithResponse(new(model.GlanceDeleteImageResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceDeleteImage() (*model.GlanceDeleteImageResponse, *def.HttpResponseDef) { - resp := new(model.GlanceDeleteImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceDeleteImageMember(request *model.GlanceDeleteImageMemberRequest) *def.HttpRequestDef { +func GenReqDefForGlanceDeleteImageMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/images/{image_id}/members/{member_id}") + WithPath("/v2/images/{image_id}/members/{member_id}"). + WithResponse(new(model.GlanceDeleteImageMemberResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceDeleteImageMember() (*model.GlanceDeleteImageMemberResponse, *def.HttpResponseDef) { - resp := new(model.GlanceDeleteImageMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceDeleteTag(request *model.GlanceDeleteTagRequest) *def.HttpRequestDef { +func GenReqDefForGlanceDeleteTag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2/images/{image_id}/tags/{tag}") + WithPath("/v2/images/{image_id}/tags/{tag}"). + WithResponse(new(model.GlanceDeleteTagResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tag"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("Tag"). + WithJsonTag("tag"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceDeleteTag() (*model.GlanceDeleteTagResponse, *def.HttpResponseDef) { - resp := new(model.GlanceDeleteTagResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceListImageMemberSchemas(request *model.GlanceListImageMemberSchemasRequest) *def.HttpRequestDef { +func GenReqDefForGlanceListImageMemberSchemas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/schemas/members") + WithPath("/v2/schemas/members"). + WithResponse(new(model.GlanceListImageMemberSchemasResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceListImageMemberSchemas() (*model.GlanceListImageMemberSchemasResponse, *def.HttpResponseDef) { - resp := new(model.GlanceListImageMemberSchemasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceListImageMembers(request *model.GlanceListImageMembersRequest) *def.HttpRequestDef { +func GenReqDefForGlanceListImageMembers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/images/{image_id}/members") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). - WithLocationType(def.Path)) + WithPath("/v2/images/{image_id}/members"). + WithResponse(new(model.GlanceListImageMembersResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceListImageMembers() (*model.GlanceListImageMembersResponse, *def.HttpResponseDef) { - resp := new(model.GlanceListImageMembersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceListImageSchemas(request *model.GlanceListImageSchemasRequest) *def.HttpRequestDef { +func GenReqDefForGlanceListImageSchemas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/schemas/images") + WithPath("/v2/schemas/images"). + WithResponse(new(model.GlanceListImageSchemasResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceListImageSchemas() (*model.GlanceListImageSchemasResponse, *def.HttpResponseDef) { - resp := new(model.GlanceListImageSchemasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceListImages(request *model.GlanceListImagesRequest) *def.HttpRequestDef { +func GenReqDefForGlanceListImages() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/images") + WithPath("/v2/images"). + WithResponse(new(model.GlanceListImagesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__imagetype"). + WithName("Imagetype"). + WithJsonTag("__imagetype"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__isregistered"). + WithName("Isregistered"). + WithJsonTag("__isregistered"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__os_bit"). + WithName("OsBit"). + WithJsonTag("__os_bit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__os_type"). + WithName("OsType"). + WithJsonTag("__os_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__platform"). + WithName("Platform"). + WithJsonTag("__platform"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_diskintensive"). + WithName("SupportDiskintensive"). + WithJsonTag("__support_diskintensive"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_highperformance"). + WithName("SupportHighperformance"). + WithJsonTag("__support_highperformance"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_kvm"). + WithName("SupportKvm"). + WithJsonTag("__support_kvm"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_kvm_gpu_type"). + WithName("SupportKvmGpuType"). + WithJsonTag("__support_kvm_gpu_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_kvm_infiniband"). + WithName("SupportKvmInfiniband"). + WithJsonTag("__support_kvm_infiniband"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_largememory"). + WithName("SupportLargememory"). + WithJsonTag("__support_largememory"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_xen"). + WithName("SupportXen"). + WithJsonTag("__support_xen"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_xen_gpu_type"). + WithName("SupportXenGpuType"). + WithJsonTag("__support_xen_gpu_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("__support_xen_hana"). + WithName("SupportXenHana"). + WithJsonTag("__support_xen_hana"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("container_format"). + WithName("ContainerFormat"). + WithJsonTag("container_format"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("disk_format"). + WithName("DiskFormat"). + WithJsonTag("disk_format"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_status"). + WithName("MemberStatus"). + WithJsonTag("member_status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("min_disk"). + WithName("MinDisk"). + WithJsonTag("min_disk"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("min_ram"). + WithName("MinRam"). + WithJsonTag("min_ram"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("owner"). + WithName("Owner"). + WithJsonTag("owner"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protected"). + WithName("Protected"). + WithJsonTag("protected"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_dir"). + WithName("SortDir"). + WithJsonTag("sort_dir"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort_key"). + WithName("SortKey"). + WithJsonTag("sort_key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tag"). + WithName("Tag"). + WithJsonTag("tag"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("visibility"). + WithName("Visibility"). + WithJsonTag("visibility"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("created_at"). + WithName("CreatedAt"). + WithJsonTag("created_at"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("updated_at"). + WithName("UpdatedAt"). + WithJsonTag("updated_at"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceListImages() (*model.GlanceListImagesResponse, *def.HttpResponseDef) { - resp := new(model.GlanceListImagesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceShowImage(request *model.GlanceShowImageRequest) *def.HttpRequestDef { +func GenReqDefForGlanceShowImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/images/{image_id}") + WithPath("/v2/images/{image_id}"). + WithResponse(new(model.GlanceShowImageResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceShowImage() (*model.GlanceShowImageResponse, *def.HttpResponseDef) { - resp := new(model.GlanceShowImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceShowImageMember(request *model.GlanceShowImageMemberRequest) *def.HttpRequestDef { +func GenReqDefForGlanceShowImageMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/images/{image_id}/members/{member_id}") + WithPath("/v2/images/{image_id}/members/{member_id}"). + WithResponse(new(model.GlanceShowImageMemberResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceShowImageMember() (*model.GlanceShowImageMemberResponse, *def.HttpResponseDef) { - resp := new(model.GlanceShowImageMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceShowImageMemberSchemas(request *model.GlanceShowImageMemberSchemasRequest) *def.HttpRequestDef { +func GenReqDefForGlanceShowImageMemberSchemas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/schemas/member") + WithPath("/v2/schemas/member"). + WithResponse(new(model.GlanceShowImageMemberSchemasResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceShowImageMemberSchemas() (*model.GlanceShowImageMemberSchemasResponse, *def.HttpResponseDef) { - resp := new(model.GlanceShowImageMemberSchemasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceShowImageSchemas(request *model.GlanceShowImageSchemasRequest) *def.HttpRequestDef { +func GenReqDefForGlanceShowImageSchemas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/schemas/image") + WithPath("/v2/schemas/image"). + WithResponse(new(model.GlanceShowImageSchemasResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceShowImageSchemas() (*model.GlanceShowImageSchemasResponse, *def.HttpResponseDef) { - resp := new(model.GlanceShowImageSchemasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceUpdateImage(request *model.GlanceUpdateImageRequest) *def.HttpRequestDef { +func GenReqDefForGlanceUpdateImage() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPatch). WithPath("/v2/images/{image_id}"). + WithResponse(new(model.GlanceUpdateImageResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForGlanceUpdateImage() (*model.GlanceUpdateImageResponse, *def.HttpResponseDef) { - resp := new(model.GlanceUpdateImageResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForGlanceUpdateImageMember(request *model.GlanceUpdateImageMemberRequest) *def.HttpRequestDef { +func GenReqDefForGlanceUpdateImageMember() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v2/images/{image_id}/members/{member_id}"). + WithResponse(new(model.GlanceUpdateImageMemberResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("image_id"). + WithName("ImageId"). + WithJsonTag("image_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("member_id"). + WithName("MemberId"). + WithJsonTag("member_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForGlanceUpdateImageMember() (*model.GlanceUpdateImageMemberResponse, *def.HttpResponseDef) { - resp := new(model.GlanceUpdateImageMemberResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/kms/v1/kms_client.go b/services/kms/v1/kms_client.go index d7d135fc24..7d966d7de7 100644 --- a/services/kms/v1/kms_client.go +++ b/services/kms/v1/kms_client.go @@ -20,456 +20,418 @@ func KmsClientBuilder() *http_client.HcHttpClientBuilder { //- 功能介绍:批量添加删除密钥标签。 func (c *KmsClient) BatchCreateKmsTags(request *model.BatchCreateKmsTagsRequest) (*model.BatchCreateKmsTagsResponse, error) { - requestDef := GenReqDefForBatchCreateKmsTags(request) - resp, responseDef := GenRespForBatchCreateKmsTags() + requestDef := GenReqDefForBatchCreateKmsTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchCreateKmsTagsResponse), nil } } //- 功能介绍:撤销授权,授权用户撤销被授权用户操作密钥的权限。 - 说明: - 创建密钥的用户才能撤销该密钥授权。 func (c *KmsClient) CancelGrant(request *model.CancelGrantRequest) (*model.CancelGrantResponse, error) { - requestDef := GenReqDefForCancelGrant(request) - resp, responseDef := GenRespForCancelGrant() + requestDef := GenReqDefForCancelGrant() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CancelGrantResponse), nil } } //- 功能介绍:取消计划删除密钥。 - 说明:密钥处于“计划删除”状态才能取消计划删除密钥。 func (c *KmsClient) CancelKeyDeletion(request *model.CancelKeyDeletionRequest) (*model.CancelKeyDeletionResponse, error) { - requestDef := GenReqDefForCancelKeyDeletion(request) - resp, responseDef := GenRespForCancelKeyDeletion() + requestDef := GenReqDefForCancelKeyDeletion() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CancelKeyDeletionResponse), nil } } //- 功能介绍:退役授权,表示被授权用户不再具有授权密钥的操作权。 例如:用户A授权用户B可以操作密钥A/key,同时授权用户C可以撤销该授权, 那么用户A、B、C均可退役该授权,退役授权后,用户B不再可以使用A/key。 - 须知: 可执行退役授权的主体包括: - 创建授权的用户; - 授权中retiring_principal指向的用户; - 当授权的操作列表中包含retire-grant时,grantee_principal指向的用户。 func (c *KmsClient) CancelSelfGrant(request *model.CancelSelfGrantRequest) (*model.CancelSelfGrantResponse, error) { - requestDef := GenReqDefForCancelSelfGrant(request) - resp, responseDef := GenRespForCancelSelfGrant() + requestDef := GenReqDefForCancelSelfGrant() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CancelSelfGrantResponse), nil } } //- 功能介绍:创建数据密钥,返回结果包含明文和密文。 func (c *KmsClient) CreateDatakey(request *model.CreateDatakeyRequest) (*model.CreateDatakeyResponse, error) { - requestDef := GenReqDefForCreateDatakey(request) - resp, responseDef := GenRespForCreateDatakey() + requestDef := GenReqDefForCreateDatakey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateDatakeyResponse), nil } } //- 功能介绍:创建数据密钥,返回结果只包含密文。 func (c *KmsClient) CreateDatakeyWithoutPlaintext(request *model.CreateDatakeyWithoutPlaintextRequest) (*model.CreateDatakeyWithoutPlaintextResponse, error) { - requestDef := GenReqDefForCreateDatakeyWithoutPlaintext(request) - resp, responseDef := GenRespForCreateDatakeyWithoutPlaintext() + requestDef := GenReqDefForCreateDatakeyWithoutPlaintext() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateDatakeyWithoutPlaintextResponse), nil } } //- 功能介绍:创建授权,被授权用户可以对授权密钥进行操作。 - 说明: - 服务默认主密钥(密钥别名后缀为“/default”)不可以授权。 func (c *KmsClient) CreateGrant(request *model.CreateGrantRequest) (*model.CreateGrantResponse, error) { - requestDef := GenReqDefForCreateGrant(request) - resp, responseDef := GenRespForCreateGrant() + requestDef := GenReqDefForCreateGrant() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateGrantResponse), nil } } //- 功能介绍:创建用户主密钥,可用来加密数据密钥。 - 说明: 别名“/default”为服务默认主密钥的后缀名,由服务自动创建。因此用户创建的主密钥别名不能与服务默认主密钥的别名相同,即后缀名不能为“/default”。对于开通企业项目的用户,服务默认主密钥属于且只能属于默认企业项目下,且不支持企业资源的迁入迁出。服务默认主密钥为用户提供基础的云上加密功能,满足合规要求。因此,在企业多项目下,其他非默认企业项目下的用户均可使用该密钥。若客户有企业管理资源诉求,请自行创建和使用密钥。 func (c *KmsClient) CreateKey(request *model.CreateKeyRequest) (*model.CreateKeyResponse, error) { - requestDef := GenReqDefForCreateKey(request) - resp, responseDef := GenRespForCreateKey() + requestDef := GenReqDefForCreateKey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateKeyResponse), nil } } //- 功能介绍:添加密钥标签。 func (c *KmsClient) CreateKmsTag(request *model.CreateKmsTagRequest) (*model.CreateKmsTagResponse, error) { - requestDef := GenReqDefForCreateKmsTag(request) - resp, responseDef := GenRespForCreateKmsTag() + requestDef := GenReqDefForCreateKmsTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateKmsTagResponse), nil } } //- 功能介绍:获取导入密钥的必要参数,包括密钥导入令牌和密钥加密公钥。 - 说明:返回的公钥类型默认为RSA_2048。 func (c *KmsClient) CreateParametersForImport(request *model.CreateParametersForImportRequest) (*model.CreateParametersForImportResponse, error) { - requestDef := GenReqDefForCreateParametersForImport(request) - resp, responseDef := GenRespForCreateParametersForImport() + requestDef := GenReqDefForCreateParametersForImport() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateParametersForImportResponse), nil } } //- 功能介绍: 生成8~8192bit范围内的随机数。 生成512bit的随机数。 func (c *KmsClient) CreateRandom(request *model.CreateRandomRequest) (*model.CreateRandomResponse, error) { - requestDef := GenReqDefForCreateRandom(request) - resp, responseDef := GenRespForCreateRandom() + requestDef := GenReqDefForCreateRandom() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateRandomResponse), nil } } //- 功能介绍:解密数据。 func (c *KmsClient) DecryptData(request *model.DecryptDataRequest) (*model.DecryptDataResponse, error) { - requestDef := GenReqDefForDecryptData(request) - resp, responseDef := GenRespForDecryptData() + requestDef := GenReqDefForDecryptData() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DecryptDataResponse), nil } } //- 功能介绍:解密数据密钥,用指定的主密钥解密数据密钥。 func (c *KmsClient) DecryptDatakey(request *model.DecryptDatakeyRequest) (*model.DecryptDatakeyResponse, error) { - requestDef := GenReqDefForDecryptDatakey(request) - resp, responseDef := GenRespForDecryptDatakey() + requestDef := GenReqDefForDecryptDatakey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DecryptDatakeyResponse), nil } } //- 功能介绍:删除密钥材料信息。 func (c *KmsClient) DeleteImportedKeyMaterial(request *model.DeleteImportedKeyMaterialRequest) (*model.DeleteImportedKeyMaterialResponse, error) { - requestDef := GenReqDefForDeleteImportedKeyMaterial(request) - resp, responseDef := GenRespForDeleteImportedKeyMaterial() + requestDef := GenReqDefForDeleteImportedKeyMaterial() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteImportedKeyMaterialResponse), nil } } //- 功能介绍:计划多少天后删除密钥,可设置7天~1096天内删除密钥。 func (c *KmsClient) DeleteKey(request *model.DeleteKeyRequest) (*model.DeleteKeyResponse, error) { - requestDef := GenReqDefForDeleteKey(request) - resp, responseDef := GenRespForDeleteKey() + requestDef := GenReqDefForDeleteKey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteKeyResponse), nil } } //- 功能介绍:删除密钥标签。 func (c *KmsClient) DeleteTag(request *model.DeleteTagRequest) (*model.DeleteTagResponse, error) { - requestDef := GenReqDefForDeleteTag(request) - resp, responseDef := GenRespForDeleteTag() + requestDef := GenReqDefForDeleteTag() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteTagResponse), nil } } //- 功能介绍:禁用密钥,密钥禁用后不可以使用。 - 说明:密钥为启用状态才能禁用密钥。 func (c *KmsClient) DisableKey(request *model.DisableKeyRequest) (*model.DisableKeyResponse, error) { - requestDef := GenReqDefForDisableKey(request) - resp, responseDef := GenRespForDisableKey() + requestDef := GenReqDefForDisableKey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisableKeyResponse), nil } } //- 功能介绍:关闭用户主密钥轮换。 func (c *KmsClient) DisableKeyRotation(request *model.DisableKeyRotationRequest) (*model.DisableKeyRotationResponse, error) { - requestDef := GenReqDefForDisableKeyRotation(request) - resp, responseDef := GenRespForDisableKeyRotation() + requestDef := GenReqDefForDisableKeyRotation() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisableKeyRotationResponse), nil } } //- 功能介绍:启用密钥,密钥启用后才可以使用。 - 说明:密钥为禁用状态才能启用密钥。 func (c *KmsClient) EnableKey(request *model.EnableKeyRequest) (*model.EnableKeyResponse, error) { - requestDef := GenReqDefForEnableKey(request) - resp, responseDef := GenRespForEnableKey() + requestDef := GenReqDefForEnableKey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.EnableKeyResponse), nil } } //- 功能介绍:开启用户主密钥轮换。 - 说明: - 开启密钥轮换后,默认轮询间隔时间为365天。 - 默认主密钥及外部导入密钥不支持轮换操作。 func (c *KmsClient) EnableKeyRotation(request *model.EnableKeyRotationRequest) (*model.EnableKeyRotationResponse, error) { - requestDef := GenReqDefForEnableKeyRotation(request) - resp, responseDef := GenRespForEnableKeyRotation() + requestDef := GenReqDefForEnableKeyRotation() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.EnableKeyRotationResponse), nil } } //- 功能介绍:加密数据,用指定的用户主密钥加密数据。 func (c *KmsClient) EncryptData(request *model.EncryptDataRequest) (*model.EncryptDataResponse, error) { - requestDef := GenReqDefForEncryptData(request) - resp, responseDef := GenRespForEncryptData() + requestDef := GenReqDefForEncryptData() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.EncryptDataResponse), nil } } //- 功能介绍:加密数据密钥,用指定的主密钥加密数据密钥。 func (c *KmsClient) EncryptDatakey(request *model.EncryptDatakeyRequest) (*model.EncryptDatakeyResponse, error) { - requestDef := GenReqDefForEncryptDatakey(request) - resp, responseDef := GenRespForEncryptDatakey() + requestDef := GenReqDefForEncryptDatakey() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.EncryptDatakeyResponse), nil } } //- 功能介绍:导入密钥材料。 func (c *KmsClient) ImportKeyMaterial(request *model.ImportKeyMaterialRequest) (*model.ImportKeyMaterialResponse, error) { - requestDef := GenReqDefForImportKeyMaterial(request) - resp, responseDef := GenRespForImportKeyMaterial() + requestDef := GenReqDefForImportKeyMaterial() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ImportKeyMaterialResponse), nil } } //- 功能介绍:查询密钥的授权列表。 func (c *KmsClient) ListGrants(request *model.ListGrantsRequest) (*model.ListGrantsResponse, error) { - requestDef := GenReqDefForListGrants(request) - resp, responseDef := GenRespForListGrants() + requestDef := GenReqDefForListGrants() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListGrantsResponse), nil } } //- 功能介绍:查询密钥详细信息。 func (c *KmsClient) ListKeyDetail(request *model.ListKeyDetailRequest) (*model.ListKeyDetailResponse, error) { - requestDef := GenReqDefForListKeyDetail(request) - resp, responseDef := GenRespForListKeyDetail() + requestDef := GenReqDefForListKeyDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListKeyDetailResponse), nil } } //- 功能介绍:查询用户所有密钥列表。 func (c *KmsClient) ListKeys(request *model.ListKeysRequest) (*model.ListKeysResponse, error) { - requestDef := GenReqDefForListKeys(request) - resp, responseDef := GenRespForListKeys() + requestDef := GenReqDefForListKeys() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListKeysResponse), nil } } //- 功能介绍:查询密钥实例。通过标签过滤,查询指定用户主密钥的详细信息。 func (c *KmsClient) ListKmsByTags(request *model.ListKmsByTagsRequest) (*model.ListKmsByTagsResponse, error) { - requestDef := GenReqDefForListKmsByTags(request) - resp, responseDef := GenRespForListKmsByTags() + requestDef := GenReqDefForListKmsByTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListKmsByTagsResponse), nil } } //- 功能介绍:查询用户在指定项目下的所有标签集合。 func (c *KmsClient) ListKmsTags(request *model.ListKmsTagsRequest) (*model.ListKmsTagsResponse, error) { - requestDef := GenReqDefForListKmsTags(request) - resp, responseDef := GenRespForListKmsTags() + requestDef := GenReqDefForListKmsTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListKmsTagsResponse), nil } } //- 功能介绍:查询用户可以退役的授权列表。 func (c *KmsClient) ListRetirableGrants(request *model.ListRetirableGrantsRequest) (*model.ListRetirableGrantsResponse, error) { - requestDef := GenReqDefForListRetirableGrants(request) - resp, responseDef := GenRespForListRetirableGrants() + requestDef := GenReqDefForListRetirableGrants() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListRetirableGrantsResponse), nil } } //- 功能介绍:查询用户主密钥轮换状态。 func (c *KmsClient) ShowKeyRotationStatus(request *model.ShowKeyRotationStatusRequest) (*model.ShowKeyRotationStatusResponse, error) { - requestDef := GenReqDefForShowKeyRotationStatus(request) - resp, responseDef := GenRespForShowKeyRotationStatus() + requestDef := GenReqDefForShowKeyRotationStatus() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowKeyRotationStatusResponse), nil } } //- 功能介绍:查询密钥标签。 func (c *KmsClient) ShowKmsTags(request *model.ShowKmsTagsRequest) (*model.ShowKmsTagsResponse, error) { - requestDef := GenReqDefForShowKmsTags(request) - resp, responseDef := GenRespForShowKmsTags() + requestDef := GenReqDefForShowKmsTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowKmsTagsResponse), nil } } //- 功能介绍:查询实例数,获取用户已经创建的用户主密钥数量。 func (c *KmsClient) ShowUserInstances(request *model.ShowUserInstancesRequest) (*model.ShowUserInstancesResponse, error) { - requestDef := GenReqDefForShowUserInstances(request) - resp, responseDef := GenRespForShowUserInstances() + requestDef := GenReqDefForShowUserInstances() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowUserInstancesResponse), nil } } //- 功能介绍:查询配额,查询用户可以创建的用户主密钥配额总数及当前使用量信息。 func (c *KmsClient) ShowUserQuotas(request *model.ShowUserQuotasRequest) (*model.ShowUserQuotasResponse, error) { - requestDef := GenReqDefForShowUserQuotas(request) - resp, responseDef := GenRespForShowUserQuotas() + requestDef := GenReqDefForShowUserQuotas() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowUserQuotasResponse), nil } } //- 功能介绍:修改用户主密钥别名。 - 说明: - 服务默认主密钥(密钥别名后缀为“/default”)不可以修改。 - 密钥处于“计划删除”状态,密钥别名不可以修改。 func (c *KmsClient) UpdateKeyAlias(request *model.UpdateKeyAliasRequest) (*model.UpdateKeyAliasResponse, error) { - requestDef := GenReqDefForUpdateKeyAlias(request) - resp, responseDef := GenRespForUpdateKeyAlias() + requestDef := GenReqDefForUpdateKeyAlias() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateKeyAliasResponse), nil } } //- 功能介绍:修改用户主密钥描述信息。 - 说明: - 服务默认主密钥(密钥别名后缀为“/default”)不可以修改。 - 密钥处于“计划删除”状态,密钥描述不可以修改。 func (c *KmsClient) UpdateKeyDescription(request *model.UpdateKeyDescriptionRequest) (*model.UpdateKeyDescriptionResponse, error) { - requestDef := GenReqDefForUpdateKeyDescription(request) - resp, responseDef := GenRespForUpdateKeyDescription() + requestDef := GenReqDefForUpdateKeyDescription() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateKeyDescriptionResponse), nil } } //- 功能介绍:修改用户主密钥轮换周期。 func (c *KmsClient) UpdateKeyRotationInterval(request *model.UpdateKeyRotationIntervalRequest) (*model.UpdateKeyRotationIntervalResponse, error) { - requestDef := GenReqDefForUpdateKeyRotationInterval(request) - resp, responseDef := GenRespForUpdateKeyRotationInterval() + requestDef := GenReqDefForUpdateKeyRotationInterval() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateKeyRotationIntervalResponse), nil } } //- 功能介绍:查指定API版本信息。 func (c *KmsClient) ShowVersion(request *model.ShowVersionRequest) (*model.ShowVersionResponse, error) { - requestDef := GenReqDefForShowVersion(request) - resp, responseDef := GenRespForShowVersion() + requestDef := GenReqDefForShowVersion() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowVersionResponse), nil } } //- 功能介绍:查询API版本信息列表。 func (c *KmsClient) ShowVersions(request *model.ShowVersionsRequest) (*model.ShowVersionsResponse, error) { - requestDef := GenReqDefForShowVersions(request) - resp, responseDef := GenRespForShowVersions() + requestDef := GenReqDefForShowVersions() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowVersionsResponse), nil } } diff --git a/services/kms/v1/kms_meta.go b/services/kms/v1/kms_meta.go index e566844874..f3aa1ec076 100644 --- a/services/kms/v1/kms_meta.go +++ b/services/kms/v1/kms_meta.go @@ -6,1173 +6,861 @@ import ( "net/http" ) -func GenReqDefForBatchCreateKmsTags(request *model.BatchCreateKmsTagsRequest) *def.HttpRequestDef { +func GenReqDefForBatchCreateKmsTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/{key_id}/tags/action"). + WithResponse(new(model.BatchCreateKmsTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key_id"). + WithName("KeyId"). + WithJsonTag("key_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchCreateKmsTags() (*model.BatchCreateKmsTagsResponse, *def.HttpResponseDef) { - resp := new(model.BatchCreateKmsTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCancelGrant(request *model.CancelGrantRequest) *def.HttpRequestDef { +func GenReqDefForCancelGrant() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/revoke-grant"). + WithResponse(new(model.CancelGrantResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCancelGrant() (*model.CancelGrantResponse, *def.HttpResponseDef) { - resp := new(model.CancelGrantResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCancelKeyDeletion(request *model.CancelKeyDeletionRequest) *def.HttpRequestDef { +func GenReqDefForCancelKeyDeletion() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/cancel-key-deletion"). + WithResponse(new(model.CancelKeyDeletionResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCancelKeyDeletion() (*model.CancelKeyDeletionResponse, *def.HttpResponseDef) { - resp := new(model.CancelKeyDeletionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCancelSelfGrant(request *model.CancelSelfGrantRequest) *def.HttpRequestDef { +func GenReqDefForCancelSelfGrant() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/retire-grant"). + WithResponse(new(model.CancelSelfGrantResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCancelSelfGrant() (*model.CancelSelfGrantResponse, *def.HttpResponseDef) { - resp := new(model.CancelSelfGrantResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateDatakey(request *model.CreateDatakeyRequest) *def.HttpRequestDef { +func GenReqDefForCreateDatakey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/create-datakey"). + WithResponse(new(model.CreateDatakeyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateDatakey() (*model.CreateDatakeyResponse, *def.HttpResponseDef) { - resp := new(model.CreateDatakeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateDatakeyWithoutPlaintext(request *model.CreateDatakeyWithoutPlaintextRequest) *def.HttpRequestDef { +func GenReqDefForCreateDatakeyWithoutPlaintext() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/create-datakey-without-plaintext"). + WithResponse(new(model.CreateDatakeyWithoutPlaintextResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateDatakeyWithoutPlaintext() (*model.CreateDatakeyWithoutPlaintextResponse, *def.HttpResponseDef) { - resp := new(model.CreateDatakeyWithoutPlaintextResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateGrant(request *model.CreateGrantRequest) *def.HttpRequestDef { +func GenReqDefForCreateGrant() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/create-grant"). + WithResponse(new(model.CreateGrantResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateGrant() (*model.CreateGrantResponse, *def.HttpResponseDef) { - resp := new(model.CreateGrantResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateKey(request *model.CreateKeyRequest) *def.HttpRequestDef { +func GenReqDefForCreateKey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/create-key"). + WithResponse(new(model.CreateKeyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateKey() (*model.CreateKeyResponse, *def.HttpResponseDef) { - resp := new(model.CreateKeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateKmsTag(request *model.CreateKmsTagRequest) *def.HttpRequestDef { +func GenReqDefForCreateKmsTag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/{key_id}/tags"). + WithResponse(new(model.CreateKmsTagResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key_id"). + WithName("KeyId"). + WithJsonTag("key_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateKmsTag() (*model.CreateKmsTagResponse, *def.HttpResponseDef) { - resp := new(model.CreateKmsTagResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateParametersForImport(request *model.CreateParametersForImportRequest) *def.HttpRequestDef { +func GenReqDefForCreateParametersForImport() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/get-parameters-for-import"). + WithResponse(new(model.CreateParametersForImportResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateParametersForImport() (*model.CreateParametersForImportResponse, *def.HttpResponseDef) { - resp := new(model.CreateParametersForImportResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateRandom(request *model.CreateRandomRequest) *def.HttpRequestDef { +func GenReqDefForCreateRandom() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/gen-random"). + WithResponse(new(model.CreateRandomResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateRandom() (*model.CreateRandomResponse, *def.HttpResponseDef) { - resp := new(model.CreateRandomResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDecryptData(request *model.DecryptDataRequest) *def.HttpRequestDef { +func GenReqDefForDecryptData() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/decrypt-data"). + WithResponse(new(model.DecryptDataResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDecryptData() (*model.DecryptDataResponse, *def.HttpResponseDef) { - resp := new(model.DecryptDataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDecryptDatakey(request *model.DecryptDatakeyRequest) *def.HttpRequestDef { +func GenReqDefForDecryptDatakey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/decrypt-datakey"). + WithResponse(new(model.DecryptDatakeyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDecryptDatakey() (*model.DecryptDatakeyResponse, *def.HttpResponseDef) { - resp := new(model.DecryptDatakeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteImportedKeyMaterial(request *model.DeleteImportedKeyMaterialRequest) *def.HttpRequestDef { +func GenReqDefForDeleteImportedKeyMaterial() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/delete-imported-key-material"). + WithResponse(new(model.DeleteImportedKeyMaterialResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteImportedKeyMaterial() (*model.DeleteImportedKeyMaterialResponse, *def.HttpResponseDef) { - resp := new(model.DeleteImportedKeyMaterialResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteKey(request *model.DeleteKeyRequest) *def.HttpRequestDef { +func GenReqDefForDeleteKey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/schedule-key-deletion"). + WithResponse(new(model.DeleteKeyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteKey() (*model.DeleteKeyResponse, *def.HttpResponseDef) { - resp := new(model.DeleteKeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteTag(request *model.DeleteTagRequest) *def.HttpRequestDef { +func GenReqDefForDeleteTag() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/{version_id}/{project_id}/kms/{key_id}/tags/{key}") + WithPath("/{version_id}/{project_id}/kms/{key_id}/tags/{key}"). + WithResponse(new(model.DeleteTagResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key"). + WithName("KeyId"). + WithJsonTag("key_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("Key"). + WithJsonTag("key"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteTag() (*model.DeleteTagResponse, *def.HttpResponseDef) { - resp := new(model.DeleteTagResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisableKey(request *model.DisableKeyRequest) *def.HttpRequestDef { +func GenReqDefForDisableKey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/disable-key"). + WithResponse(new(model.DisableKeyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisableKey() (*model.DisableKeyResponse, *def.HttpResponseDef) { - resp := new(model.DisableKeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisableKeyRotation(request *model.DisableKeyRotationRequest) *def.HttpRequestDef { +func GenReqDefForDisableKeyRotation() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/disable-key-rotation"). + WithResponse(new(model.DisableKeyRotationResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisableKeyRotation() (*model.DisableKeyRotationResponse, *def.HttpResponseDef) { - resp := new(model.DisableKeyRotationResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForEnableKey(request *model.EnableKeyRequest) *def.HttpRequestDef { +func GenReqDefForEnableKey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/enable-key"). + WithResponse(new(model.EnableKeyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForEnableKey() (*model.EnableKeyResponse, *def.HttpResponseDef) { - resp := new(model.EnableKeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForEnableKeyRotation(request *model.EnableKeyRotationRequest) *def.HttpRequestDef { +func GenReqDefForEnableKeyRotation() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/enable-key-rotation"). + WithResponse(new(model.EnableKeyRotationResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForEnableKeyRotation() (*model.EnableKeyRotationResponse, *def.HttpResponseDef) { - resp := new(model.EnableKeyRotationResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForEncryptData(request *model.EncryptDataRequest) *def.HttpRequestDef { +func GenReqDefForEncryptData() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/encrypt-data"). + WithResponse(new(model.EncryptDataResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForEncryptData() (*model.EncryptDataResponse, *def.HttpResponseDef) { - resp := new(model.EncryptDataResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForEncryptDatakey(request *model.EncryptDatakeyRequest) *def.HttpRequestDef { +func GenReqDefForEncryptDatakey() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/encrypt-datakey"). + WithResponse(new(model.EncryptDatakeyResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForEncryptDatakey() (*model.EncryptDatakeyResponse, *def.HttpResponseDef) { - resp := new(model.EncryptDatakeyResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForImportKeyMaterial(request *model.ImportKeyMaterialRequest) *def.HttpRequestDef { +func GenReqDefForImportKeyMaterial() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/import-key-material"). + WithResponse(new(model.ImportKeyMaterialResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForImportKeyMaterial() (*model.ImportKeyMaterialResponse, *def.HttpResponseDef) { - resp := new(model.ImportKeyMaterialResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListGrants(request *model.ListGrantsRequest) *def.HttpRequestDef { +func GenReqDefForListGrants() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/list-grants"). + WithResponse(new(model.ListGrantsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListGrants() (*model.ListGrantsResponse, *def.HttpResponseDef) { - resp := new(model.ListGrantsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListKeyDetail(request *model.ListKeyDetailRequest) *def.HttpRequestDef { +func GenReqDefForListKeyDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/describe-key"). + WithResponse(new(model.ListKeyDetailResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListKeyDetail() (*model.ListKeyDetailResponse, *def.HttpResponseDef) { - resp := new(model.ListKeyDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListKeys(request *model.ListKeysRequest) *def.HttpRequestDef { +func GenReqDefForListKeys() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/list-keys"). + WithResponse(new(model.ListKeysResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListKeys() (*model.ListKeysResponse, *def.HttpResponseDef) { - resp := new(model.ListKeysResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListKmsByTags(request *model.ListKmsByTagsRequest) *def.HttpRequestDef { +func GenReqDefForListKmsByTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/{resource_instances}/action"). + WithResponse(new(model.ListKmsByTagsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("resource_instances"). + WithName("ResourceInstances"). + WithJsonTag("resource_instances"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListKmsByTags() (*model.ListKmsByTagsResponse, *def.HttpResponseDef) { - resp := new(model.ListKmsByTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListKmsTags(request *model.ListKmsTagsRequest) *def.HttpRequestDef { +func GenReqDefForListKmsTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/{version_id}/{project_id}/kms/tags") + WithPath("/{version_id}/{project_id}/kms/tags"). + WithResponse(new(model.ListKmsTagsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListKmsTags() (*model.ListKmsTagsResponse, *def.HttpResponseDef) { - resp := new(model.ListKmsTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListRetirableGrants(request *model.ListRetirableGrantsRequest) *def.HttpRequestDef { +func GenReqDefForListRetirableGrants() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/list-retirable-grants"). + WithResponse(new(model.ListRetirableGrantsResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListRetirableGrants() (*model.ListRetirableGrantsResponse, *def.HttpResponseDef) { - resp := new(model.ListRetirableGrantsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowKeyRotationStatus(request *model.ShowKeyRotationStatusRequest) *def.HttpRequestDef { +func GenReqDefForShowKeyRotationStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/get-key-rotation-status"). + WithResponse(new(model.ShowKeyRotationStatusResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowKeyRotationStatus() (*model.ShowKeyRotationStatusResponse, *def.HttpResponseDef) { - resp := new(model.ShowKeyRotationStatusResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowKmsTags(request *model.ShowKmsTagsRequest) *def.HttpRequestDef { +func GenReqDefForShowKmsTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/{version_id}/{project_id}/kms/{key_id}/tags") + WithPath("/{version_id}/{project_id}/kms/{key_id}/tags"). + WithResponse(new(model.ShowKmsTagsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key_id"). + WithName("KeyId"). + WithJsonTag("key_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowKmsTags() (*model.ShowKmsTagsResponse, *def.HttpResponseDef) { - resp := new(model.ShowKmsTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowUserInstances(request *model.ShowUserInstancesRequest) *def.HttpRequestDef { +func GenReqDefForShowUserInstances() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/{version_id}/{project_id}/kms/user-instances") + WithPath("/{version_id}/{project_id}/kms/user-instances"). + WithResponse(new(model.ShowUserInstancesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowUserInstances() (*model.ShowUserInstancesResponse, *def.HttpResponseDef) { - resp := new(model.ShowUserInstancesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowUserQuotas(request *model.ShowUserQuotasRequest) *def.HttpRequestDef { +func GenReqDefForShowUserQuotas() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/{version_id}/{project_id}/kms/user-quotas") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). - WithLocationType(def.Path)) + WithPath("/{version_id}/{project_id}/kms/user-quotas"). + WithResponse(new(model.ShowUserQuotasResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowUserQuotas() (*model.ShowUserQuotasResponse, *def.HttpResponseDef) { - resp := new(model.ShowUserQuotasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateKeyAlias(request *model.UpdateKeyAliasRequest) *def.HttpRequestDef { +func GenReqDefForUpdateKeyAlias() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/update-key-alias"). + WithResponse(new(model.UpdateKeyAliasResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateKeyAlias() (*model.UpdateKeyAliasResponse, *def.HttpResponseDef) { - resp := new(model.UpdateKeyAliasResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateKeyDescription(request *model.UpdateKeyDescriptionRequest) *def.HttpRequestDef { +func GenReqDefForUpdateKeyDescription() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/update-key-description"). + WithResponse(new(model.UpdateKeyDescriptionResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateKeyDescription() (*model.UpdateKeyDescriptionResponse, *def.HttpResponseDef) { - resp := new(model.UpdateKeyDescriptionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateKeyRotationInterval(request *model.UpdateKeyRotationIntervalRequest) *def.HttpRequestDef { +func GenReqDefForUpdateKeyRotationInterval() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/{version_id}/{project_id}/kms/update-key-rotation-interval"). + WithResponse(new(model.UpdateKeyRotationIntervalResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateKeyRotationInterval() (*model.UpdateKeyRotationIntervalResponse, *def.HttpResponseDef) { - resp := new(model.UpdateKeyRotationIntervalResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowVersion(request *model.ShowVersionRequest) *def.HttpRequestDef { +func GenReqDefForShowVersion() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/{version_id}") + WithPath("/{version_id}"). + WithResponse(new(model.ShowVersionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("version_id"). + WithName("VersionId"). + WithJsonTag("version_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowVersion() (*model.ShowVersionResponse, *def.HttpResponseDef) { - resp := new(model.ShowVersionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowVersions(request *model.ShowVersionsRequest) *def.HttpRequestDef { +func GenReqDefForShowVersions() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/") + WithPath("/"). + WithResponse(new(model.ShowVersionsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForShowVersions() (*model.ShowVersionsResponse, *def.HttpResponseDef) { - resp := new(model.ShowVersionsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/kps/v3/kps_client.go b/services/kps/v3/kps_client.go index 5e21dc9b6b..03119e69ef 100644 --- a/services/kps/v3/kps_client.go +++ b/services/kps/v3/kps_client.go @@ -20,144 +20,132 @@ func KpsClientBuilder() *http_client.HcHttpClientBuilder { //给指定的虚拟机绑定(替换或重置,替换需提供虚拟机已配置的SSH密钥对私钥;重置不需要提供虚拟机的SSH密钥对私钥)新的SSH密钥对。 func (c *KpsClient) AssociateKeypair(request *model.AssociateKeypairRequest) (*model.AssociateKeypairResponse, error) { - requestDef := GenReqDefForAssociateKeypair(request) - resp, responseDef := GenRespForAssociateKeypair() + requestDef := GenReqDefForAssociateKeypair() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AssociateKeypairResponse), nil } } //创建和导入SSH密钥对 func (c *KpsClient) CreateKeypair(request *model.CreateKeypairRequest) (*model.CreateKeypairResponse, error) { - requestDef := GenReqDefForCreateKeypair(request) - resp, responseDef := GenRespForCreateKeypair() + requestDef := GenReqDefForCreateKeypair() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateKeypairResponse), nil } } //删除操作失败的任务信息。 func (c *KpsClient) DeleteAllFailedTask(request *model.DeleteAllFailedTaskRequest) (*model.DeleteAllFailedTaskResponse, error) { - requestDef := GenReqDefForDeleteAllFailedTask(request) - resp, responseDef := GenRespForDeleteAllFailedTask() + requestDef := GenReqDefForDeleteAllFailedTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteAllFailedTaskResponse), nil } } //删除失败的任务。 func (c *KpsClient) DeleteFailedTask(request *model.DeleteFailedTaskRequest) (*model.DeleteFailedTaskResponse, error) { - requestDef := GenReqDefForDeleteFailedTask(request) - resp, responseDef := GenRespForDeleteFailedTask() + requestDef := GenReqDefForDeleteFailedTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteFailedTaskResponse), nil } } //删除SSH密钥对。 func (c *KpsClient) DeleteKeypair(request *model.DeleteKeypairRequest) (*model.DeleteKeypairResponse, error) { - requestDef := GenReqDefForDeleteKeypair(request) - resp, responseDef := GenRespForDeleteKeypair() + requestDef := GenReqDefForDeleteKeypair() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteKeypairResponse), nil } } //给指定的虚拟机解除绑定SSH密钥对并恢复SSH密码登录。 func (c *KpsClient) DisassociateKeypair(request *model.DisassociateKeypairRequest) (*model.DisassociateKeypairResponse, error) { - requestDef := GenReqDefForDisassociateKeypair(request) - resp, responseDef := GenRespForDisassociateKeypair() + requestDef := GenReqDefForDisassociateKeypair() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DisassociateKeypairResponse), nil } } //查询绑定、解绑等操作失败的任务信息。 func (c *KpsClient) ListFailedTask(request *model.ListFailedTaskRequest) (*model.ListFailedTaskResponse, error) { - requestDef := GenReqDefForListFailedTask(request) - resp, responseDef := GenRespForListFailedTask() + requestDef := GenReqDefForListFailedTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListFailedTaskResponse), nil } } //查询SSH密钥对详细信息 func (c *KpsClient) ListKeypairDetail(request *model.ListKeypairDetailRequest) (*model.ListKeypairDetailResponse, error) { - requestDef := GenReqDefForListKeypairDetail(request) - resp, responseDef := GenRespForListKeypairDetail() + requestDef := GenReqDefForListKeypairDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListKeypairDetailResponse), nil } } //根据SSH密钥对接口返回的task_id,查询SSH密钥对当前任务的执行状态。 func (c *KpsClient) ListKeypairTask(request *model.ListKeypairTaskRequest) (*model.ListKeypairTaskResponse, error) { - requestDef := GenReqDefForListKeypairTask(request) - resp, responseDef := GenRespForListKeypairTask() + requestDef := GenReqDefForListKeypairTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListKeypairTaskResponse), nil } } //查询SSH密钥对列表 func (c *KpsClient) ListKeypairs(request *model.ListKeypairsRequest) (*model.ListKeypairsResponse, error) { - requestDef := GenReqDefForListKeypairs(request) - resp, responseDef := GenRespForListKeypairs() + requestDef := GenReqDefForListKeypairs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListKeypairsResponse), nil } } //查询正在处理的任务信息。 func (c *KpsClient) ListRunningTask(request *model.ListRunningTaskRequest) (*model.ListRunningTaskResponse, error) { - requestDef := GenReqDefForListRunningTask(request) - resp, responseDef := GenRespForListRunningTask() + requestDef := GenReqDefForListRunningTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListRunningTaskResponse), nil } } //更新SSH密钥对描述。 func (c *KpsClient) UpdateKeypairDescription(request *model.UpdateKeypairDescriptionRequest) (*model.UpdateKeypairDescriptionResponse, error) { - requestDef := GenReqDefForUpdateKeypairDescription(request) - resp, responseDef := GenRespForUpdateKeypairDescription() + requestDef := GenReqDefForUpdateKeypairDescription() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateKeypairDescriptionResponse), nil } } diff --git a/services/kps/v3/kps_meta.go b/services/kps/v3/kps_meta.go index be14a74cba..a00ee9d4d3 100644 --- a/services/kps/v3/kps_meta.go +++ b/services/kps/v3/kps_meta.go @@ -6,322 +6,210 @@ import ( "net/http" ) -func GenReqDefForAssociateKeypair(request *model.AssociateKeypairRequest) *def.HttpRequestDef { +func GenReqDefForAssociateKeypair() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/keypairs/associate"). + WithResponse(new(model.AssociateKeypairResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAssociateKeypair() (*model.AssociateKeypairResponse, *def.HttpResponseDef) { - resp := new(model.AssociateKeypairResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateKeypair(request *model.CreateKeypairRequest) *def.HttpRequestDef { +func GenReqDefForCreateKeypair() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/keypairs"). + WithResponse(new(model.CreateKeypairResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateKeypair() (*model.CreateKeypairResponse, *def.HttpResponseDef) { - resp := new(model.CreateKeypairResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteAllFailedTask(request *model.DeleteAllFailedTaskRequest) *def.HttpRequestDef { +func GenReqDefForDeleteAllFailedTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/failed-tasks") + WithPath("/v3/{project_id}/failed-tasks"). + WithResponse(new(model.DeleteAllFailedTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteAllFailedTask() (*model.DeleteAllFailedTaskResponse, *def.HttpResponseDef) { - resp := new(model.DeleteAllFailedTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteFailedTask(request *model.DeleteFailedTaskRequest) *def.HttpRequestDef { +func GenReqDefForDeleteFailedTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/failed-tasks/{task_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/failed-tasks/{task_id}"). + WithResponse(new(model.DeleteFailedTaskResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteFailedTask() (*model.DeleteFailedTaskResponse, *def.HttpResponseDef) { - resp := new(model.DeleteFailedTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteKeypair(request *model.DeleteKeypairRequest) *def.HttpRequestDef { +func GenReqDefForDeleteKeypair() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/keypairs/{keypair_name}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("keypair_name"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/keypairs/{keypair_name}"). + WithResponse(new(model.DeleteKeypairResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("KeypairName"). + WithJsonTag("keypair_name"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteKeypair() (*model.DeleteKeypairResponse, *def.HttpResponseDef) { - resp := new(model.DeleteKeypairResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDisassociateKeypair(request *model.DisassociateKeypairRequest) *def.HttpRequestDef { +func GenReqDefForDisassociateKeypair() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/keypairs/disassociate"). + WithResponse(new(model.DisassociateKeypairResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDisassociateKeypair() (*model.DisassociateKeypairResponse, *def.HttpResponseDef) { - resp := new(model.DisassociateKeypairResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListFailedTask(request *model.ListFailedTaskRequest) *def.HttpRequestDef { +func GenReqDefForListFailedTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/failed-tasks") + WithPath("/v3/{project_id}/failed-tasks"). + WithResponse(new(model.ListFailedTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListFailedTask() (*model.ListFailedTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListFailedTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListKeypairDetail(request *model.ListKeypairDetailRequest) *def.HttpRequestDef { +func GenReqDefForListKeypairDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/keypairs/{keypair_name}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("keypair_name"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/keypairs/{keypair_name}"). + WithResponse(new(model.ListKeypairDetailResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("KeypairName"). + WithJsonTag("keypair_name"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListKeypairDetail() (*model.ListKeypairDetailResponse, *def.HttpResponseDef) { - resp := new(model.ListKeypairDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListKeypairTask(request *model.ListKeypairTaskRequest) *def.HttpRequestDef { +func GenReqDefForListKeypairTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/tasks/{task_id}") + WithPath("/v3/{project_id}/tasks/{task_id}"). + WithResponse(new(model.ListKeypairTaskResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListKeypairTask() (*model.ListKeypairTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListKeypairTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListKeypairs(request *model.ListKeypairsRequest) *def.HttpRequestDef { +func GenReqDefForListKeypairs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/keypairs") + WithPath("/v3/{project_id}/keypairs"). + WithResponse(new(model.ListKeypairsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListKeypairs() (*model.ListKeypairsResponse, *def.HttpResponseDef) { - resp := new(model.ListKeypairsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListRunningTask(request *model.ListRunningTaskRequest) *def.HttpRequestDef { +func GenReqDefForListRunningTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/running-tasks") + WithPath("/v3/{project_id}/running-tasks"). + WithResponse(new(model.ListRunningTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListRunningTask() (*model.ListRunningTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListRunningTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateKeypairDescription(request *model.UpdateKeypairDescriptionRequest) *def.HttpRequestDef { +func GenReqDefForUpdateKeypairDescription() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/keypairs/{keypair_name}"). + WithResponse(new(model.UpdateKeypairDescriptionResponse)). WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("keypair_name"). + WithName("KeypairName"). + WithJsonTag("keypair_name"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateKeypairDescription() (*model.UpdateKeypairDescriptionResponse, *def.HttpResponseDef) { - resp := new(model.UpdateKeypairDescriptionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/live/v1/liveAPI_client.go b/services/live/v1/liveAPI_client.go index 46509d20c3..5e78a439ee 100644 --- a/services/live/v1/liveAPI_client.go +++ b/services/live/v1/liveAPI_client.go @@ -20,168 +20,154 @@ func LiveAPIClientBuilder() *http_client.HcHttpClientBuilder { //创建录制配置接口 func (c *LiveAPIClient) CreateRecordConfig(request *model.CreateRecordConfigRequest) (*model.CreateRecordConfigResponse, error) { - requestDef := GenReqDefForCreateRecordConfig(request) - resp, responseDef := GenRespForCreateRecordConfig() + requestDef := GenReqDefForCreateRecordConfig() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateRecordConfigResponse), nil } } //禁止直播推流 func (c *LiveAPIClient) CreateStreamForbidden(request *model.CreateStreamForbiddenRequest) (*model.CreateStreamForbiddenResponse, error) { - requestDef := GenReqDefForCreateStreamForbidden(request) - resp, responseDef := GenRespForCreateStreamForbidden() + requestDef := GenReqDefForCreateStreamForbidden() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateStreamForbiddenResponse), nil } } //创建直播转码模板 func (c *LiveAPIClient) CreateTranscodingsTemplate(request *model.CreateTranscodingsTemplateRequest) (*model.CreateTranscodingsTemplateResponse, error) { - requestDef := GenReqDefForCreateTranscodingsTemplate(request) - resp, responseDef := GenRespForCreateTranscodingsTemplate() + requestDef := GenReqDefForCreateTranscodingsTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateTranscodingsTemplateResponse), nil } } //删除录制配置接口 func (c *LiveAPIClient) DeleteRecordConfig(request *model.DeleteRecordConfigRequest) (*model.DeleteRecordConfigResponse, error) { - requestDef := GenReqDefForDeleteRecordConfig(request) - resp, responseDef := GenRespForDeleteRecordConfig() + requestDef := GenReqDefForDeleteRecordConfig() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteRecordConfigResponse), nil } } //恢复直播推流接口 func (c *LiveAPIClient) DeleteStreamForbidden(request *model.DeleteStreamForbiddenRequest) (*model.DeleteStreamForbiddenResponse, error) { - requestDef := GenReqDefForDeleteStreamForbidden(request) - resp, responseDef := GenRespForDeleteStreamForbidden() + requestDef := GenReqDefForDeleteStreamForbidden() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteStreamForbiddenResponse), nil } } //删除直播转码模板 func (c *LiveAPIClient) DeleteTranscodingsTemplate(request *model.DeleteTranscodingsTemplateRequest) (*model.DeleteTranscodingsTemplateResponse, error) { - requestDef := GenReqDefForDeleteTranscodingsTemplate(request) - resp, responseDef := GenRespForDeleteTranscodingsTemplate() + requestDef := GenReqDefForDeleteTranscodingsTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteTranscodingsTemplateResponse), nil } } //查询录制配置接口 func (c *LiveAPIClient) ListRecordConfigs(request *model.ListRecordConfigsRequest) (*model.ListRecordConfigsResponse, error) { - requestDef := GenReqDefForListRecordConfigs(request) - resp, responseDef := GenRespForListRecordConfigs() + requestDef := GenReqDefForListRecordConfigs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListRecordConfigsResponse), nil } } //查询禁播黑名单列表 func (c *LiveAPIClient) ListStreamForbidden(request *model.ListStreamForbiddenRequest) (*model.ListStreamForbiddenResponse, error) { - requestDef := GenReqDefForListStreamForbidden(request) - resp, responseDef := GenRespForListStreamForbidden() + requestDef := GenReqDefForListStreamForbidden() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListStreamForbiddenResponse), nil } } //查询直播加速的播流域名网络带宽监控数据 func (c *LiveAPIClient) ShowBandwidth(request *model.ShowBandwidthRequest) (*model.ShowBandwidthResponse, error) { - requestDef := GenReqDefForShowBandwidth(request) - resp, responseDef := GenRespForShowBandwidth() + requestDef := GenReqDefForShowBandwidth() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowBandwidthResponse), nil } } //查询加速的直播播放在线人数 func (c *LiveAPIClient) ShowOnlineUsers(request *model.ShowOnlineUsersRequest) (*model.ShowOnlineUsersResponse, error) { - requestDef := GenReqDefForShowOnlineUsers(request) - resp, responseDef := GenRespForShowOnlineUsers() + requestDef := GenReqDefForShowOnlineUsers() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowOnlineUsersResponse), nil } } //查询直播加速的播流域名网络流量监控数据 func (c *LiveAPIClient) ShowTraffic(request *model.ShowTrafficRequest) (*model.ShowTrafficResponse, error) { - requestDef := GenReqDefForShowTraffic(request) - resp, responseDef := GenRespForShowTraffic() + requestDef := GenReqDefForShowTraffic() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowTrafficResponse), nil } } //查询直播转码模板 func (c *LiveAPIClient) ShowTranscodingsTemplate(request *model.ShowTranscodingsTemplateRequest) (*model.ShowTranscodingsTemplateResponse, error) { - requestDef := GenReqDefForShowTranscodingsTemplate(request) - resp, responseDef := GenRespForShowTranscodingsTemplate() + requestDef := GenReqDefForShowTranscodingsTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowTranscodingsTemplateResponse), nil } } //修改禁推属性 func (c *LiveAPIClient) UpdateStreamForbidden(request *model.UpdateStreamForbiddenRequest) (*model.UpdateStreamForbiddenResponse, error) { - requestDef := GenReqDefForUpdateStreamForbidden(request) - resp, responseDef := GenRespForUpdateStreamForbidden() + requestDef := GenReqDefForUpdateStreamForbidden() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateStreamForbiddenResponse), nil } } //修改直播转码模板 func (c *LiveAPIClient) UpdateTranscodingsTemplate(request *model.UpdateTranscodingsTemplateRequest) (*model.UpdateTranscodingsTemplateResponse, error) { - requestDef := GenReqDefForUpdateTranscodingsTemplate(request) - resp, responseDef := GenRespForUpdateTranscodingsTemplate() + requestDef := GenReqDefForUpdateTranscodingsTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateTranscodingsTemplateResponse), nil } } diff --git a/services/live/v1/liveAPI_meta.go b/services/live/v1/liveAPI_meta.go index 90dc63ee0a..54c51cf739 100644 --- a/services/live/v1/liveAPI_meta.go +++ b/services/live/v1/liveAPI_meta.go @@ -6,484 +6,394 @@ import ( "net/http" ) -func GenReqDefForCreateRecordConfig(request *model.CreateRecordConfigRequest) *def.HttpRequestDef { +func GenReqDefForCreateRecordConfig() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/record/config"). + WithResponse(new(model.CreateRecordConfigResponse)). WithContentType("application/json; charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateRecordConfig() (*model.CreateRecordConfigResponse, *def.HttpResponseDef) { - resp := new(model.CreateRecordConfigResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateStreamForbidden(request *model.CreateStreamForbiddenRequest) *def.HttpRequestDef { +func GenReqDefForCreateStreamForbidden() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/stream/blocks"). + WithResponse(new(model.CreateStreamForbiddenResponse)). WithContentType("application/json; charset=UTF-8") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("specify_project"). + WithName("SpecifyProject"). + WithJsonTag("specify_project"). WithLocationType(def.Query)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateStreamForbidden() (*model.CreateStreamForbiddenResponse, *def.HttpResponseDef) { - resp := new(model.CreateStreamForbiddenResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateTranscodingsTemplate(request *model.CreateTranscodingsTemplateRequest) *def.HttpRequestDef { +func GenReqDefForCreateTranscodingsTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/template/transcodings"). + WithResponse(new(model.CreateTranscodingsTemplateResponse)). WithContentType("application/json; charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateTranscodingsTemplate() (*model.CreateTranscodingsTemplateResponse, *def.HttpResponseDef) { - resp := new(model.CreateTranscodingsTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteRecordConfig(request *model.DeleteRecordConfigRequest) *def.HttpRequestDef { +func GenReqDefForDeleteRecordConfig() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/record/config") + WithPath("/v1/{project_id}/record/config"). + WithResponse(new(model.DeleteRecordConfigResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteRecordConfig() (*model.DeleteRecordConfigResponse, *def.HttpResponseDef) { - resp := new(model.DeleteRecordConfigResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteStreamForbidden(request *model.DeleteStreamForbiddenRequest) *def.HttpRequestDef { +func GenReqDefForDeleteStreamForbidden() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/stream/blocks") + WithPath("/v1/{project_id}/stream/blocks"). + WithResponse(new(model.DeleteStreamForbiddenResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("specify_project"). + WithName("SpecifyProject"). + WithJsonTag("specify_project"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream_name"). + WithName("StreamName"). + WithJsonTag("stream_name"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteStreamForbidden() (*model.DeleteStreamForbiddenResponse, *def.HttpResponseDef) { - resp := new(model.DeleteStreamForbiddenResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteTranscodingsTemplate(request *model.DeleteTranscodingsTemplateRequest) *def.HttpRequestDef { +func GenReqDefForDeleteTranscodingsTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/template/transcodings") + WithPath("/v1/{project_id}/template/transcodings"). + WithResponse(new(model.DeleteTranscodingsTemplateResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteTranscodingsTemplate() (*model.DeleteTranscodingsTemplateResponse, *def.HttpResponseDef) { - resp := new(model.DeleteTranscodingsTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListRecordConfigs(request *model.ListRecordConfigsRequest) *def.HttpRequestDef { +func GenReqDefForListRecordConfigs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/record/config") + WithPath("/v1/{project_id}/record/config"). + WithResponse(new(model.ListRecordConfigsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream_name"). + WithName("StreamName"). + WithJsonTag("stream_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("record_type"). + WithName("RecordType"). + WithJsonTag("record_type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListRecordConfigs() (*model.ListRecordConfigsResponse, *def.HttpResponseDef) { - resp := new(model.ListRecordConfigsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListStreamForbidden(request *model.ListStreamForbiddenRequest) *def.HttpRequestDef { +func GenReqDefForListStreamForbidden() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/stream/blocks") + WithPath("/v1/{project_id}/stream/blocks"). + WithResponse(new(model.ListStreamForbiddenResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("specify_project"). + WithName("SpecifyProject"). + WithJsonTag("specify_project"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream_name"). + WithName("StreamName"). + WithJsonTag("stream_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListStreamForbidden() (*model.ListStreamForbiddenResponse, *def.HttpResponseDef) { - resp := new(model.ListStreamForbiddenResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowBandwidth(request *model.ShowBandwidthRequest) *def.HttpRequestDef { +func GenReqDefForShowBandwidth() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/stream/bandwidth") + WithPath("/v1/{project_id}/stream/bandwidth"). + WithResponse(new(model.ShowBandwidthResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("step"). + WithName("Step"). + WithJsonTag("step"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowBandwidth() (*model.ShowBandwidthResponse, *def.HttpResponseDef) { - resp := new(model.ShowBandwidthResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowOnlineUsers(request *model.ShowOnlineUsersRequest) *def.HttpRequestDef { +func GenReqDefForShowOnlineUsers() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/stream/users") + WithPath("/v1/{project_id}/stream/users"). + WithResponse(new(model.ShowOnlineUsersResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream_name"). + WithName("StreamName"). + WithJsonTag("stream_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("step"). + WithName("Step"). + WithJsonTag("step"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowOnlineUsers() (*model.ShowOnlineUsersResponse, *def.HttpResponseDef) { - resp := new(model.ShowOnlineUsersResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowTraffic(request *model.ShowTrafficRequest) *def.HttpRequestDef { +func GenReqDefForShowTraffic() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/stream/traffic") + WithPath("/v1/{project_id}/stream/traffic"). + WithResponse(new(model.ShowTrafficResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("step"). + WithName("Step"). + WithJsonTag("step"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowTraffic() (*model.ShowTrafficResponse, *def.HttpResponseDef) { - resp := new(model.ShowTrafficResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowTranscodingsTemplate(request *model.ShowTranscodingsTemplateRequest) *def.HttpRequestDef { +func GenReqDefForShowTranscodingsTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/template/transcodings") + WithPath("/v1/{project_id}/template/transcodings"). + WithResponse(new(model.ShowTranscodingsTemplateResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app_name"). + WithName("AppName"). + WithJsonTag("app_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowTranscodingsTemplate() (*model.ShowTranscodingsTemplateResponse, *def.HttpResponseDef) { - resp := new(model.ShowTranscodingsTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateStreamForbidden(request *model.UpdateStreamForbiddenRequest) *def.HttpRequestDef { +func GenReqDefForUpdateStreamForbidden() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/stream/blocks"). + WithResponse(new(model.UpdateStreamForbiddenResponse)). WithContentType("application/json; charset=UTF-8") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("specify_project"). + WithName("SpecifyProject"). + WithJsonTag("specify_project"). WithLocationType(def.Query)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateStreamForbidden() (*model.UpdateStreamForbiddenResponse, *def.HttpResponseDef) { - resp := new(model.UpdateStreamForbiddenResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateTranscodingsTemplate(request *model.UpdateTranscodingsTemplateRequest) *def.HttpRequestDef { +func GenReqDefForUpdateTranscodingsTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/template/transcodings"). + WithResponse(new(model.UpdateTranscodingsTemplateResponse)). WithContentType("application/json; charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateTranscodingsTemplate() (*model.UpdateTranscodingsTemplateResponse, *def.HttpResponseDef) { - resp := new(model.UpdateTranscodingsTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/live/v2/liveAPI_client.go b/services/live/v2/liveAPI_client.go index 1d20a1a6bb..2aba3d67a8 100644 --- a/services/live/v2/liveAPI_client.go +++ b/services/live/v2/liveAPI_client.go @@ -20,180 +20,165 @@ func LiveAPIClientBuilder() *http_client.HcHttpClientBuilder { //查询播放域名带宽数据。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ListBandwidthDetailV2(request *model.ListBandwidthDetailV2Request) (*model.ListBandwidthDetailV2Response, error) { - requestDef := GenReqDefForListBandwidthDetailV2(request) - resp, responseDef := GenRespForListBandwidthDetailV2() + requestDef := GenReqDefForListBandwidthDetailV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListBandwidthDetailV2Response), nil } } //查询指定时间范围内播放带宽峰值。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ListDomainBandwidthSummaryV2(request *model.ListDomainBandwidthSummaryV2Request) (*model.ListDomainBandwidthSummaryV2Response, error) { - requestDef := GenReqDefForListDomainBandwidthSummaryV2(request) - resp, responseDef := GenRespForListDomainBandwidthSummaryV2() + requestDef := GenReqDefForListDomainBandwidthSummaryV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListDomainBandwidthSummaryV2Response), nil } } //查询播放域名流量数据。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ListDomainTrafficDetailV2(request *model.ListDomainTrafficDetailV2Request) (*model.ListDomainTrafficDetailV2Response, error) { - requestDef := GenReqDefForListDomainTrafficDetailV2(request) - resp, responseDef := GenRespForListDomainTrafficDetailV2() + requestDef := GenReqDefForListDomainTrafficDetailV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListDomainTrafficDetailV2Response), nil } } //查询指定时间范围内流量汇总量。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ListDomainTrafficSummaryV2(request *model.ListDomainTrafficSummaryV2Request) (*model.ListDomainTrafficSummaryV2Response, error) { - requestDef := GenReqDefForListDomainTrafficSummaryV2(request) - resp, responseDef := GenRespForListDomainTrafficSummaryV2() + requestDef := GenReqDefForListDomainTrafficSummaryV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListDomainTrafficSummaryV2Response), nil } } //查询历史推流列表。 最大查询跨度1天,最大查询周期7天。 func (c *LiveAPIClient) ListHistoryStreamsV2(request *model.ListHistoryStreamsV2Request) (*model.ListHistoryStreamsV2Response, error) { - requestDef := GenReqDefForListHistoryStreamsV2(request) - resp, responseDef := GenRespForListHistoryStreamsV2() + requestDef := GenReqDefForListHistoryStreamsV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListHistoryStreamsV2Response), nil } } //查询直播拉流HTTP状态码接口。 获取加速域名1分钟粒度的HTTP返回码 最大查询跨度不能超过24小时,最大查询周期7天。 func (c *LiveAPIClient) ListQueryHttpCode(request *model.ListQueryHttpCodeRequest) (*model.ListQueryHttpCodeResponse, error) { - requestDef := GenReqDefForListQueryHttpCode(request) - resp, responseDef := GenRespForListQueryHttpCode() + requestDef := GenReqDefForListQueryHttpCode() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListQueryHttpCodeResponse), nil } } //查询直播租户每小时录制的最大并发数,计算1小时内每分钟的并发总路数,取最大值做为统计值。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ListRecordDataV2(request *model.ListRecordDataV2Request) (*model.ListRecordDataV2Response, error) { - requestDef := GenReqDefForListRecordDataV2(request) - resp, responseDef := GenRespForListRecordDataV2() + requestDef := GenReqDefForListRecordDataV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListRecordDataV2Response), nil } } //查询推流监控码率数据接口。 最大查询跨度6小时,最大查询周期7天。 func (c *LiveAPIClient) ListSingleStreamBitrateV2(request *model.ListSingleStreamBitrateV2Request) (*model.ListSingleStreamBitrateV2Response, error) { - requestDef := GenReqDefForListSingleStreamBitrateV2(request) - resp, responseDef := GenRespForListSingleStreamBitrateV2() + requestDef := GenReqDefForListSingleStreamBitrateV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSingleStreamBitrateV2Response), nil } } //查询推流帧率数据接口。 最大查询跨度6小时,最大查询周期7天。 func (c *LiveAPIClient) ListSingleStreamFramerateV2(request *model.ListSingleStreamFramerateV2Request) (*model.ListSingleStreamFramerateV2Response, error) { - requestDef := GenReqDefForListSingleStreamFramerateV2(request) - resp, responseDef := GenRespForListSingleStreamFramerateV2() + requestDef := GenReqDefForListSingleStreamFramerateV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSingleStreamFramerateV2Response), nil } } //查询直播域名每小时的截图数量。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ListSnapshotDataV2(request *model.ListSnapshotDataV2Request) (*model.ListSnapshotDataV2Response, error) { - requestDef := GenReqDefForListSnapshotDataV2(request) - resp, responseDef := GenRespForListSnapshotDataV2() + requestDef := GenReqDefForListSnapshotDataV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSnapshotDataV2Response), nil } } //查询直播域名每小时的转码时长数据。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ListTranscodeDataV2(request *model.ListTranscodeDataV2Request) (*model.ListTranscodeDataV2Response, error) { - requestDef := GenReqDefForListTranscodeDataV2(request) - resp, responseDef := GenRespForListTranscodeDataV2() + requestDef := GenReqDefForListTranscodeDataV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTranscodeDataV2Response), nil } } //查询观众趋势。 最大查询跨度7天,最大查询周期90天。 func (c *LiveAPIClient) ListUsersOfStreamV2(request *model.ListUsersOfStreamV2Request) (*model.ListUsersOfStreamV2Response, error) { - requestDef := GenReqDefForListUsersOfStreamV2(request) - resp, responseDef := GenRespForListUsersOfStreamV2() + requestDef := GenReqDefForListUsersOfStreamV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListUsersOfStreamV2Response), nil } } //查询域名维度推流路数接口。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ShowStreamCountV2(request *model.ShowStreamCountV2Request) (*model.ShowStreamCountV2Response, error) { - requestDef := GenReqDefForShowStreamCountV2(request) - resp, responseDef := GenRespForShowStreamCountV2() + requestDef := GenReqDefForShowStreamCountV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowStreamCountV2Response), nil } } //查询播放画像信息。 最大查询跨度1天,最大查询周期31天。 func (c *LiveAPIClient) ShowStreamPortrait(request *model.ShowStreamPortraitRequest) (*model.ShowStreamPortraitResponse, error) { - requestDef := GenReqDefForShowStreamPortrait(request) - resp, responseDef := GenRespForShowStreamPortrait() + requestDef := GenReqDefForShowStreamPortrait() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowStreamPortraitResponse), nil } } //查询上行带宽数据。 最大查询跨度31天,最大查询周期90天。 func (c *LiveAPIClient) ShowUpBandwidthV2(request *model.ShowUpBandwidthV2Request) (*model.ShowUpBandwidthV2Response, error) { - requestDef := GenReqDefForShowUpBandwidthV2(request) - resp, responseDef := GenRespForShowUpBandwidthV2() + requestDef := GenReqDefForShowUpBandwidthV2() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowUpBandwidthV2Response), nil } } diff --git a/services/live/v2/liveAPI_meta.go b/services/live/v2/liveAPI_meta.go index bcd42574cc..78da9b2c69 100644 --- a/services/live/v2/liveAPI_meta.go +++ b/services/live/v2/liveAPI_meta.go @@ -6,617 +6,637 @@ import ( "net/http" ) -func GenReqDefForListBandwidthDetailV2(request *model.ListBandwidthDetailV2Request) *def.HttpRequestDef { +func GenReqDefForListBandwidthDetailV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/bandwidth/detail") + WithPath("/v2/{project_id}/stats/bandwidth/detail"). + WithResponse(new(model.ListBandwidthDetailV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("play_domains"). + WithName("PlayDomains"). + WithJsonTag("play_domains"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("isp"). + WithName("Isp"). + WithJsonTag("isp"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("interval"). + WithName("Interval"). + WithJsonTag("interval"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListBandwidthDetailV2() (*model.ListBandwidthDetailV2Response, *def.HttpResponseDef) { - resp := new(model.ListBandwidthDetailV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListDomainBandwidthSummaryV2(request *model.ListDomainBandwidthSummaryV2Request) *def.HttpRequestDef { +func GenReqDefForListDomainBandwidthSummaryV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/bandwidth/peak") + WithPath("/v2/{project_id}/stats/bandwidth/peak"). + WithResponse(new(model.ListDomainBandwidthSummaryV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("play_domains"). + WithName("PlayDomains"). + WithJsonTag("play_domains"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("isp"). + WithName("Isp"). + WithJsonTag("isp"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListDomainBandwidthSummaryV2() (*model.ListDomainBandwidthSummaryV2Response, *def.HttpResponseDef) { - resp := new(model.ListDomainBandwidthSummaryV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListDomainTrafficDetailV2(request *model.ListDomainTrafficDetailV2Request) *def.HttpRequestDef { +func GenReqDefForListDomainTrafficDetailV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/traffic/detail") + WithPath("/v2/{project_id}/stats/traffic/detail"). + WithResponse(new(model.ListDomainTrafficDetailV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("play_domains"). + WithName("PlayDomains"). + WithJsonTag("play_domains"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("isp"). + WithName("Isp"). + WithJsonTag("isp"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("interval"). + WithName("Interval"). + WithJsonTag("interval"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListDomainTrafficDetailV2() (*model.ListDomainTrafficDetailV2Response, *def.HttpResponseDef) { - resp := new(model.ListDomainTrafficDetailV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListDomainTrafficSummaryV2(request *model.ListDomainTrafficSummaryV2Request) *def.HttpRequestDef { +func GenReqDefForListDomainTrafficSummaryV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/traffic/summary") + WithPath("/v2/{project_id}/stats/traffic/summary"). + WithResponse(new(model.ListDomainTrafficSummaryV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("play_domains"). + WithName("PlayDomains"). + WithJsonTag("play_domains"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("isp"). + WithName("Isp"). + WithJsonTag("isp"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListDomainTrafficSummaryV2() (*model.ListDomainTrafficSummaryV2Response, *def.HttpResponseDef) { - resp := new(model.ListDomainTrafficSummaryV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListHistoryStreamsV2(request *model.ListHistoryStreamsV2Request) *def.HttpRequestDef { +func GenReqDefForListHistoryStreamsV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/history/streams") + WithPath("/v2/{project_id}/stats/history/streams"). + WithResponse(new(model.ListHistoryStreamsV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListHistoryStreamsV2() (*model.ListHistoryStreamsV2Response, *def.HttpResponseDef) { - resp := new(model.ListHistoryStreamsV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListQueryHttpCode(request *model.ListQueryHttpCodeRequest) *def.HttpRequestDef { +func GenReqDefForListQueryHttpCode() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/httpcodes") + WithPath("/v2/{project_id}/stats/httpcodes"). + WithResponse(new(model.ListQueryHttpCodeResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("play_domains"). + WithName("PlayDomains"). + WithJsonTag("play_domains"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("code"). + WithName("Code"). + WithJsonTag("code"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("isp"). + WithName("Isp"). + WithJsonTag("isp"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListQueryHttpCode() (*model.ListQueryHttpCodeResponse, *def.HttpResponseDef) { - resp := new(model.ListQueryHttpCodeResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListRecordDataV2(request *model.ListRecordDataV2Request) *def.HttpRequestDef { +func GenReqDefForListRecordDataV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/record") + WithPath("/v2/{project_id}/stats/record"). + WithResponse(new(model.ListRecordDataV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListRecordDataV2() (*model.ListRecordDataV2Response, *def.HttpResponseDef) { - resp := new(model.ListRecordDataV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSingleStreamBitrateV2(request *model.ListSingleStreamBitrateV2Request) *def.HttpRequestDef { +func GenReqDefForListSingleStreamBitrateV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/stream/bitrate") + WithPath("/v2/{project_id}/stats/stream/bitrate"). + WithResponse(new(model.ListSingleStreamBitrateV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSingleStreamBitrateV2() (*model.ListSingleStreamBitrateV2Response, *def.HttpResponseDef) { - resp := new(model.ListSingleStreamBitrateV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSingleStreamFramerateV2(request *model.ListSingleStreamFramerateV2Request) *def.HttpRequestDef { +func GenReqDefForListSingleStreamFramerateV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/stream/framerate") + WithPath("/v2/{project_id}/stats/stream/framerate"). + WithResponse(new(model.ListSingleStreamFramerateV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain"). + WithName("Domain"). + WithJsonTag("domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSingleStreamFramerateV2() (*model.ListSingleStreamFramerateV2Response, *def.HttpResponseDef) { - resp := new(model.ListSingleStreamFramerateV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSnapshotDataV2(request *model.ListSnapshotDataV2Request) *def.HttpRequestDef { +func GenReqDefForListSnapshotDataV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/snapshot") + WithPath("/v2/{project_id}/stats/snapshot"). + WithResponse(new(model.ListSnapshotDataV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publish_domain"). + WithName("PublishDomain"). + WithJsonTag("publish_domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSnapshotDataV2() (*model.ListSnapshotDataV2Response, *def.HttpResponseDef) { - resp := new(model.ListSnapshotDataV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListTranscodeDataV2(request *model.ListTranscodeDataV2Request) *def.HttpRequestDef { +func GenReqDefForListTranscodeDataV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/transcode") + WithPath("/v2/{project_id}/stats/transcode"). + WithResponse(new(model.ListTranscodeDataV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publish_domain"). + WithName("PublishDomain"). + WithJsonTag("publish_domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTranscodeDataV2() (*model.ListTranscodeDataV2Response, *def.HttpResponseDef) { - resp := new(model.ListTranscodeDataV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListUsersOfStreamV2(request *model.ListUsersOfStreamV2Request) *def.HttpRequestDef { +func GenReqDefForListUsersOfStreamV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/user") + WithPath("/v2/{project_id}/stats/user"). + WithResponse(new(model.ListUsersOfStreamV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("play_domain"). + WithName("PlayDomain"). + WithJsonTag("play_domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("isp"). + WithName("Isp"). + WithJsonTag("isp"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("interval"). + WithName("Interval"). + WithJsonTag("interval"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListUsersOfStreamV2() (*model.ListUsersOfStreamV2Response, *def.HttpResponseDef) { - resp := new(model.ListUsersOfStreamV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowStreamCountV2(request *model.ShowStreamCountV2Request) *def.HttpRequestDef { +func GenReqDefForShowStreamCountV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/stream-count") + WithPath("/v2/{project_id}/stats/stream-count"). + WithResponse(new(model.ShowStreamCountV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publish_domains"). + WithName("PublishDomains"). + WithJsonTag("publish_domains"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowStreamCountV2() (*model.ShowStreamCountV2Response, *def.HttpResponseDef) { - resp := new(model.ShowStreamCountV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowStreamPortrait(request *model.ShowStreamPortraitRequest) *def.HttpRequestDef { +func GenReqDefForShowStreamPortrait() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/stream-portraits") + WithPath("/v2/{project_id}/stats/stream-portraits"). + WithResponse(new(model.ShowStreamPortraitResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("play_domain"). + WithName("PlayDomain"). + WithJsonTag("play_domain"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("time"). + WithName("Time"). + WithJsonTag("time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowStreamPortrait() (*model.ShowStreamPortraitResponse, *def.HttpResponseDef) { - resp := new(model.ShowStreamPortraitResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowUpBandwidthV2(request *model.ShowUpBandwidthV2Request) *def.HttpRequestDef { +func GenReqDefForShowUpBandwidthV2() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2/{project_id}/stats/up-bandwidth/detail") + WithPath("/v2/{project_id}/stats/up-bandwidth/detail"). + WithResponse(new(model.ShowUpBandwidthV2Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("publish_domains"). + WithName("PublishDomains"). + WithJsonTag("publish_domains"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("app"). + WithName("App"). + WithJsonTag("app"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("stream"). + WithName("Stream"). + WithJsonTag("stream"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("region"). + WithName("Region"). + WithJsonTag("region"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("isp"). + WithName("Isp"). + WithJsonTag("isp"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("interval"). + WithName("Interval"). + WithJsonTag("interval"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("XRequestId"). + WithJsonTag("X-request-id"). + WithKindName("string"). + WithLocationType(def.Header)) requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForShowUpBandwidthV2() (*model.ShowUpBandwidthV2Response, *def.HttpResponseDef) { - resp := new(model.ShowUpBandwidthV2Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/mpc/v1/mpc_client.go b/services/mpc/v1/mpc_client.go index b29842c16e..ed0aaefe8c 100644 --- a/services/mpc/v1/mpc_client.go +++ b/services/mpc/v1/mpc_client.go @@ -20,396 +20,363 @@ func MpcClientBuilder() *http_client.HcHttpClientBuilder { //创建动图任务,用于将完整的视频文件或视频文件中的一部分转换为动态图文件,暂只支持输出GIF文件。 待转动图的视频文件需要存储在与媒体处理服务同区域的OBS桶中,且该OBS桶已授权。 func (c *MpcClient) CreateAnimatedGraphicsTask(request *model.CreateAnimatedGraphicsTaskRequest) (*model.CreateAnimatedGraphicsTaskResponse, error) { - requestDef := GenReqDefForCreateAnimatedGraphicsTask(request) - resp, responseDef := GenRespForCreateAnimatedGraphicsTask() + requestDef := GenReqDefForCreateAnimatedGraphicsTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateAnimatedGraphicsTaskResponse), nil } } //取消已下发的生成动图任务,仅支持取消正在排队中的任务。 func (c *MpcClient) DeleteAnimatedGraphicsTask(request *model.DeleteAnimatedGraphicsTaskRequest) (*model.DeleteAnimatedGraphicsTaskResponse, error) { - requestDef := GenReqDefForDeleteAnimatedGraphicsTask(request) - resp, responseDef := GenRespForDeleteAnimatedGraphicsTask() + requestDef := GenReqDefForDeleteAnimatedGraphicsTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteAnimatedGraphicsTaskResponse), nil } } //查询动图任务的状态。 func (c *MpcClient) ListAnimatedGraphicsTask(request *model.ListAnimatedGraphicsTaskRequest) (*model.ListAnimatedGraphicsTaskResponse, error) { - requestDef := GenReqDefForListAnimatedGraphicsTask(request) - resp, responseDef := GenRespForListAnimatedGraphicsTask() + requestDef := GenReqDefForListAnimatedGraphicsTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListAnimatedGraphicsTaskResponse), nil } } //支持独立加密,包括创建、查询、删除独立加密任务。 约束: - 只支持转码后的文件进行加密。 - 加密的文件必须是m3u8或者mpd结尾的文件。 func (c *MpcClient) CreateEncryptTask(request *model.CreateEncryptTaskRequest) (*model.CreateEncryptTaskResponse, error) { - requestDef := GenReqDefForCreateEncryptTask(request) - resp, responseDef := GenRespForCreateEncryptTask() + requestDef := GenReqDefForCreateEncryptTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateEncryptTaskResponse), nil } } //取消独立加密任务。 约束: 只能取消正在任务队列中排队的任务。已开始加密或已完成的加密任务不能取消。 func (c *MpcClient) DeleteEncryptTask(request *model.DeleteEncryptTaskRequest) (*model.DeleteEncryptTaskResponse, error) { - requestDef := GenReqDefForDeleteEncryptTask(request) - resp, responseDef := GenRespForDeleteEncryptTask() + requestDef := GenReqDefForDeleteEncryptTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteEncryptTaskResponse), nil } } //查询独立加密任务状态。返回任务执行结果或当前状态。 func (c *MpcClient) ListEncryptTask(request *model.ListEncryptTaskRequest) (*model.ListEncryptTaskResponse, error) { - requestDef := GenReqDefForListEncryptTask(request) - resp, responseDef := GenRespForListEncryptTask() + requestDef := GenReqDefForListEncryptTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListEncryptTaskResponse), nil } } //创建视频解析任务,解析视频元数据。 func (c *MpcClient) CreateExtractTask(request *model.CreateExtractTaskRequest) (*model.CreateExtractTaskResponse, error) { - requestDef := GenReqDefForCreateExtractTask(request) - resp, responseDef := GenRespForCreateExtractTask() + requestDef := GenReqDefForCreateExtractTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateExtractTaskResponse), nil } } //取消已下发的视频解析任务,仅支持取消正在排队中的任务。 func (c *MpcClient) DeleteExtractTask(request *model.DeleteExtractTaskRequest) (*model.DeleteExtractTaskResponse, error) { - requestDef := GenReqDefForDeleteExtractTask(request) - resp, responseDef := GenRespForDeleteExtractTask() + requestDef := GenReqDefForDeleteExtractTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteExtractTaskResponse), nil } } //查询解析任务的状态和结果。 func (c *MpcClient) ListExtractTask(request *model.ListExtractTaskRequest) (*model.ListExtractTaskResponse, error) { - requestDef := GenReqDefForListExtractTask(request) - resp, responseDef := GenRespForListExtractTask() + requestDef := GenReqDefForListExtractTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListExtractTaskResponse), nil } } //查询媒资转码详情 func (c *MpcClient) ListTranscodeDetail(request *model.ListTranscodeDetailRequest) (*model.ListTranscodeDetailResponse, error) { - requestDef := GenReqDefForListTranscodeDetail(request) - resp, responseDef := GenRespForListTranscodeDetail() + requestDef := GenReqDefForListTranscodeDetail() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTranscodeDetailResponse), nil } } //取消已下发的转封装任务,仅支持取消正在排队中的任务。。 func (c *MpcClient) CancelRemuxTask(request *model.CancelRemuxTaskRequest) (*model.CancelRemuxTaskResponse, error) { - requestDef := GenReqDefForCancelRemuxTask(request) - resp, responseDef := GenRespForCancelRemuxTask() + requestDef := GenReqDefForCancelRemuxTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CancelRemuxTaskResponse), nil } } //创建转封装任务,转换音视频文件的格式,但不改变其分辨率和码率。 待转封装的媒资文件需要存储在与媒体处理服务同区域的OBS桶中,且该OBS桶已授权。 func (c *MpcClient) CreateRemuxTask(request *model.CreateRemuxTaskRequest) (*model.CreateRemuxTaskResponse, error) { - requestDef := GenReqDefForCreateRemuxTask(request) - resp, responseDef := GenRespForCreateRemuxTask() + requestDef := GenReqDefForCreateRemuxTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateRemuxTaskResponse), nil } } //对失败的转封装任务进行重试。 func (c *MpcClient) CreateRetryRemuxTask(request *model.CreateRetryRemuxTaskRequest) (*model.CreateRetryRemuxTaskResponse, error) { - requestDef := GenReqDefForCreateRetryRemuxTask(request) - resp, responseDef := GenRespForCreateRetryRemuxTask() + requestDef := GenReqDefForCreateRetryRemuxTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateRetryRemuxTaskResponse), nil } } //删除转封装任务 func (c *MpcClient) DeleteRemuxTask(request *model.DeleteRemuxTaskRequest) (*model.DeleteRemuxTaskResponse, error) { - requestDef := GenReqDefForDeleteRemuxTask(request) - resp, responseDef := GenRespForDeleteRemuxTask() + requestDef := GenReqDefForDeleteRemuxTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteRemuxTaskResponse), nil } } //查询转封装任务状态。 func (c *MpcClient) ListRemuxTask(request *model.ListRemuxTaskRequest) (*model.ListRemuxTaskResponse, error) { - requestDef := GenReqDefForListRemuxTask(request) - resp, responseDef := GenRespForListRemuxTask() + requestDef := GenReqDefForListRemuxTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListRemuxTaskResponse), nil } } //新建转码模板组,最多支持一进六出。 func (c *MpcClient) CreateTemplateGroup(request *model.CreateTemplateGroupRequest) (*model.CreateTemplateGroupResponse, error) { - requestDef := GenReqDefForCreateTemplateGroup(request) - resp, responseDef := GenRespForCreateTemplateGroup() + requestDef := GenReqDefForCreateTemplateGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateTemplateGroupResponse), nil } } //删除转码模板组。 func (c *MpcClient) DeleteTemplateGroup(request *model.DeleteTemplateGroupRequest) (*model.DeleteTemplateGroupResponse, error) { - requestDef := GenReqDefForDeleteTemplateGroup(request) - resp, responseDef := GenRespForDeleteTemplateGroup() + requestDef := GenReqDefForDeleteTemplateGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteTemplateGroupResponse), nil } } //查询转码模板组列表。 func (c *MpcClient) ListTemplateGroup(request *model.ListTemplateGroupRequest) (*model.ListTemplateGroupResponse, error) { - requestDef := GenReqDefForListTemplateGroup(request) - resp, responseDef := GenRespForListTemplateGroup() + requestDef := GenReqDefForListTemplateGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTemplateGroupResponse), nil } } //修改模板组接口。 func (c *MpcClient) UpdateTemplateGroup(request *model.UpdateTemplateGroupRequest) (*model.UpdateTemplateGroupResponse, error) { - requestDef := GenReqDefForUpdateTemplateGroup(request) - resp, responseDef := GenRespForUpdateTemplateGroup() + requestDef := GenReqDefForUpdateTemplateGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateTemplateGroupResponse), nil } } //新建截图任务,视频截图将从首帧开始,按设置的时间间隔截图,最后截取末帧。 待截图的视频文件需要存储在与媒体处理服务同区域的OBS桶中,且该OBS桶已授权。 约束: 暂只支持生成JPG格式的图片文件。 func (c *MpcClient) CreateThumbnailsTask(request *model.CreateThumbnailsTaskRequest) (*model.CreateThumbnailsTaskResponse, error) { - requestDef := GenReqDefForCreateThumbnailsTask(request) - resp, responseDef := GenRespForCreateThumbnailsTask() + requestDef := GenReqDefForCreateThumbnailsTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateThumbnailsTaskResponse), nil } } //取消已下发截图任务。 只能取消已接受尚在队列中等待处理的任务,已完成或正在执行阶段的任务不能取消。 func (c *MpcClient) DeleteThumbnailsTask(request *model.DeleteThumbnailsTaskRequest) (*model.DeleteThumbnailsTaskResponse, error) { - requestDef := GenReqDefForDeleteThumbnailsTask(request) - resp, responseDef := GenRespForDeleteThumbnailsTask() + requestDef := GenReqDefForDeleteThumbnailsTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteThumbnailsTaskResponse), nil } } //查询截图任务状态。返回任务执行结果,包括状态、输入、输出等信息。 func (c *MpcClient) ListThumbnailsTask(request *model.ListThumbnailsTaskRequest) (*model.ListThumbnailsTaskResponse, error) { - requestDef := GenReqDefForListThumbnailsTask(request) - resp, responseDef := GenRespForListThumbnailsTask() + requestDef := GenReqDefForListThumbnailsTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListThumbnailsTaskResponse), nil } } //新建转码任务可以将视频进行转码,并在转码过程中压制水印、内容质检、视频截图等。视频转码前需要配置转码模板。 待转码的音视频需要存储在与媒体处理服务同区域的OBS桶中,且该OBS桶已授权。 func (c *MpcClient) CreateTranscodingTask(request *model.CreateTranscodingTaskRequest) (*model.CreateTranscodingTaskResponse, error) { - requestDef := GenReqDefForCreateTranscodingTask(request) - resp, responseDef := GenRespForCreateTranscodingTask() + requestDef := GenReqDefForCreateTranscodingTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateTranscodingTaskResponse), nil } } //取消已下发转码任务。 只能取消正在转码任务队列中排队的转码任务。已开始转码或已完成的转码任务不能取消。 func (c *MpcClient) DeleteTranscodingTask(request *model.DeleteTranscodingTaskRequest) (*model.DeleteTranscodingTaskResponse, error) { - requestDef := GenReqDefForDeleteTranscodingTask(request) - resp, responseDef := GenRespForDeleteTranscodingTask() + requestDef := GenReqDefForDeleteTranscodingTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteTranscodingTaskResponse), nil } } //查询转码任务状态。 func (c *MpcClient) ListTranscodingTask(request *model.ListTranscodingTaskRequest) (*model.ListTranscodingTaskResponse, error) { - requestDef := GenReqDefForListTranscodingTask(request) - resp, responseDef := GenRespForListTranscodingTask() + requestDef := GenReqDefForListTranscodingTask() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTranscodingTaskResponse), nil } } //新建转码模板,采用自定义的模板转码。 func (c *MpcClient) CreateTransTemplate(request *model.CreateTransTemplateRequest) (*model.CreateTransTemplateResponse, error) { - requestDef := GenReqDefForCreateTransTemplate(request) - resp, responseDef := GenRespForCreateTransTemplate() + requestDef := GenReqDefForCreateTransTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateTransTemplateResponse), nil } } //删除转码模板。 func (c *MpcClient) DeleteTemplate(request *model.DeleteTemplateRequest) (*model.DeleteTemplateResponse, error) { - requestDef := GenReqDefForDeleteTemplate(request) - resp, responseDef := GenRespForDeleteTemplate() + requestDef := GenReqDefForDeleteTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteTemplateResponse), nil } } //查询用户自定义转码配置模板。 支持指定模板ID查询,或分页全量查询。转码配置模板ID,最多10个。 func (c *MpcClient) ListTemplate(request *model.ListTemplateRequest) (*model.ListTemplateResponse, error) { - requestDef := GenReqDefForListTemplate(request) - resp, responseDef := GenRespForListTemplate() + requestDef := GenReqDefForListTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListTemplateResponse), nil } } //更新转码模板。 func (c *MpcClient) UpdateTransTemplate(request *model.UpdateTransTemplateRequest) (*model.UpdateTransTemplateResponse, error) { - requestDef := GenReqDefForUpdateTransTemplate(request) - resp, responseDef := GenRespForUpdateTransTemplate() + requestDef := GenReqDefForUpdateTransTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateTransTemplateResponse), nil } } //自定义水印模板。 func (c *MpcClient) CreateWatermarkTemplate(request *model.CreateWatermarkTemplateRequest) (*model.CreateWatermarkTemplateResponse, error) { - requestDef := GenReqDefForCreateWatermarkTemplate(request) - resp, responseDef := GenRespForCreateWatermarkTemplate() + requestDef := GenReqDefForCreateWatermarkTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateWatermarkTemplateResponse), nil } } //删除自定义水印模板。 func (c *MpcClient) DeleteWatermarkTemplate(request *model.DeleteWatermarkTemplateRequest) (*model.DeleteWatermarkTemplateResponse, error) { - requestDef := GenReqDefForDeleteWatermarkTemplate(request) - resp, responseDef := GenRespForDeleteWatermarkTemplate() + requestDef := GenReqDefForDeleteWatermarkTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteWatermarkTemplateResponse), nil } } //查询自定义水印模板。支持指定模板ID查询,或分页全量查询。 func (c *MpcClient) ListWatermarkTemplate(request *model.ListWatermarkTemplateRequest) (*model.ListWatermarkTemplateResponse, error) { - requestDef := GenReqDefForListWatermarkTemplate(request) - resp, responseDef := GenRespForListWatermarkTemplate() + requestDef := GenReqDefForListWatermarkTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListWatermarkTemplateResponse), nil } } //更新自定义水印模板。 func (c *MpcClient) UpdateWatermarkTemplate(request *model.UpdateWatermarkTemplateRequest) (*model.UpdateWatermarkTemplateResponse, error) { - requestDef := GenReqDefForUpdateWatermarkTemplate(request) - resp, responseDef := GenRespForUpdateWatermarkTemplate() + requestDef := GenReqDefForUpdateWatermarkTemplate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateWatermarkTemplateResponse), nil } } diff --git a/services/mpc/v1/mpc_meta.go b/services/mpc/v1/mpc_meta.go index 0a3343ed9b..a784107c23 100644 --- a/services/mpc/v1/mpc_meta.go +++ b/services/mpc/v1/mpc_meta.go @@ -6,1046 +6,805 @@ import ( "net/http" ) -func GenReqDefForCreateAnimatedGraphicsTask(request *model.CreateAnimatedGraphicsTaskRequest) *def.HttpRequestDef { +func GenReqDefForCreateAnimatedGraphicsTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/animated-graphics"). + WithResponse(new(model.CreateAnimatedGraphicsTaskResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateAnimatedGraphicsTask() (*model.CreateAnimatedGraphicsTaskResponse, *def.HttpResponseDef) { - resp := new(model.CreateAnimatedGraphicsTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteAnimatedGraphicsTask(request *model.DeleteAnimatedGraphicsTaskRequest) *def.HttpRequestDef { +func GenReqDefForDeleteAnimatedGraphicsTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/animated-graphics") + WithPath("/v1/{project_id}/animated-graphics"). + WithResponse(new(model.DeleteAnimatedGraphicsTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("TaskId"). + WithJsonTag("task_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteAnimatedGraphicsTask() (*model.DeleteAnimatedGraphicsTaskResponse, *def.HttpResponseDef) { - resp := new(model.DeleteAnimatedGraphicsTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListAnimatedGraphicsTask(request *model.ListAnimatedGraphicsTaskRequest) *def.HttpRequestDef { +func GenReqDefForListAnimatedGraphicsTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/animated-graphics") + WithPath("/v1/{project_id}/animated-graphics"). + WithResponse(new(model.ListAnimatedGraphicsTaskResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("x-language"). + WithName("XLanguage"). + WithJsonTag("x-language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListAnimatedGraphicsTask() (*model.ListAnimatedGraphicsTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListAnimatedGraphicsTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateEncryptTask(request *model.CreateEncryptTaskRequest) *def.HttpRequestDef { +func GenReqDefForCreateEncryptTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/encryptions"). + WithResponse(new(model.CreateEncryptTaskResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateEncryptTask() (*model.CreateEncryptTaskResponse, *def.HttpResponseDef) { - resp := new(model.CreateEncryptTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteEncryptTask(request *model.DeleteEncryptTaskRequest) *def.HttpRequestDef { +func GenReqDefForDeleteEncryptTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/encryptions") + WithPath("/v1/{project_id}/encryptions"). + WithResponse(new(model.DeleteEncryptTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("TaskId"). + WithJsonTag("task_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteEncryptTask() (*model.DeleteEncryptTaskResponse, *def.HttpResponseDef) { - resp := new(model.DeleteEncryptTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListEncryptTask(request *model.ListEncryptTaskRequest) *def.HttpRequestDef { +func GenReqDefForListEncryptTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/encryptions") + WithPath("/v1/{project_id}/encryptions"). + WithResponse(new(model.ListEncryptTaskResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListEncryptTask() (*model.ListEncryptTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListEncryptTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateExtractTask(request *model.CreateExtractTaskRequest) *def.HttpRequestDef { +func GenReqDefForCreateExtractTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/extract-metadata"). + WithResponse(new(model.CreateExtractTaskResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateExtractTask() (*model.CreateExtractTaskResponse, *def.HttpResponseDef) { - resp := new(model.CreateExtractTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteExtractTask(request *model.DeleteExtractTaskRequest) *def.HttpRequestDef { +func GenReqDefForDeleteExtractTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/extract-metadata") + WithPath("/v1/{project_id}/extract-metadata"). + WithResponse(new(model.DeleteExtractTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("TaskId"). + WithJsonTag("task_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteExtractTask() (*model.DeleteExtractTaskResponse, *def.HttpResponseDef) { - resp := new(model.DeleteExtractTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListExtractTask(request *model.ListExtractTaskRequest) *def.HttpRequestDef { +func GenReqDefForListExtractTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/extract-metadata") + WithPath("/v1/{project_id}/extract-metadata"). + WithResponse(new(model.ListExtractTaskResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("x-language"). + WithName("XLanguage"). + WithJsonTag("x-language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListExtractTask() (*model.ListExtractTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListExtractTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListTranscodeDetail(request *model.ListTranscodeDetailRequest) *def.HttpRequestDef { +func GenReqDefForListTranscodeDetail() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/transcodings/detail") + WithPath("/v1/{project_id}/transcodings/detail"). + WithResponse(new(model.ListTranscodeDetailResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTranscodeDetail() (*model.ListTranscodeDetailResponse, *def.HttpResponseDef) { - resp := new(model.ListTranscodeDetailResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCancelRemuxTask(request *model.CancelRemuxTaskRequest) *def.HttpRequestDef { +func GenReqDefForCancelRemuxTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/remux") + WithPath("/v1/{project_id}/remux"). + WithResponse(new(model.CancelRemuxTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("TaskId"). + WithJsonTag("task_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCancelRemuxTask() (*model.CancelRemuxTaskResponse, *def.HttpResponseDef) { - resp := new(model.CancelRemuxTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateRemuxTask(request *model.CreateRemuxTaskRequest) *def.HttpRequestDef { +func GenReqDefForCreateRemuxTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/remux"). + WithResponse(new(model.CreateRemuxTaskResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateRemuxTask() (*model.CreateRemuxTaskResponse, *def.HttpResponseDef) { - resp := new(model.CreateRemuxTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateRetryRemuxTask(request *model.CreateRetryRemuxTaskRequest) *def.HttpRequestDef { +func GenReqDefForCreateRetryRemuxTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/remux"). + WithResponse(new(model.CreateRetryRemuxTaskResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateRetryRemuxTask() (*model.CreateRetryRemuxTaskResponse, *def.HttpResponseDef) { - resp := new(model.CreateRetryRemuxTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteRemuxTask(request *model.DeleteRemuxTaskRequest) *def.HttpRequestDef { +func GenReqDefForDeleteRemuxTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/remux/task") + WithPath("/v1/{project_id}/remux/task"). + WithResponse(new(model.DeleteRemuxTaskResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteRemuxTask() (*model.DeleteRemuxTaskResponse, *def.HttpResponseDef) { - resp := new(model.DeleteRemuxTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListRemuxTask(request *model.ListRemuxTaskRequest) *def.HttpRequestDef { +func GenReqDefForListRemuxTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/remux") + WithPath("/v1/{project_id}/remux"). + WithResponse(new(model.ListRemuxTaskResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("input_bucket"). + WithName("InputBucket"). + WithJsonTag("input_bucket"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("input_object"). + WithName("InputObject"). + WithJsonTag("input_object"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListRemuxTask() (*model.ListRemuxTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListRemuxTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateTemplateGroup(request *model.CreateTemplateGroupRequest) *def.HttpRequestDef { +func GenReqDefForCreateTemplateGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/template_group/transcodings"). + WithResponse(new(model.CreateTemplateGroupResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateTemplateGroup() (*model.CreateTemplateGroupResponse, *def.HttpResponseDef) { - resp := new(model.CreateTemplateGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteTemplateGroup(request *model.DeleteTemplateGroupRequest) *def.HttpRequestDef { +func GenReqDefForDeleteTemplateGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/template_group/transcodings") + WithPath("/v1/{project_id}/template_group/transcodings"). + WithResponse(new(model.DeleteTemplateGroupResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("GroupId"). + WithJsonTag("group_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteTemplateGroup() (*model.DeleteTemplateGroupResponse, *def.HttpResponseDef) { - resp := new(model.DeleteTemplateGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListTemplateGroup(request *model.ListTemplateGroupRequest) *def.HttpRequestDef { +func GenReqDefForListTemplateGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/template_group/transcodings") + WithPath("/v1/{project_id}/template_group/transcodings"). + WithResponse(new(model.ListTemplateGroupResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_id"). + WithName("GroupId"). + WithJsonTag("group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("group_name"). + WithName("GroupName"). + WithJsonTag("group_name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTemplateGroup() (*model.ListTemplateGroupResponse, *def.HttpResponseDef) { - resp := new(model.ListTemplateGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateTemplateGroup(request *model.UpdateTemplateGroupRequest) *def.HttpRequestDef { +func GenReqDefForUpdateTemplateGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/template_group/transcodings"). + WithResponse(new(model.UpdateTemplateGroupResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateTemplateGroup() (*model.UpdateTemplateGroupResponse, *def.HttpResponseDef) { - resp := new(model.UpdateTemplateGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateThumbnailsTask(request *model.CreateThumbnailsTaskRequest) *def.HttpRequestDef { +func GenReqDefForCreateThumbnailsTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/thumbnails"). + WithResponse(new(model.CreateThumbnailsTaskResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateThumbnailsTask() (*model.CreateThumbnailsTaskResponse, *def.HttpResponseDef) { - resp := new(model.CreateThumbnailsTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteThumbnailsTask(request *model.DeleteThumbnailsTaskRequest) *def.HttpRequestDef { +func GenReqDefForDeleteThumbnailsTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/thumbnails") + WithPath("/v1/{project_id}/thumbnails"). + WithResponse(new(model.DeleteThumbnailsTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("TaskId"). + WithJsonTag("task_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteThumbnailsTask() (*model.DeleteThumbnailsTaskResponse, *def.HttpResponseDef) { - resp := new(model.DeleteThumbnailsTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListThumbnailsTask(request *model.ListThumbnailsTaskRequest) *def.HttpRequestDef { +func GenReqDefForListThumbnailsTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/thumbnails") + WithPath("/v1/{project_id}/thumbnails"). + WithResponse(new(model.ListThumbnailsTaskResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("x-language"). + WithName("XLanguage"). + WithJsonTag("x-language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListThumbnailsTask() (*model.ListThumbnailsTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListThumbnailsTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateTranscodingTask(request *model.CreateTranscodingTaskRequest) *def.HttpRequestDef { +func GenReqDefForCreateTranscodingTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/transcodings"). + WithResponse(new(model.CreateTranscodingTaskResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateTranscodingTask() (*model.CreateTranscodingTaskResponse, *def.HttpResponseDef) { - resp := new(model.CreateTranscodingTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteTranscodingTask(request *model.DeleteTranscodingTaskRequest) *def.HttpRequestDef { +func GenReqDefForDeleteTranscodingTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/transcodings") + WithPath("/v1/{project_id}/transcodings"). + WithResponse(new(model.DeleteTranscodingTaskResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("TaskId"). + WithJsonTag("task_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteTranscodingTask() (*model.DeleteTranscodingTaskResponse, *def.HttpResponseDef) { - resp := new(model.DeleteTranscodingTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListTranscodingTask(request *model.ListTranscodingTaskRequest) *def.HttpRequestDef { +func GenReqDefForListTranscodingTask() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/transcodings") + WithPath("/v1/{project_id}/transcodings"). + WithResponse(new(model.ListTranscodingTaskResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("task_id"). + WithName("TaskId"). + WithJsonTag("task_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("start_time"). + WithName("StartTime"). + WithJsonTag("start_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("end_time"). + WithName("EndTime"). + WithJsonTag("end_time"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("x-language"). + WithName("XLanguage"). + WithJsonTag("x-language"). WithLocationType(def.Header)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTranscodingTask() (*model.ListTranscodingTaskResponse, *def.HttpResponseDef) { - resp := new(model.ListTranscodingTaskResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateTransTemplate(request *model.CreateTransTemplateRequest) *def.HttpRequestDef { +func GenReqDefForCreateTransTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/template/transcodings"). + WithResponse(new(model.CreateTransTemplateResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateTransTemplate() (*model.CreateTransTemplateResponse, *def.HttpResponseDef) { - resp := new(model.CreateTransTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteTemplate(request *model.DeleteTemplateRequest) *def.HttpRequestDef { +func GenReqDefForDeleteTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/template/transcodings") + WithPath("/v1/{project_id}/template/transcodings"). + WithResponse(new(model.DeleteTemplateResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("template_id"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("TemplateId"). + WithJsonTag("template_id"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteTemplate() (*model.DeleteTemplateResponse, *def.HttpResponseDef) { - resp := new(model.DeleteTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListTemplate(request *model.ListTemplateRequest) *def.HttpRequestDef { +func GenReqDefForListTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/template/transcodings") + WithPath("/v1/{project_id}/template/transcodings"). + WithResponse(new(model.ListTemplateResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("template_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListTemplate() (*model.ListTemplateResponse, *def.HttpResponseDef) { - resp := new(model.ListTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateTransTemplate(request *model.UpdateTransTemplateRequest) *def.HttpRequestDef { +func GenReqDefForUpdateTransTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/template/transcodings"). + WithResponse(new(model.UpdateTransTemplateResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateTransTemplate() (*model.UpdateTransTemplateResponse, *def.HttpResponseDef) { - resp := new(model.UpdateTransTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateWatermarkTemplate(request *model.CreateWatermarkTemplateRequest) *def.HttpRequestDef { +func GenReqDefForCreateWatermarkTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1/{project_id}/template/watermark"). + WithResponse(new(model.CreateWatermarkTemplateResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateWatermarkTemplate() (*model.CreateWatermarkTemplateResponse, *def.HttpResponseDef) { - resp := new(model.CreateWatermarkTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteWatermarkTemplate(request *model.DeleteWatermarkTemplateRequest) *def.HttpRequestDef { +func GenReqDefForDeleteWatermarkTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/template/watermark") + WithPath("/v1/{project_id}/template/watermark"). + WithResponse(new(model.DeleteWatermarkTemplateResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("template_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteWatermarkTemplate() (*model.DeleteWatermarkTemplateResponse, *def.HttpResponseDef) { - resp := new(model.DeleteWatermarkTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListWatermarkTemplate(request *model.ListWatermarkTemplateRequest) *def.HttpRequestDef { +func GenReqDefForListWatermarkTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/template/watermark") + WithPath("/v1/{project_id}/template/watermark"). + WithResponse(new(model.ListWatermarkTemplateResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("template_id"). + WithName("TemplateId"). + WithJsonTag("template_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("page"). + WithName("Page"). + WithJsonTag("page"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("size"). + WithName("Size"). + WithJsonTag("size"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListWatermarkTemplate() (*model.ListWatermarkTemplateResponse, *def.HttpResponseDef) { - resp := new(model.ListWatermarkTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateWatermarkTemplate(request *model.UpdateWatermarkTemplateRequest) *def.HttpRequestDef { +func GenReqDefForUpdateWatermarkTemplate() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1/{project_id}/template/watermark"). + WithResponse(new(model.UpdateWatermarkTemplateResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateWatermarkTemplate() (*model.UpdateWatermarkTemplateResponse, *def.HttpResponseDef) { - resp := new(model.UpdateWatermarkTemplateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/projectman/v4/model/model_add_apply_join_project_for_agc_request.go b/services/projectman/v4/model/model_add_apply_join_project_for_agc_request.go new file mode 100644 index 0000000000..efa3e1a4f0 --- /dev/null +++ b/services/projectman/v4/model/model_add_apply_join_project_for_agc_request.go @@ -0,0 +1,26 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type AddApplyJoinProjectForAgcRequest struct { + DomainId string `json:"Domain-Id"` + UserId string `json:"User-Id"` + ProjectId string `json:"project_id"` +} + +func (o AddApplyJoinProjectForAgcRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AddApplyJoinProjectForAgcRequest", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_add_apply_join_project_for_agc_response.go b/services/projectman/v4/model/model_add_apply_join_project_for_agc_response.go new file mode 100644 index 0000000000..ced5c5a46e --- /dev/null +++ b/services/projectman/v4/model/model_add_apply_join_project_for_agc_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type AddApplyJoinProjectForAgcResponse struct { +} + +func (o AddApplyJoinProjectForAgcResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AddApplyJoinProjectForAgcResponse", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_add_member_request_v4.go b/services/projectman/v4/model/model_add_member_request_v4.go new file mode 100644 index 0000000000..cfbed290ef --- /dev/null +++ b/services/projectman/v4/model/model_add_member_request_v4.go @@ -0,0 +1,28 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type AddMemberRequestV4 struct { + // 租户id + DomainId string `json:"domain_id"` + // 用户在项目中的角色ID 3, 4, 5, 6, 7 , 8 + RoleId *int32 `json:"role_id,omitempty"` + // 用户32位uuid + UserId string `json:"user_id"` +} + +func (o AddMemberRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AddMemberRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_add_member_v4_request.go b/services/projectman/v4/model/model_add_member_v4_request.go new file mode 100644 index 0000000000..5d57db4566 --- /dev/null +++ b/services/projectman/v4/model/model_add_member_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type AddMemberV4Request struct { + ProjectId string `json:"project_id"` + Body *AddMemberRequestV4 `json:"body,omitempty"` +} + +func (o AddMemberV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AddMemberV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_add_member_v4_response.go b/services/projectman/v4/model/model_add_member_v4_response.go new file mode 100644 index 0000000000..40a4f318fb --- /dev/null +++ b/services/projectman/v4/model/model_add_member_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type AddMemberV4Response struct { +} + +func (o AddMemberV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AddMemberV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_add_member_request_v4.go b/services/projectman/v4/model/model_batch_add_member_request_v4.go new file mode 100644 index 0000000000..4998623b63 --- /dev/null +++ b/services/projectman/v4/model/model_batch_add_member_request_v4.go @@ -0,0 +1,26 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type BatchAddMemberRequestV4 struct { + // 用户在项目中的角色ID 3, 4, 5, 6, 7 , 8 + RoleId *int32 `json:"role_id,omitempty"` + // 用户32位uuid + UserId string `json:"user_id"` +} + +func (o BatchAddMemberRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchAddMemberRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_add_members_v4_request.go b/services/projectman/v4/model/model_batch_add_members_v4_request.go new file mode 100644 index 0000000000..51e2dc3358 --- /dev/null +++ b/services/projectman/v4/model/model_batch_add_members_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type BatchAddMembersV4Request struct { + ProjectId string `json:"project_id"` + Body *BatchAddMembersV4RequestBody `json:"body,omitempty"` +} + +func (o BatchAddMembersV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchAddMembersV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_add_members_v4_request_body.go b/services/projectman/v4/model/model_batch_add_members_v4_request_body.go new file mode 100644 index 0000000000..b4871931cd --- /dev/null +++ b/services/projectman/v4/model/model_batch_add_members_v4_request_body.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type BatchAddMembersV4RequestBody struct { + // 添加的用户信息 + Users []BatchAddMemberRequestV4 `json:"users"` +} + +func (o BatchAddMembersV4RequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchAddMembersV4RequestBody", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_add_members_v4_response.go b/services/projectman/v4/model/model_batch_add_members_v4_response.go new file mode 100644 index 0000000000..456a6990f1 --- /dev/null +++ b/services/projectman/v4/model/model_batch_add_members_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type BatchAddMembersV4Response struct { +} + +func (o BatchAddMembersV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchAddMembersV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delelte_issues_request_v4.go b/services/projectman/v4/model/model_batch_delelte_issues_request_v4.go new file mode 100644 index 0000000000..d8b654e0a7 --- /dev/null +++ b/services/projectman/v4/model/model_batch_delelte_issues_request_v4.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type BatchDelelteIssuesRequestV4 struct { + // 工作项的id + IssueIds []int32 `json:"issue_ids"` +} + +func (o BatchDelelteIssuesRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDelelteIssuesRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delete_issues_v4_request.go b/services/projectman/v4/model/model_batch_delete_issues_v4_request.go new file mode 100644 index 0000000000..4686ae56f9 --- /dev/null +++ b/services/projectman/v4/model/model_batch_delete_issues_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type BatchDeleteIssuesV4Request struct { + ProjectId string `json:"project_id"` + Body *BatchDelelteIssuesRequestV4 `json:"body,omitempty"` +} + +func (o BatchDeleteIssuesV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDeleteIssuesV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delete_issues_v4_response.go b/services/projectman/v4/model/model_batch_delete_issues_v4_response.go new file mode 100644 index 0000000000..d7075b37c6 --- /dev/null +++ b/services/projectman/v4/model/model_batch_delete_issues_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type BatchDeleteIssuesV4Response struct { +} + +func (o BatchDeleteIssuesV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDeleteIssuesV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delete_iterations_v4_request.go b/services/projectman/v4/model/model_batch_delete_iterations_v4_request.go new file mode 100644 index 0000000000..fd8241a0c0 --- /dev/null +++ b/services/projectman/v4/model/model_batch_delete_iterations_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type BatchDeleteIterationsV4Request struct { + ProjectId string `json:"project_id"` + Body *BatchDeleteIterationsV4RequestBody `json:"body,omitempty"` +} + +func (o BatchDeleteIterationsV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDeleteIterationsV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delete_iterations_v4_request_body.go b/services/projectman/v4/model/model_batch_delete_iterations_v4_request_body.go new file mode 100644 index 0000000000..fd9e0e32e9 --- /dev/null +++ b/services/projectman/v4/model/model_batch_delete_iterations_v4_request_body.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type BatchDeleteIterationsV4RequestBody struct { + // 迭代的id + IterationIds []int32 `json:"iteration_ids"` +} + +func (o BatchDeleteIterationsV4RequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDeleteIterationsV4RequestBody", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delete_iterations_v4_response.go b/services/projectman/v4/model/model_batch_delete_iterations_v4_response.go new file mode 100644 index 0000000000..419414c1db --- /dev/null +++ b/services/projectman/v4/model/model_batch_delete_iterations_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type BatchDeleteIterationsV4Response struct { +} + +func (o BatchDeleteIterationsV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDeleteIterationsV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delete_members_v4_request.go b/services/projectman/v4/model/model_batch_delete_members_v4_request.go new file mode 100644 index 0000000000..1a01cb0db0 --- /dev/null +++ b/services/projectman/v4/model/model_batch_delete_members_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type BatchDeleteMembersV4Request struct { + ProjectId string `json:"project_id"` + Body *BatchDeleteMembersV4RequestBody `json:"body,omitempty"` +} + +func (o BatchDeleteMembersV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDeleteMembersV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delete_members_v4_request_body.go b/services/projectman/v4/model/model_batch_delete_members_v4_request_body.go new file mode 100644 index 0000000000..d0039a8d72 --- /dev/null +++ b/services/projectman/v4/model/model_batch_delete_members_v4_request_body.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type BatchDeleteMembersV4RequestBody struct { + // 用户id + UserIds []string `json:"user_ids"` +} + +func (o BatchDeleteMembersV4RequestBody) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDeleteMembersV4RequestBody", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_batch_delete_members_v4_response.go b/services/projectman/v4/model/model_batch_delete_members_v4_response.go new file mode 100644 index 0000000000..13dbd1a4cf --- /dev/null +++ b/services/projectman/v4/model/model_batch_delete_members_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type BatchDeleteMembersV4Response struct { +} + +func (o BatchDeleteMembersV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchDeleteMembersV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_bug_statistic_response_v4.go b/services/projectman/v4/model/model_bug_statistic_response_v4.go new file mode 100644 index 0000000000..3e26f78344 --- /dev/null +++ b/services/projectman/v4/model/model_bug_statistic_response_v4.go @@ -0,0 +1,37 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Bug信息 +type BugStatisticResponseV4 struct { + // 重要程度为关键的缺陷数 + CriticalNum *int32 `json:"critical_num,omitempty"` + // DI + DefectIndex *float64 `json:"defect_index,omitempty"` + // 模块 + Module *string `json:"module,omitempty"` + // 重要程度为一般的缺陷数 + NormalNum *int32 `json:"normal_num,omitempty"` + // 重要程度为严重的缺陷数 + SeriousNum *int32 `json:"serious_num,omitempty"` + // 重要程度为提示的缺陷数 + TipNum *int32 `json:"tip_num,omitempty"` + // 总数 + Total *int32 `json:"total,omitempty"` +} + +func (o BugStatisticResponseV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BugStatisticResponseV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_chart.go b/services/projectman/v4/model/model_chart.go new file mode 100644 index 0000000000..0043843c8d --- /dev/null +++ b/services/projectman/v4/model/model_chart.go @@ -0,0 +1,34 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type Chart struct { + // 统计时间 + Date *string `json:"date,omitempty"` + // 完成story工单 + FinishedNum *int32 `json:"finished_num,omitempty"` + // 迭代id + IterationId *int32 `json:"iteration_id,omitempty"` + // 项目id + ProjectNumId *int32 `json:"project_num_id,omitempty"` + // 未完成story数 + RemainingNum *int32 `json:"remaining_num,omitempty"` + // 总story数 + Total *int32 `json:"total,omitempty"` +} + +func (o Chart) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Chart", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_check_project_name_request_v4.go b/services/projectman/v4/model/model_check_project_name_request_v4.go new file mode 100644 index 0000000000..4b05b6b23e --- /dev/null +++ b/services/projectman/v4/model/model_check_project_name_request_v4.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type CheckProjectNameRequestV4 struct { + // 项目名 + ProjectName string `json:"project_name"` +} + +func (o CheckProjectNameRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CheckProjectNameRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_check_project_name_v4_request.go b/services/projectman/v4/model/model_check_project_name_v4_request.go new file mode 100644 index 0000000000..4dc02058cc --- /dev/null +++ b/services/projectman/v4/model/model_check_project_name_v4_request.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CheckProjectNameV4Request struct { + Body *CheckProjectNameRequestV4 `json:"body,omitempty"` +} + +func (o CheckProjectNameV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CheckProjectNameV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_check_project_name_v4_response.go b/services/projectman/v4/model/model_check_project_name_v4_response.go new file mode 100644 index 0000000000..8754c26623 --- /dev/null +++ b/services/projectman/v4/model/model_check_project_name_v4_response.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CheckProjectNameV4Response struct { + // 是否存在相同的项目名称 true 存在, false 不存在 + Exist *bool `json:"exist,omitempty"` +} + +func (o CheckProjectNameV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CheckProjectNameV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_create_issue_request_v4.go b/services/projectman/v4/model/model_create_issue_request_v4.go new file mode 100644 index 0000000000..b78c689169 --- /dev/null +++ b/services/projectman/v4/model/model_create_issue_request_v4.go @@ -0,0 +1,57 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 工作项属性 +type CreateIssueRequestV4 struct { + // 实际工时 + ActualWorkHours *float64 `json:"actual_work_hours,omitempty"` + // 处理人id,对应用户信息的数字id + AssignedId *int32 `json:"assigned_id,omitempty"` + // 开始时间,年-月-日 + BeginTime *string `json:"begin_time,omitempty"` + // 描述信息 + Description *string `json:"description,omitempty"` + // 开发者id,对应用户信息的数字id + DeveloperId *int32 `json:"developer_id,omitempty"` + // 领域id 14, '性能', 15, '功能', 16, '可靠性' 17, '网络安全' 18, '可维护性' 19, '其他DFX' 20, '可用性' + DomainId *int32 `json:"domain_id,omitempty"` + // 工作项进度值 + DoneRatio *int32 `json:"done_ratio,omitempty"` + // 结束时间,年-月-日 + EndTime *string `json:"end_time,omitempty"` + // 预计工时 + ExpectedWorkHours *float64 `json:"expected_work_hours,omitempty"` + // 迭代id + IterationId *int32 `json:"iteration_id,omitempty"` + // 模块id + ModuleId *int32 `json:"module_id,omitempty"` + // 标题 + Name string `json:"name"` + // 父工作项的id,创建子工作项时必填,父工作项的类型tracker_id不能为2,3 + ParentIssueId *int32 `json:"parent_issue_id,omitempty"` + // 优先级 1 低 2 中 3 高 + PriorityId int32 `json:"priority_id"` + // 重要程度 10 关键 11 重要 12 一般 13 提示 + SeverityId *int32 `json:"severity_id,omitempty"` + // 状态 id 开始 1 进行中 2 已解决 3 测试中 4 已关闭 5 已解决 6 + StatusId *int32 `json:"status_id,omitempty"` + // 工作项类型, 2任务/task,3缺陷/bug,5epic,6feature,7story 父工作项类型 5 只能为 6 的父工作项类型 6 只能为 7 的父工作项类型 7 只能为 2,3的父 + TrackerId int32 `json:"tracker_id"` +} + +func (o CreateIssueRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateIssueRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_create_issue_response_v4_parent_issue.go b/services/projectman/v4/model/model_create_issue_response_v4_parent_issue.go new file mode 100644 index 0000000000..e8fa15b819 --- /dev/null +++ b/services/projectman/v4/model/model_create_issue_response_v4_parent_issue.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 父工作项 +type CreateIssueResponseV4ParentIssue struct { + // 父工作项id + Id *int32 `json:"id,omitempty"` + // 父工作项 + Name *string `json:"name,omitempty"` +} + +func (o CreateIssueResponseV4ParentIssue) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateIssueResponseV4ParentIssue", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_create_issue_v4_request.go b/services/projectman/v4/model/model_create_issue_v4_request.go new file mode 100644 index 0000000000..7f6aa494c7 --- /dev/null +++ b/services/projectman/v4/model/model_create_issue_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateIssueV4Request struct { + ProjectId string `json:"project_id"` + Body *CreateIssueRequestV4 `json:"body,omitempty"` +} + +func (o CreateIssueV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateIssueV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_create_issue_v4_response.go b/services/projectman/v4/model/model_create_issue_v4_response.go new file mode 100644 index 0000000000..0f72ae149f --- /dev/null +++ b/services/projectman/v4/model/model_create_issue_v4_response.go @@ -0,0 +1,53 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateIssueV4Response struct { + // 实际工时 + ActualWorkHours *float64 `json:"actual_work_hours,omitempty"` + // 抄送人 + AssignedCcUser *[]IssueUser `json:"assigned_cc_user,omitempty"` + AssignedUser *IssueUser `json:"assigned_user,omitempty"` + // 开始时间,年-月-日 + BeginTime *string `json:"begin_time,omitempty"` + Creator *IssueUser `json:"creator,omitempty"` + // 自定义属性值 + CustomFields *[]CustomField `json:"custom_fields,omitempty"` + Developer *IssueUser `json:"developer,omitempty"` + Domain *IssueItemSfv4Domain `json:"domain,omitempty"` + // 工作项进度值 + DoneRatio *int32 `json:"done_ratio,omitempty"` + // 结束时间,年-月-日 + EndTime *string `json:"end_time,omitempty"` + // 预计工时 + ExpectedWorkHours *float64 `json:"expected_work_hours,omitempty"` + // 工作项项id + Id *int32 `json:"id,omitempty"` + // 标题 + Name *string `json:"name,omitempty"` + Project *IssueProjectResponseV4 `json:"project,omitempty"` + Iteration *IssueItemSfv4Iteration `json:"iteration,omitempty"` + Module *IssueItemSfv4Module `json:"module,omitempty"` + ParentIssue *CreateIssueResponseV4ParentIssue `json:"parent_issue,omitempty"` + Priority *IssueItemSfv4Priority `json:"priority,omitempty"` + Severity *IssueItemSfv4Severity `json:"severity,omitempty"` + Status *IssueItemSfv4Status `json:"status,omitempty"` + Tracker *IssueItemSfv4Tracker `json:"tracker,omitempty"` +} + +func (o CreateIssueV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateIssueV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_create_iteration_request_v4.go b/services/projectman/v4/model/model_create_iteration_request_v4.go new file mode 100644 index 0000000000..9f43519fd5 --- /dev/null +++ b/services/projectman/v4/model/model_create_iteration_request_v4.go @@ -0,0 +1,30 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type CreateIterationRequestV4 struct { + // 开始时间,年-月-日 + BeginTime string `json:"begin_time"` + // 描述 + Description *string `json:"description,omitempty"` + // 结束时间,年-月-日 + EndTime string `json:"end_time"` + // 标题 + Name string `json:"name"` +} + +func (o CreateIterationRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateIterationRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_create_iteration_v4_request.go b/services/projectman/v4/model/model_create_iteration_v4_request.go new file mode 100644 index 0000000000..07d04472c8 --- /dev/null +++ b/services/projectman/v4/model/model_create_iteration_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateIterationV4Request struct { + ProjectId string `json:"project_id"` + Body *CreateIterationRequestV4 `json:"body,omitempty"` +} + +func (o CreateIterationV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateIterationV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_create_iteration_v4_response.go b/services/projectman/v4/model/model_create_iteration_v4_response.go new file mode 100644 index 0000000000..db5bef6867 --- /dev/null +++ b/services/projectman/v4/model/model_create_iteration_v4_response.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateIterationV4Response struct { + // 迭代id + Id *int32 `json:"id,omitempty"` +} + +func (o CreateIterationV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateIterationV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_create_project_v4_request_body.go b/services/projectman/v4/model/model_create_project_v4_request_body.go index e09b43a5fd..bcabb515a9 100644 --- a/services/projectman/v4/model/model_create_project_v4_request_body.go +++ b/services/projectman/v4/model/model_create_project_v4_request_body.go @@ -25,7 +25,7 @@ type CreateProjectV4RequestBody struct { // 项目要绑定的企业项目ID EnterpriseId *string `json:"enterprise_id,omitempty"` // 用户创建的项目模板id - TemplateId *string `json:"template_id,omitempty"` + TemplateId *int32 `json:"template_id,omitempty"` } func (o CreateProjectV4RequestBody) String() string { diff --git a/services/projectman/v4/model/model_custom_field.go b/services/projectman/v4/model/model_custom_field.go new file mode 100644 index 0000000000..a1e82fa216 --- /dev/null +++ b/services/projectman/v4/model/model_custom_field.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 自定义属性 +type CustomField struct { + // 自定义属性名 + Name *string `json:"name,omitempty"` + // 自定义属性对应的值 + Value *string `json:"value,omitempty"` +} + +func (o CustomField) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CustomField", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_delete_issue_v4_request.go b/services/projectman/v4/model/model_delete_issue_v4_request.go new file mode 100644 index 0000000000..0f8c3b7ecc --- /dev/null +++ b/services/projectman/v4/model/model_delete_issue_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteIssueV4Request struct { + ProjectId string `json:"project_id"` + IssueId int32 `json:"issue_id"` +} + +func (o DeleteIssueV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteIssueV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_delete_issue_v4_response.go b/services/projectman/v4/model/model_delete_issue_v4_response.go new file mode 100644 index 0000000000..e423898a56 --- /dev/null +++ b/services/projectman/v4/model/model_delete_issue_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteIssueV4Response struct { +} + +func (o DeleteIssueV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteIssueV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_delete_iteration_v4_request.go b/services/projectman/v4/model/model_delete_iteration_v4_request.go new file mode 100644 index 0000000000..4647855860 --- /dev/null +++ b/services/projectman/v4/model/model_delete_iteration_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteIterationV4Request struct { + ProjectId string `json:"project_id"` + IterationId int32 `json:"iteration_id"` +} + +func (o DeleteIterationV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteIterationV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_delete_iteration_v4_response.go b/services/projectman/v4/model/model_delete_iteration_v4_response.go new file mode 100644 index 0000000000..9c0a0c7ea3 --- /dev/null +++ b/services/projectman/v4/model/model_delete_iteration_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteIterationV4Response struct { +} + +func (o DeleteIterationV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteIterationV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_project_versions_v4_request.go b/services/projectman/v4/model/model_delete_project_v4_request.go similarity index 52% rename from services/projectman/v4/model/model_list_project_versions_v4_request.go rename to services/projectman/v4/model/model_delete_project_v4_request.go index e623045cc3..a5db4b4580 100644 --- a/services/projectman/v4/model/model_list_project_versions_v4_request.go +++ b/services/projectman/v4/model/model_delete_project_v4_request.go @@ -14,11 +14,11 @@ import ( ) // Request Object -type ListProjectVersionsV4Request struct { +type DeleteProjectV4Request struct { ProjectId string `json:"project_id"` } -func (o ListProjectVersionsV4Request) String() string { +func (o DeleteProjectV4Request) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ListProjectVersionsV4Request", string(data)}, " ") + return strings.Join([]string{"DeleteProjectV4Request", string(data)}, " ") } diff --git a/services/projectman/v4/model/model_delete_project_v4_response.go b/services/projectman/v4/model/model_delete_project_v4_response.go new file mode 100644 index 0000000000..03024d53a3 --- /dev/null +++ b/services/projectman/v4/model/model_delete_project_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteProjectV4Response struct { +} + +func (o DeleteProjectV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteProjectV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_demand_statistic_response_v4.go b/services/projectman/v4/model/model_demand_statistic_response_v4.go new file mode 100644 index 0000000000..c4ac6f3d47 --- /dev/null +++ b/services/projectman/v4/model/model_demand_statistic_response_v4.go @@ -0,0 +1,39 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 需求概览信息 +type DemandStatisticResponseV4 struct { + // 已关闭数量 + ClosedNum *int32 `json:"closed_num,omitempty"` + // 模块 + Module *string `json:"module,omitempty"` + // 新建的数量 + NewNum *int32 `json:"new_num,omitempty"` + // 开发中的数量 + ProcessNum *int32 `json:"process_num,omitempty"` + // 已拒绝数量 + RejectedNum *int32 `json:"rejected_num,omitempty"` + // 已解决数量 + SolvedNum *int32 `json:"solved_num,omitempty"` + // 测试中的数量 + TestNum *int32 `json:"test_num,omitempty"` + // 总数 + Total *int32 `json:"total,omitempty"` +} + +func (o DemandStatisticResponseV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DemandStatisticResponseV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_completion_rate_response_v4.go b/services/projectman/v4/model/model_issue_completion_rate_response_v4.go new file mode 100644 index 0000000000..4086e756cc --- /dev/null +++ b/services/projectman/v4/model/model_issue_completion_rate_response_v4.go @@ -0,0 +1,26 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 项目工作项概览信息 +type IssueCompletionRateResponseV4 struct { + IssueStatus *IssueStatusResponseV4 `json:"issue_status,omitempty"` + // 工作项类型,2任务/task,3缺陷/bug,5epic,6feature,7story + TrackerId *int32 `json:"tracker_id,omitempty"` +} + +func (o IssueCompletionRateResponseV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueCompletionRateResponseV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_item_sfv4_domain.go b/services/projectman/v4/model/model_issue_item_sfv4_domain.go new file mode 100644 index 0000000000..3d6d662336 --- /dev/null +++ b/services/projectman/v4/model/model_issue_item_sfv4_domain.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// id, 领域 14, '性能', 15, '功能', 16, '可靠性' 17, '网络安全' 18, '可维护性' 19, '其他DFX' 20, '可用性' +type IssueItemSfv4Domain struct { + // 领域id + Id *int32 `json:"id,omitempty"` + // 领域 + Name *string `json:"name,omitempty"` +} + +func (o IssueItemSfv4Domain) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueItemSfv4Domain", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_item_sfv4_iteration.go b/services/projectman/v4/model/model_issue_item_sfv4_iteration.go new file mode 100644 index 0000000000..0ee92030bc --- /dev/null +++ b/services/projectman/v4/model/model_issue_item_sfv4_iteration.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 迭代 +type IssueItemSfv4Iteration struct { + // 迭代id + Id *int32 `json:"id,omitempty"` + // 迭代名 + Name *string `json:"name,omitempty"` +} + +func (o IssueItemSfv4Iteration) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueItemSfv4Iteration", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_item_sfv4_module.go b/services/projectman/v4/model/model_issue_item_sfv4_module.go new file mode 100644 index 0000000000..dc3f882e15 --- /dev/null +++ b/services/projectman/v4/model/model_issue_item_sfv4_module.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 模块 +type IssueItemSfv4Module struct { + // 模块id + Id *int32 `json:"id,omitempty"` + // 模块 + Name *string `json:"name,omitempty"` +} + +func (o IssueItemSfv4Module) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueItemSfv4Module", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_item_sfv4_priority.go b/services/projectman/v4/model/model_issue_item_sfv4_priority.go new file mode 100644 index 0000000000..276958b1c5 --- /dev/null +++ b/services/projectman/v4/model/model_issue_item_sfv4_priority.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 工作项优先级 +type IssueItemSfv4Priority struct { + // 优先级id + Id *int32 `json:"id,omitempty"` + // 优先级 + Name *string `json:"name,omitempty"` +} + +func (o IssueItemSfv4Priority) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueItemSfv4Priority", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_item_sfv4_severity.go b/services/projectman/v4/model/model_issue_item_sfv4_severity.go new file mode 100644 index 0000000000..ded7cd8dd2 --- /dev/null +++ b/services/projectman/v4/model/model_issue_item_sfv4_severity.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 工作项重要程度 +type IssueItemSfv4Severity struct { + // 重要程度id + Id *int32 `json:"id,omitempty"` + // 重要程度 + Name *string `json:"name,omitempty"` +} + +func (o IssueItemSfv4Severity) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueItemSfv4Severity", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_item_sfv4_status.go b/services/projectman/v4/model/model_issue_item_sfv4_status.go new file mode 100644 index 0000000000..86b66e1df7 --- /dev/null +++ b/services/projectman/v4/model/model_issue_item_sfv4_status.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 工作项状态 +type IssueItemSfv4Status struct { + // 状态id + Id *int32 `json:"id,omitempty"` + // 状态名称 + Name *string `json:"name,omitempty"` +} + +func (o IssueItemSfv4Status) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueItemSfv4Status", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_item_sfv4_tracker.go b/services/projectman/v4/model/model_issue_item_sfv4_tracker.go new file mode 100644 index 0000000000..da7b5030e4 --- /dev/null +++ b/services/projectman/v4/model/model_issue_item_sfv4_tracker.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 工作项类型 +type IssueItemSfv4Tracker struct { + // 类型id + Id *int32 `json:"id,omitempty"` + // 类型名称 + Name *string `json:"name,omitempty"` +} + +func (o IssueItemSfv4Tracker) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueItemSfv4Tracker", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_project_response_v4.go b/services/projectman/v4/model/model_issue_project_response_v4.go new file mode 100644 index 0000000000..de64726659 --- /dev/null +++ b/services/projectman/v4/model/model_issue_project_response_v4.go @@ -0,0 +1,28 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type IssueProjectResponseV4 struct { + // 项目id + ProjectId *string `json:"project_id,omitempty"` + // 项目名称 + ProjectName *string `json:"project_name,omitempty"` + // 项目数字id + ProjectNumId *int32 `json:"project_num_id,omitempty"` +} + +func (o IssueProjectResponseV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueProjectResponseV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_request_v4.go b/services/projectman/v4/model/model_issue_request_v4.go new file mode 100644 index 0000000000..d81fa276f5 --- /dev/null +++ b/services/projectman/v4/model/model_issue_request_v4.go @@ -0,0 +1,57 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 工作项属性 +type IssueRequestV4 struct { + // 实际工时 + ActualWorkHours *int32 `json:"actual_work_hours,omitempty"` + // 处理人id,对应用户信息的数字id + AssignedId *int32 `json:"assigned_id,omitempty"` + // 开始时间,年-月-日 + BeginTime *string `json:"begin_time,omitempty"` + // 描述信息 + Description *string `json:"description,omitempty"` + // 开发者id,对应用户信息的数字id + DeveloperId *int32 `json:"developer_id,omitempty"` + // 领域id + DomainId *int32 `json:"domain_id,omitempty"` + // 工作项进度值 + DoneRatio *int32 `json:"done_ratio,omitempty"` + // 结束时间,年-月-日 + EndTime *string `json:"end_time,omitempty"` + // 预计工时 + ExpectedWorkHours *float64 `json:"expected_work_hours,omitempty"` + // 迭代id + IterationId *int32 `json:"iteration_id,omitempty"` + // 模块id + ModuleId *int32 `json:"module_id,omitempty"` + // 标题 + Name *string `json:"name,omitempty"` + // 父工作项的id + ParentIssueId *int32 `json:"parent_issue_id,omitempty"` + // 优先级 1 低 2 中 3 高 + PriorityId *int32 `json:"priority_id,omitempty"` + // 重要程度 10 关键 11 重要 12 一般 13 提示 + SeverityId *int32 `json:"severity_id,omitempty"` + // 状态 id 开始 1 进行中 2 已解决 3 测试中 4 已关闭 5 已解决 6 + StatusId *int32 `json:"status_id,omitempty"` + // 工作项类型,2任务/task,3缺陷/bug,5epic,6feature,7story + TrackerId *int32 `json:"tracker_id,omitempty"` +} + +func (o IssueRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_response_v4.go b/services/projectman/v4/model/model_issue_response_v4.go new file mode 100644 index 0000000000..a7de2d0a93 --- /dev/null +++ b/services/projectman/v4/model/model_issue_response_v4.go @@ -0,0 +1,57 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 工作项属性 +type IssueResponseV4 struct { + // 实际工时 + ActualWorkHours *float64 `json:"actual_work_hours,omitempty"` + // 抄送人 + AssignedCcUser *[]IssueUser `json:"assigned_cc_user,omitempty"` + AssignedUser *IssueUser `json:"assigned_user,omitempty"` + // 开始时间,年-月-日 + BeginTime *string `json:"begin_time,omitempty"` + // 更新时间 年-月-日 时:分:秒 + CreatedTime *string `json:"created_time,omitempty"` + Creator *IssueUser `json:"creator,omitempty"` + // 自定义属性值 + CustomFields *[]CustomField `json:"custom_fields,omitempty"` + Developer *IssueUser `json:"developer,omitempty"` + Domain *IssueItemSfv4Domain `json:"domain,omitempty"` + // 工作项进度值 + DoneRatio *int32 `json:"done_ratio,omitempty"` + // 结束时间,年-月-日 + EndTime *string `json:"end_time,omitempty"` + // 预计工时 + ExpectedWorkHours *float64 `json:"expected_work_hours,omitempty"` + // 工作项项id + Id *int32 `json:"id,omitempty"` + Iteration *IssueItemSfv4Iteration `json:"iteration,omitempty"` + Module *IssueItemSfv4Module `json:"module,omitempty"` + // 标题 + Name *string `json:"name,omitempty"` + ParentIssue *CreateIssueResponseV4ParentIssue `json:"parent_issue,omitempty"` + Priority *IssueItemSfv4Priority `json:"priority,omitempty"` + Project *IssueProjectResponseV4 `json:"project,omitempty"` + Severity *IssueItemSfv4Severity `json:"severity,omitempty"` + Status *IssueItemSfv4Status `json:"status,omitempty"` + Tracker *IssueItemSfv4Tracker `json:"tracker,omitempty"` + // 更新时间 年-月-日 时:分:秒 + UpdatedTime *string `json:"updated_time,omitempty"` +} + +func (o IssueResponseV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueResponseV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_status_response_v4.go b/services/projectman/v4/model/model_issue_status_response_v4.go new file mode 100644 index 0000000000..d4b98db9d9 --- /dev/null +++ b/services/projectman/v4/model/model_issue_status_response_v4.go @@ -0,0 +1,35 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 工作项的统计信息 +type IssueStatusResponseV4 struct { + // 已关闭数量 + ClosedNum *int32 `json:"closed_num,omitempty"` + // 新建的数量 + NewNum *int32 `json:"new_num,omitempty"` + // 开发中的数量 + ProcessNum *int32 `json:"process_num,omitempty"` + // 已拒绝数量 + RejectedNum *int32 `json:"rejected_num,omitempty"` + // 已解决数量 + SolvedNum *int32 `json:"solved_num,omitempty"` + // 测试中的数量 + TestNum *int32 `json:"test_num,omitempty"` +} + +func (o IssueStatusResponseV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueStatusResponseV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_issue_user.go b/services/projectman/v4/model/model_issue_user.go new file mode 100644 index 0000000000..ed7106e1b4 --- /dev/null +++ b/services/projectman/v4/model/model_issue_user.go @@ -0,0 +1,28 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type IssueUser struct { + // 用户id + Id *int32 `json:"id,omitempty"` + // 用户名 + Name *string `json:"name,omitempty"` + // 昵称 + NickName *string `json:"nick_name,omitempty"` +} + +func (o IssueUser) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"IssueUser", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_child_issues_v4_request.go b/services/projectman/v4/model/model_list_child_issues_v4_request.go new file mode 100644 index 0000000000..b628c2862d --- /dev/null +++ b/services/projectman/v4/model/model_list_child_issues_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListChildIssuesV4Request struct { + ProjectId string `json:"project_id"` + IssueId int32 `json:"issue_id"` +} + +func (o ListChildIssuesV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListChildIssuesV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_child_issues_v4_response.go b/services/projectman/v4/model/model_list_child_issues_v4_response.go new file mode 100644 index 0000000000..11f751cc7b --- /dev/null +++ b/services/projectman/v4/model/model_list_child_issues_v4_response.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListChildIssuesV4Response struct { + // 工作项列表 + Issues *[]IssueResponseV4 `json:"issues,omitempty"` + // 总数 + Total *int32 `json:"total,omitempty"` +} + +func (o ListChildIssuesV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListChildIssuesV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_issue_request_v4.go b/services/projectman/v4/model/model_list_issue_request_v4.go new file mode 100644 index 0000000000..3bc5734812 --- /dev/null +++ b/services/projectman/v4/model/model_list_issue_request_v4.go @@ -0,0 +1,52 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ListIssueRequestV4 struct { + // 处理人id + AssignedIds *[]int32 `json:"assigned_ids,omitempty"` + // 创建者id + CreatorIds *[]int32 `json:"creator_ids,omitempty"` + // 开发人id,对应用户信息的数字id + DeveloperIds *[]int32 `json:"developer_ids,omitempty"` + // id, 领域 14, '性能', 15, '功能', 16, '可靠性' 17, '网络安全' 18, '可维护性' 19, '其他DFX' 20, '可用性' + DomainIds *[]int32 `json:"domain_ids,omitempty"` + // 完成度 + DoneRatios *[]int32 `json:"done_ratios,omitempty"` + // 迭代id + IterationIds *[]int32 `json:"iteration_ids,omitempty"` + // 每页显示数量 + Limit *int32 `json:"limit,omitempty"` + // 模块id + ModuleIds *[]int32 `json:"module_ids,omitempty"` + // 分页索引,偏移量 + Offset *int32 `json:"offset,omitempty"` + // 优先级 + PriorityIds *[]int32 `json:"priority_ids,omitempty"` + // 查询类型 backlog feature epic + QueryType *string `json:"query_type,omitempty"` + // 查询类型 + SeverityIds *[]int32 `json:"severity_ids,omitempty"` + // 状态 id 开始 1 进行中 2 已解决 3 测试中 4 已关闭 5 已解决 6 + StatusIds *[]int32 `json:"status_ids,omitempty"` + // 故事点id + StoryPointIds *[]int32 `json:"story_point_ids,omitempty"` + // 工作项类型,2任务/task,3缺陷/bug,5epic,6feature,7story + TrackerIds *[]int32 `json:"tracker_ids,omitempty"` +} + +func (o ListIssueRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListIssueRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_issues_v4_request.go b/services/projectman/v4/model/model_list_issues_v4_request.go new file mode 100644 index 0000000000..66ffb2f915 --- /dev/null +++ b/services/projectman/v4/model/model_list_issues_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListIssuesV4Request struct { + ProjectId string `json:"project_id"` + Body *ListIssueRequestV4 `json:"body,omitempty"` +} + +func (o ListIssuesV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListIssuesV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_issues_v4_response.go b/services/projectman/v4/model/model_list_issues_v4_response.go new file mode 100644 index 0000000000..d0a0adf8bc --- /dev/null +++ b/services/projectman/v4/model/model_list_issues_v4_response.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListIssuesV4Response struct { + // 工作项列表 + Issues *[]IssueResponseV4 `json:"issues,omitempty"` + // 总数 + Total *int32 `json:"total,omitempty"` +} + +func (o ListIssuesV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListIssuesV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_project_bug_statics_v4_request.go b/services/projectman/v4/model/model_list_project_bug_statics_v4_request.go new file mode 100644 index 0000000000..7c752490b1 --- /dev/null +++ b/services/projectman/v4/model/model_list_project_bug_statics_v4_request.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListProjectBugStaticsV4Request struct { + ProjectId string `json:"project_id"` +} + +func (o ListProjectBugStaticsV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListProjectBugStaticsV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_project_bug_statics_v4_response.go b/services/projectman/v4/model/model_list_project_bug_statics_v4_response.go new file mode 100644 index 0000000000..d343fde65a --- /dev/null +++ b/services/projectman/v4/model/model_list_project_bug_statics_v4_response.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListProjectBugStaticsV4Response struct { + // bug统计 + BugStatistics *[]BugStatisticResponseV4 `json:"bug_statistics,omitempty"` +} + +func (o ListProjectBugStaticsV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListProjectBugStaticsV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_project_demand_static_v4_request.go b/services/projectman/v4/model/model_list_project_demand_static_v4_request.go new file mode 100644 index 0000000000..01f7550e06 --- /dev/null +++ b/services/projectman/v4/model/model_list_project_demand_static_v4_request.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListProjectDemandStaticV4Request struct { + ProjectId string `json:"project_id"` +} + +func (o ListProjectDemandStaticV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListProjectDemandStaticV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_project_demand_static_v4_response.go b/services/projectman/v4/model/model_list_project_demand_static_v4_response.go new file mode 100644 index 0000000000..40c418be0d --- /dev/null +++ b/services/projectman/v4/model/model_list_project_demand_static_v4_response.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListProjectDemandStaticV4Response struct { + // 需求统计 + DemandStatistics *[]DemandStatisticResponseV4 `json:"demand_statistics,omitempty"` +} + +func (o ListProjectDemandStaticV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListProjectDemandStaticV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_project_iterations_v4_request.go b/services/projectman/v4/model/model_list_project_iterations_v4_request.go new file mode 100644 index 0000000000..d1f47eb6ae --- /dev/null +++ b/services/projectman/v4/model/model_list_project_iterations_v4_request.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListProjectIterationsV4Request struct { + ProjectId string `json:"project_id"` +} + +func (o ListProjectIterationsV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListProjectIterationsV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_list_project_versions_v4_response.go b/services/projectman/v4/model/model_list_project_iterations_v4_response.go similarity index 63% rename from services/projectman/v4/model/model_list_project_versions_v4_response.go rename to services/projectman/v4/model/model_list_project_iterations_v4_response.go index c376d73669..d1cd96c93e 100644 --- a/services/projectman/v4/model/model_list_project_versions_v4_response.go +++ b/services/projectman/v4/model/model_list_project_iterations_v4_response.go @@ -14,14 +14,14 @@ import ( ) // Response Object -type ListProjectVersionsV4Response struct { +type ListProjectIterationsV4Response struct { // 迭代总数 Total *int32 `json:"total,omitempty"` // 迭代信息 Iterations *[]ListProjectVersionsV4ResponseBodyIterations `json:"iterations,omitempty"` } -func (o ListProjectVersionsV4Response) String() string { +func (o ListProjectIterationsV4Response) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"ListProjectVersionsV4Response", string(data)}, " ") + return strings.Join([]string{"ListProjectIterationsV4Response", string(data)}, " ") } diff --git a/services/projectman/v4/model/model_list_project_work_hours_request_body.go b/services/projectman/v4/model/model_list_project_work_hours_request_body.go index a54b4dd1da..056d8eb2d2 100644 --- a/services/projectman/v4/model/model_list_project_work_hours_request_body.go +++ b/services/projectman/v4/model/model_list_project_work_hours_request_body.go @@ -27,9 +27,9 @@ type ListProjectWorkHoursRequestBody struct { // 工时结束日期,年-月-日 EndTime *string `json:"end_time,omitempty"` // 偏移量 - Offset string `json:"offset"` + Offset int32 `json:"offset"` // 每页显示数量,每页最多显示100条 - Limit string `json:"limit"` + Limit int32 `json:"limit"` } func (o ListProjectWorkHoursRequestBody) String() string { diff --git a/services/projectman/v4/model/model_member_list_v4_members.go b/services/projectman/v4/model/model_member_list_v4_members.go index 34a829be97..a9d873fc31 100644 --- a/services/projectman/v4/model/model_member_list_v4_members.go +++ b/services/projectman/v4/model/model_member_list_v4_members.go @@ -24,7 +24,7 @@ type MemberListV4Members struct { UserName *string `json:"user_name,omitempty"` // 创建人numId UserNumId *int32 `json:"user_num_id,omitempty"` - // 成员角色 -1 项目创建者 3 项目经理 4 开发人员 5 测试经理 6 测试人员 7 参与者 8 浏览者 + // 成员角色 3 项目经理 4 开发人员 5 测试经理 6 测试人员 7 参与者 8 浏览者 RoleId *int32 `json:"role_id,omitempty"` // 用户昵称 NickName *string `json:"nick_name,omitempty"` diff --git a/services/projectman/v4/model/model_show_cur_user_role_response.go b/services/projectman/v4/model/model_show_cur_user_role_response.go index 456f8b2813..508f9b23fb 100644 --- a/services/projectman/v4/model/model_show_cur_user_role_response.go +++ b/services/projectman/v4/model/model_show_cur_user_role_response.go @@ -15,8 +15,8 @@ import ( // Response Object type ShowCurUserRoleResponse struct { - // 用户角色id - RoleId *string `json:"role_id,omitempty"` + // 成员角色 -1 项目创建者 3 项目经理 4 开发人员 5 测试经理 6 测试人员 7 参与者 8 浏览 + UserRole *int32 `json:"user_role,omitempty"` } func (o ShowCurUserRoleResponse) String() string { diff --git a/services/projectman/v4/model/model_show_issue_v4_request.go b/services/projectman/v4/model/model_show_issue_v4_request.go new file mode 100644 index 0000000000..5227ffb397 --- /dev/null +++ b/services/projectman/v4/model/model_show_issue_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowIssueV4Request struct { + ProjectId string `json:"project_id"` + IssueId int32 `json:"issue_id"` +} + +func (o ShowIssueV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowIssueV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_show_issue_v4_response.go b/services/projectman/v4/model/model_show_issue_v4_response.go new file mode 100644 index 0000000000..15382de795 --- /dev/null +++ b/services/projectman/v4/model/model_show_issue_v4_response.go @@ -0,0 +1,57 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowIssueV4Response struct { + // 实际工时 + ActualWorkHours *float64 `json:"actual_work_hours,omitempty"` + // 抄送人 + AssignedCcUser *[]IssueUser `json:"assigned_cc_user,omitempty"` + AssignedUser *IssueUser `json:"assigned_user,omitempty"` + // 开始时间,年-月-日 + BeginTime *string `json:"begin_time,omitempty"` + // 更新时间 年-月-日 时:分:秒 + CreatedTime *string `json:"created_time,omitempty"` + Creator *IssueUser `json:"creator,omitempty"` + // 自定义属性值 + CustomFields *[]CustomField `json:"custom_fields,omitempty"` + Developer *IssueUser `json:"developer,omitempty"` + Domain *IssueItemSfv4Domain `json:"domain,omitempty"` + // 工作项进度值 + DoneRatio *int32 `json:"done_ratio,omitempty"` + // 结束时间,年-月-日 + EndTime *string `json:"end_time,omitempty"` + // 预计工时 + ExpectedWorkHours *float64 `json:"expected_work_hours,omitempty"` + // 工作项项id + Id *int32 `json:"id,omitempty"` + Iteration *IssueItemSfv4Iteration `json:"iteration,omitempty"` + Module *IssueItemSfv4Module `json:"module,omitempty"` + // 标题 + Name *string `json:"name,omitempty"` + ParentIssue *CreateIssueResponseV4ParentIssue `json:"parent_issue,omitempty"` + Priority *IssueItemSfv4Priority `json:"priority,omitempty"` + Project *IssueProjectResponseV4 `json:"project,omitempty"` + Severity *IssueItemSfv4Severity `json:"severity,omitempty"` + Status *IssueItemSfv4Status `json:"status,omitempty"` + Tracker *IssueItemSfv4Tracker `json:"tracker,omitempty"` + // 更新时间 年-月-日 时:分:秒 + UpdatedTime *string `json:"updated_time,omitempty"` +} + +func (o ShowIssueV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowIssueV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_show_iteration_v4_request.go b/services/projectman/v4/model/model_show_iteration_v4_request.go new file mode 100644 index 0000000000..00f63061a2 --- /dev/null +++ b/services/projectman/v4/model/model_show_iteration_v4_request.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowIterationV4Request struct { + IterationId int32 `json:"iteration_id"` +} + +func (o ShowIterationV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowIterationV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_show_iteration_v4_response.go b/services/projectman/v4/model/model_show_iteration_v4_response.go new file mode 100644 index 0000000000..4bbbf4b079 --- /dev/null +++ b/services/projectman/v4/model/model_show_iteration_v4_response.go @@ -0,0 +1,47 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowIterationV4Response struct { + // 迭代结束时间,年-月-日 + BeginTime *string `json:"begin_time,omitempty"` + // 燃尽图 + Charts *[]Chart `json:"charts,omitempty"` + // 已关闭的工单数 + ClosedTotal *int32 `json:"closed_total,omitempty"` + // 迭代创建时间 + CreatedTime *string `json:"created_time,omitempty"` + // 迭代开始时间,年-月-日 + EndTime *string `json:"end_time,omitempty"` + // 是否有task + HaveTask *bool `json:"have_task,omitempty"` + // 迭代id + IterationId *int32 `json:"iteration_id,omitempty"` + // 迭代标题 + Name *string `json:"name,omitempty"` + // 开启的工单数 + OpenedTotal *int32 `json:"opened_total,omitempty"` + // 工作进展 + Progress *string `json:"progress,omitempty"` + // 工单总数 + Total *int32 `json:"total,omitempty"` + // 迭代更新时间 + UpdatedTime *string `json:"updated_time,omitempty"` +} + +func (o ShowIterationV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowIterationV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_show_project_summary_v4_request.go b/services/projectman/v4/model/model_show_project_summary_v4_request.go new file mode 100644 index 0000000000..99d1720dcf --- /dev/null +++ b/services/projectman/v4/model/model_show_project_summary_v4_request.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowProjectSummaryV4Request struct { + ProjectId string `json:"project_id"` +} + +func (o ShowProjectSummaryV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowProjectSummaryV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_show_project_summary_v4_response.go b/services/projectman/v4/model/model_show_project_summary_v4_response.go new file mode 100644 index 0000000000..f38d36d770 --- /dev/null +++ b/services/projectman/v4/model/model_show_project_summary_v4_response.go @@ -0,0 +1,31 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowProjectSummaryV4Response struct { + // bug统计列表 + BugStatistics *[]BugStatisticResponseV4 `json:"bug_statistics,omitempty"` + // 按模块统计列表 + DemandStatistics *[]DemandStatisticResponseV4 `json:"demand_statistics,omitempty"` + // 按工作项类型统计列表 + IssueCompletionRates *[]IssueCompletionRateResponseV4 `json:"issue_completion_rates,omitempty"` + // 项目id + ProjectId *string `json:"project_id,omitempty"` +} + +func (o ShowProjectSummaryV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowProjectSummaryV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_issue_v4_request.go b/services/projectman/v4/model/model_update_issue_v4_request.go new file mode 100644 index 0000000000..30fa6ce82f --- /dev/null +++ b/services/projectman/v4/model/model_update_issue_v4_request.go @@ -0,0 +1,26 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type UpdateIssueV4Request struct { + ProjectId string `json:"project_id"` + IssueId int32 `json:"issue_id"` + Body *IssueRequestV4 `json:"body,omitempty"` +} + +func (o UpdateIssueV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateIssueV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_issue_v4_response.go b/services/projectman/v4/model/model_update_issue_v4_response.go new file mode 100644 index 0000000000..0dc7af6049 --- /dev/null +++ b/services/projectman/v4/model/model_update_issue_v4_response.go @@ -0,0 +1,57 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type UpdateIssueV4Response struct { + // 实际工时 + ActualWorkHours *float64 `json:"actual_work_hours,omitempty"` + // 抄送人 + AssignedCcUser *[]IssueUser `json:"assigned_cc_user,omitempty"` + AssignedUser *IssueUser `json:"assigned_user,omitempty"` + // 开始时间,年-月-日 + BeginTime *string `json:"begin_time,omitempty"` + // 更新时间 年-月-日 时:分:秒 + CreatedTime *string `json:"created_time,omitempty"` + Creator *IssueUser `json:"creator,omitempty"` + // 自定义属性值 + CustomFields *[]CustomField `json:"custom_fields,omitempty"` + Developer *IssueUser `json:"developer,omitempty"` + Domain *IssueItemSfv4Domain `json:"domain,omitempty"` + // 工作项进度值 + DoneRatio *int32 `json:"done_ratio,omitempty"` + // 结束时间,年-月-日 + EndTime *string `json:"end_time,omitempty"` + // 预计工时 + ExpectedWorkHours *float64 `json:"expected_work_hours,omitempty"` + // 工作项项id + Id *int32 `json:"id,omitempty"` + Iteration *IssueItemSfv4Iteration `json:"iteration,omitempty"` + Module *IssueItemSfv4Module `json:"module,omitempty"` + // 标题 + Name *string `json:"name,omitempty"` + ParentIssue *CreateIssueResponseV4ParentIssue `json:"parent_issue,omitempty"` + Priority *IssueItemSfv4Priority `json:"priority,omitempty"` + Project *IssueProjectResponseV4 `json:"project,omitempty"` + Severity *IssueItemSfv4Severity `json:"severity,omitempty"` + Status *IssueItemSfv4Status `json:"status,omitempty"` + Tracker *IssueItemSfv4Tracker `json:"tracker,omitempty"` + // 更新时间 年-月-日 时:分:秒 + UpdatedTime *string `json:"updated_time,omitempty"` +} + +func (o UpdateIssueV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateIssueV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_iteration_v4_request.go b/services/projectman/v4/model/model_update_iteration_v4_request.go new file mode 100644 index 0000000000..c055918ca3 --- /dev/null +++ b/services/projectman/v4/model/model_update_iteration_v4_request.go @@ -0,0 +1,26 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type UpdateIterationV4Request struct { + ProjectId string `json:"project_id"` + IterationId int32 `json:"iteration_id"` + Body *CreateIterationRequestV4 `json:"body,omitempty"` +} + +func (o UpdateIterationV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateIterationV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_iteration_v4_response.go b/services/projectman/v4/model/model_update_iteration_v4_response.go new file mode 100644 index 0000000000..84b92817ee --- /dev/null +++ b/services/projectman/v4/model/model_update_iteration_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type UpdateIterationV4Response struct { +} + +func (o UpdateIterationV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateIterationV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_membes_role_v4_request_body.go b/services/projectman/v4/model/model_update_membes_role_v4_request_body.go index 6d686df178..b3043be032 100644 --- a/services/projectman/v4/model/model_update_membes_role_v4_request_body.go +++ b/services/projectman/v4/model/model_update_membes_role_v4_request_body.go @@ -14,7 +14,7 @@ import ( ) type UpdateMembesRoleV4RequestBody struct { - // 成员角色 -1 项目创建者 3 项目经理 4 开发人员 5 测试经理 6 测试人员 7 参与者 8 浏览者 + // 成员角色 3 项目经理 4 开发人员 5 测试经理 6 测试人员 7 参与者 8 浏览者 RoleId int32 `json:"role_id"` // 用户id UserIds []string `json:"user_ids"` diff --git a/services/projectman/v4/model/model_update_nick_name_v4_request.go b/services/projectman/v4/model/model_update_nick_name_v4_request.go new file mode 100644 index 0000000000..b3f48c3000 --- /dev/null +++ b/services/projectman/v4/model/model_update_nick_name_v4_request.go @@ -0,0 +1,24 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type UpdateNickNameV4Request struct { + Body *UpdateUserNickNameRequestV4 `json:"body,omitempty"` +} + +func (o UpdateNickNameV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateNickNameV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_nick_name_v4_response.go b/services/projectman/v4/model/model_update_nick_name_v4_response.go new file mode 100644 index 0000000000..00013d8397 --- /dev/null +++ b/services/projectman/v4/model/model_update_nick_name_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type UpdateNickNameV4Response struct { +} + +func (o UpdateNickNameV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateNickNameV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_project_request_v4.go b/services/projectman/v4/model/model_update_project_request_v4.go new file mode 100644 index 0000000000..b6fd2d86f5 --- /dev/null +++ b/services/projectman/v4/model/model_update_project_request_v4.go @@ -0,0 +1,27 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 更新项目信息 +type UpdateProjectRequestV4 struct { + // 项目描述 + Description *string `json:"description,omitempty"` + // 项目名 + ProjectName *string `json:"project_name,omitempty"` +} + +func (o UpdateProjectRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateProjectRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_project_v4_request.go b/services/projectman/v4/model/model_update_project_v4_request.go new file mode 100644 index 0000000000..dbb07ea92c --- /dev/null +++ b/services/projectman/v4/model/model_update_project_v4_request.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type UpdateProjectV4Request struct { + ProjectId string `json:"project_id"` + Body *UpdateProjectRequestV4 `json:"body,omitempty"` +} + +func (o UpdateProjectV4Request) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateProjectV4Request", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_project_v4_response.go b/services/projectman/v4/model/model_update_project_v4_response.go new file mode 100644 index 0000000000..c4aa5d04c6 --- /dev/null +++ b/services/projectman/v4/model/model_update_project_v4_response.go @@ -0,0 +1,23 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type UpdateProjectV4Response struct { +} + +func (o UpdateProjectV4Response) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateProjectV4Response", string(data)}, " ") +} diff --git a/services/projectman/v4/model/model_update_user_nick_name_request_v4.go b/services/projectman/v4/model/model_update_user_nick_name_request_v4.go new file mode 100644 index 0000000000..ec9db5156e --- /dev/null +++ b/services/projectman/v4/model/model_update_user_nick_name_request_v4.go @@ -0,0 +1,25 @@ +/* + * ProjectMan + * + * devcloud projectman api + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 用户昵称 +type UpdateUserNickNameRequestV4 struct { + // 用户昵称 + NickName string `json:"nick_name"` +} + +func (o UpdateUserNickNameRequestV4) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateUserNickNameRequestV4", string(data)}, " ") +} diff --git a/services/projectman/v4/projectMan_client.go b/services/projectman/v4/projectMan_client.go index 53916ad4b9..941a2f95af 100644 --- a/services/projectman/v4/projectMan_client.go +++ b/services/projectman/v4/projectMan_client.go @@ -18,170 +18,409 @@ func ProjectManClientBuilder() *http_client.HcHttpClientBuilder { return builder } +//AGC调用 当前用户申请加入项目, 申请的用户id写在header中 +func (c *ProjectManClient) AddApplyJoinProjectForAgc(request *model.AddApplyJoinProjectForAgcRequest) (*model.AddApplyJoinProjectForAgcResponse, error) { + requestDef := GenReqDefForAddApplyJoinProjectForAgc() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.AddApplyJoinProjectForAgcResponse), nil + } +} + +//添加项目成员,可以添加跨租户成员 +func (c *ProjectManClient) AddMemberV4(request *model.AddMemberV4Request) (*model.AddMemberV4Response, error) { + requestDef := GenReqDefForAddMemberV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.AddMemberV4Response), nil + } +} + +//批量添加项目成员,只能添加和项目创建者同一租户下的成员,不正确的用户id会略过,添加的用户超过权限的,默认角色设置为7 +func (c *ProjectManClient) BatchAddMembersV4(request *model.BatchAddMembersV4Request) (*model.BatchAddMembersV4Response, error) { + requestDef := GenReqDefForBatchAddMembersV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchAddMembersV4Response), nil + } +} + +//批量删除项目的迭代 +func (c *ProjectManClient) BatchDeleteIterationsV4(request *model.BatchDeleteIterationsV4Request) (*model.BatchDeleteIterationsV4Response, error) { + requestDef := GenReqDefForBatchDeleteIterationsV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchDeleteIterationsV4Response), nil + } +} + +//批量删除项目成员 +func (c *ProjectManClient) BatchDeleteMembersV4(request *model.BatchDeleteMembersV4Request) (*model.BatchDeleteMembersV4Response, error) { + requestDef := GenReqDefForBatchDeleteMembersV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchDeleteMembersV4Response), nil + } +} + +//更新项目 +func (c *ProjectManClient) CheckProjectNameV4(request *model.CheckProjectNameV4Request) (*model.CheckProjectNameV4Response, error) { + requestDef := GenReqDefForCheckProjectNameV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CheckProjectNameV4Response), nil + } +} + +//创建Scrum项目迭代 +func (c *ProjectManClient) CreateIterationV4(request *model.CreateIterationV4Request) (*model.CreateIterationV4Response, error) { + requestDef := GenReqDefForCreateIterationV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateIterationV4Response), nil + } +} + //创建项目 func (c *ProjectManClient) CreateProjectV4(request *model.CreateProjectV4Request) (*model.CreateProjectV4Response, error) { - requestDef := GenReqDefForCreateProjectV4(request) - resp, responseDef := GenRespForCreateProjectV4() + requestDef := GenReqDefForCreateProjectV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateProjectV4Response), nil } } -//获取租户没有加入的项目 -func (c *ProjectManClient) ListDomainNotAddedProjectsV4(request *model.ListDomainNotAddedProjectsV4Request) (*model.ListDomainNotAddedProjectsV4Response, error) { - requestDef := GenReqDefForListDomainNotAddedProjectsV4(request) - resp, responseDef := GenRespForListDomainNotAddedProjectsV4() +//删除项目迭代 +func (c *ProjectManClient) DeleteIterationV4(request *model.DeleteIterationV4Request) (*model.DeleteIterationV4Response, error) { + requestDef := GenReqDefForDeleteIterationV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteIterationV4Response), nil } } -//获取工作项的评论 -func (c *ProjectManClient) ListIssueCommentsV4(request *model.ListIssueCommentsV4Request) (*model.ListIssueCommentsV4Response, error) { - requestDef := GenReqDefForListIssueCommentsV4(request) - resp, responseDef := GenRespForListIssueCommentsV4() +//删除项目 +func (c *ProjectManClient) DeleteProjectV4(request *model.DeleteProjectV4Request) (*model.DeleteProjectV4Response, error) { + requestDef := GenReqDefForDeleteProjectV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteProjectV4Response), nil } } -//获取项目成员列表 -func (c *ProjectManClient) ListIssueRecordsV4(request *model.ListIssueRecordsV4Request) (*model.ListIssueRecordsV4Response, error) { - requestDef := GenReqDefForListIssueRecordsV4(request) - resp, responseDef := GenRespForListIssueRecordsV4() +//获取租户没有加入的项目 +func (c *ProjectManClient) ListDomainNotAddedProjectsV4(request *model.ListDomainNotAddedProjectsV4Request) (*model.ListDomainNotAddedProjectsV4Response, error) { + requestDef := GenReqDefForListDomainNotAddedProjectsV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListDomainNotAddedProjectsV4Response), nil } } -//获取项目成员列表 -func (c *ProjectManClient) ListProjectMembersV4(request *model.ListProjectMembersV4Request) (*model.ListProjectMembersV4Response, error) { - requestDef := GenReqDefForListProjectMembersV4(request) - resp, responseDef := GenRespForListProjectMembersV4() +//获取bug统计信息,按模块统计 +func (c *ProjectManClient) ListProjectBugStaticsV4(request *model.ListProjectBugStaticsV4Request) (*model.ListProjectBugStaticsV4Response, error) { + requestDef := GenReqDefForListProjectBugStaticsV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListProjectBugStaticsV4Response), nil + } +} + +//获取需求统计信息 +func (c *ProjectManClient) ListProjectDemandStaticV4(request *model.ListProjectDemandStaticV4Request) (*model.ListProjectDemandStaticV4Response, error) { + requestDef := GenReqDefForListProjectDemandStaticV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListProjectDemandStaticV4Response), nil } } //获取项目迭代 -func (c *ProjectManClient) ListProjectVersionsV4(request *model.ListProjectVersionsV4Request) (*model.ListProjectVersionsV4Response, error) { - requestDef := GenReqDefForListProjectVersionsV4(request) - resp, responseDef := GenRespForListProjectVersionsV4() +func (c *ProjectManClient) ListProjectIterationsV4(request *model.ListProjectIterationsV4Request) (*model.ListProjectIterationsV4Response, error) { + requestDef := GenReqDefForListProjectIterationsV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListProjectIterationsV4Response), nil } } -//按用户查询工时(多项目) -func (c *ProjectManClient) ListProjectWorkHours(request *model.ListProjectWorkHoursRequest) (*model.ListProjectWorkHoursResponse, error) { - requestDef := GenReqDefForListProjectWorkHours(request) - resp, responseDef := GenRespForListProjectWorkHours() +//获取项目成员列表 +func (c *ProjectManClient) ListProjectMembersV4(request *model.ListProjectMembersV4Request) (*model.ListProjectMembersV4Response, error) { + requestDef := GenReqDefForListProjectMembersV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListProjectMembersV4Response), nil } } //查询项目列表 func (c *ProjectManClient) ListProjectsV4(request *model.ListProjectsV4Request) (*model.ListProjectsV4Response, error) { - requestDef := GenReqDefForListProjectsV4(request) - resp, responseDef := GenRespForListProjectsV4() + requestDef := GenReqDefForListProjectsV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListProjectsV4Response), nil } } //项目成员主动退出项目,项目创建者不能退出 func (c *ProjectManClient) RemoveProject(request *model.RemoveProjectRequest) (*model.RemoveProjectResponse, error) { - requestDef := GenReqDefForRemoveProject(request) - resp, responseDef := GenRespForRemoveProject() + requestDef := GenReqDefForRemoveProject() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RemoveProjectResponse), nil } } //获取当前用户信息 func (c *ProjectManClient) ShowCurUserInfo(request *model.ShowCurUserInfoRequest) (*model.ShowCurUserInfoResponse, error) { - requestDef := GenReqDefForShowCurUserInfo(request) - resp, responseDef := GenRespForShowCurUserInfo() + requestDef := GenReqDefForShowCurUserInfo() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowCurUserInfoResponse), nil } } //获取用户在项目中的角色 func (c *ProjectManClient) ShowCurUserRole(request *model.ShowCurUserRoleRequest) (*model.ShowCurUserRoleResponse, error) { - requestDef := GenReqDefForShowCurUserRole(request) - resp, responseDef := GenRespForShowCurUserRole() + requestDef := GenReqDefForShowCurUserRole() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowCurUserRoleResponse), nil + } +} + +//查看迭代详情 +func (c *ProjectManClient) ShowIterationV4(request *model.ShowIterationV4Request) (*model.ShowIterationV4Response, error) { + requestDef := GenReqDefForShowIterationV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowIterationV4Response), nil + } +} + +//获取项目概览 +func (c *ProjectManClient) ShowProjectSummaryV4(request *model.ShowProjectSummaryV4Request) (*model.ShowProjectSummaryV4Response, error) { + requestDef := GenReqDefForShowProjectSummaryV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowProjectSummaryV4Response), nil + } +} + +//更新Scrum项目迭代 +func (c *ProjectManClient) UpdateIterationV4(request *model.UpdateIterationV4Request) (*model.UpdateIterationV4Response, error) { + requestDef := GenReqDefForUpdateIterationV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateIterationV4Response), nil + } +} - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { +//更新成员在项目中的角色 +func (c *ProjectManClient) UpdateMembesRoleV4(request *model.UpdateMembesRoleV4Request) (*model.UpdateMembesRoleV4Response, error) { + requestDef := GenReqDefForUpdateMembesRoleV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateMembesRoleV4Response), nil + } +} + +//更新用户昵称 +func (c *ProjectManClient) UpdateNickNameV4(request *model.UpdateNickNameV4Request) (*model.UpdateNickNameV4Response, error) { + requestDef := GenReqDefForUpdateNickNameV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateNickNameV4Response), nil + } +} + +//更新项目 +func (c *ProjectManClient) UpdateProjectV4(request *model.UpdateProjectV4Request) (*model.UpdateProjectV4Response, error) { + requestDef := GenReqDefForUpdateProjectV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateProjectV4Response), nil + } +} + +//批量删除工作项 +func (c *ProjectManClient) BatchDeleteIssuesV4(request *model.BatchDeleteIssuesV4Request) (*model.BatchDeleteIssuesV4Response, error) { + requestDef := GenReqDefForBatchDeleteIssuesV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.BatchDeleteIssuesV4Response), nil + } +} + +//创建工作项 +func (c *ProjectManClient) CreateIssueV4(request *model.CreateIssueV4Request) (*model.CreateIssueV4Response, error) { + requestDef := GenReqDefForCreateIssueV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateIssueV4Response), nil + } +} + +//删除工作项 +func (c *ProjectManClient) DeleteIssueV4(request *model.DeleteIssueV4Request) (*model.DeleteIssueV4Response, error) { + requestDef := GenReqDefForDeleteIssueV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteIssueV4Response), nil + } +} + +//获取子工作项 +func (c *ProjectManClient) ListChildIssuesV4(request *model.ListChildIssuesV4Request) (*model.ListChildIssuesV4Response, error) { + requestDef := GenReqDefForListChildIssuesV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListChildIssuesV4Response), nil + } +} + +//获取工作项的评论 +func (c *ProjectManClient) ListIssueCommentsV4(request *model.ListIssueCommentsV4Request) (*model.ListIssueCommentsV4Response, error) { + requestDef := GenReqDefForListIssueCommentsV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListIssueCommentsV4Response), nil + } +} + +//获取项目成员列表 +func (c *ProjectManClient) ListIssueRecordsV4(request *model.ListIssueRecordsV4Request) (*model.ListIssueRecordsV4Response, error) { + requestDef := GenReqDefForListIssueRecordsV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListIssueRecordsV4Response), nil + } +} + +//高级查询工作项,根据筛选条件查询工作中 +func (c *ProjectManClient) ListIssuesV4(request *model.ListIssuesV4Request) (*model.ListIssuesV4Response, error) { + requestDef := GenReqDefForListIssuesV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListIssuesV4Response), nil + } +} + +//按用户查询工时(多项目) +func (c *ProjectManClient) ListProjectWorkHours(request *model.ListProjectWorkHoursRequest) (*model.ListProjectWorkHoursResponse, error) { + requestDef := GenReqDefForListProjectWorkHours() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListProjectWorkHoursResponse), nil + } +} + +//查询工作项详情 +func (c *ProjectManClient) ShowIssueV4(request *model.ShowIssueV4Request) (*model.ShowIssueV4Response, error) { + requestDef := GenReqDefForShowIssueV4() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowIssueV4Response), nil } } //按用户查询工时(单项目) func (c *ProjectManClient) ShowProjectWorkHours(request *model.ShowProjectWorkHoursRequest) (*model.ShowProjectWorkHoursResponse, error) { - requestDef := GenReqDefForShowProjectWorkHours(request) - resp, responseDef := GenRespForShowProjectWorkHours() + requestDef := GenReqDefForShowProjectWorkHours() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowProjectWorkHoursResponse), nil } } //获取工作项的完成率 func (c *ProjectManClient) ShowtIssueCompletionRate(request *model.ShowtIssueCompletionRateRequest) (*model.ShowtIssueCompletionRateResponse, error) { - requestDef := GenReqDefForShowtIssueCompletionRate(request) - resp, responseDef := GenRespForShowtIssueCompletionRate() + requestDef := GenReqDefForShowtIssueCompletionRate() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowtIssueCompletionRateResponse), nil } } -//更新成员在项目中的角色 -func (c *ProjectManClient) UpdateMembesRoleV4(request *model.UpdateMembesRoleV4Request) (*model.UpdateMembesRoleV4Response, error) { - requestDef := GenReqDefForUpdateMembesRoleV4(request) - resp, responseDef := GenRespForUpdateMembesRoleV4() +//更新工作项 +func (c *ProjectManClient) UpdateIssueV4(request *model.UpdateIssueV4Request) (*model.UpdateIssueV4Response, error) { + requestDef := GenReqDefForUpdateIssueV4() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateIssueV4Response), nil } } diff --git a/services/projectman/v4/projectMan_meta.go b/services/projectman/v4/projectMan_meta.go index bffcda51c2..3b947246fa 100644 --- a/services/projectman/v4/projectMan_meta.go +++ b/services/projectman/v4/projectMan_meta.go @@ -6,442 +6,831 @@ import ( "net/http" ) -func GenReqDefForCreateProjectV4(request *model.CreateProjectV4Request) *def.HttpRequestDef { +func GenReqDefForAddApplyJoinProjectForAgc() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodPost). - WithPath("/v4/project"). - WithContentType("application/json") - - reqDefBuilder.WithBodyJson(request.Body) + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/members/agc-join"). + WithResponse(new(model.AddApplyJoinProjectForAgcResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("DomainId"). + WithJsonTag("Domain-Id"). + WithLocationType(def.Header)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("UserId"). + WithJsonTag("User-Id"). + WithLocationType(def.Header)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateProjectV4() (*model.CreateProjectV4Response, *def.HttpResponseDef) { - resp := new(model.CreateProjectV4Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListDomainNotAddedProjectsV4(request *model.ListDomainNotAddedProjectsV4Request) *def.HttpRequestDef { +func GenReqDefForAddMemberV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v4/projects/domain/not-added") + WithMethod(http.MethodPost). + WithPath("/v4/projects/{project_id}/member"). + WithResponse(new(model.AddMemberV4Response)). + WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). - WithLocationType(def.Query)) + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). - WithLocationType(def.Query)) + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchAddMembersV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v4/projects/{project_id}/members"). + WithResponse(new(model.BatchAddMembersV4Response)). + WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListDomainNotAddedProjectsV4() (*model.ListDomainNotAddedProjectsV4Response, *def.HttpResponseDef) { - resp := new(model.ListDomainNotAddedProjectsV4Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListIssueCommentsV4(request *model.ListIssueCommentsV4Request) *def.HttpRequestDef { +func GenReqDefForBatchDeleteIterationsV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v4/projects/{project_id}/issues/{issue_id}/comments") + WithMethod(http.MethodDelete). + WithPath("/v4/projects/{project_id}/iterations"). + WithResponse(new(model.BatchDeleteIterationsV4Response)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("issue_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). - WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). - WithLocationType(def.Query)) + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForBatchDeleteMembersV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v4/projects/{project_id}/members"). + WithResponse(new(model.BatchDeleteMembersV4Response)). + WithContentType("application/json;charset=UTF-8") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListIssueCommentsV4() (*model.ListIssueCommentsV4Response, *def.HttpResponseDef) { - resp := new(model.ListIssueCommentsV4Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForCheckProjectNameV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v4/projects/check-name"). + WithResponse(new(model.CheckProjectNameV4Response)). + WithContentType("application/json;charset=UTF-8") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForListIssueRecordsV4(request *model.ListIssueRecordsV4Request) *def.HttpRequestDef { +func GenReqDefForCreateIterationV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v4/projects/{project_id}/issue/{issue_id}/records") + WithMethod(http.MethodPost). + WithPath("/v4/projects/{project_id}/iteration"). + WithResponse(new(model.CreateIterationV4Response)). + WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("issue_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). - WithLocationType(def.Query)) + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateProjectV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v4/project"). + WithResponse(new(model.CreateProjectV4Response)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). - WithLocationType(def.Query)) + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} +func GenReqDefForDeleteIterationV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v4/projects/{project_id}/iterations/{iteration_id}"). + WithResponse(new(model.DeleteIterationV4Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("IterationId"). + WithJsonTag("iteration_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListIssueRecordsV4() (*model.ListIssueRecordsV4Response, *def.HttpResponseDef) { - resp := new(model.ListIssueRecordsV4Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForDeleteProjectV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v4/projects/{project_id}"). + WithResponse(new(model.DeleteProjectV4Response)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForListProjectMembersV4(request *model.ListProjectMembersV4Request) *def.HttpRequestDef { +func GenReqDefForListDomainNotAddedProjectsV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v4/projects/{project_id}/members") + WithPath("/v4/projects/domain/not-added"). + WithResponse(new(model.ListDomainNotAddedProjectsV4Response)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListProjectBugStaticsV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/bug-statistic"). + WithResponse(new(model.ListProjectBugStaticsV4Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListProjectMembersV4() (*model.ListProjectMembersV4Response, *def.HttpResponseDef) { - resp := new(model.ListProjectMembersV4Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListProjectVersionsV4(request *model.ListProjectVersionsV4Request) *def.HttpRequestDef { +func GenReqDefForListProjectDemandStaticV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v4/projects/{project_id}/iterations") + WithPath("/v4/projects/{project_id}/demand-statistic"). + WithResponse(new(model.ListProjectDemandStaticV4Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListProjectIterationsV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/iterations"). + WithResponse(new(model.ListProjectIterationsV4Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListProjectVersionsV4() (*model.ListProjectVersionsV4Response, *def.HttpResponseDef) { - resp := new(model.ListProjectVersionsV4Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListProjectWorkHours(request *model.ListProjectWorkHoursRequest) *def.HttpRequestDef { +func GenReqDefForListProjectMembersV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodPost). - WithPath("/v4/projects/work-hours"). - WithContentType("application/json") - - reqDefBuilder.WithBodyJson(request.Body) + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/members"). + WithResponse(new(model.ListProjectMembersV4Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListProjectWorkHours() (*model.ListProjectWorkHoursResponse, *def.HttpResponseDef) { - resp := new(model.ListProjectWorkHoursResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListProjectsV4(request *model.ListProjectsV4Request) *def.HttpRequestDef { +func GenReqDefForListProjectsV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v4/projects") + WithPath("/v4/projects"). + WithResponse(new(model.ListProjectsV4Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("offset"). + WithName("Offset"). + WithJsonTag("offset"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("search"). + WithName("Search"). + WithJsonTag("search"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_type"). + WithName("ProjectType"). + WithJsonTag("project_type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sort"). + WithName("Sort"). + WithJsonTag("sort"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("archive"). + WithName("Archive"). + WithJsonTag("archive"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("query_type"). + WithName("QueryType"). + WithJsonTag("query_type"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForRemoveProject() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v4/projects/{project_id}/quit"). + WithResponse(new(model.RemoveProjectResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListProjectsV4() (*model.ListProjectsV4Response, *def.HttpResponseDef) { - resp := new(model.ListProjectsV4Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForShowCurUserInfo() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/user"). + WithResponse(new(model.ShowCurUserInfoResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForRemoveProject(request *model.RemoveProjectRequest) *def.HttpRequestDef { +func GenReqDefForShowCurUserRole() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodDelete). - WithPath("/v4/projects/{project_id}/quit") + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/user-role"). + WithResponse(new(model.ShowCurUserRoleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowIterationV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/iterations/{iteration_id}"). + WithResponse(new(model.ShowIterationV4Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("IterationId"). + WithJsonTag("iteration_id"). WithLocationType(def.Path)) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowProjectSummaryV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/summary"). + WithResponse(new(model.ShowProjectSummaryV4Response)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRemoveProject() (*model.RemoveProjectResponse, *def.HttpResponseDef) { - resp := new(model.RemoveProjectResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForUpdateIterationV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v4/projects/{project_id}/iterations/{iteration_id}"). + WithResponse(new(model.UpdateIterationV4Response)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("IterationId"). + WithJsonTag("iteration_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForShowCurUserInfo(request *model.ShowCurUserInfoRequest) *def.HttpRequestDef { +func GenReqDefForUpdateMembesRoleV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v4/user") + WithMethod(http.MethodPost). + WithPath("/v4/projects/{project_id}/members/role"). + WithResponse(new(model.UpdateMembesRoleV4Response)). + WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) + + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCurUserInfo() (*model.ShowCurUserInfoResponse, *def.HttpResponseDef) { - resp := new(model.ShowCurUserInfoResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForUpdateNickNameV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v4/user"). + WithResponse(new(model.UpdateNickNameV4Response)). + WithContentType("application/json") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForShowCurUserRole(request *model.ShowCurUserRoleRequest) *def.HttpRequestDef { +func GenReqDefForUpdateProjectV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). - WithMethod(http.MethodGet). - WithPath("/v4/projects/{project_id}/user-role") + WithMethod(http.MethodPut). + WithPath("/v4/projects/{project_id}"). + WithResponse(new(model.UpdateProjectV4Response)). + WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowCurUserRole() (*model.ShowCurUserRoleResponse, *def.HttpResponseDef) { - resp := new(model.ShowCurUserRoleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForBatchDeleteIssuesV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v4/projects/{project_id}/issues"). + WithResponse(new(model.BatchDeleteIssuesV4Response)). + WithContentType("application/json;charset=UTF-8") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForShowProjectWorkHours(request *model.ShowProjectWorkHoursRequest) *def.HttpRequestDef { +func GenReqDefForCreateIssueV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). - WithPath("/v4/projects/{project_id}/work-hours"). + WithPath("/v4/projects/{project_id}/issue"). + WithResponse(new(model.CreateIssueV4Response)). WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteIssueV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v4/projects/{project_id}/issues/{issue_id}"). + WithResponse(new(model.DeleteIssueV4Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("IssueId"). + WithJsonTag("issue_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowProjectWorkHours() (*model.ShowProjectWorkHoursResponse, *def.HttpResponseDef) { - resp := new(model.ShowProjectWorkHoursResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForListChildIssuesV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/issues/{issue_id}/child"). + WithResponse(new(model.ListChildIssuesV4Response)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("IssueId"). + WithJsonTag("issue_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForShowtIssueCompletionRate(request *model.ShowtIssueCompletionRateRequest) *def.HttpRequestDef { +func GenReqDefForListIssueCommentsV4() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v4/projects/{project_id}/issue-completion-rate") + WithPath("/v4/projects/{project_id}/issues/{issue_id}/comments"). + WithResponse(new(model.ListIssueCommentsV4Response)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("IssueId"). + WithJsonTag("issue_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListIssueRecordsV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/issue/{issue_id}/records"). + WithResponse(new(model.ListIssueRecordsV4Response)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("IssueId"). + WithJsonTag("issue_id"). WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowtIssueCompletionRate() (*model.ShowtIssueCompletionRateResponse, *def.HttpResponseDef) { - resp := new(model.ShowtIssueCompletionRateResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForListIssuesV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v4/projects/{project_id}/issues"). + WithResponse(new(model.ListIssuesV4Response)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } -func GenReqDefForUpdateMembesRoleV4(request *model.UpdateMembesRoleV4Request) *def.HttpRequestDef { +func GenReqDefForListProjectWorkHours() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). - WithPath("/v4/projects/{project_id}/members/role"). + WithPath("/v4/projects/work-hours"). + WithResponse(new(model.ListProjectWorkHoursResponse)). WithContentType("application/json") + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowIssueV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/issues/{issue_id}"). + WithResponse(new(model.ShowIssueV4Response)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("IssueId"). + WithJsonTag("issue_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowProjectWorkHours() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v4/projects/{project_id}/work-hours"). + WithResponse(new(model.ShowProjectWorkHoursResponse)). + WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowtIssueCompletionRate() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v4/projects/{project_id}/issue-completion-rate"). + WithResponse(new(model.ShowtIssueCompletionRateResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). WithLocationType(def.Path)) + // response + requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateMembesRoleV4() (*model.UpdateMembesRoleV4Response, *def.HttpResponseDef) { - resp := new(model.UpdateMembesRoleV4Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef +func GenReqDefForUpdateIssueV4() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v4/projects/{project_id}/issues/{issue_id}"). + WithResponse(new(model.UpdateIssueV4Response)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ProjectId"). + WithJsonTag("project_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("IssueId"). + WithJsonTag("issue_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef } diff --git a/services/servicestage/v2/model/model_access_password.go b/services/servicestage/v2/model/model_access_password.go new file mode 100644 index 0000000000..1d776126f8 --- /dev/null +++ b/services/servicestage/v2/model/model_access_password.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type AccessPassword struct { + // 授权名称。 + Name string `json:"name"` + // 仓库用户名。 + User string `json:"user"` + // 仓库密码。 + Password string `json:"password"` +} + +func (o AccessPassword) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AccessPassword", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_access_token.go b/services/servicestage/v2/model/model_access_token.go new file mode 100644 index 0000000000..38a5c34283 --- /dev/null +++ b/services/servicestage/v2/model/model_access_token.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type AccessToken struct { + // 授权名称。 + Name string `json:"name"` + // git仓库设置中创建的私有token。 + Token string `json:"token"` + // git仓库的主机地址,如https://192.168.1.1:8080/gitlab,默认为官方主机。 + Host *string `json:"host,omitempty"` +} + +func (o AccessToken) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AccessToken", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_config_modify.go b/services/servicestage/v2/model/model_application_config_modify.go new file mode 100644 index 0000000000..3c820d3d24 --- /dev/null +++ b/services/servicestage/v2/model/model_application_config_modify.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ApplicationConfigModify struct { + // 环境ID。 + EnvironmentId string `json:"environment_id"` + Configuration *ApplicationConfigModifyConfiguration `json:"configuration"` +} + +func (o ApplicationConfigModify) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationConfigModify", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_config_modify_configuration.go b/services/servicestage/v2/model/model_application_config_modify_configuration.go new file mode 100644 index 0000000000..6005aeb565 --- /dev/null +++ b/services/servicestage/v2/model/model_application_config_modify_configuration.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 应用配置信息。 +type ApplicationConfigModifyConfiguration struct { + // 应用环境变量。 + Env []ApplicationConfigModifyConfigurationEnv `json:"env"` +} + +func (o ApplicationConfigModifyConfiguration) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationConfigModifyConfiguration", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_config_modify_configuration_env.go b/services/servicestage/v2/model/model_application_config_modify_configuration_env.go new file mode 100644 index 0000000000..fc863b7690 --- /dev/null +++ b/services/servicestage/v2/model/model_application_config_modify_configuration_env.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ApplicationConfigModifyConfigurationEnv struct { + // 环境变量名称。 + Name string `json:"name"` + // 环境变量取值。 + Value string `json:"value"` +} + +func (o ApplicationConfigModifyConfigurationEnv) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationConfigModifyConfigurationEnv", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_create.go b/services/servicestage/v2/model/model_application_create.go new file mode 100644 index 0000000000..0f66d4d572 --- /dev/null +++ b/services/servicestage/v2/model/model_application_create.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ApplicationCreate struct { + // 应用名称。 + Name string `json:"name"` + // 应用描述。 + Description *string `json:"description,omitempty"` + // 企业项目ID。默认值为0。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o ApplicationCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_list_config_configuration.go b/services/servicestage/v2/model/model_application_list_config_configuration.go new file mode 100644 index 0000000000..f9c1a6a38e --- /dev/null +++ b/services/servicestage/v2/model/model_application_list_config_configuration.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 应用配置信息。 +type ApplicationListConfigConfiguration struct { + // 应用组件环境变量。 + Env *[]ApplicationListConfigConfigurationEnv `json:"env,omitempty"` +} + +func (o ApplicationListConfigConfiguration) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationListConfigConfiguration", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_list_config_configuration_1.go b/services/servicestage/v2/model/model_application_list_config_configuration_1.go new file mode 100644 index 0000000000..a93c54b2c3 --- /dev/null +++ b/services/servicestage/v2/model/model_application_list_config_configuration_1.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ApplicationListConfigConfiguration1 struct { + // 应用ID。 + ApplicationId *string `json:"application_id,omitempty"` + // 环境ID。 + EnvironmentId *string `json:"environment_id,omitempty"` + Configuration *ApplicationListConfigConfiguration `json:"configuration,omitempty"` +} + +func (o ApplicationListConfigConfiguration1) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationListConfigConfiguration1", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_list_config_configuration_env.go b/services/servicestage/v2/model/model_application_list_config_configuration_env.go new file mode 100644 index 0000000000..23247433bf --- /dev/null +++ b/services/servicestage/v2/model/model_application_list_config_configuration_env.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ApplicationListConfigConfigurationEnv struct { + // 环境变量名称。 + Name *string `json:"name,omitempty"` + // 环境变量取值。 + Value *string `json:"value,omitempty"` +} + +func (o ApplicationListConfigConfigurationEnv) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationListConfigConfigurationEnv", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_modify.go b/services/servicestage/v2/model/model_application_modify.go new file mode 100644 index 0000000000..3cdb919120 --- /dev/null +++ b/services/servicestage/v2/model/model_application_modify.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ApplicationModify struct { + // 应用名称。 + Name *string `json:"name,omitempty"` + // 应用描述。 + Description *string `json:"description,omitempty"` +} + +func (o ApplicationModify) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationModify", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_application_view.go b/services/servicestage/v2/model/model_application_view.go new file mode 100644 index 0000000000..3e518869c1 --- /dev/null +++ b/services/servicestage/v2/model/model_application_view.go @@ -0,0 +1,40 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ApplicationView struct { + // 组件个数。 + ComponentCount *int32 `json:"component_count,omitempty"` + // 应用ID。 + Id *string `json:"id,omitempty"` + // 应用名称。 + Name *string `json:"name,omitempty"` + // 应用描述。 + Description *string `json:"description,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ApplicationView) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ApplicationView", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_authorization_vo.go b/services/servicestage/v2/model/model_authorization_vo.go new file mode 100644 index 0000000000..b79594c776 --- /dev/null +++ b/services/servicestage/v2/model/model_authorization_vo.go @@ -0,0 +1,43 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 授权结构体。 +type AuthorizationVo struct { + // 授权名称。 + Name string `json:"name"` + // 仓库类型。 取值范围:github、gitlab、gitee、bitbucket、devcloud。 + RepoType string `json:"repo_type"` + // 仓库地址。 + RepoHost string `json:"repo_host"` + // 仓库主页。 + RepoHome string `json:"repo_home"` + // 仓库用户名。 + RepoUser string `json:"repo_user"` + // 头像。 + Avartar string `json:"avartar"` + // 授权方式。 + TokenType string `json:"token_type"` + // 创建时间。 + CreateTime int64 `json:"create_time"` + // 修改时间。 + UpdateTime int64 `json:"update_time"` + // 状态。 + Status int32 `json:"status"` +} + +func (o AuthorizationVo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"AuthorizationVo", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_build.go b/services/servicestage/v2/model/model_build.go new file mode 100644 index 0000000000..85e54c8b5c --- /dev/null +++ b/services/servicestage/v2/model/model_build.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 构建工程。 +type Build struct { + Parameters *BuildInfoParameters `json:"parameters,omitempty"` +} + +func (o Build) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Build", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_build_info.go b/services/servicestage/v2/model/model_build_info.go new file mode 100644 index 0000000000..a143c42237 --- /dev/null +++ b/services/servicestage/v2/model/model_build_info.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 构建工程。 +type BuildInfo struct { + // 构建ID,查看构建列表获取。 + Id *string `json:"id,omitempty"` + Parameters *BuildInfoParameters `json:"parameters,omitempty"` +} + +func (o BuildInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BuildInfo", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_build_info_parameters.go b/services/servicestage/v2/model/model_build_info_parameters.go new file mode 100644 index 0000000000..ddaf10cce8 --- /dev/null +++ b/services/servicestage/v2/model/model_build_info_parameters.go @@ -0,0 +1,29 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 构建任务的环境变量。 +type BuildInfoParameters struct { + // 编译命令。默认: 1、根目录存在build.sh:./build.sh 2、根据运行系统,示例如下: Java和Tomcat:mvn clean package Nodejs: npm build + BuildCmd *string `json:"build_cmd,omitempty"` + // dockerfile地址。默认是根目录./。 + DockerfilePath *string `json:"dockerfile_path,omitempty"` + // 构建归档组织,默认cas_{project_id}。 + ArtifactNamespace *string `json:"artifact_namespace,omitempty"` +} + +func (o BuildInfoParameters) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BuildInfoParameters", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_application_configuration_request.go b/services/servicestage/v2/model/model_change_application_configuration_request.go new file mode 100644 index 0000000000..e40568ec67 --- /dev/null +++ b/services/servicestage/v2/model/model_change_application_configuration_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ChangeApplicationConfigurationRequest struct { + ApplicationId string `json:"application_id"` + Body *ApplicationConfigModify `json:"body,omitempty"` +} + +func (o ChangeApplicationConfigurationRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeApplicationConfigurationRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_application_configuration_response.go b/services/servicestage/v2/model/model_change_application_configuration_response.go new file mode 100644 index 0000000000..fa4169c856 --- /dev/null +++ b/services/servicestage/v2/model/model_change_application_configuration_response.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ChangeApplicationConfigurationResponse struct { + // 应用ID。 + ApplicationId *string `json:"application_id,omitempty"` + // 环境ID。 + EnvironmentId *string `json:"environment_id,omitempty"` + Configuration *ApplicationListConfigConfiguration `json:"configuration,omitempty"` +} + +func (o ChangeApplicationConfigurationResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeApplicationConfigurationResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_application_request.go b/services/servicestage/v2/model/model_change_application_request.go new file mode 100644 index 0000000000..0a3da6cd54 --- /dev/null +++ b/services/servicestage/v2/model/model_change_application_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ChangeApplicationRequest struct { + ApplicationId string `json:"application_id"` + Body *ApplicationModify `json:"body,omitempty"` +} + +func (o ChangeApplicationRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeApplicationRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_application_response.go b/services/servicestage/v2/model/model_change_application_response.go new file mode 100644 index 0000000000..06dde2c029 --- /dev/null +++ b/services/servicestage/v2/model/model_change_application_response.go @@ -0,0 +1,39 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ChangeApplicationResponse struct { + // 应用ID。 + Id *string `json:"id,omitempty"` + // 应用名称。 + Name *string `json:"name,omitempty"` + // 应用描述。 + Description *string `json:"description,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ChangeApplicationResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeApplicationResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_component_request.go b/services/servicestage/v2/model/model_change_component_request.go new file mode 100644 index 0000000000..ed2a9bb5b4 --- /dev/null +++ b/services/servicestage/v2/model/model_change_component_request.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ChangeComponentRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + Body *ComponentModify `json:"body,omitempty"` +} + +func (o ChangeComponentRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeComponentRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_component_response.go b/services/servicestage/v2/model/model_change_component_response.go new file mode 100644 index 0000000000..0a9cd39549 --- /dev/null +++ b/services/servicestage/v2/model/model_change_component_response.go @@ -0,0 +1,46 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ChangeComponentResponse struct { + // 应用组件ID。 + Id *string `json:"id,omitempty"` + // 应用组件名称 + Name *string `json:"name,omitempty"` + // 取值0或1。 0:表示正常状态。 1:表示正在删除。 + Status *int32 `json:"status,omitempty"` + Runtime *RuntimeType `json:"runtime,omitempty"` + Category *ComponentCategory `json:"category,omitempty"` + SubCategory *ComponentSubCategory `json:"sub_category,omitempty"` + // 描述。 + Description *string `json:"description,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 应用ID。 + ApplicationId *string `json:"application_id,omitempty"` + Source *SourceObject `json:"source,omitempty"` + Build *BuildInfo `json:"build,omitempty"` + // 流水线Id列表,最多10个。 + PipelineIds *[]string `json:"pipeline_ids,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ChangeComponentResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeComponentResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_environment_request.go b/services/servicestage/v2/model/model_change_environment_request.go new file mode 100644 index 0000000000..eaa1c6b5ab --- /dev/null +++ b/services/servicestage/v2/model/model_change_environment_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ChangeEnvironmentRequest struct { + EnvironmentId string `json:"environment_id"` + Body *EnvironmentModify `json:"body,omitempty"` +} + +func (o ChangeEnvironmentRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeEnvironmentRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_environment_response.go b/services/servicestage/v2/model/model_change_environment_response.go new file mode 100644 index 0000000000..e5fe9f1006 --- /dev/null +++ b/services/servicestage/v2/model/model_change_environment_response.go @@ -0,0 +1,49 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ChangeEnvironmentResponse struct { + // 环境ID。 + Id *string `json:"id,omitempty"` + // 环境名称。 + Name *string `json:"name,omitempty"` + // 环境别名。 + Alias *string `json:"alias,omitempty"` + // 环境描述。 + Description *string `json:"description,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 收费模式。 + ChargeMode *string `json:"charge_mode,omitempty"` + // 虚拟私有云ID。 + VpcId *string `json:"vpc_id,omitempty"` + // 基础资源。 + BaseResources *[]Resource `json:"base_resources,omitempty"` + // 可选资源。 + OptionalResources *[]Resource `json:"optional_resources,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ChangeEnvironmentResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeEnvironmentResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_instance_request.go b/services/servicestage/v2/model/model_change_instance_request.go new file mode 100644 index 0000000000..9fcd0fd864 --- /dev/null +++ b/services/servicestage/v2/model/model_change_instance_request.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ChangeInstanceRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + InstanceId string `json:"instance_id"` + Body *InstanceModify `json:"body,omitempty"` +} + +func (o ChangeInstanceRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeInstanceRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_instance_response.go b/services/servicestage/v2/model/model_change_instance_response.go new file mode 100644 index 0000000000..9a3449aa63 --- /dev/null +++ b/services/servicestage/v2/model/model_change_instance_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ChangeInstanceResponse struct { + // Job ID。 + JobId *string `json:"job_id,omitempty"` +} + +func (o ChangeInstanceResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeInstanceResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_resource_in_environment_request.go b/services/servicestage/v2/model/model_change_resource_in_environment_request.go new file mode 100644 index 0000000000..44f2e9ee08 --- /dev/null +++ b/services/servicestage/v2/model/model_change_resource_in_environment_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ChangeResourceInEnvironmentRequest struct { + EnvironmentId string `json:"environment_id"` + Body *EnvironmentResourceModify `json:"body,omitempty"` +} + +func (o ChangeResourceInEnvironmentRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeResourceInEnvironmentRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_change_resource_in_environment_response.go b/services/servicestage/v2/model/model_change_resource_in_environment_response.go new file mode 100644 index 0000000000..557f2c05ad --- /dev/null +++ b/services/servicestage/v2/model/model_change_resource_in_environment_response.go @@ -0,0 +1,49 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ChangeResourceInEnvironmentResponse struct { + // 环境ID。 + Id *string `json:"id,omitempty"` + // 环境名称。 + Name *string `json:"name,omitempty"` + // 环境别名。 + Alias *string `json:"alias,omitempty"` + // 环境描述。 + Description *string `json:"description,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 收费模式。 + ChargeMode *string `json:"charge_mode,omitempty"` + // 虚拟私有云ID。 + VpcId *string `json:"vpc_id,omitempty"` + // 基础资源。 + BaseResources *[]Resource `json:"base_resources,omitempty"` + // 可选资源。 + OptionalResources *[]Resource `json:"optional_resources,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ChangeResourceInEnvironmentResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ChangeResourceInEnvironmentResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_charge_mode.go b/services/servicestage/v2/model/model_charge_mode.go new file mode 100644 index 0000000000..44772a55a3 --- /dev/null +++ b/services/servicestage/v2/model/model_charge_mode.go @@ -0,0 +1,58 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 收费模式,支持provided、on_demanded、monthly三种模式。 默认provided,表示使用用户提供的已有资源,无需收费。 +type ChargeMode struct { + value string +} + +type ChargeModeEnum struct { + PROVIDED ChargeMode + ON_DEMANDED ChargeMode + MONTHLY ChargeMode +} + +func GetChargeModeEnum() ChargeModeEnum { + return ChargeModeEnum{ + PROVIDED: ChargeMode{ + value: "provided", + }, + ON_DEMANDED: ChargeMode{ + value: "on_demanded", + }, + MONTHLY: ChargeMode{ + value: "monthly", + }, + } +} + +func (c ChargeMode) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ChargeMode) 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/services/servicestage/v2/model/model_commits_commits.go b/services/servicestage/v2/model/model_commits_commits.go new file mode 100644 index 0000000000..8fc67353f5 --- /dev/null +++ b/services/servicestage/v2/model/model_commits_commits.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type CommitsCommits struct { + // 提交记录sha值。 + Sha string `json:"sha"` + // 提交记录描述。 + Message string `json:"message"` + // 合入时间。 + AuthoredDate string `json:"authored_date"` +} + +func (o CommitsCommits) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CommitsCommits", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_component_category.go b/services/servicestage/v2/model/model_component_category.go new file mode 100644 index 0000000000..4841305180 --- /dev/null +++ b/services/servicestage/v2/model/model_component_category.go @@ -0,0 +1,58 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 应用组件类型包括:Webapp、MicroService、Common。 +type ComponentCategory struct { + value string +} + +type ComponentCategoryEnum struct { + WEBAPP ComponentCategory + MICRO_SERVICE ComponentCategory + COMMON ComponentCategory +} + +func GetComponentCategoryEnum() ComponentCategoryEnum { + return ComponentCategoryEnum{ + WEBAPP: ComponentCategory{ + value: "Webapp", + }, + MICRO_SERVICE: ComponentCategory{ + value: "MicroService", + }, + COMMON: ComponentCategory{ + value: "Common", + }, + } +} + +func (c ComponentCategory) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ComponentCategory) 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/services/servicestage/v2/model/model_component_create.go b/services/servicestage/v2/model/model_component_create.go new file mode 100644 index 0000000000..88c4a3be7c --- /dev/null +++ b/services/servicestage/v2/model/model_component_create.go @@ -0,0 +1,31 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ComponentCreate struct { + // 应用组件名称。 + Name string `json:"name"` + Runtime *RuntimeType `json:"runtime"` + Category *ComponentCategory `json:"category"` + SubCategory *ComponentSubCategory `json:"sub_category,omitempty"` + // 描述。 + Description *string `json:"description,omitempty"` + Source *SourceObject `json:"source,omitempty"` + Build *Build `json:"build,omitempty"` +} + +func (o ComponentCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ComponentCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_component_modify.go b/services/servicestage/v2/model/model_component_modify.go new file mode 100644 index 0000000000..ca17c03f50 --- /dev/null +++ b/services/servicestage/v2/model/model_component_modify.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ComponentModify struct { + // 应用组件名称。 + Name *string `json:"name,omitempty"` + // 描述。 + Description *string `json:"description,omitempty"` + Source *SourceObject `json:"source,omitempty"` + Build *Build `json:"build,omitempty"` +} + +func (o ComponentModify) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ComponentModify", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_component_sub_category.go b/services/servicestage/v2/model/model_component_sub_category.go new file mode 100644 index 0000000000..c14e5c98a2 --- /dev/null +++ b/services/servicestage/v2/model/model_component_sub_category.go @@ -0,0 +1,74 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 应用组件子类型。 Webapp的子类型有Web、Magento、Wordpress。 MicroService的子类型有Java Chassis、Go Chassis、Mesher、SpringCloud。 Common的子类型可以为空。 +type ComponentSubCategory struct { + value string +} + +type ComponentSubCategoryEnum struct { + WEB ComponentSubCategory + MAGENTO ComponentSubCategory + WORDPRESS ComponentSubCategory + SPRING_CLOUD ComponentSubCategory + JAVA_CHASSIS ComponentSubCategory + GO_CHASSIS ComponentSubCategory + MESHER ComponentSubCategory +} + +func GetComponentSubCategoryEnum() ComponentSubCategoryEnum { + return ComponentSubCategoryEnum{ + WEB: ComponentSubCategory{ + value: "Web", + }, + MAGENTO: ComponentSubCategory{ + value: "Magento", + }, + WORDPRESS: ComponentSubCategory{ + value: "Wordpress", + }, + SPRING_CLOUD: ComponentSubCategory{ + value: "SpringCloud", + }, + JAVA_CHASSIS: ComponentSubCategory{ + value: "Java Chassis", + }, + GO_CHASSIS: ComponentSubCategory{ + value: "Go Chassis", + }, + MESHER: ComponentSubCategory{ + value: "Mesher", + }, + } +} + +func (c ComponentSubCategory) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ComponentSubCategory) 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/services/servicestage/v2/model/model_component_view.go b/services/servicestage/v2/model/model_component_view.go new file mode 100644 index 0000000000..fd0e41473b --- /dev/null +++ b/services/servicestage/v2/model/model_component_view.go @@ -0,0 +1,42 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ComponentView struct { + // 组件ID。 + Id *string `json:"id,omitempty"` + // 应用ID。 + ApplicationId *string `json:"application_id,omitempty"` + // 应用组件名称。 + Name *string `json:"name,omitempty"` + Runtime *RuntimeType `json:"runtime,omitempty"` + Category *ComponentCategory `json:"category,omitempty"` + SubCategory *ComponentSubCategory `json:"sub_category,omitempty"` + // 组件描述。 + Description *string `json:"description,omitempty"` + // 取值0或1。 0:表示正常状态。 1:表示正在删除。 + Status *int32 `json:"status,omitempty"` + Source *SourceObject `json:"source,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ComponentView) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ComponentView", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_application_request.go b/services/servicestage/v2/model/model_create_application_request.go new file mode 100644 index 0000000000..4c22f536d3 --- /dev/null +++ b/services/servicestage/v2/model/model_create_application_request.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateApplicationRequest struct { + Body *ApplicationCreate `json:"body,omitempty"` +} + +func (o CreateApplicationRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateApplicationRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_application_response.go b/services/servicestage/v2/model/model_create_application_response.go new file mode 100644 index 0000000000..182419d4d6 --- /dev/null +++ b/services/servicestage/v2/model/model_create_application_response.go @@ -0,0 +1,39 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateApplicationResponse struct { + // 应用ID。 + Id *string `json:"id,omitempty"` + // 应用名称。 + Name *string `json:"name,omitempty"` + // 应用描述。 + Description *string `json:"description,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o CreateApplicationResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateApplicationResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_component_request.go b/services/servicestage/v2/model/model_create_component_request.go new file mode 100644 index 0000000000..6f24e05268 --- /dev/null +++ b/services/servicestage/v2/model/model_create_component_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateComponentRequest struct { + ApplicationId string `json:"application_id"` + Body *ComponentCreate `json:"body,omitempty"` +} + +func (o CreateComponentRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateComponentRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_component_response.go b/services/servicestage/v2/model/model_create_component_response.go new file mode 100644 index 0000000000..adaba8cd1a --- /dev/null +++ b/services/servicestage/v2/model/model_create_component_response.go @@ -0,0 +1,46 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateComponentResponse struct { + // 应用组件ID。 + Id *string `json:"id,omitempty"` + // 应用组件名称 + Name *string `json:"name,omitempty"` + // 取值0或1。 0:表示正常状态。 1:表示正在删除。 + Status *int32 `json:"status,omitempty"` + Runtime *RuntimeType `json:"runtime,omitempty"` + Category *ComponentCategory `json:"category,omitempty"` + SubCategory *ComponentSubCategory `json:"sub_category,omitempty"` + // 描述。 + Description *string `json:"description,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 应用ID。 + ApplicationId *string `json:"application_id,omitempty"` + Source *SourceObject `json:"source,omitempty"` + Build *BuildInfo `json:"build,omitempty"` + // 流水线Id列表,最多10个。 + PipelineIds *[]string `json:"pipeline_ids,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o CreateComponentResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateComponentResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_environment_request.go b/services/servicestage/v2/model/model_create_environment_request.go new file mode 100644 index 0000000000..19c5c291b7 --- /dev/null +++ b/services/servicestage/v2/model/model_create_environment_request.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateEnvironmentRequest struct { + Body *EnvironmentCreate `json:"body,omitempty"` +} + +func (o CreateEnvironmentRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateEnvironmentRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_environment_response.go b/services/servicestage/v2/model/model_create_environment_response.go new file mode 100644 index 0000000000..7421e73bf9 --- /dev/null +++ b/services/servicestage/v2/model/model_create_environment_response.go @@ -0,0 +1,49 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateEnvironmentResponse struct { + // 环境ID。 + Id *string `json:"id,omitempty"` + // 环境名称。 + Name *string `json:"name,omitempty"` + // 环境别名。 + Alias *string `json:"alias,omitempty"` + // 环境描述。 + Description *string `json:"description,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 收费模式。 + ChargeMode *string `json:"charge_mode,omitempty"` + // 虚拟私有云ID。 + VpcId *string `json:"vpc_id,omitempty"` + // 基础资源。 + BaseResources *[]Resource `json:"base_resources,omitempty"` + // 可选资源。 + OptionalResources *[]Resource `json:"optional_resources,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o CreateEnvironmentResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateEnvironmentResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_file_request.go b/services/servicestage/v2/model/model_create_file_request.go new file mode 100644 index 0000000000..efc9ce8e43 --- /dev/null +++ b/services/servicestage/v2/model/model_create_file_request.go @@ -0,0 +1,29 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateFileRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + Path string `json:"path"` + Ref string `json:"ref"` + Body *FileCreate `json:"body,omitempty"` +} + +func (o CreateFileRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateFileRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_file_response.go b/services/servicestage/v2/model/model_create_file_response.go new file mode 100644 index 0000000000..b2e74bca98 --- /dev/null +++ b/services/servicestage/v2/model/model_create_file_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateFileResponse struct { + // 文件路径。 + Path *string `json:"path,omitempty"` +} + +func (o CreateFileResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateFileResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_hook_request.go b/services/servicestage/v2/model/model_create_hook_request.go new file mode 100644 index 0000000000..0406af9444 --- /dev/null +++ b/services/servicestage/v2/model/model_create_hook_request.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateHookRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + Body *HookCreate `json:"body,omitempty"` +} + +func (o CreateHookRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateHookRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_hook_response.go b/services/servicestage/v2/model/model_create_hook_response.go new file mode 100644 index 0000000000..87a03d630c --- /dev/null +++ b/services/servicestage/v2/model/model_create_hook_response.go @@ -0,0 +1,29 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateHookResponse struct { + // hook ID。 + Id *string `json:"id,omitempty"` + // hook类型。 + Type *string `json:"type,omitempty"` + // 回滚URL。 + CallbackUrl *string `json:"callback_url,omitempty"` +} + +func (o CreateHookResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateHookResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_instance_request.go b/services/servicestage/v2/model/model_create_instance_request.go new file mode 100644 index 0000000000..131da64f3e --- /dev/null +++ b/services/servicestage/v2/model/model_create_instance_request.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateInstanceRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + Body *InstanceCreate `json:"body,omitempty"` +} + +func (o CreateInstanceRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateInstanceRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_instance_response.go b/services/servicestage/v2/model/model_create_instance_response.go new file mode 100644 index 0000000000..7574a9f99b --- /dev/null +++ b/services/servicestage/v2/model/model_create_instance_response.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateInstanceResponse struct { + // 应用组件实例ID。 + InstanceId *string `json:"instance_id,omitempty"` + // Job ID,用于查询创建任务信息。 + JobId *string `json:"job_id,omitempty"` +} + +func (o CreateInstanceResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateInstanceResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_o_auth_request.go b/services/servicestage/v2/model/model_create_o_auth_request.go new file mode 100644 index 0000000000..a66914ce58 --- /dev/null +++ b/services/servicestage/v2/model/model_create_o_auth_request.go @@ -0,0 +1,73 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type CreateOAuthRequest struct { + RepoType CreateOAuthRequestRepoType `json:"repo_type"` + Tag *string `json:"tag,omitempty"` + Body *OAuth `json:"body,omitempty"` +} + +func (o CreateOAuthRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateOAuthRequest", string(data)}, " ") +} + +type CreateOAuthRequestRepoType struct { + value string +} + +type CreateOAuthRequestRepoTypeEnum struct { + GITHUB CreateOAuthRequestRepoType + GITLAB CreateOAuthRequestRepoType + GITEE CreateOAuthRequestRepoType + BITBUCKET CreateOAuthRequestRepoType +} + +func GetCreateOAuthRequestRepoTypeEnum() CreateOAuthRequestRepoTypeEnum { + return CreateOAuthRequestRepoTypeEnum{ + GITHUB: CreateOAuthRequestRepoType{ + value: "github", + }, + GITLAB: CreateOAuthRequestRepoType{ + value: "gitlab", + }, + GITEE: CreateOAuthRequestRepoType{ + value: "gitee", + }, + BITBUCKET: CreateOAuthRequestRepoType{ + value: "bitbucket", + }, + } +} + +func (c CreateOAuthRequestRepoType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *CreateOAuthRequestRepoType) 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/services/servicestage/v2/model/model_create_o_auth_response.go b/services/servicestage/v2/model/model_create_o_auth_response.go new file mode 100644 index 0000000000..d10a6eea00 --- /dev/null +++ b/services/servicestage/v2/model/model_create_o_auth_response.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateOAuthResponse struct { + Authorization *AuthorizationVo `json:"authorization,omitempty"` +} + +func (o CreateOAuthResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateOAuthResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_password_auth_request.go b/services/servicestage/v2/model/model_create_password_auth_request.go new file mode 100644 index 0000000000..87f6ecf9ff --- /dev/null +++ b/services/servicestage/v2/model/model_create_password_auth_request.go @@ -0,0 +1,68 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type CreatePasswordAuthRequest struct { + RepoType CreatePasswordAuthRequestRepoType `json:"repo_type"` + Body *AccessPassword `json:"body,omitempty"` +} + +func (o CreatePasswordAuthRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreatePasswordAuthRequest", string(data)}, " ") +} + +type CreatePasswordAuthRequestRepoType struct { + value string +} + +type CreatePasswordAuthRequestRepoTypeEnum struct { + GITHUB CreatePasswordAuthRequestRepoType + DEVCLOUD CreatePasswordAuthRequestRepoType + BITBUCKET CreatePasswordAuthRequestRepoType +} + +func GetCreatePasswordAuthRequestRepoTypeEnum() CreatePasswordAuthRequestRepoTypeEnum { + return CreatePasswordAuthRequestRepoTypeEnum{ + GITHUB: CreatePasswordAuthRequestRepoType{ + value: "github", + }, + DEVCLOUD: CreatePasswordAuthRequestRepoType{ + value: "devcloud", + }, + BITBUCKET: CreatePasswordAuthRequestRepoType{ + value: "bitbucket", + }, + } +} + +func (c CreatePasswordAuthRequestRepoType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *CreatePasswordAuthRequestRepoType) 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/services/servicestage/v2/model/model_create_password_auth_response.go b/services/servicestage/v2/model/model_create_password_auth_response.go new file mode 100644 index 0000000000..8e2ac9841c --- /dev/null +++ b/services/servicestage/v2/model/model_create_password_auth_response.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreatePasswordAuthResponse struct { + Authorization *AuthorizationVo `json:"authorization,omitempty"` +} + +func (o CreatePasswordAuthResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreatePasswordAuthResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_personal_auth_request.go b/services/servicestage/v2/model/model_create_personal_auth_request.go new file mode 100644 index 0000000000..d14c1b2896 --- /dev/null +++ b/services/servicestage/v2/model/model_create_personal_auth_request.go @@ -0,0 +1,68 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type CreatePersonalAuthRequest struct { + RepoType CreatePersonalAuthRequestRepoType `json:"repo_type"` + Body *AccessToken `json:"body,omitempty"` +} + +func (o CreatePersonalAuthRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreatePersonalAuthRequest", string(data)}, " ") +} + +type CreatePersonalAuthRequestRepoType struct { + value string +} + +type CreatePersonalAuthRequestRepoTypeEnum struct { + GITHUB CreatePersonalAuthRequestRepoType + GITLAB CreatePersonalAuthRequestRepoType + GITEE CreatePersonalAuthRequestRepoType +} + +func GetCreatePersonalAuthRequestRepoTypeEnum() CreatePersonalAuthRequestRepoTypeEnum { + return CreatePersonalAuthRequestRepoTypeEnum{ + GITHUB: CreatePersonalAuthRequestRepoType{ + value: "github", + }, + GITLAB: CreatePersonalAuthRequestRepoType{ + value: "gitlab", + }, + GITEE: CreatePersonalAuthRequestRepoType{ + value: "gitee", + }, + } +} + +func (c CreatePersonalAuthRequestRepoType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *CreatePersonalAuthRequestRepoType) 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/services/servicestage/v2/model/model_create_personal_auth_response.go b/services/servicestage/v2/model/model_create_personal_auth_response.go new file mode 100644 index 0000000000..a4a776e47c --- /dev/null +++ b/services/servicestage/v2/model/model_create_personal_auth_response.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreatePersonalAuthResponse struct { + Authorization *AuthorizationVo `json:"authorization,omitempty"` +} + +func (o CreatePersonalAuthResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreatePersonalAuthResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_project_request.go b/services/servicestage/v2/model/model_create_project_request.go new file mode 100644 index 0000000000..edd9c2d253 --- /dev/null +++ b/services/servicestage/v2/model/model_create_project_request.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateProjectRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Body *ProjectCreate `json:"body,omitempty"` +} + +func (o CreateProjectRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateProjectRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_project_response.go b/services/servicestage/v2/model/model_create_project_response.go new file mode 100644 index 0000000000..dbdb13c9dc --- /dev/null +++ b/services/servicestage/v2/model/model_create_project_response.go @@ -0,0 +1,29 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateProjectResponse struct { + // 项目ID。 + Id *string `json:"id,omitempty"` + // 项目名称。 + Name *string `json:"name,omitempty"` + // 项目的clone url路径。 + CloneUrl *string `json:"clone_url,omitempty"` +} + +func (o CreateProjectResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateProjectResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_tag_request.go b/services/servicestage/v2/model/model_create_tag_request.go new file mode 100644 index 0000000000..a93601356b --- /dev/null +++ b/services/servicestage/v2/model/model_create_tag_request.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type CreateTagRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + Ref string `json:"ref"` + Body *TagCreate `json:"body,omitempty"` +} + +func (o CreateTagRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateTagRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_create_tag_response.go b/services/servicestage/v2/model/model_create_tag_response.go new file mode 100644 index 0000000000..e3188fdee8 --- /dev/null +++ b/services/servicestage/v2/model/model_create_tag_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type CreateTagResponse struct { + // tag标签名称。 + Name *string `json:"name,omitempty"` +} + +func (o CreateTagResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"CreateTagResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_application_configuration_request.go b/services/servicestage/v2/model/model_delete_application_configuration_request.go new file mode 100644 index 0000000000..8d50a1da9c --- /dev/null +++ b/services/servicestage/v2/model/model_delete_application_configuration_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteApplicationConfigurationRequest struct { + ApplicationId string `json:"application_id"` + EnvironmentId string `json:"environment_id"` +} + +func (o DeleteApplicationConfigurationRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteApplicationConfigurationRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_application_configuration_response.go b/services/servicestage/v2/model/model_delete_application_configuration_response.go new file mode 100644 index 0000000000..34aca49da1 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_application_configuration_response.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteApplicationConfigurationResponse struct { +} + +func (o DeleteApplicationConfigurationResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteApplicationConfigurationResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_application_request.go b/services/servicestage/v2/model/model_delete_application_request.go new file mode 100644 index 0000000000..4d42edbe51 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_application_request.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteApplicationRequest struct { + ApplicationId string `json:"application_id"` +} + +func (o DeleteApplicationRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteApplicationRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_application_response.go b/services/servicestage/v2/model/model_delete_application_response.go new file mode 100644 index 0000000000..01f4392a1f --- /dev/null +++ b/services/servicestage/v2/model/model_delete_application_response.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteApplicationResponse struct { +} + +func (o DeleteApplicationResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteApplicationResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_authorize_request.go b/services/servicestage/v2/model/model_delete_authorize_request.go new file mode 100644 index 0000000000..e59d8329b1 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_authorize_request.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteAuthorizeRequest struct { + Name string `json:"name"` +} + +func (o DeleteAuthorizeRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteAuthorizeRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_authorize_response.go b/services/servicestage/v2/model/model_delete_authorize_response.go new file mode 100644 index 0000000000..57f65b0086 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_authorize_response.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteAuthorizeResponse struct { +} + +func (o DeleteAuthorizeResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteAuthorizeResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_component_request.go b/services/servicestage/v2/model/model_delete_component_request.go new file mode 100644 index 0000000000..826f7a25c8 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_component_request.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteComponentRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + Force *bool `json:"force,omitempty"` +} + +func (o DeleteComponentRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteComponentRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_component_response.go b/services/servicestage/v2/model/model_delete_component_response.go new file mode 100644 index 0000000000..260c67d404 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_component_response.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteComponentResponse struct { +} + +func (o DeleteComponentResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteComponentResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_environment_request.go b/services/servicestage/v2/model/model_delete_environment_request.go new file mode 100644 index 0000000000..9352f8d473 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_environment_request.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteEnvironmentRequest struct { + EnvironmentId string `json:"environment_id"` +} + +func (o DeleteEnvironmentRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteEnvironmentRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_environment_response.go b/services/servicestage/v2/model/model_delete_environment_response.go new file mode 100644 index 0000000000..ddb7d905f2 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_environment_response.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteEnvironmentResponse struct { +} + +func (o DeleteEnvironmentResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteEnvironmentResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_file_request.go b/services/servicestage/v2/model/model_delete_file_request.go new file mode 100644 index 0000000000..87069d8393 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_file_request.go @@ -0,0 +1,30 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteFileRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + Path string `json:"path"` + Ref string `json:"ref"` + Message string `json:"message"` + Sha string `json:"sha"` +} + +func (o DeleteFileRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteFileRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_file_response.go b/services/servicestage/v2/model/model_delete_file_response.go new file mode 100644 index 0000000000..288992bfed --- /dev/null +++ b/services/servicestage/v2/model/model_delete_file_response.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteFileResponse struct { +} + +func (o DeleteFileResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteFileResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_hook_request.go b/services/servicestage/v2/model/model_delete_hook_request.go new file mode 100644 index 0000000000..ac7b9c0691 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_hook_request.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteHookRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + HookId string `json:"hook_id"` +} + +func (o DeleteHookRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteHookRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_hook_response.go b/services/servicestage/v2/model/model_delete_hook_response.go new file mode 100644 index 0000000000..0a9a5e96d3 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_hook_response.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteHookResponse struct { +} + +func (o DeleteHookResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteHookResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_instance_request.go b/services/servicestage/v2/model/model_delete_instance_request.go new file mode 100644 index 0000000000..1366da920c --- /dev/null +++ b/services/servicestage/v2/model/model_delete_instance_request.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteInstanceRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + InstanceId string `json:"instance_id"` + Force *bool `json:"force,omitempty"` +} + +func (o DeleteInstanceRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteInstanceRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_instance_response.go b/services/servicestage/v2/model/model_delete_instance_response.go new file mode 100644 index 0000000000..4bfc2efa53 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_instance_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteInstanceResponse struct { + // Job ID。 + JobId *string `json:"job_id,omitempty"` +} + +func (o DeleteInstanceResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteInstanceResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_tag_request.go b/services/servicestage/v2/model/model_delete_tag_request.go new file mode 100644 index 0000000000..002bbd03c9 --- /dev/null +++ b/services/servicestage/v2/model/model_delete_tag_request.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type DeleteTagRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + TagName string `json:"tag_name"` +} + +func (o DeleteTagRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteTagRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_delete_tag_response.go b/services/servicestage/v2/model/model_delete_tag_response.go new file mode 100644 index 0000000000..f3eff4eb3b --- /dev/null +++ b/services/servicestage/v2/model/model_delete_tag_response.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type DeleteTagResponse struct { +} + +func (o DeleteTagResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"DeleteTagResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_environment.go b/services/servicestage/v2/model/model_environment.go new file mode 100644 index 0000000000..532e4ee2dc --- /dev/null +++ b/services/servicestage/v2/model/model_environment.go @@ -0,0 +1,48 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type Environment struct { + // 环境ID。 + Id *string `json:"id,omitempty"` + // 环境名称。 + Name *string `json:"name,omitempty"` + // 环境别名。 + Alias *string `json:"alias,omitempty"` + // 环境描述。 + Description *string `json:"description,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 收费模式。 + ChargeMode *string `json:"charge_mode,omitempty"` + // 虚拟私有云ID。 + VpcId *string `json:"vpc_id,omitempty"` + // 基础资源。 + BaseResources *[]Resource `json:"base_resources,omitempty"` + // 可选资源。 + OptionalResources *[]Resource `json:"optional_resources,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o Environment) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Environment", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_environment_create.go b/services/servicestage/v2/model/model_environment_create.go new file mode 100644 index 0000000000..b40bd30579 --- /dev/null +++ b/services/servicestage/v2/model/model_environment_create.go @@ -0,0 +1,37 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type EnvironmentCreate struct { + // 环境名称。 + Name string `json:"name"` + // 环境别名。 + Alias *string `json:"alias,omitempty"` + // 环境描述。 + Description *string `json:"description,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + ChargeMode *ChargeMode `json:"charge_mode,omitempty"` + // 虚拟私有云ID。 + VpcId string `json:"vpc_id"` + // 基础资源。 + BaseResources []Resource `json:"base_resources"` + // 可选资源。 + OptionalResources *[]Resource `json:"optional_resources,omitempty"` +} + +func (o EnvironmentCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"EnvironmentCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_environment_modify.go b/services/servicestage/v2/model/model_environment_modify.go new file mode 100644 index 0000000000..5c46d9625f --- /dev/null +++ b/services/servicestage/v2/model/model_environment_modify.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type EnvironmentModify struct { + // 环境名称。 + Name *string `json:"name,omitempty"` + // 环境别名。 + Alias *string `json:"alias,omitempty"` + // 环境描述。 + Description *string `json:"description,omitempty"` +} + +func (o EnvironmentModify) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"EnvironmentModify", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_environment_resource_modify.go b/services/servicestage/v2/model/model_environment_resource_modify.go new file mode 100644 index 0000000000..43c81be361 --- /dev/null +++ b/services/servicestage/v2/model/model_environment_resource_modify.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type EnvironmentResourceModify struct { + // 添加基础资源。 + AddBaseResources *[]Resource `json:"add_base_resources,omitempty"` + // 添加其他资源。 + AddOptionalResources *[]Resource `json:"add_optional_resources,omitempty"` + // 移除资源。 + RemoveResources *[]Resource `json:"remove_resources,omitempty"` +} + +func (o EnvironmentResourceModify) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"EnvironmentResourceModify", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_external_access_protocol.go b/services/servicestage/v2/model/model_external_access_protocol.go new file mode 100644 index 0000000000..aae5368c9d --- /dev/null +++ b/services/servicestage/v2/model/model_external_access_protocol.go @@ -0,0 +1,54 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 协议。 +type ExternalAccessProtocol struct { + value string +} + +type ExternalAccessProtocolEnum struct { + HTTP ExternalAccessProtocol + HTTPS ExternalAccessProtocol +} + +func GetExternalAccessProtocolEnum() ExternalAccessProtocolEnum { + return ExternalAccessProtocolEnum{ + HTTP: ExternalAccessProtocol{ + value: "HTTP", + }, + HTTPS: ExternalAccessProtocol{ + value: "HTTPS", + }, + } +} + +func (c ExternalAccessProtocol) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ExternalAccessProtocol) 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/services/servicestage/v2/model/model_external_access_status.go b/services/servicestage/v2/model/model_external_access_status.go new file mode 100644 index 0000000000..55fd6c3fda --- /dev/null +++ b/services/servicestage/v2/model/model_external_access_status.go @@ -0,0 +1,54 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 状态。 +type ExternalAccessStatus struct { + value string +} + +type ExternalAccessStatusEnum struct { + NORMAL ExternalAccessStatus + EXPIRED ExternalAccessStatus +} + +func GetExternalAccessStatusEnum() ExternalAccessStatusEnum { + return ExternalAccessStatusEnum{ + NORMAL: ExternalAccessStatus{ + value: "NORMAL", + }, + EXPIRED: ExternalAccessStatus{ + value: "EXPIRED", + }, + } +} + +func (c ExternalAccessStatus) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ExternalAccessStatus) 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/services/servicestage/v2/model/model_external_access_type.go b/services/servicestage/v2/model/model_external_access_type.go new file mode 100644 index 0000000000..e06e7d3e7e --- /dev/null +++ b/services/servicestage/v2/model/model_external_access_type.go @@ -0,0 +1,58 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 类型。 +type ExternalAccessType struct { + value string +} + +type ExternalAccessTypeEnum struct { + AUTO_GENERATED ExternalAccessType + SPECIFIED ExternalAccessType + IP_ADDR ExternalAccessType +} + +func GetExternalAccessTypeEnum() ExternalAccessTypeEnum { + return ExternalAccessTypeEnum{ + AUTO_GENERATED: ExternalAccessType{ + value: "AUTO_GENERATED", + }, + SPECIFIED: ExternalAccessType{ + value: "SPECIFIED", + }, + IP_ADDR: ExternalAccessType{ + value: "IP_ADDR", + }, + } +} + +func (c ExternalAccessType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ExternalAccessType) 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/services/servicestage/v2/model/model_external_accesses.go b/services/servicestage/v2/model/model_external_accesses.go new file mode 100644 index 0000000000..2ea3f13920 --- /dev/null +++ b/services/servicestage/v2/model/model_external_accesses.go @@ -0,0 +1,36 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 访问方式。 +type ExternalAccesses struct { + // ID。 + Id *string `json:"id,omitempty"` + Protocol *ExternalAccessProtocol `json:"protocol"` + // 访问地址。 + Address string `json:"address"` + // 应用组件进程监听端口 + ForwardPort int32 `json:"forward_port"` + Type *ExternalAccessType `json:"type,omitempty"` + Status *ExternalAccessStatus `json:"status,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ExternalAccesses) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ExternalAccesses", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_external_accesses_create.go b/services/servicestage/v2/model/model_external_accesses_create.go new file mode 100644 index 0000000000..4a87185f96 --- /dev/null +++ b/services/servicestage/v2/model/model_external_accesses_create.go @@ -0,0 +1,68 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 外网访问。 +type ExternalAccessesCreate struct { + // 协议,支持http、https。 + Protocol ExternalAccessesCreateProtocol `json:"protocol"` + // 访问地址。 + Address string `json:"address"` + // 端口号。 + ForwardPort int32 `json:"forward_port"` +} + +func (o ExternalAccessesCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ExternalAccessesCreate", string(data)}, " ") +} + +type ExternalAccessesCreateProtocol struct { + value string +} + +type ExternalAccessesCreateProtocolEnum struct { + HTTP ExternalAccessesCreateProtocol + HTTPS ExternalAccessesCreateProtocol +} + +func GetExternalAccessesCreateProtocolEnum() ExternalAccessesCreateProtocolEnum { + return ExternalAccessesCreateProtocolEnum{ + HTTP: ExternalAccessesCreateProtocol{ + value: "http", + }, + HTTPS: ExternalAccessesCreateProtocol{ + value: "https", + }, + } +} + +func (c ExternalAccessesCreateProtocol) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ExternalAccessesCreateProtocol) 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/services/servicestage/v2/model/model_file_create.go b/services/servicestage/v2/model/model_file_create.go new file mode 100644 index 0000000000..770a7e6680 --- /dev/null +++ b/services/servicestage/v2/model/model_file_create.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type FileCreate struct { + // 提交描述。 + Message string `json:"message"` + // 经base64编码的文件内容。 + Content string `json:"content"` +} + +func (o FileCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"FileCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_file_update.go b/services/servicestage/v2/model/model_file_update.go new file mode 100644 index 0000000000..9dc15dc356 --- /dev/null +++ b/services/servicestage/v2/model/model_file_update.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type FileUpdate struct { + // 提交描述。 + Message string `json:"message"` + // 经base64编码的文件内容。 + Content string `json:"content"` + // 文件的sha值。 + Sha string `json:"sha"` +} + +func (o FileUpdate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"FileUpdate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_flavor_id.go b/services/servicestage/v2/model/model_flavor_id.go new file mode 100644 index 0000000000..483df127b6 --- /dev/null +++ b/services/servicestage/v2/model/model_flavor_id.go @@ -0,0 +1,70 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 资源规格。 +type FlavorId struct { + value string +} + +type FlavorIdEnum struct { + MICRO_5_G0_5_C1_G FlavorId + SMALL_10_G1_0_C2_G FlavorId + STANDARD_30_G2_0_C4_G FlavorId + LARGE_50_G4_0_C8_G FlavorId + XLARGE_100_G4_0_C16_G FlavorId + CUSTOM_XGX_XX_X FlavorId +} + +func GetFlavorIdEnum() FlavorIdEnum { + return FlavorIdEnum{ + MICRO_5_G0_5_C1_G: FlavorId{ + value: "MICRO-5G:0.5C:1G", + }, + SMALL_10_G1_0_C2_G: FlavorId{ + value: "SMALL-10G:1.0C:2G", + }, + STANDARD_30_G2_0_C4_G: FlavorId{ + value: "STANDARD-30G:2.0C:4G", + }, + LARGE_50_G4_0_C8_G: FlavorId{ + value: "LARGE-50G:4.0C:8G", + }, + XLARGE_100_G4_0_C16_G: FlavorId{ + value: "XLARGE-100G:4.0C:16G", + }, + CUSTOM_XGX_XX_X: FlavorId{ + value: "CUSTOM-XG:X-X:X-X", + }, + } +} + +func (c FlavorId) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *FlavorId) 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/services/servicestage/v2/model/model_flavor_view.go b/services/servicestage/v2/model/model_flavor_view.go new file mode 100644 index 0000000000..80b1597d9e --- /dev/null +++ b/services/servicestage/v2/model/model_flavor_view.go @@ -0,0 +1,35 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type FlavorView struct { + FlavorId *FlavorId `json:"flavor_id,omitempty"` + // 存储大小。 + StorageSize *string `json:"storage_size,omitempty"` + // CPU限制。 + NumCpu *string `json:"num_cpu,omitempty"` + // CPU初始。 + NumCpuInit *string `json:"num_cpu_init,omitempty"` + // 内存限制。 + MemorySize *string `json:"memory_size,omitempty"` + // 内存初始。 + MemorySizeInit *string `json:"memory_size_init,omitempty"` + // 展示标签。 + Label *string `json:"label,omitempty"` +} + +func (o FlavorView) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"FlavorView", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_hook.go b/services/servicestage/v2/model/model_hook.go new file mode 100644 index 0000000000..ad04039850 --- /dev/null +++ b/services/servicestage/v2/model/model_hook.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type Hook struct { + // hook ID。 + Id string `json:"id"` + // hook类型。 + Type string `json:"type"` + // 回滚URL。 + CallbackUrl string `json:"callback_url"` +} + +func (o Hook) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Hook", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_hook_create.go b/services/servicestage/v2/model/model_hook_create.go new file mode 100644 index 0000000000..9b520069b3 --- /dev/null +++ b/services/servicestage/v2/model/model_hook_create.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type HookCreate struct { + // 无法猜测的随机字符串,用于验证接收到的payloads。 + Secret string `json:"secret"` + // hook触发时的回调URL。 + Url string `json:"url"` +} + +func (o HookCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"HookCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_instance_action.go b/services/servicestage/v2/model/model_instance_action.go new file mode 100644 index 0000000000..a0bc4ffe94 --- /dev/null +++ b/services/servicestage/v2/model/model_instance_action.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type InstanceAction struct { + Action *InstanceActionType `json:"action"` + Parameters *InstanceActionParameters `json:"parameters,omitempty"` +} + +func (o InstanceAction) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"InstanceAction", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_instance_action_parameters.go b/services/servicestage/v2/model/model_instance_action_parameters.go new file mode 100644 index 0000000000..42588b98d1 --- /dev/null +++ b/services/servicestage/v2/model/model_instance_action_parameters.go @@ -0,0 +1,29 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 操作参数,scale和rollback时提供。 +type InstanceActionParameters struct { + // 实例数,在scale操作时提供。 + Replica *int32 `json:"replica,omitempty"` + // ECS ID列表,指定虚机扩容时部署的ECS主机。 + Hosts *[]string `json:"hosts,omitempty"` + // 版本号,在rollback操作时提供,通过查询快照接口获取。 + Version *string `json:"version,omitempty"` +} + +func (o InstanceActionParameters) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"InstanceActionParameters", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_instance_action_type.go b/services/servicestage/v2/model/model_instance_action_type.go new file mode 100644 index 0000000000..c8d5cc6b0a --- /dev/null +++ b/services/servicestage/v2/model/model_instance_action_type.go @@ -0,0 +1,66 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 操作,支持start, stop, restart, scale, rollback。 +type InstanceActionType struct { + value string +} + +type InstanceActionTypeEnum struct { + START InstanceActionType + STOP InstanceActionType + RESTART InstanceActionType + SCALE InstanceActionType + ROLLBACK InstanceActionType +} + +func GetInstanceActionTypeEnum() InstanceActionTypeEnum { + return InstanceActionTypeEnum{ + START: InstanceActionType{ + value: "start", + }, + STOP: InstanceActionType{ + value: "stop", + }, + RESTART: InstanceActionType{ + value: "restart", + }, + SCALE: InstanceActionType{ + value: "scale", + }, + ROLLBACK: InstanceActionType{ + value: "rollback", + }, + } +} + +func (c InstanceActionType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *InstanceActionType) 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/services/servicestage/v2/model/model_instance_create.go b/services/servicestage/v2/model/model_instance_create.go new file mode 100644 index 0000000000..1f868360e1 --- /dev/null +++ b/services/servicestage/v2/model/model_instance_create.go @@ -0,0 +1,41 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type InstanceCreate struct { + // 应用组件实例名称。 + Name string `json:"name"` + // 环境ID。 + EnvironmentId string `json:"environment_id"` + FlavorId *FlavorId `json:"flavor_id"` + // 实例副本数。 + Replica int32 `json:"replica"` + // 组件部署件。key为组件component_name,对于Docker多容器场景,key为容器名称。 + Artifacts map[string]interface{} `json:"artifacts"` + // 应用组件版本号,满足版本语义,如1.0.0。。 + Version string `json:"version"` + // 应用配置,环境变量等,如{“env”: [{“name”: “log-level”: “warn”}]}, 默认空。 + Configuration *interface{} `json:"configuration,omitempty"` + // 描述。 + Description *string `json:"description,omitempty"` + // 访问方式。 + ExternalAccesses *[]ExternalAccessesCreate `json:"external_accesses,omitempty"` + // 部署资源。 + ReferResources []ReferResourceCreate `json:"refer_resources"` +} + +func (o InstanceCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"InstanceCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_instance_fail_detail.go b/services/servicestage/v2/model/model_instance_fail_detail.go new file mode 100644 index 0000000000..0234b5a931 --- /dev/null +++ b/services/servicestage/v2/model/model_instance_fail_detail.go @@ -0,0 +1,74 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 失败描述。 cluster_deleted, // 集群被删除 cluster_unavailable, // 集群不可用 cluster_inaccessible, // 集群无法访问 namespace_deleted, // 命名空间被删除 namespace_unavailable, // 命名空间不可用 namespace_inaccessible, // 命名空间无法访问 resource_deleted, // 资源已删除 +type InstanceFailDetail struct { + value string +} + +type InstanceFailDetailEnum struct { + CLUSTER_DELETED InstanceFailDetail + CLUSTER_UNAVAILABLE InstanceFailDetail + CLUSTER_INACCESSIBLE InstanceFailDetail + NAMESPACE_DELETED InstanceFailDetail + NAMESPACE_UNAVAILABLE InstanceFailDetail + NAMESPACE_INACCESSIBLE InstanceFailDetail + RESOURCE_DELETED InstanceFailDetail +} + +func GetInstanceFailDetailEnum() InstanceFailDetailEnum { + return InstanceFailDetailEnum{ + CLUSTER_DELETED: InstanceFailDetail{ + value: "cluster_deleted", + }, + CLUSTER_UNAVAILABLE: InstanceFailDetail{ + value: "cluster_unavailable", + }, + CLUSTER_INACCESSIBLE: InstanceFailDetail{ + value: "cluster_inaccessible", + }, + NAMESPACE_DELETED: InstanceFailDetail{ + value: "namespace_deleted", + }, + NAMESPACE_UNAVAILABLE: InstanceFailDetail{ + value: "namespace_unavailable", + }, + NAMESPACE_INACCESSIBLE: InstanceFailDetail{ + value: "namespace_inaccessible", + }, + RESOURCE_DELETED: InstanceFailDetail{ + value: "resource_deleted", + }, + } +} + +func (c InstanceFailDetail) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *InstanceFailDetail) 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/services/servicestage/v2/model/model_instance_list_view.go b/services/servicestage/v2/model/model_instance_list_view.go new file mode 100644 index 0000000000..f27dbd61d7 --- /dev/null +++ b/services/servicestage/v2/model/model_instance_list_view.go @@ -0,0 +1,54 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 实例参数。 +type InstanceListView struct { + // 应用组件实例ID。 + Id *string `json:"id,omitempty"` + // 应用ID。 + ApplicationId *string `json:"application_id,omitempty"` + // 应用名称。 + ApplicationName *string `json:"application_name,omitempty"` + // 组件ID。 + ComponentId *string `json:"component_id,omitempty"` + // 组件名称。 + ComponentName *string `json:"component_name,omitempty"` + // 应用组件实例名称。 + Name *string `json:"name,omitempty"` + // 应用组件环境ID。 + EnvironmentId *string `json:"environment_id,omitempty"` + // 环境名称。 + EnvironmentName *string `json:"environment_name,omitempty"` + // 运行平台类型。 应用可以在不同的平台上运行,可选用的平台的类型有以下几种:cce、vmapp。 + PlatformType *string `json:"platform_type,omitempty"` + // 应用组件版本号。 + Version *string `json:"version,omitempty"` + // 访问方式。 + ExternalAccesses *[]ExternalAccesses `json:"external_accesses,omitempty"` + // 组件部署件。key为组件component_name,对于Docker多容器场景,key为容器名称。 + Artifacts map[string]interface{} `json:"artifacts,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` + StatusDetail *InstanceStatusView `json:"status_detail,omitempty"` +} + +func (o InstanceListView) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"InstanceListView", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_instance_modify.go b/services/servicestage/v2/model/model_instance_modify.go new file mode 100644 index 0000000000..67cc94e6c6 --- /dev/null +++ b/services/servicestage/v2/model/model_instance_modify.go @@ -0,0 +1,35 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type InstanceModify struct { + // 应用组件版本号,满足版本语义,如1.0.1。 + Version string `json:"version"` + FlavorId *FlavorId `json:"flavor_id,omitempty"` + // 组件部署件。key为组件component_name,对于Docker多容器场景,key为容器名称。 + Artifacts map[string]interface{} `json:"artifacts,omitempty"` + // 应用配置,如环境变量。 + Configuration map[string]interface{} `json:"configuration,omitempty"` + // 描述。 + Description *string `json:"description,omitempty"` + // 访问方式列表。 + ExternalAccesses *[]ExternalAccesses `json:"external_accesses,omitempty"` + // 部署资源列表。 + ReferResources *[]ReferResourceCreate `json:"refer_resources,omitempty"` +} + +func (o InstanceModify) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"InstanceModify", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_instance_platform_type.go b/services/servicestage/v2/model/model_instance_platform_type.go new file mode 100644 index 0000000000..df3149855f --- /dev/null +++ b/services/servicestage/v2/model/model_instance_platform_type.go @@ -0,0 +1,54 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 运行平台类型。 应用可以在不同的平台上运行,可选用的平台的类型有以下几种:cce、vmapp。 +type InstancePlatformType struct { + value string +} + +type InstancePlatformTypeEnum struct { + CCE InstancePlatformType + VMAPP InstancePlatformType +} + +func GetInstancePlatformTypeEnum() InstancePlatformTypeEnum { + return InstancePlatformTypeEnum{ + CCE: InstancePlatformType{ + value: "cce", + }, + VMAPP: InstancePlatformType{ + value: "vmapp", + }, + } +} + +func (c InstancePlatformType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *InstancePlatformType) 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/services/servicestage/v2/model/model_instance_snapshot_view.go b/services/servicestage/v2/model/model_instance_snapshot_view.go new file mode 100644 index 0000000000..73b8c527df --- /dev/null +++ b/services/servicestage/v2/model/model_instance_snapshot_view.go @@ -0,0 +1,31 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 快照参数。 +type InstanceSnapshotView struct { + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 描述。 + Description *string `json:"description,omitempty"` + // 应用组件实例ID。 + InstanceId *string `json:"instance_id,omitempty"` + // 版本号。 + Version *string `json:"version,omitempty"` +} + +func (o InstanceSnapshotView) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"InstanceSnapshotView", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_instance_status_type.go b/services/servicestage/v2/model/model_instance_status_type.go new file mode 100644 index 0000000000..9c5041dbe0 --- /dev/null +++ b/services/servicestage/v2/model/model_instance_status_type.go @@ -0,0 +1,106 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 实例状态。 +type InstanceStatusType struct { + value string +} + +type InstanceStatusTypeEnum struct { + INITIALIZING InstanceStatusType + UPGRADING InstanceStatusType + FAILED InstanceStatusType + RUNNING InstanceStatusType + DOWN InstanceStatusType + DELETING InstanceStatusType + DELETED InstanceStatusType + RESERVED InstanceStatusType + STARTING InstanceStatusType + STOPPING InstanceStatusType + STOPPED InstanceStatusType + RESTARTING InstanceStatusType + PENDING InstanceStatusType + UNKNOWN InstanceStatusType + PARTIALLY_FAILED InstanceStatusType +} + +func GetInstanceStatusTypeEnum() InstanceStatusTypeEnum { + return InstanceStatusTypeEnum{ + INITIALIZING: InstanceStatusType{ + value: "INITIALIZING", + }, + UPGRADING: InstanceStatusType{ + value: "UPGRADING", + }, + FAILED: InstanceStatusType{ + value: "FAILED", + }, + RUNNING: InstanceStatusType{ + value: "RUNNING", + }, + DOWN: InstanceStatusType{ + value: "DOWN", + }, + DELETING: InstanceStatusType{ + value: "DELETING", + }, + DELETED: InstanceStatusType{ + value: "DELETED", + }, + RESERVED: InstanceStatusType{ + value: "RESERVED", + }, + STARTING: InstanceStatusType{ + value: "STARTING", + }, + STOPPING: InstanceStatusType{ + value: "STOPPING", + }, + STOPPED: InstanceStatusType{ + value: "STOPPED", + }, + RESTARTING: InstanceStatusType{ + value: "RESTARTING", + }, + PENDING: InstanceStatusType{ + value: "PENDING", + }, + UNKNOWN: InstanceStatusType{ + value: "UNKNOWN", + }, + PARTIALLY_FAILED: InstanceStatusType{ + value: "PARTIALLY_FAILED", + }, + } +} + +func (c InstanceStatusType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *InstanceStatusType) 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/services/servicestage/v2/model/model_instance_status_view.go b/services/servicestage/v2/model/model_instance_status_view.go new file mode 100644 index 0000000000..4d993f6916 --- /dev/null +++ b/services/servicestage/v2/model/model_instance_status_view.go @@ -0,0 +1,33 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 状态详情。 +type InstanceStatusView struct { + Status *InstanceStatusType `json:"status,omitempty"` + // 正常实例副本数。 + AvailableReplica *int32 `json:"available_replica,omitempty"` + // 实例副本数。 + Replica *int32 `json:"replica,omitempty"` + FailDetail *InstanceFailDetail `json:"fail_detail,omitempty"` + // 最近Job ID。 + LastJobId *string `json:"last_job_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o InstanceStatusView) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"InstanceStatusView", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_job_info.go b/services/servicestage/v2/model/model_job_info.go new file mode 100644 index 0000000000..06f242a0d6 --- /dev/null +++ b/services/servicestage/v2/model/model_job_info.go @@ -0,0 +1,84 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 构建工程参数。 +type JobInfo struct { + // 创建者。 + CreatedBy *string `json:"CREATED_BY,omitempty"` + // 执行状态。 + ExecutionStatus *JobInfoExecutionStatus `json:"EXECUTION_STATUS,omitempty"` + // 工作描述。 + JobDesc *string `json:"JOB_DESC,omitempty"` + // 工作ID。 + JobId *string `json:"JOB_ID,omitempty"` + // 工作名称。 + JobName *string `json:"JOB_NAME,omitempty"` + // 类别。 + JobType *string `json:"JOB_TYPE,omitempty"` + // 排序ID。 + OrderId *string `json:"ORDER_ID,omitempty"` + // 创建租户的项目ID。 + ProjectId *string `json:"PROJECT_ID,omitempty"` + // 实例ID。 + ServiceInstanceId *string `json:"SERVICE_INSTANCE_ID,omitempty"` +} + +func (o JobInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"JobInfo", string(data)}, " ") +} + +type JobInfoExecutionStatus struct { + value string +} + +type JobInfoExecutionStatusEnum struct { + RUNNING JobInfoExecutionStatus + FAILED JobInfoExecutionStatus + SUCCEEDED JobInfoExecutionStatus +} + +func GetJobInfoExecutionStatusEnum() JobInfoExecutionStatusEnum { + return JobInfoExecutionStatusEnum{ + RUNNING: JobInfoExecutionStatus{ + value: "RUNNING", + }, + FAILED: JobInfoExecutionStatus{ + value: "FAILED", + }, + SUCCEEDED: JobInfoExecutionStatus{ + value: "SUCCEEDED", + }, + } +} + +func (c JobInfoExecutionStatus) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *JobInfoExecutionStatus) 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/services/servicestage/v2/model/model_list_applications_request.go b/services/servicestage/v2/model/model_list_applications_request.go new file mode 100644 index 0000000000..05a886a513 --- /dev/null +++ b/services/servicestage/v2/model/model_list_applications_request.go @@ -0,0 +1,66 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ListApplicationsRequest struct { + Limit *int32 `json:"limit,omitempty"` + Offset *int32 `json:"offset,omitempty"` + OrderBy *string `json:"order_by,omitempty"` + Order *ListApplicationsRequestOrder `json:"order,omitempty"` +} + +func (o ListApplicationsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListApplicationsRequest", string(data)}, " ") +} + +type ListApplicationsRequestOrder struct { + value string +} + +type ListApplicationsRequestOrderEnum struct { + DESC ListApplicationsRequestOrder + ASC ListApplicationsRequestOrder +} + +func GetListApplicationsRequestOrderEnum() ListApplicationsRequestOrderEnum { + return ListApplicationsRequestOrderEnum{ + DESC: ListApplicationsRequestOrder{ + value: "desc", + }, + ASC: ListApplicationsRequestOrder{ + value: "asc", + }, + } +} + +func (c ListApplicationsRequestOrder) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListApplicationsRequestOrder) 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/services/servicestage/v2/model/model_list_applications_response.go b/services/servicestage/v2/model/model_list_applications_response.go new file mode 100644 index 0000000000..216c2a04ab --- /dev/null +++ b/services/servicestage/v2/model/model_list_applications_response.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListApplicationsResponse struct { + // 应用总数。 + Count *int32 `json:"count,omitempty"` + // 应用列表。 + Applications *[]ApplicationView `json:"applications,omitempty"` +} + +func (o ListApplicationsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListApplicationsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_authorizations_request.go b/services/servicestage/v2/model/model_list_authorizations_request.go new file mode 100644 index 0000000000..1a3acfcbff --- /dev/null +++ b/services/servicestage/v2/model/model_list_authorizations_request.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListAuthorizationsRequest struct { +} + +func (o ListAuthorizationsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListAuthorizationsRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_authorizations_response.go b/services/servicestage/v2/model/model_list_authorizations_response.go new file mode 100644 index 0000000000..22e56e7f64 --- /dev/null +++ b/services/servicestage/v2/model/model_list_authorizations_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListAuthorizationsResponse struct { + // 授权列表。 + Authorizations *[]AuthorizationVo `json:"authorizations,omitempty"` +} + +func (o ListAuthorizationsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListAuthorizationsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_branches_request.go b/services/servicestage/v2/model/model_list_branches_request.go new file mode 100644 index 0000000000..dc1a174523 --- /dev/null +++ b/services/servicestage/v2/model/model_list_branches_request.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListBranchesRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` +} + +func (o ListBranchesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListBranchesRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_branches_response.go b/services/servicestage/v2/model/model_list_branches_response.go new file mode 100644 index 0000000000..34614d9efb --- /dev/null +++ b/services/servicestage/v2/model/model_list_branches_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListBranchesResponse struct { + // 项目分支列表。 + Branches *[]string `json:"branches,omitempty"` +} + +func (o ListBranchesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListBranchesResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_commits_request.go b/services/servicestage/v2/model/model_list_commits_request.go new file mode 100644 index 0000000000..6b88d73b9b --- /dev/null +++ b/services/servicestage/v2/model/model_list_commits_request.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListCommitsRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + Ref *string `json:"ref,omitempty"` +} + +func (o ListCommitsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListCommitsRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_commits_response.go b/services/servicestage/v2/model/model_list_commits_response.go new file mode 100644 index 0000000000..db32a5852c --- /dev/null +++ b/services/servicestage/v2/model/model_list_commits_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListCommitsResponse struct { + // 提交记录列表。 + Commits *[]CommitsCommits `json:"commits,omitempty"` +} + +func (o ListCommitsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListCommitsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_components_request.go b/services/servicestage/v2/model/model_list_components_request.go new file mode 100644 index 0000000000..3d1e6bf9fa --- /dev/null +++ b/services/servicestage/v2/model/model_list_components_request.go @@ -0,0 +1,67 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ListComponentsRequest struct { + ApplicationId string `json:"application_id"` + Limit *int32 `json:"limit,omitempty"` + Offset *int32 `json:"offset,omitempty"` + OrderBy *string `json:"order_by,omitempty"` + Order *ListComponentsRequestOrder `json:"order,omitempty"` +} + +func (o ListComponentsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListComponentsRequest", string(data)}, " ") +} + +type ListComponentsRequestOrder struct { + value string +} + +type ListComponentsRequestOrderEnum struct { + DESC ListComponentsRequestOrder + ASC ListComponentsRequestOrder +} + +func GetListComponentsRequestOrderEnum() ListComponentsRequestOrderEnum { + return ListComponentsRequestOrderEnum{ + DESC: ListComponentsRequestOrder{ + value: "desc", + }, + ASC: ListComponentsRequestOrder{ + value: "asc", + }, + } +} + +func (c ListComponentsRequestOrder) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListComponentsRequestOrder) 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/services/servicestage/v2/model/model_list_components_response.go b/services/servicestage/v2/model/model_list_components_response.go new file mode 100644 index 0000000000..499a29b19e --- /dev/null +++ b/services/servicestage/v2/model/model_list_components_response.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListComponentsResponse struct { + // 组件个数。 + Count *int32 `json:"count,omitempty"` + // 组件列表。 + Components *[]ComponentView `json:"components,omitempty"` +} + +func (o ListComponentsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListComponentsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_environments_request.go b/services/servicestage/v2/model/model_list_environments_request.go new file mode 100644 index 0000000000..032735a1c7 --- /dev/null +++ b/services/servicestage/v2/model/model_list_environments_request.go @@ -0,0 +1,66 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ListEnvironmentsRequest struct { + Limit *int32 `json:"limit,omitempty"` + Offset *int32 `json:"offset,omitempty"` + OrderBy *string `json:"order_by,omitempty"` + Order *ListEnvironmentsRequestOrder `json:"order,omitempty"` +} + +func (o ListEnvironmentsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListEnvironmentsRequest", string(data)}, " ") +} + +type ListEnvironmentsRequestOrder struct { + value string +} + +type ListEnvironmentsRequestOrderEnum struct { + DESC ListEnvironmentsRequestOrder + ASC ListEnvironmentsRequestOrder +} + +func GetListEnvironmentsRequestOrderEnum() ListEnvironmentsRequestOrderEnum { + return ListEnvironmentsRequestOrderEnum{ + DESC: ListEnvironmentsRequestOrder{ + value: "desc", + }, + ASC: ListEnvironmentsRequestOrder{ + value: "asc", + }, + } +} + +func (c ListEnvironmentsRequestOrder) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListEnvironmentsRequestOrder) 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/services/servicestage/v2/model/model_list_environments_response.go b/services/servicestage/v2/model/model_list_environments_response.go new file mode 100644 index 0000000000..1180577679 --- /dev/null +++ b/services/servicestage/v2/model/model_list_environments_response.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListEnvironmentsResponse struct { + // 环境总数。 + Count *int32 `json:"count,omitempty"` + // 环境列表。 + Environments *[]Environment `json:"environments,omitempty"` +} + +func (o ListEnvironmentsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListEnvironmentsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_flavors_request.go b/services/servicestage/v2/model/model_list_flavors_request.go new file mode 100644 index 0000000000..f25ffc8f46 --- /dev/null +++ b/services/servicestage/v2/model/model_list_flavors_request.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListFlavorsRequest struct { +} + +func (o ListFlavorsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListFlavorsRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_flavors_response.go b/services/servicestage/v2/model/model_list_flavors_response.go new file mode 100644 index 0000000000..c67050a45b --- /dev/null +++ b/services/servicestage/v2/model/model_list_flavors_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListFlavorsResponse struct { + // 资源规格列表。 + Flavors *[]FlavorView `json:"flavors,omitempty"` +} + +func (o ListFlavorsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListFlavorsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_hooks_request.go b/services/servicestage/v2/model/model_list_hooks_request.go new file mode 100644 index 0000000000..a024b97429 --- /dev/null +++ b/services/servicestage/v2/model/model_list_hooks_request.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListHooksRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` +} + +func (o ListHooksRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListHooksRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_hooks_response.go b/services/servicestage/v2/model/model_list_hooks_response.go new file mode 100644 index 0000000000..c9ed9dd7c1 --- /dev/null +++ b/services/servicestage/v2/model/model_list_hooks_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListHooksResponse struct { + // hook列表。 + Hooks *[]Hook `json:"hooks,omitempty"` +} + +func (o ListHooksResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListHooksResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_instance_snapshots_request.go b/services/servicestage/v2/model/model_list_instance_snapshots_request.go new file mode 100644 index 0000000000..ffa107ce2c --- /dev/null +++ b/services/servicestage/v2/model/model_list_instance_snapshots_request.go @@ -0,0 +1,69 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ListInstanceSnapshotsRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + InstanceId string `json:"instance_id"` + Limit *int32 `json:"limit,omitempty"` + Offset *int32 `json:"offset,omitempty"` + SnapshotOrderBy *string `json:"snapshot_order_by,omitempty"` + Order *ListInstanceSnapshotsRequestOrder `json:"order,omitempty"` +} + +func (o ListInstanceSnapshotsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListInstanceSnapshotsRequest", string(data)}, " ") +} + +type ListInstanceSnapshotsRequestOrder struct { + value string +} + +type ListInstanceSnapshotsRequestOrderEnum struct { + DESC ListInstanceSnapshotsRequestOrder + ASC ListInstanceSnapshotsRequestOrder +} + +func GetListInstanceSnapshotsRequestOrderEnum() ListInstanceSnapshotsRequestOrderEnum { + return ListInstanceSnapshotsRequestOrderEnum{ + DESC: ListInstanceSnapshotsRequestOrder{ + value: "desc", + }, + ASC: ListInstanceSnapshotsRequestOrder{ + value: "asc", + }, + } +} + +func (c ListInstanceSnapshotsRequestOrder) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListInstanceSnapshotsRequestOrder) 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/services/servicestage/v2/model/model_list_instance_snapshots_response.go b/services/servicestage/v2/model/model_list_instance_snapshots_response.go new file mode 100644 index 0000000000..95e0555e68 --- /dev/null +++ b/services/servicestage/v2/model/model_list_instance_snapshots_response.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListInstanceSnapshotsResponse struct { + // 快照总数。 + Count *int32 `json:"count,omitempty"` + // 快照列表。 + Snapshots *[]InstanceSnapshotView `json:"snapshots,omitempty"` +} + +func (o ListInstanceSnapshotsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListInstanceSnapshotsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_instances_request.go b/services/servicestage/v2/model/model_list_instances_request.go new file mode 100644 index 0000000000..e8e9ef7562 --- /dev/null +++ b/services/servicestage/v2/model/model_list_instances_request.go @@ -0,0 +1,68 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ListInstancesRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + Limit *int32 `json:"limit,omitempty"` + Offset *int32 `json:"offset,omitempty"` + OrderBy *string `json:"order_by,omitempty"` + Order *ListInstancesRequestOrder `json:"order,omitempty"` +} + +func (o ListInstancesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListInstancesRequest", string(data)}, " ") +} + +type ListInstancesRequestOrder struct { + value string +} + +type ListInstancesRequestOrderEnum struct { + DESC ListInstancesRequestOrder + ASC ListInstancesRequestOrder +} + +func GetListInstancesRequestOrderEnum() ListInstancesRequestOrderEnum { + return ListInstancesRequestOrderEnum{ + DESC: ListInstancesRequestOrder{ + value: "desc", + }, + ASC: ListInstancesRequestOrder{ + value: "asc", + }, + } +} + +func (c ListInstancesRequestOrder) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ListInstancesRequestOrder) 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/services/servicestage/v2/model/model_list_instances_response.go b/services/servicestage/v2/model/model_list_instances_response.go new file mode 100644 index 0000000000..97cf421ffc --- /dev/null +++ b/services/servicestage/v2/model/model_list_instances_response.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListInstancesResponse struct { + // 实例总数。 + Count *int32 `json:"count,omitempty"` + // 实例列表。 + Instances *[]InstanceListView `json:"instances,omitempty"` +} + +func (o ListInstancesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListInstancesResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_namespaces_request.go b/services/servicestage/v2/model/model_list_namespaces_request.go new file mode 100644 index 0000000000..27fa808490 --- /dev/null +++ b/services/servicestage/v2/model/model_list_namespaces_request.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListNamespacesRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` +} + +func (o ListNamespacesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListNamespacesRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_namespaces_response.go b/services/servicestage/v2/model/model_list_namespaces_response.go new file mode 100644 index 0000000000..fd516301eb --- /dev/null +++ b/services/servicestage/v2/model/model_list_namespaces_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListNamespacesResponse struct { + // 命名空间列表。 + Namespaces *[]NamespacesNamespaces `json:"namespaces,omitempty"` +} + +func (o ListNamespacesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListNamespacesResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_projects_request.go b/services/servicestage/v2/model/model_list_projects_request.go new file mode 100644 index 0000000000..93a5123787 --- /dev/null +++ b/services/servicestage/v2/model/model_list_projects_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListProjectsRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` +} + +func (o ListProjectsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListProjectsRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_projects_response.go b/services/servicestage/v2/model/model_list_projects_response.go new file mode 100644 index 0000000000..60a1f0fb7b --- /dev/null +++ b/services/servicestage/v2/model/model_list_projects_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListProjectsResponse struct { + // 项目列表。 + Projects *[]Project `json:"projects,omitempty"` +} + +func (o ListProjectsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListProjectsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_runtimes_request.go b/services/servicestage/v2/model/model_list_runtimes_request.go new file mode 100644 index 0000000000..a70c00ed14 --- /dev/null +++ b/services/servicestage/v2/model/model_list_runtimes_request.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListRuntimesRequest struct { +} + +func (o ListRuntimesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListRuntimesRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_runtimes_response.go b/services/servicestage/v2/model/model_list_runtimes_response.go new file mode 100644 index 0000000000..bc51dc8829 --- /dev/null +++ b/services/servicestage/v2/model/model_list_runtimes_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListRuntimesResponse struct { + // 运行时列表。 + Runtimes *[]RuntimeTypeView `json:"runtimes,omitempty"` +} + +func (o ListRuntimesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListRuntimesResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_tags_request.go b/services/servicestage/v2/model/model_list_tags_request.go new file mode 100644 index 0000000000..ed987869c8 --- /dev/null +++ b/services/servicestage/v2/model/model_list_tags_request.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListTagsRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` +} + +func (o ListTagsRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTagsRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_tags_response.go b/services/servicestage/v2/model/model_list_tags_response.go new file mode 100644 index 0000000000..5d049ac575 --- /dev/null +++ b/services/servicestage/v2/model/model_list_tags_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListTagsResponse struct { + // 项目tag标签列表。 + Tags *[]string `json:"tags,omitempty"` +} + +func (o ListTagsResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTagsResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_templates_request.go b/services/servicestage/v2/model/model_list_templates_request.go new file mode 100644 index 0000000000..d855ea6cd4 --- /dev/null +++ b/services/servicestage/v2/model/model_list_templates_request.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListTemplatesRequest struct { +} + +func (o ListTemplatesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTemplatesRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_templates_response.go b/services/servicestage/v2/model/model_list_templates_response.go new file mode 100644 index 0000000000..e03053440e --- /dev/null +++ b/services/servicestage/v2/model/model_list_templates_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListTemplatesResponse struct { + // 模板列表。 + Templates *[]TemplateView `json:"templates,omitempty"` +} + +func (o ListTemplatesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTemplatesResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_trees_request.go b/services/servicestage/v2/model/model_list_trees_request.go new file mode 100644 index 0000000000..1724454bf9 --- /dev/null +++ b/services/servicestage/v2/model/model_list_trees_request.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ListTreesRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + Ref string `json:"ref"` +} + +func (o ListTreesRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTreesRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_list_trees_response.go b/services/servicestage/v2/model/model_list_trees_response.go new file mode 100644 index 0000000000..5a566fa88e --- /dev/null +++ b/services/servicestage/v2/model/model_list_trees_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ListTreesResponse struct { + // 仓库文件列表。 + Paths *[]string `json:"paths,omitempty"` +} + +func (o ListTreesResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ListTreesResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_namespaces_namespaces.go b/services/servicestage/v2/model/model_namespaces_namespaces.go new file mode 100644 index 0000000000..7f36ca5a06 --- /dev/null +++ b/services/servicestage/v2/model/model_namespaces_namespaces.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type NamespacesNamespaces struct { + // 命名空间ID。 + Id string `json:"id"` + // 命名空间名称。 + Name string `json:"name"` +} + +func (o NamespacesNamespaces) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"NamespacesNamespaces", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_o_auth.go b/services/servicestage/v2/model/model_o_auth.go new file mode 100644 index 0000000000..15c45cfffe --- /dev/null +++ b/services/servicestage/v2/model/model_o_auth.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type OAuth struct { + // 授权名称。 + Name string `json:"name"` + // git仓库授权后,重定向回来的url里面的query参数。 + Code string `json:"code"` + // git仓库授权后,一次性的认证编码和随机串。 + State string `json:"state"` +} + +func (o OAuth) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"OAuth", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_project.go b/services/servicestage/v2/model/model_project.go new file mode 100644 index 0000000000..b5965e36b5 --- /dev/null +++ b/services/servicestage/v2/model/model_project.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type Project struct { + // 项目ID。 + Id string `json:"id"` + // 项目名称。 + Name string `json:"name"` + // 项目的clone url路径。 + CloneUrl string `json:"clone_url"` +} + +func (o Project) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Project", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_project_create.go b/services/servicestage/v2/model/model_project_create.go new file mode 100644 index 0000000000..44fe7de36c --- /dev/null +++ b/services/servicestage/v2/model/model_project_create.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type ProjectCreate struct { + // 项目名称。 + Name string `json:"name"` +} + +func (o ProjectCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ProjectCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_refer_resource_create.go b/services/servicestage/v2/model/model_refer_resource_create.go new file mode 100644 index 0000000000..a6503576e2 --- /dev/null +++ b/services/servicestage/v2/model/model_refer_resource_create.go @@ -0,0 +1,30 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 部署资源。 +type ReferResourceCreate struct { + // 资源ID。 + Id string `json:"id"` + Type *ResourceType `json:"type"` + // 应用别名,dcs时才提供,支持“distributed_session”、“distributed_cache”、“distributed_session, distributed_cache”, 默认值是“distributed_session, distributed_cache”。 + ReferAlias *string `json:"refer_alias,omitempty"` + // 引用资源参数。 + Parameters *interface{} `json:"parameters,omitempty"` +} + +func (o ReferResourceCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ReferResourceCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_refer_resources.go b/services/servicestage/v2/model/model_refer_resources.go new file mode 100644 index 0000000000..3544d9c32b --- /dev/null +++ b/services/servicestage/v2/model/model_refer_resources.go @@ -0,0 +1,30 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 部署资源。 +type ReferResources struct { + // 资源ID。 + Id *string `json:"id,omitempty"` + Type *ResourceType `json:"type,omitempty"` + // 应用别名,dcs时才提供,支持“distributed_session”、“distributed_cache”、“distributed_session, distributed_cache”, 默认值是“distributed_session, distributed_cache”。 + ReferAlias *string `json:"refer_alias,omitempty"` + // 引用资源参数。 + Parameters *interface{} `json:"parameters,omitempty"` +} + +func (o ReferResources) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ReferResources", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_resource.go b/services/servicestage/v2/model/model_resource.go new file mode 100644 index 0000000000..9263a904ee --- /dev/null +++ b/services/servicestage/v2/model/model_resource.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type Resource struct { + // 资源ID + Id string `json:"id"` + Type *ResourceType `json:"type"` +} + +func (o Resource) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"Resource", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_resource_refer_alias.go b/services/servicestage/v2/model/model_resource_refer_alias.go new file mode 100644 index 0000000000..37f48504d5 --- /dev/null +++ b/services/servicestage/v2/model/model_resource_refer_alias.go @@ -0,0 +1,23 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 应用别名,dcs时才提供,支持“distributed_session”、“distributed_cache”、“distributed_session, distributed_cache”, 默认值是“distributed_session, distributed_cache”。 +type ResourceReferAlias struct { +} + +func (o ResourceReferAlias) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ResourceReferAlias", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_resource_type.go b/services/servicestage/v2/model/model_resource_type.go new file mode 100644 index 0000000000..bc78e3ae9f --- /dev/null +++ b/services/servicestage/v2/model/model_resource_type.go @@ -0,0 +1,94 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 资源类型。 基础资源:cce、cci、ecs、as。 可选资源:rds、dcs、elb等其他类型。 +type ResourceType struct { + value string +} + +type ResourceTypeEnum struct { + SECURITY_GROUP ResourceType + EIP ResourceType + ELB ResourceType + CCE ResourceType + CCI ResourceType + ECS ResourceType + AS ResourceType + CSE ResourceType + DCS ResourceType + RDS ResourceType + PVC ResourceType + APM ResourceType +} + +func GetResourceTypeEnum() ResourceTypeEnum { + return ResourceTypeEnum{ + SECURITY_GROUP: ResourceType{ + value: "security_group", + }, + EIP: ResourceType{ + value: "eip", + }, + ELB: ResourceType{ + value: "elb", + }, + CCE: ResourceType{ + value: "cce", + }, + CCI: ResourceType{ + value: "cci", + }, + ECS: ResourceType{ + value: "ecs", + }, + AS: ResourceType{ + value: "as", + }, + CSE: ResourceType{ + value: "cse", + }, + DCS: ResourceType{ + value: "dcs", + }, + RDS: ResourceType{ + value: "rds", + }, + PVC: ResourceType{ + value: "pvc", + }, + APM: ResourceType{ + value: "apm", + }, + } +} + +func (c ResourceType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ResourceType) 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/services/servicestage/v2/model/model_runtime_type.go b/services/servicestage/v2/model/model_runtime_type.go new file mode 100644 index 0000000000..6f19a906e7 --- /dev/null +++ b/services/servicestage/v2/model/model_runtime_type.go @@ -0,0 +1,74 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 运行时类型。 +type RuntimeType struct { + value string +} + +type RuntimeTypeEnum struct { + TOMCAT8 RuntimeType + JAVA8 RuntimeType + PHP7 RuntimeType + NODEJS8 RuntimeType + DOCKER RuntimeType + PYTHON3 RuntimeType + CUSTOM RuntimeType +} + +func GetRuntimeTypeEnum() RuntimeTypeEnum { + return RuntimeTypeEnum{ + TOMCAT8: RuntimeType{ + value: "Tomcat8", + }, + JAVA8: RuntimeType{ + value: "Java8", + }, + PHP7: RuntimeType{ + value: "Php7", + }, + NODEJS8: RuntimeType{ + value: "Nodejs8", + }, + DOCKER: RuntimeType{ + value: "Docker", + }, + PYTHON3: RuntimeType{ + value: "Python3", + }, + CUSTOM: RuntimeType{ + value: "Custom", + }, + } +} + +func (c RuntimeType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *RuntimeType) 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/services/servicestage/v2/model/model_runtime_type_view.go b/services/servicestage/v2/model/model_runtime_type_view.go new file mode 100644 index 0000000000..1a0bb5e65c --- /dev/null +++ b/services/servicestage/v2/model/model_runtime_type_view.go @@ -0,0 +1,31 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 运行时参数。 +type RuntimeTypeView struct { + // 类型名称。 + TypeName *string `json:"type_name,omitempty"` + // 显示名称。 + DisplayName *string `json:"display_name,omitempty"` + // 容器默认端口。 + ContainerDefaultPort *int32 `json:"container_default_port,omitempty"` + // 类型描述。 + TypeDesc *string `json:"type_desc,omitempty"` +} + +func (o RuntimeTypeView) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"RuntimeTypeView", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_application_configuration_request.go b/services/servicestage/v2/model/model_show_application_configuration_request.go new file mode 100644 index 0000000000..3039b2a27a --- /dev/null +++ b/services/servicestage/v2/model/model_show_application_configuration_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowApplicationConfigurationRequest struct { + ApplicationId string `json:"application_id"` + EnvironmentId *string `json:"environment_id,omitempty"` +} + +func (o ShowApplicationConfigurationRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowApplicationConfigurationRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_application_configuration_response.go b/services/servicestage/v2/model/model_show_application_configuration_response.go new file mode 100644 index 0000000000..67893ee290 --- /dev/null +++ b/services/servicestage/v2/model/model_show_application_configuration_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowApplicationConfigurationResponse struct { + // 应用配置列表。 + Configuration *[]ApplicationListConfigConfiguration1 `json:"configuration,omitempty"` +} + +func (o ShowApplicationConfigurationResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowApplicationConfigurationResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_application_detail_request.go b/services/servicestage/v2/model/model_show_application_detail_request.go new file mode 100644 index 0000000000..085de30d12 --- /dev/null +++ b/services/servicestage/v2/model/model_show_application_detail_request.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowApplicationDetailRequest struct { + ApplicationId string `json:"application_id"` +} + +func (o ShowApplicationDetailRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowApplicationDetailRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_application_detail_response.go b/services/servicestage/v2/model/model_show_application_detail_response.go new file mode 100644 index 0000000000..cefc42e9c6 --- /dev/null +++ b/services/servicestage/v2/model/model_show_application_detail_response.go @@ -0,0 +1,41 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowApplicationDetailResponse struct { + // 组件个数。 + ComponentCount *int32 `json:"component_count,omitempty"` + // 应用ID。 + Id *string `json:"id,omitempty"` + // 应用名称。 + Name *string `json:"name,omitempty"` + // 应用描述。 + Description *string `json:"description,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ShowApplicationDetailResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowApplicationDetailResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_component_detail_request.go b/services/servicestage/v2/model/model_show_component_detail_request.go new file mode 100644 index 0000000000..82bf28357d --- /dev/null +++ b/services/servicestage/v2/model/model_show_component_detail_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowComponentDetailRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` +} + +func (o ShowComponentDetailRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowComponentDetailRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_component_detail_response.go b/services/servicestage/v2/model/model_show_component_detail_response.go new file mode 100644 index 0000000000..932e3b9918 --- /dev/null +++ b/services/servicestage/v2/model/model_show_component_detail_response.go @@ -0,0 +1,46 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowComponentDetailResponse struct { + // 应用组件ID。 + Id *string `json:"id,omitempty"` + // 应用组件名称 + Name *string `json:"name,omitempty"` + // 取值0或1。 0:表示正常状态。 1:表示正在删除。 + Status *int32 `json:"status,omitempty"` + Runtime *RuntimeType `json:"runtime,omitempty"` + Category *ComponentCategory `json:"category,omitempty"` + SubCategory *ComponentSubCategory `json:"sub_category,omitempty"` + // 描述。 + Description *string `json:"description,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 应用ID。 + ApplicationId *string `json:"application_id,omitempty"` + Source *SourceObject `json:"source,omitempty"` + Build *BuildInfo `json:"build,omitempty"` + // 流水线Id列表,最多10个。 + PipelineIds *[]string `json:"pipeline_ids,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ShowComponentDetailResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowComponentDetailResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_content_request.go b/services/servicestage/v2/model/model_show_content_request.go new file mode 100644 index 0000000000..8086070354 --- /dev/null +++ b/services/servicestage/v2/model/model_show_content_request.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowContentRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + Path string `json:"path"` + Ref string `json:"ref"` +} + +func (o ShowContentRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowContentRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_content_response.go b/services/servicestage/v2/model/model_show_content_response.go new file mode 100644 index 0000000000..0d4016346a --- /dev/null +++ b/services/servicestage/v2/model/model_show_content_response.go @@ -0,0 +1,70 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Response Object +type ShowContentResponse struct { + // 文件路径。 + Path *string `json:"path,omitempty"` + // commit 哈希。 + Sha *string `json:"sha,omitempty"` + // 编码方式:base64或者text/plain。 + Encoding *ShowContentResponseEncoding `json:"encoding,omitempty"` + // 文件内容。 + Content *string `json:"content,omitempty"` +} + +func (o ShowContentResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowContentResponse", string(data)}, " ") +} + +type ShowContentResponseEncoding struct { + value string +} + +type ShowContentResponseEncodingEnum struct { + BASE64 ShowContentResponseEncoding + TEXT_PLAIN ShowContentResponseEncoding +} + +func GetShowContentResponseEncodingEnum() ShowContentResponseEncodingEnum { + return ShowContentResponseEncodingEnum{ + BASE64: ShowContentResponseEncoding{ + value: "base64", + }, + TEXT_PLAIN: ShowContentResponseEncoding{ + value: "text/plain", + }, + } +} + +func (c ShowContentResponseEncoding) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ShowContentResponseEncoding) 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/services/servicestage/v2/model/model_show_environment_detail_request.go b/services/servicestage/v2/model/model_show_environment_detail_request.go new file mode 100644 index 0000000000..3a99e869a2 --- /dev/null +++ b/services/servicestage/v2/model/model_show_environment_detail_request.go @@ -0,0 +1,24 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowEnvironmentDetailRequest struct { + EnvironmentId string `json:"environment_id"` +} + +func (o ShowEnvironmentDetailRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowEnvironmentDetailRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_environment_detail_response.go b/services/servicestage/v2/model/model_show_environment_detail_response.go new file mode 100644 index 0000000000..096ca44e00 --- /dev/null +++ b/services/servicestage/v2/model/model_show_environment_detail_response.go @@ -0,0 +1,49 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowEnvironmentDetailResponse struct { + // 环境ID。 + Id *string `json:"id,omitempty"` + // 环境名称。 + Name *string `json:"name,omitempty"` + // 环境别名。 + Alias *string `json:"alias,omitempty"` + // 环境描述。 + Description *string `json:"description,omitempty"` + // 项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + // 收费模式。 + ChargeMode *string `json:"charge_mode,omitempty"` + // 虚拟私有云ID。 + VpcId *string `json:"vpc_id,omitempty"` + // 基础资源。 + BaseResources *[]Resource `json:"base_resources,omitempty"` + // 可选资源。 + OptionalResources *[]Resource `json:"optional_resources,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` +} + +func (o ShowEnvironmentDetailResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowEnvironmentDetailResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_instance_detail_request.go b/services/servicestage/v2/model/model_show_instance_detail_request.go new file mode 100644 index 0000000000..0f3e9cdce4 --- /dev/null +++ b/services/servicestage/v2/model/model_show_instance_detail_request.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowInstanceDetailRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + InstanceId string `json:"instance_id"` +} + +func (o ShowInstanceDetailRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowInstanceDetailRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_instance_detail_response.go b/services/servicestage/v2/model/model_show_instance_detail_response.go new file mode 100644 index 0000000000..ae1432cedd --- /dev/null +++ b/services/servicestage/v2/model/model_show_instance_detail_response.go @@ -0,0 +1,50 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowInstanceDetailResponse struct { + // 应用组件实例ID。 + Id *string `json:"id,omitempty"` + // 应用组件实例名称。 + Name *string `json:"name,omitempty"` + // 实例描述。 + Description *string `json:"description,omitempty"` + // 应用组件环境ID。 + EnvironmentId *string `json:"environment_id,omitempty"` + PlatformType *InstancePlatformType `json:"platform_type,omitempty"` + FlavorId *FlavorId `json:"flavor_id,omitempty"` + // 组件部署件。key为组件component_name,对于Docker多容器场景,key为容器名称。 + Artifacts map[string]interface{} `json:"artifacts,omitempty"` + // 应用组件版本号。 + Version *string `json:"version,omitempty"` + // 应用组件配置,如环境变量。 + Configuration *interface{} `json:"configuration,omitempty"` + // 创建人。 + Creator *string `json:"creator,omitempty"` + // 创建时间。 + CreateTime *int64 `json:"create_time,omitempty"` + // 修改时间。 + UpdateTime *int64 `json:"update_time,omitempty"` + // 访问方式列表。 + ExternalAccesses *[]ExternalAccesses `json:"external_accesses,omitempty"` + // 部署资源列表。 + ReferResources *[]ReferResources `json:"refer_resources,omitempty"` + StatusDetail *InstanceStatusView `json:"status_detail,omitempty"` +} + +func (o ShowInstanceDetailResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowInstanceDetailResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_job_detail_request.go b/services/servicestage/v2/model/model_show_job_detail_request.go new file mode 100644 index 0000000000..6e646203fc --- /dev/null +++ b/services/servicestage/v2/model/model_show_job_detail_request.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowJobDetailRequest struct { + JobId string `json:"job_id"` + InstanceId *string `json:"instance_id,omitempty"` + Limit *int32 `json:"limit,omitempty"` + Offset *int32 `json:"offset,omitempty"` + Desc *string `json:"desc,omitempty"` +} + +func (o ShowJobDetailRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowJobDetailRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_job_detail_response.go b/services/servicestage/v2/model/model_show_job_detail_response.go new file mode 100644 index 0000000000..54eae56b76 --- /dev/null +++ b/services/servicestage/v2/model/model_show_job_detail_response.go @@ -0,0 +1,28 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowJobDetailResponse struct { + // 部署任务数量。 + TaskCount *int32 `json:"task_count,omitempty"` + Job *JobInfo `json:"job,omitempty"` + // 部署任务列表。 + Tasks *[]TaskInfo `json:"tasks,omitempty"` +} + +func (o ShowJobDetailResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowJobDetailResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_project_detail_request.go b/services/servicestage/v2/model/model_show_project_detail_request.go new file mode 100644 index 0000000000..45dc95afdc --- /dev/null +++ b/services/servicestage/v2/model/model_show_project_detail_request.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type ShowProjectDetailRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + CloneUrl string `json:"clone_url"` +} + +func (o ShowProjectDetailRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowProjectDetailRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_project_detail_response.go b/services/servicestage/v2/model/model_show_project_detail_response.go new file mode 100644 index 0000000000..ccb9430c25 --- /dev/null +++ b/services/servicestage/v2/model/model_show_project_detail_response.go @@ -0,0 +1,31 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowProjectDetailResponse struct { + // 命名空间ID。 + NamespaceId *string `json:"namespace_id,omitempty"` + // 命名空间。 + Namespace *string `json:"namespace,omitempty"` + // 仓库项目ID。 + ProjectId *string `json:"project_id,omitempty"` + // 仓库项目。 + Project *string `json:"project,omitempty"` +} + +func (o ShowProjectDetailResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowProjectDetailResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_show_redirect_url_request.go b/services/servicestage/v2/model/model_show_redirect_url_request.go new file mode 100644 index 0000000000..fd47891d3c --- /dev/null +++ b/services/servicestage/v2/model/model_show_redirect_url_request.go @@ -0,0 +1,72 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// Request Object +type ShowRedirectUrlRequest struct { + RepoType ShowRedirectUrlRequestRepoType `json:"repo_type"` + Tag *string `json:"tag,omitempty"` +} + +func (o ShowRedirectUrlRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowRedirectUrlRequest", string(data)}, " ") +} + +type ShowRedirectUrlRequestRepoType struct { + value string +} + +type ShowRedirectUrlRequestRepoTypeEnum struct { + GITHUB ShowRedirectUrlRequestRepoType + GITLAB ShowRedirectUrlRequestRepoType + GITEE ShowRedirectUrlRequestRepoType + BITBUCKET ShowRedirectUrlRequestRepoType +} + +func GetShowRedirectUrlRequestRepoTypeEnum() ShowRedirectUrlRequestRepoTypeEnum { + return ShowRedirectUrlRequestRepoTypeEnum{ + GITHUB: ShowRedirectUrlRequestRepoType{ + value: "github", + }, + GITLAB: ShowRedirectUrlRequestRepoType{ + value: "gitlab", + }, + GITEE: ShowRedirectUrlRequestRepoType{ + value: "gitee", + }, + BITBUCKET: ShowRedirectUrlRequestRepoType{ + value: "bitbucket", + }, + } +} + +func (c ShowRedirectUrlRequestRepoType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *ShowRedirectUrlRequestRepoType) 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/services/servicestage/v2/model/model_show_redirect_url_response.go b/services/servicestage/v2/model/model_show_redirect_url_response.go new file mode 100644 index 0000000000..ca413f0308 --- /dev/null +++ b/services/servicestage/v2/model/model_show_redirect_url_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type ShowRedirectUrlResponse struct { + // 授权重定向URL。 + Url *string `json:"url,omitempty"` +} + +func (o ShowRedirectUrlResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"ShowRedirectUrlResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_source_kind.go b/services/servicestage/v2/model/model_source_kind.go new file mode 100644 index 0000000000..0bcf39a91b --- /dev/null +++ b/services/servicestage/v2/model/model_source_kind.go @@ -0,0 +1,54 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 来源类型。支持源码code和artifact软件包。 +type SourceKind struct { + value string +} + +type SourceKindEnum struct { + CODE SourceKind + ARTIFACT SourceKind +} + +func GetSourceKindEnum() SourceKindEnum { + return SourceKindEnum{ + CODE: SourceKind{ + value: "code", + }, + ARTIFACT: SourceKind{ + value: "artifact", + }, + } +} + +func (c SourceKind) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *SourceKind) 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/services/servicestage/v2/model/model_source_object.go b/services/servicestage/v2/model/model_source_object.go new file mode 100644 index 0000000000..e357276bb3 --- /dev/null +++ b/services/servicestage/v2/model/model_source_object.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 组件来源。 +type SourceObject struct { + Kind *SourceKind `json:"kind,omitempty"` + Spec *SourceOrArtifact `json:"spec,omitempty"` +} + +func (o SourceObject) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"SourceObject", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_source_or_artifact.go b/services/servicestage/v2/model/model_source_or_artifact.go new file mode 100644 index 0000000000..e87836f4d7 --- /dev/null +++ b/services/servicestage/v2/model/model_source_or_artifact.go @@ -0,0 +1,111 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 当组件来源的kind是artifact时spec的内容结构。 +type SourceOrArtifact struct { + // 存储方式,支持软件仓库swr和对象存储obs。 + Storage *SourceOrArtifactStorage `json:"storage,omitempty"` + // 类别,支持package。 + Type *SourceOrArtifactType `json:"type,omitempty"` + // 软件包源码地址,如https://{IP}:20202/xxx/xxx.jar。 + Url *string `json:"url,omitempty"` + // 认证方式,支持iam,none,默认是iam。 + Auth *string `json:"auth,omitempty"` + RepoType *SourceRepoType `json:"repo_type,omitempty"` + // 代码仓url,如:https://github.com/example/demo.git + RepoUrl *string `json:"repo_url,omitempty"` + // 代码分支或者Tag,默认是master。 + RepoRef *string `json:"repo_ref,omitempty"` + // 授权名称,在授权列表获取。 + RepoAuth *string `json:"repo_auth,omitempty"` +} + +func (o SourceOrArtifact) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"SourceOrArtifact", string(data)}, " ") +} + +type SourceOrArtifactStorage struct { + value string +} + +type SourceOrArtifactStorageEnum struct { + SWR SourceOrArtifactStorage + OBS SourceOrArtifactStorage +} + +func GetSourceOrArtifactStorageEnum() SourceOrArtifactStorageEnum { + return SourceOrArtifactStorageEnum{ + SWR: SourceOrArtifactStorage{ + value: "swr", + }, + OBS: SourceOrArtifactStorage{ + value: "obs", + }, + } +} + +func (c SourceOrArtifactStorage) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *SourceOrArtifactStorage) 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 SourceOrArtifactType struct { + value string +} + +type SourceOrArtifactTypeEnum struct { + PACKAGE SourceOrArtifactType +} + +func GetSourceOrArtifactTypeEnum() SourceOrArtifactTypeEnum { + return SourceOrArtifactTypeEnum{ + PACKAGE: SourceOrArtifactType{ + value: "package", + }, + } +} + +func (c SourceOrArtifactType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *SourceOrArtifactType) 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/services/servicestage/v2/model/model_source_repo_type.go b/services/servicestage/v2/model/model_source_repo_type.go new file mode 100644 index 0000000000..78775ee187 --- /dev/null +++ b/services/servicestage/v2/model/model_source_repo_type.go @@ -0,0 +1,62 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 代码仓类型,支持GitHub、GitLab、Gitee、Bitbucket。 +type SourceRepoType struct { + value string +} + +type SourceRepoTypeEnum struct { + GIT_HUB SourceRepoType + GIT_LAB SourceRepoType + GITEE SourceRepoType + BITBUCKET SourceRepoType +} + +func GetSourceRepoTypeEnum() SourceRepoTypeEnum { + return SourceRepoTypeEnum{ + GIT_HUB: SourceRepoType{ + value: "GitHub", + }, + GIT_LAB: SourceRepoType{ + value: "GitLab", + }, + GITEE: SourceRepoType{ + value: "Gitee", + }, + BITBUCKET: SourceRepoType{ + value: "Bitbucket", + }, + } +} + +func (c SourceRepoType) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *SourceRepoType) 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/services/servicestage/v2/model/model_tag_create.go b/services/servicestage/v2/model/model_tag_create.go new file mode 100644 index 0000000000..1605fd93b1 --- /dev/null +++ b/services/servicestage/v2/model/model_tag_create.go @@ -0,0 +1,26 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +type TagCreate struct { + // tag标签名称。 + Name string `json:"name"` + // tag标签描述信息。 + Description string `json:"description"` +} + +func (o TagCreate) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TagCreate", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_task_info.go b/services/servicestage/v2/model/model_task_info.go new file mode 100644 index 0000000000..3e21194a09 --- /dev/null +++ b/services/servicestage/v2/model/model_task_info.go @@ -0,0 +1,88 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 。 +type TaskInfo struct { + // 创建时间。 + CreatedAt *string `json:"CREATED_AT,omitempty"` + // 健康检查时间。 + LastHealthCheck *string `json:"LAST_HEALTH_CHECK,omitempty"` + // 消息。 + Messages *string `json:"MESSAGES,omitempty"` + // 创建用户ID。 + OwnerId *string `json:"OWNER_ID,omitempty"` + // 任务ID。 + TaskId *string `json:"TASK_ID,omitempty"` + // 任务序号。 + TaskIndex *int32 `json:"TASK_INDEX,omitempty"` + // 任务名称。 + TaskName *string `json:"TASK_NAME,omitempty"` + // 任务状态。 + TaskStatus *TaskInfoTaskStatus `json:"TASK_STATUS,omitempty"` + // 任务类型。 + TaskType *string `json:"TASK_TYPE,omitempty"` +} + +func (o TaskInfo) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TaskInfo", string(data)}, " ") +} + +type TaskInfoTaskStatus struct { + value string +} + +type TaskInfoTaskStatusEnum struct { + RUNNING TaskInfoTaskStatus + SKIPPED TaskInfoTaskStatus + FAILED TaskInfoTaskStatus + SUCCEEDED TaskInfoTaskStatus +} + +func GetTaskInfoTaskStatusEnum() TaskInfoTaskStatusEnum { + return TaskInfoTaskStatusEnum{ + RUNNING: TaskInfoTaskStatus{ + value: "RUNNING", + }, + SKIPPED: TaskInfoTaskStatus{ + value: "SKIPPED", + }, + FAILED: TaskInfoTaskStatus{ + value: "FAILED", + }, + SUCCEEDED: TaskInfoTaskStatus{ + value: "SUCCEEDED", + }, + } +} + +func (c TaskInfoTaskStatus) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *TaskInfoTaskStatus) 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/services/servicestage/v2/model/model_template.go b/services/servicestage/v2/model/model_template.go new file mode 100644 index 0000000000..f12e8b9a00 --- /dev/null +++ b/services/servicestage/v2/model/model_template.go @@ -0,0 +1,58 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + "strings" +) + +// 模板名称。 +type Template struct { + value string +} + +type TemplateEnum struct { + MAGENTO Template + MBAAS Template + WORDPRESS Template +} + +func GetTemplateEnum() TemplateEnum { + return TemplateEnum{ + MAGENTO: Template{ + value: "magento", + }, + MBAAS: Template{ + value: "mbaas", + }, + WORDPRESS: Template{ + value: "wordpress", + }, + } +} + +func (c Template) MarshalJSON() ([]byte, error) { + return json.Marshal(c.value) +} + +func (c *Template) 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/services/servicestage/v2/model/model_template_view.go b/services/servicestage/v2/model/model_template_view.go new file mode 100644 index 0000000000..7b2eca4fb2 --- /dev/null +++ b/services/servicestage/v2/model/model_template_view.go @@ -0,0 +1,31 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// 模板参数。 +type TemplateView struct { + TemplateName *Template `json:"template_name,omitempty"` + // 模板描述。 + TemplateDesc *string `json:"template_desc,omitempty"` + // 模板类别。 + SourceType *string `json:"source_type,omitempty"` + // 源码仓库URL + SourceRepoUrl *string `json:"source_repo_url,omitempty"` + Runtime *RuntimeType `json:"runtime,omitempty"` +} + +func (o TemplateView) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"TemplateView", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_update_file_request.go b/services/servicestage/v2/model/model_update_file_request.go new file mode 100644 index 0000000000..c9a349f6a9 --- /dev/null +++ b/services/servicestage/v2/model/model_update_file_request.go @@ -0,0 +1,29 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type UpdateFileRequest struct { + XRepoAuth string `json:"X-Repo-Auth"` + Namespace string `json:"namespace"` + Project string `json:"project"` + Path string `json:"path"` + Ref string `json:"ref"` + Body *FileUpdate `json:"body,omitempty"` +} + +func (o UpdateFileRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateFileRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_update_file_response.go b/services/servicestage/v2/model/model_update_file_response.go new file mode 100644 index 0000000000..591f1a93d1 --- /dev/null +++ b/services/servicestage/v2/model/model_update_file_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type UpdateFileResponse struct { + // 文件路径。 + Path *string `json:"path,omitempty"` +} + +func (o UpdateFileResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateFileResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_update_instance_action_request.go b/services/servicestage/v2/model/model_update_instance_action_request.go new file mode 100644 index 0000000000..e769c817b9 --- /dev/null +++ b/services/servicestage/v2/model/model_update_instance_action_request.go @@ -0,0 +1,27 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type UpdateInstanceActionRequest struct { + ApplicationId string `json:"application_id"` + ComponentId string `json:"component_id"` + InstanceId string `json:"instance_id"` + Body *InstanceAction `json:"body,omitempty"` +} + +func (o UpdateInstanceActionRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateInstanceActionRequest", string(data)}, " ") +} diff --git a/services/servicestage/v2/model/model_update_instance_action_response.go b/services/servicestage/v2/model/model_update_instance_action_response.go new file mode 100644 index 0000000000..ef995c285c --- /dev/null +++ b/services/servicestage/v2/model/model_update_instance_action_response.go @@ -0,0 +1,25 @@ +/* + * ServiceStage + * + * ServiceStage的API,包括应用管理和仓库授权管理 + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Response Object +type UpdateInstanceActionResponse struct { + // Job ID。 + JobId *string `json:"job_id,omitempty"` +} + +func (o UpdateInstanceActionResponse) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"UpdateInstanceActionResponse", string(data)}, " ") +} diff --git a/services/servicestage/v2/serviceStage_client.go b/services/servicestage/v2/serviceStage_client.go new file mode 100644 index 0000000000..a9a58555a2 --- /dev/null +++ b/services/servicestage/v2/serviceStage_client.go @@ -0,0 +1,602 @@ +package v2 + +import ( + http_client "github.com/huaweicloud/huaweicloud-sdk-go-v3/core" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/servicestage/v2/model" +) + +type ServiceStageClient struct { + hcClient *http_client.HcHttpClient +} + +func NewServiceStageClient(hcClient *http_client.HcHttpClient) *ServiceStageClient { + return &ServiceStageClient{hcClient: hcClient} +} + +func ServiceStageClientBuilder() *http_client.HcHttpClientBuilder { + builder := http_client.NewHcHttpClientBuilder() + return builder +} + +//此API通过应用ID修改应用信息。 +func (c *ServiceStageClient) ChangeApplication(request *model.ChangeApplicationRequest) (*model.ChangeApplicationResponse, error) { + requestDef := GenReqDefForChangeApplication() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ChangeApplicationResponse), nil + } +} + +//通过此API修改应用配置信息。 +func (c *ServiceStageClient) ChangeApplicationConfiguration(request *model.ChangeApplicationConfigurationRequest) (*model.ChangeApplicationConfigurationResponse, error) { + requestDef := GenReqDefForChangeApplicationConfiguration() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ChangeApplicationConfigurationResponse), nil + } +} + +//此API通过组件ID修改组件信息。 +func (c *ServiceStageClient) ChangeComponent(request *model.ChangeComponentRequest) (*model.ChangeComponentResponse, error) { + requestDef := GenReqDefForChangeComponent() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ChangeComponentResponse), nil + } +} + +//此API通过环境ID修改环境信息。 +func (c *ServiceStageClient) ChangeEnvironment(request *model.ChangeEnvironmentRequest) (*model.ChangeEnvironmentResponse, error) { + requestDef := GenReqDefForChangeEnvironment() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ChangeEnvironmentResponse), nil + } +} + +//通过此API修改应用组件实例。 +func (c *ServiceStageClient) ChangeInstance(request *model.ChangeInstanceRequest) (*model.ChangeInstanceResponse, error) { + requestDef := GenReqDefForChangeInstance() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ChangeInstanceResponse), nil + } +} + +//此API用来修改环境资源。 +func (c *ServiceStageClient) ChangeResourceInEnvironment(request *model.ChangeResourceInEnvironmentRequest) (*model.ChangeResourceInEnvironmentResponse, error) { + requestDef := GenReqDefForChangeResourceInEnvironment() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ChangeResourceInEnvironmentResponse), nil + } +} + +//应用是一个功能相对完备的业务系统,由一个或多个特性相关的组件组成。 此API用来创建应用。 +func (c *ServiceStageClient) CreateApplication(request *model.CreateApplicationRequest) (*model.CreateApplicationResponse, error) { + requestDef := GenReqDefForCreateApplication() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateApplicationResponse), nil + } +} + +//应用组件是组成应用的某个业务特性实现,以代码或者软件包为载体,可独立部署运行。 此API用来在应用中创建组件。 +func (c *ServiceStageClient) CreateComponent(request *model.CreateComponentRequest) (*model.CreateComponentResponse, error) { + requestDef := GenReqDefForCreateComponent() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateComponentResponse), nil + } +} + +//环境是用于应用部署和运行的计算、存储、网络等基础设施的集合。Servicestage把相同VPC下的CCE集群加上多个ELB、RDS、DCS实例组合为一个环境,如:开发环境,测试环境,预生产环境,生产环境。环境内网络互通,可以按环境维度来管理资源、部署服务,减少具体基础设施运维管理的复杂性。 此API用来创建环境。 +func (c *ServiceStageClient) CreateEnvironment(request *model.CreateEnvironmentRequest) (*model.CreateEnvironmentResponse, error) { + requestDef := GenReqDefForCreateEnvironment() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateEnvironmentResponse), nil + } +} + +//此API用来创建应用组件实例。 +func (c *ServiceStageClient) CreateInstance(request *model.CreateInstanceRequest) (*model.CreateInstanceResponse, error) { + requestDef := GenReqDefForCreateInstance() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateInstanceResponse), nil + } +} + +//此API通过应用ID删除应用。 +func (c *ServiceStageClient) DeleteApplication(request *model.DeleteApplicationRequest) (*model.DeleteApplicationResponse, error) { + requestDef := GenReqDefForDeleteApplication() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteApplicationResponse), nil + } +} + +//通过此API删除应用配置信息。 +func (c *ServiceStageClient) DeleteApplicationConfiguration(request *model.DeleteApplicationConfigurationRequest) (*model.DeleteApplicationConfigurationResponse, error) { + requestDef := GenReqDefForDeleteApplicationConfiguration() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteApplicationConfigurationResponse), nil + } +} + +//此API通过应用组件ID删除应用组件。 +func (c *ServiceStageClient) DeleteComponent(request *model.DeleteComponentRequest) (*model.DeleteComponentResponse, error) { + requestDef := GenReqDefForDeleteComponent() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteComponentResponse), nil + } +} + +//此API通过环境ID删除环境。 +func (c *ServiceStageClient) DeleteEnvironment(request *model.DeleteEnvironmentRequest) (*model.DeleteEnvironmentResponse, error) { + requestDef := GenReqDefForDeleteEnvironment() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteEnvironmentResponse), nil + } +} + +//通过此API删除应用组件实例。 +func (c *ServiceStageClient) DeleteInstance(request *model.DeleteInstanceRequest) (*model.DeleteInstanceResponse, error) { + requestDef := GenReqDefForDeleteInstance() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteInstanceResponse), nil + } +} + +//通过此API可以获取所有已经创建的应用。 +func (c *ServiceStageClient) ListApplications(request *model.ListApplicationsRequest) (*model.ListApplicationsResponse, error) { + requestDef := GenReqDefForListApplications() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListApplicationsResponse), nil + } +} + +//通过此API获取应用下所有应用组件。 +func (c *ServiceStageClient) ListComponents(request *model.ListComponentsRequest) (*model.ListComponentsResponse, error) { + requestDef := GenReqDefForListComponents() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListComponentsResponse), nil + } +} + +//此API用来获取所有已经创建环境。 +func (c *ServiceStageClient) ListEnvironments(request *model.ListEnvironmentsRequest) (*model.ListEnvironmentsResponse, error) { + requestDef := GenReqDefForListEnvironments() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListEnvironmentsResponse), nil + } +} + +//通过此API获取应用组件实例快照信息。 +func (c *ServiceStageClient) ListInstanceSnapshots(request *model.ListInstanceSnapshotsRequest) (*model.ListInstanceSnapshotsResponse, error) { + requestDef := GenReqDefForListInstanceSnapshots() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListInstanceSnapshotsResponse), nil + } +} + +//通过此API获取组件下的所有组件实例。 +func (c *ServiceStageClient) ListInstances(request *model.ListInstancesRequest) (*model.ListInstancesResponse, error) { + requestDef := GenReqDefForListInstances() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListInstancesResponse), nil + } +} + +//通过此API获取应用配置信息。 +func (c *ServiceStageClient) ShowApplicationConfiguration(request *model.ShowApplicationConfigurationRequest) (*model.ShowApplicationConfigurationResponse, error) { + requestDef := GenReqDefForShowApplicationConfiguration() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowApplicationConfigurationResponse), nil + } +} + +//此API通过应用ID获取应用详细信息。 +func (c *ServiceStageClient) ShowApplicationDetail(request *model.ShowApplicationDetailRequest) (*model.ShowApplicationDetailResponse, error) { + requestDef := GenReqDefForShowApplicationDetail() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowApplicationDetailResponse), nil + } +} + +//通过组件ID获取应用组件信息。 +func (c *ServiceStageClient) ShowComponentDetail(request *model.ShowComponentDetailRequest) (*model.ShowComponentDetailResponse, error) { + requestDef := GenReqDefForShowComponentDetail() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowComponentDetailResponse), nil + } +} + +//此API通过环境ID获取环境详细信息。 +func (c *ServiceStageClient) ShowEnvironmentDetail(request *model.ShowEnvironmentDetailRequest) (*model.ShowEnvironmentDetailResponse, error) { + requestDef := GenReqDefForShowEnvironmentDetail() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowEnvironmentDetailResponse), nil + } +} + +//此API通过实例ID获取实例详细信息。 +func (c *ServiceStageClient) ShowInstanceDetail(request *model.ShowInstanceDetailRequest) (*model.ShowInstanceDetailResponse, error) { + requestDef := GenReqDefForShowInstanceDetail() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowInstanceDetailResponse), nil + } +} + +//通过此API获取部署任务详细信息。 +func (c *ServiceStageClient) ShowJobDetail(request *model.ShowJobDetailRequest) (*model.ShowJobDetailResponse, error) { + requestDef := GenReqDefForShowJobDetail() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowJobDetailResponse), nil + } +} + +//通过此API获取对组件实例的操作。 +func (c *ServiceStageClient) UpdateInstanceAction(request *model.UpdateInstanceActionRequest) (*model.UpdateInstanceActionResponse, error) { + requestDef := GenReqDefForUpdateInstanceAction() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateInstanceActionResponse), nil + } +} + +//在指定仓库项目下创建文件。 +func (c *ServiceStageClient) CreateFile(request *model.CreateFileRequest) (*model.CreateFileResponse, error) { + requestDef := GenReqDefForCreateFile() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateFileResponse), nil + } +} + +//创建指定项目的hook。 +func (c *ServiceStageClient) CreateHook(request *model.CreateHookRequest) (*model.CreateHookResponse, error) { + requestDef := GenReqDefForCreateHook() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateHookResponse), nil + } +} + +//创建指定Git仓库类型的OAuth授权。 +func (c *ServiceStageClient) CreateOAuth(request *model.CreateOAuthRequest) (*model.CreateOAuthResponse, error) { + requestDef := GenReqDefForCreateOAuth() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateOAuthResponse), nil + } +} + +//创建指定Git仓库类型的口令授权。 +func (c *ServiceStageClient) CreatePasswordAuth(request *model.CreatePasswordAuthRequest) (*model.CreatePasswordAuthResponse, error) { + requestDef := GenReqDefForCreatePasswordAuth() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreatePasswordAuthResponse), nil + } +} + +//创建指定Git仓库类型的私人令牌授权。 +func (c *ServiceStageClient) CreatePersonalAuth(request *model.CreatePersonalAuthRequest) (*model.CreatePersonalAuthResponse, error) { + requestDef := GenReqDefForCreatePersonalAuth() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreatePersonalAuthResponse), nil + } +} + +//创建指定组织下的软件仓库项目。 +func (c *ServiceStageClient) CreateProject(request *model.CreateProjectRequest) (*model.CreateProjectResponse, error) { + requestDef := GenReqDefForCreateProject() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateProjectResponse), nil + } +} + +//创建指定项目的tag标签。 +func (c *ServiceStageClient) CreateTag(request *model.CreateTagRequest) (*model.CreateTagResponse, error) { + requestDef := GenReqDefForCreateTag() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateTagResponse), nil + } +} + +//通过名称删除仓库授权。 +func (c *ServiceStageClient) DeleteAuthorize(request *model.DeleteAuthorizeRequest) (*model.DeleteAuthorizeResponse, error) { + requestDef := GenReqDefForDeleteAuthorize() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteAuthorizeResponse), nil + } +} + +//删除指定项目仓库下的文件。 +func (c *ServiceStageClient) DeleteFile(request *model.DeleteFileRequest) (*model.DeleteFileResponse, error) { + requestDef := GenReqDefForDeleteFile() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteFileResponse), nil + } +} + +//删除指定项目的hook。 +func (c *ServiceStageClient) DeleteHook(request *model.DeleteHookRequest) (*model.DeleteHookResponse, error) { + requestDef := GenReqDefForDeleteHook() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteHookResponse), nil + } +} + +//删除指定项目的tag标签。 +func (c *ServiceStageClient) DeleteTag(request *model.DeleteTagRequest) (*model.DeleteTagResponse, error) { + requestDef := GenReqDefForDeleteTag() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteTagResponse), nil + } +} + +//获取所有Git仓库授权信息。 +func (c *ServiceStageClient) ListAuthorizations(request *model.ListAuthorizationsRequest) (*model.ListAuthorizationsResponse, error) { + requestDef := GenReqDefForListAuthorizations() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListAuthorizationsResponse), nil + } +} + +//获取指定项目的所有分支列表。 +func (c *ServiceStageClient) ListBranches(request *model.ListBranchesRequest) (*model.ListBranchesResponse, error) { + requestDef := GenReqDefForListBranches() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListBranchesResponse), nil + } +} + +//获取指定项目的最近10次commit提交记录。 +func (c *ServiceStageClient) ListCommits(request *model.ListCommitsRequest) (*model.ListCommitsResponse, error) { + requestDef := GenReqDefForListCommits() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListCommitsResponse), nil + } +} + +//获取指定项目的所有hooks +func (c *ServiceStageClient) ListHooks(request *model.ListHooksRequest) (*model.ListHooksResponse, error) { + requestDef := GenReqDefForListHooks() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListHooksResponse), nil + } +} + +//获取仓库的namespaces。 +func (c *ServiceStageClient) ListNamespaces(request *model.ListNamespacesRequest) (*model.ListNamespacesResponse, error) { + requestDef := GenReqDefForListNamespaces() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListNamespacesResponse), nil + } +} + +//获取指定组织下的所有项目。 +func (c *ServiceStageClient) ListProjects(request *model.ListProjectsRequest) (*model.ListProjectsResponse, error) { + requestDef := GenReqDefForListProjects() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListProjectsResponse), nil + } +} + +//获取指定项目的所有tag标签。 +func (c *ServiceStageClient) ListTags(request *model.ListTagsRequest) (*model.ListTagsResponse, error) { + requestDef := GenReqDefForListTags() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListTagsResponse), nil + } +} + +//获取指定项目仓库的文件列表。 +func (c *ServiceStageClient) ListTrees(request *model.ListTreesRequest) (*model.ListTreesResponse, error) { + requestDef := GenReqDefForListTrees() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListTreesResponse), nil + } +} + +//获取指定项目仓库下文件的内容。 +func (c *ServiceStageClient) ShowContent(request *model.ShowContentRequest) (*model.ShowContentResponse, error) { + requestDef := GenReqDefForShowContent() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowContentResponse), nil + } +} + +//通过指定的clone url 获取仓库信息。 +func (c *ServiceStageClient) ShowProjectDetail(request *model.ShowProjectDetailRequest) (*model.ShowProjectDetailResponse, error) { + requestDef := GenReqDefForShowProjectDetail() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowProjectDetailResponse), nil + } +} + +//获取指定Git仓库类型的授权重定向URL。 +func (c *ServiceStageClient) ShowRedirectUrl(request *model.ShowRedirectUrlRequest) (*model.ShowRedirectUrlResponse, error) { + requestDef := GenReqDefForShowRedirectUrl() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowRedirectUrlResponse), nil + } +} + +//更新指定项目仓库下的文件内容。 +func (c *ServiceStageClient) UpdateFile(request *model.UpdateFileRequest) (*model.UpdateFileResponse, error) { + requestDef := GenReqDefForUpdateFile() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateFileResponse), nil + } +} + +//通过此API获取所用支持的应用资源规格。 +func (c *ServiceStageClient) ListFlavors(request *model.ListFlavorsRequest) (*model.ListFlavorsResponse, error) { + requestDef := GenReqDefForListFlavors() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListFlavorsResponse), nil + } +} + +//此API用来获取所有支持应用组件运行时类型。 +func (c *ServiceStageClient) ListRuntimes(request *model.ListRuntimesRequest) (*model.ListRuntimesResponse, error) { + requestDef := GenReqDefForListRuntimes() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListRuntimesResponse), nil + } +} + +//此API用来获取所有内置应用组件模板。 +func (c *ServiceStageClient) ListTemplates(request *model.ListTemplatesRequest) (*model.ListTemplatesResponse, error) { + requestDef := GenReqDefForListTemplates() + + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListTemplatesResponse), nil + } +} diff --git a/services/servicestage/v2/serviceStage_meta.go b/services/servicestage/v2/serviceStage_meta.go new file mode 100644 index 0000000000..416ab37f79 --- /dev/null +++ b/services/servicestage/v2/serviceStage_meta.go @@ -0,0 +1,1417 @@ +package v2 + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/def" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/servicestage/v2/model" + "net/http" +) + +func GenReqDefForChangeApplication() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2/{project_id}/cas/applications/{application_id}"). + WithResponse(new(model.ChangeApplicationResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForChangeApplicationConfiguration() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2/{project_id}/cas/applications/{application_id}/configuration"). + WithResponse(new(model.ChangeApplicationConfigurationResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForChangeComponent() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}"). + WithResponse(new(model.ChangeComponentResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForChangeEnvironment() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2/{project_id}/cas/environments/{environment_id}"). + WithResponse(new(model.ChangeEnvironmentResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnvironmentId"). + WithJsonTag("environment_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForChangeInstance() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances/{instance_id}"). + WithResponse(new(model.ChangeInstanceResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForChangeResourceInEnvironment() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPatch). + WithPath("/v2/{project_id}/cas/environments/{environment_id}/resources"). + WithResponse(new(model.ChangeResourceInEnvironmentResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnvironmentId"). + WithJsonTag("environment_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateApplication() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2/{project_id}/cas/applications"). + WithResponse(new(model.CreateApplicationResponse)). + WithContentType("application/json") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateComponent() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components"). + WithResponse(new(model.CreateComponentResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateEnvironment() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2/{project_id}/cas/environments"). + WithResponse(new(model.CreateEnvironmentResponse)). + WithContentType("application/json") + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateInstance() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances"). + WithResponse(new(model.CreateInstanceResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteApplication() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2/{project_id}/cas/applications/{application_id}"). + WithResponse(new(model.DeleteApplicationResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteApplicationConfiguration() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2/{project_id}/cas/applications/{application_id}/configuration"). + WithResponse(new(model.DeleteApplicationConfigurationResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnvironmentId"). + WithJsonTag("environment_id"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteComponent() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}"). + WithResponse(new(model.DeleteComponentResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Force"). + WithJsonTag("force"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteEnvironment() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2/{project_id}/cas/environments/{environment_id}"). + WithResponse(new(model.DeleteEnvironmentResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnvironmentId"). + WithJsonTag("environment_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteInstance() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances/{instance_id}"). + WithResponse(new(model.DeleteInstanceResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Force"). + WithJsonTag("force"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListApplications() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/applications"). + WithResponse(new(model.ListApplicationsResponse)) + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OrderBy"). + WithJsonTag("order_by"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Order"). + WithJsonTag("order"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListComponents() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components"). + WithResponse(new(model.ListComponentsResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OrderBy"). + WithJsonTag("order_by"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Order"). + WithJsonTag("order"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListEnvironments() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/environments"). + WithResponse(new(model.ListEnvironmentsResponse)) + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OrderBy"). + WithJsonTag("order_by"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Order"). + WithJsonTag("order"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListInstanceSnapshots() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances/{instance_id}/snapshots"). + WithResponse(new(model.ListInstanceSnapshotsResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SnapshotOrderBy"). + WithJsonTag("snapshot_order_by"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Order"). + WithJsonTag("order"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListInstances() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances"). + WithResponse(new(model.ListInstancesResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OrderBy"). + WithJsonTag("order_by"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Order"). + WithJsonTag("order"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowApplicationConfiguration() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/applications/{application_id}/configuration"). + WithResponse(new(model.ShowApplicationConfigurationResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnvironmentId"). + WithJsonTag("environment_id"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowApplicationDetail() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/applications/{application_id}"). + WithResponse(new(model.ShowApplicationDetailResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowComponentDetail() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}"). + WithResponse(new(model.ShowComponentDetailResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowEnvironmentDetail() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/environments/{environment_id}"). + WithResponse(new(model.ShowEnvironmentDetailResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnvironmentId"). + WithJsonTag("environment_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowInstanceDetail() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances/{instance_id}"). + WithResponse(new(model.ShowInstanceDetailResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowJobDetail() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/jobs/{job_id}"). + WithResponse(new(model.ShowJobDetailResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("JobId"). + WithJsonTag("job_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Desc"). + WithJsonTag("desc"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateInstanceAction() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2/{project_id}/cas/applications/{application_id}/components/{component_id}/instances/{instance_id}/action"). + WithResponse(new(model.UpdateInstanceActionResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ApplicationId"). + WithJsonTag("application_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ComponentId"). + WithJsonTag("component_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateFile() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/git/files/{namespace}/{project}/{path}"). + WithResponse(new(model.CreateFileResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Path"). + WithJsonTag("path"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ref"). + WithJsonTag("ref"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateHook() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/git/repos/{namespace}/{project}/hooks"). + WithResponse(new(model.CreateHookResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateOAuth() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/git/auths/{repo_type}/oauth"). + WithResponse(new(model.CreateOAuthResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RepoType"). + WithJsonTag("repo_type"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Tag"). + WithJsonTag("tag"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreatePasswordAuth() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/git/auths/{repo_type}/password"). + WithResponse(new(model.CreatePasswordAuthResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RepoType"). + WithJsonTag("repo_type"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreatePersonalAuth() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/git/auths/{repo_type}/personal"). + WithResponse(new(model.CreatePersonalAuthResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RepoType"). + WithJsonTag("repo_type"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateProject() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/git/repos/{namespace}/projects"). + WithResponse(new(model.CreateProjectResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForCreateTag() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/git/repos/{namespace}/{project}/tags"). + WithResponse(new(model.CreateTagResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ref"). + WithJsonTag("ref"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteAuthorize() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/git/auths/{name}"). + WithResponse(new(model.DeleteAuthorizeResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Path)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteFile() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/git/files/{namespace}/{project}/{path}"). + WithResponse(new(model.DeleteFileResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Path"). + WithJsonTag("path"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ref"). + WithJsonTag("ref"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Message"). + WithJsonTag("message"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Sha"). + WithJsonTag("sha"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteHook() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/git/repos/{namespace}/{project}/hooks/{hook_id}"). + WithResponse(new(model.DeleteHookResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("HookId"). + WithJsonTag("hook_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteTag() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v1/{project_id}/git/repos/{namespace}/{project}/tags/{tag_name}"). + WithResponse(new(model.DeleteTagResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("TagName"). + WithJsonTag("tag_name"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListAuthorizations() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/auths"). + WithResponse(new(model.ListAuthorizationsResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListBranches() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/repos/{namespace}/{project}/branches"). + WithResponse(new(model.ListBranchesResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListCommits() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/repos/{namespace}/{project}/commits"). + WithResponse(new(model.ListCommitsResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ref"). + WithJsonTag("ref"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListHooks() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/repos/{namespace}/{project}/hooks"). + WithResponse(new(model.ListHooksResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListNamespaces() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/repos/namespaces"). + WithResponse(new(model.ListNamespacesResponse)) + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListProjects() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/repos/{namespace}/projects"). + WithResponse(new(model.ListProjectsResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListTags() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/repos/{namespace}/{project}/tags"). + WithResponse(new(model.ListTagsResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListTrees() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/files/{namespace}/{project}/trees"). + WithResponse(new(model.ListTreesResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ref"). + WithJsonTag("ref"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowContent() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/files/{namespace}/{project}/{path}"). + WithResponse(new(model.ShowContentResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Path"). + WithJsonTag("path"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ref"). + WithJsonTag("ref"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowProjectDetail() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/repos/project-info"). + WithResponse(new(model.ShowProjectDetailResponse)) + + // request + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("CloneUrl"). + WithJsonTag("clone_url"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowRedirectUrl() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v1/{project_id}/git/auths/{repo_type}/redirect"). + WithResponse(new(model.ShowRedirectUrlResponse)) + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("RepoType"). + WithJsonTag("repo_type"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Tag"). + WithJsonTag("tag"). + WithLocationType(def.Query)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpdateFile() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v1/{project_id}/git/files/{namespace}/{project}/{path}"). + WithResponse(new(model.UpdateFileResponse)). + WithContentType("application/json") + + // request + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Namespace"). + WithJsonTag("namespace"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Project"). + WithJsonTag("project"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Path"). + WithJsonTag("path"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ref"). + WithJsonTag("ref"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XRepoAuth"). + WithJsonTag("X-Repo-Auth"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListFlavors() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/metadata/flavors"). + WithResponse(new(model.ListFlavorsResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListRuntimes() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/metadata/runtimes"). + WithResponse(new(model.ListRuntimesResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListTemplates() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/{project_id}/cas/metadata/templates"). + WithResponse(new(model.ListTemplatesResponse)) + + // request + + // response + + requestDef := reqDefBuilder.Build() + return requestDef +} diff --git a/services/tms/v1/tms_client.go b/services/tms/v1/tms_client.go index bc1791a517..93b74eadfd 100644 --- a/services/tms/v1/tms_client.go +++ b/services/tms/v1/tms_client.go @@ -20,72 +20,66 @@ func TmsClientBuilder() *http_client.HcHttpClientBuilder { //用于创建预定标签。用户创建预定义标签后,可以使用预定义标签来给资源创建标签。该接口支持幂等特性和处理批量数据。 func (c *TmsClient) CreatePredefineTags(request *model.CreatePredefineTagsRequest) (*model.CreatePredefineTagsResponse, error) { - requestDef := GenReqDefForCreatePredefineTags(request) - resp, responseDef := GenRespForCreatePredefineTags() + requestDef := GenReqDefForCreatePredefineTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePredefineTagsResponse), nil } } //用于删除预定标签。 func (c *TmsClient) DeletePredefineTags(request *model.DeletePredefineTagsRequest) (*model.DeletePredefineTagsResponse, error) { - requestDef := GenReqDefForDeletePredefineTags(request) - resp, responseDef := GenRespForDeletePredefineTags() + requestDef := GenReqDefForDeletePredefineTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePredefineTagsResponse), nil } } //查询标签管理服务的API版本列表。 func (c *TmsClient) ListApiVersions(request *model.ListApiVersionsRequest) (*model.ListApiVersionsResponse, error) { - requestDef := GenReqDefForListApiVersions(request) - resp, responseDef := GenRespForListApiVersions() + requestDef := GenReqDefForListApiVersions() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListApiVersionsResponse), nil } } //用于查询预定义标签列表。 func (c *TmsClient) ListPredefineTags(request *model.ListPredefineTagsRequest) (*model.ListPredefineTagsResponse, error) { - requestDef := GenReqDefForListPredefineTags(request) - resp, responseDef := GenRespForListPredefineTags() + requestDef := GenReqDefForListPredefineTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPredefineTagsResponse), nil } } //查询指定的标签管理服务API版本号详情。 func (c *TmsClient) ShowApiVersion(request *model.ShowApiVersionRequest) (*model.ShowApiVersionResponse, error) { - requestDef := GenReqDefForShowApiVersion(request) - resp, responseDef := GenRespForShowApiVersion() + requestDef := GenReqDefForShowApiVersion() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowApiVersionResponse), nil } } //修改预定义标签。 func (c *TmsClient) UpdatePredefineTags(request *model.UpdatePredefineTagsRequest) (*model.UpdatePredefineTagsResponse, error) { - requestDef := GenReqDefForUpdatePredefineTags(request) - resp, responseDef := GenRespForUpdatePredefineTags() + requestDef := GenReqDefForUpdatePredefineTags() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePredefineTagsResponse), nil } } diff --git a/services/tms/v1/tms_meta.go b/services/tms/v1/tms_meta.go index 3a0ce54467..06e7d47643 100644 --- a/services/tms/v1/tms_meta.go +++ b/services/tms/v1/tms_meta.go @@ -6,178 +6,130 @@ import ( "net/http" ) -func GenReqDefForCreatePredefineTags(request *model.CreatePredefineTagsRequest) *def.HttpRequestDef { +func GenReqDefForCreatePredefineTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.0/predefine_tags/action"). + WithResponse(new(model.CreatePredefineTagsResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePredefineTags() (*model.CreatePredefineTagsResponse, *def.HttpResponseDef) { - resp := new(model.CreatePredefineTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePredefineTags(request *model.DeletePredefineTagsRequest) *def.HttpRequestDef { +func GenReqDefForDeletePredefineTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v1.0/predefine_tags/action"). + WithResponse(new(model.DeletePredefineTagsResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePredefineTags() (*model.DeletePredefineTagsResponse, *def.HttpResponseDef) { - resp := new(model.DeletePredefineTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListApiVersions(request *model.ListApiVersionsRequest) *def.HttpRequestDef { +func GenReqDefForListApiVersions() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/") + WithPath("/"). + WithResponse(new(model.ListApiVersionsResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListApiVersions() (*model.ListApiVersionsResponse, *def.HttpResponseDef) { - resp := new(model.ListApiVersionsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPredefineTags(request *model.ListPredefineTagsRequest) *def.HttpRequestDef { +func GenReqDefForListPredefineTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1.0/predefine_tags") + WithPath("/v1.0/predefine_tags"). + WithResponse(new(model.ListPredefineTagsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("key"). + WithName("Key"). + WithJsonTag("key"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("value"). + WithName("Value"). + WithJsonTag("value"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_field"). + WithName("OrderField"). + WithJsonTag("order_field"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("order_method"). + WithName("OrderMethod"). + WithJsonTag("order_method"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPredefineTags() (*model.ListPredefineTagsResponse, *def.HttpResponseDef) { - resp := new(model.ListPredefineTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowApiVersion(request *model.ShowApiVersionRequest) *def.HttpRequestDef { +func GenReqDefForShowApiVersion() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/{api_version}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("api_version"). - WithLocationType(def.Path)) + WithPath("/{api_version}"). + WithResponse(new(model.ShowApiVersionResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("ApiVersion"). + WithJsonTag("api_version"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowApiVersion() (*model.ShowApiVersionResponse, *def.HttpResponseDef) { - resp := new(model.ShowApiVersionResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePredefineTags(request *model.UpdatePredefineTagsRequest) *def.HttpRequestDef { +func GenReqDefForUpdatePredefineTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v1.0/predefine_tags"). + WithResponse(new(model.UpdatePredefineTagsResponse)). WithContentType("application/json;charset=UTF-8") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdatePredefineTags() (*model.UpdatePredefineTagsResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePredefineTagsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/vpc/v2/vpc_client.go b/services/vpc/v2/vpc_client.go index cf36547921..78bda29cc5 100644 --- a/services/vpc/v2/vpc_client.go +++ b/services/vpc/v2/vpc_client.go @@ -20,480 +20,440 @@ func VpcClientBuilder() *http_client.HcHttpClientBuilder { //租户A名下的VPC申请和租户B的VPC建立对等连接,需要等待租户B接受该请求。此接口用于租户接受其他租户发起的对等连接请求。 func (c *VpcClient) AcceptVpcPeering(request *model.AcceptVpcPeeringRequest) (*model.AcceptVpcPeeringResponse, error) { - requestDef := GenReqDefForAcceptVpcPeering(request) - resp, responseDef := GenRespForAcceptVpcPeering() + requestDef := GenReqDefForAcceptVpcPeering() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.AcceptVpcPeeringResponse), nil } } //创建端口。 func (c *VpcClient) CreatePort(request *model.CreatePortRequest) (*model.CreatePortResponse, error) { - requestDef := GenReqDefForCreatePort(request) - resp, responseDef := GenRespForCreatePort() + requestDef := GenReqDefForCreatePort() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePortResponse), nil } } //创建安全组。 func (c *VpcClient) CreateSecurityGroup(request *model.CreateSecurityGroupRequest) (*model.CreateSecurityGroupResponse, error) { - requestDef := GenReqDefForCreateSecurityGroup(request) - resp, responseDef := GenRespForCreateSecurityGroup() + requestDef := GenReqDefForCreateSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSecurityGroupResponse), nil } } //创建安全组规则。 func (c *VpcClient) CreateSecurityGroupRule(request *model.CreateSecurityGroupRuleRequest) (*model.CreateSecurityGroupRuleResponse, error) { - requestDef := GenReqDefForCreateSecurityGroupRule(request) - resp, responseDef := GenRespForCreateSecurityGroupRule() + requestDef := GenReqDefForCreateSecurityGroupRule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSecurityGroupRuleResponse), nil } } //创建子网。 func (c *VpcClient) CreateSubnet(request *model.CreateSubnetRequest) (*model.CreateSubnetResponse, error) { - requestDef := GenReqDefForCreateSubnet(request) - resp, responseDef := GenRespForCreateSubnet() + requestDef := GenReqDefForCreateSubnet() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSubnetResponse), nil } } //创建对等连接。 func (c *VpcClient) CreateVpcPeering(request *model.CreateVpcPeeringRequest) (*model.CreateVpcPeeringResponse, error) { - requestDef := GenReqDefForCreateVpcPeering(request) - resp, responseDef := GenRespForCreateVpcPeering() + requestDef := GenReqDefForCreateVpcPeering() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateVpcPeeringResponse), nil } } //删除端口。 func (c *VpcClient) DeletePort(request *model.DeletePortRequest) (*model.DeletePortResponse, error) { - requestDef := GenReqDefForDeletePort(request) - resp, responseDef := GenRespForDeletePort() + requestDef := GenReqDefForDeletePort() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePortResponse), nil } } //删除安全组。 func (c *VpcClient) DeleteSecurityGroup(request *model.DeleteSecurityGroupRequest) (*model.DeleteSecurityGroupResponse, error) { - requestDef := GenReqDefForDeleteSecurityGroup(request) - resp, responseDef := GenRespForDeleteSecurityGroup() + requestDef := GenReqDefForDeleteSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSecurityGroupResponse), nil } } //删除安全组规则。 func (c *VpcClient) DeleteSecurityGroupRule(request *model.DeleteSecurityGroupRuleRequest) (*model.DeleteSecurityGroupRuleResponse, error) { - requestDef := GenReqDefForDeleteSecurityGroupRule(request) - resp, responseDef := GenRespForDeleteSecurityGroupRule() + requestDef := GenReqDefForDeleteSecurityGroupRule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSecurityGroupRuleResponse), nil } } //删除子网 func (c *VpcClient) DeleteSubnet(request *model.DeleteSubnetRequest) (*model.DeleteSubnetResponse, error) { - requestDef := GenReqDefForDeleteSubnet(request) - resp, responseDef := GenRespForDeleteSubnet() + requestDef := GenReqDefForDeleteSubnet() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSubnetResponse), nil } } //删除对等连接。 可以在在本端或对端任何一端删除对等连接。 func (c *VpcClient) DeleteVpcPeering(request *model.DeleteVpcPeeringRequest) (*model.DeleteVpcPeeringResponse, error) { - requestDef := GenReqDefForDeleteVpcPeering(request) - resp, responseDef := GenRespForDeleteVpcPeering() + requestDef := GenReqDefForDeleteVpcPeering() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteVpcPeeringResponse), nil } } //查询提交请求的租户的所有端口,单次查询最多返回2000条数据。 func (c *VpcClient) ListPorts(request *model.ListPortsRequest) (*model.ListPortsResponse, error) { - requestDef := GenReqDefForListPorts(request) - resp, responseDef := GenRespForListPorts() + requestDef := GenReqDefForListPorts() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPortsResponse), nil } } //查询安全组规则列表。 func (c *VpcClient) ListSecurityGroupRules(request *model.ListSecurityGroupRulesRequest) (*model.ListSecurityGroupRulesResponse, error) { - requestDef := GenReqDefForListSecurityGroupRules(request) - resp, responseDef := GenRespForListSecurityGroupRules() + requestDef := GenReqDefForListSecurityGroupRules() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSecurityGroupRulesResponse), nil } } //查询安全组列表 func (c *VpcClient) ListSecurityGroups(request *model.ListSecurityGroupsRequest) (*model.ListSecurityGroupsResponse, error) { - requestDef := GenReqDefForListSecurityGroups(request) - resp, responseDef := GenRespForListSecurityGroups() + requestDef := GenReqDefForListSecurityGroups() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSecurityGroupsResponse), nil } } //查询子网列表 func (c *VpcClient) ListSubnets(request *model.ListSubnetsRequest) (*model.ListSubnetsResponse, error) { - requestDef := GenReqDefForListSubnets(request) - resp, responseDef := GenRespForListSubnets() + requestDef := GenReqDefForListSubnets() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSubnetsResponse), nil } } //查询提交请求的租户的所有对等连接。根据过滤条件进行过滤。 func (c *VpcClient) ListVpcPeerings(request *model.ListVpcPeeringsRequest) (*model.ListVpcPeeringsResponse, error) { - requestDef := GenReqDefForListVpcPeerings(request) - resp, responseDef := GenRespForListVpcPeerings() + requestDef := GenReqDefForListVpcPeerings() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListVpcPeeringsResponse), nil } } //租户A名下的VPC申请和租户B的VPC建立对等连接,需要等待租户B接受该请求。此接口用于租户拒绝其他租户发起的对等连接请求。 func (c *VpcClient) RejectVpcPeering(request *model.RejectVpcPeeringRequest) (*model.RejectVpcPeeringResponse, error) { - requestDef := GenReqDefForRejectVpcPeering(request) - resp, responseDef := GenRespForRejectVpcPeering() + requestDef := GenReqDefForRejectVpcPeering() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.RejectVpcPeeringResponse), nil } } //查询单个端口详情。 func (c *VpcClient) ShowPort(request *model.ShowPortRequest) (*model.ShowPortResponse, error) { - requestDef := GenReqDefForShowPort(request) - resp, responseDef := GenRespForShowPort() + requestDef := GenReqDefForShowPort() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPortResponse), nil } } //查询单租户在VPC服务下的网络资源配额,包括vpc配额、子网配额、安全组配额、安全组规则配额、弹性公网IP配额,vpn配额等。 func (c *VpcClient) ShowQuota(request *model.ShowQuotaRequest) (*model.ShowQuotaResponse, error) { - requestDef := GenReqDefForShowQuota(request) - resp, responseDef := GenRespForShowQuota() + requestDef := GenReqDefForShowQuota() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowQuotaResponse), nil } } //查询单个安全组详情。 func (c *VpcClient) ShowSecurityGroup(request *model.ShowSecurityGroupRequest) (*model.ShowSecurityGroupResponse, error) { - requestDef := GenReqDefForShowSecurityGroup(request) - resp, responseDef := GenRespForShowSecurityGroup() + requestDef := GenReqDefForShowSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowSecurityGroupResponse), nil } } //查询单个安全组规则详情 func (c *VpcClient) ShowSecurityGroupRule(request *model.ShowSecurityGroupRuleRequest) (*model.ShowSecurityGroupRuleResponse, error) { - requestDef := GenReqDefForShowSecurityGroupRule(request) - resp, responseDef := GenRespForShowSecurityGroupRule() + requestDef := GenReqDefForShowSecurityGroupRule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowSecurityGroupRuleResponse), nil } } //查询子网详情。 func (c *VpcClient) ShowSubnet(request *model.ShowSubnetRequest) (*model.ShowSubnetResponse, error) { - requestDef := GenReqDefForShowSubnet(request) - resp, responseDef := GenRespForShowSubnet() + requestDef := GenReqDefForShowSubnet() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowSubnetResponse), nil } } //查询对等连接详情。 func (c *VpcClient) ShowVpcPeering(request *model.ShowVpcPeeringRequest) (*model.ShowVpcPeeringResponse, error) { - requestDef := GenReqDefForShowVpcPeering(request) - resp, responseDef := GenRespForShowVpcPeering() + requestDef := GenReqDefForShowVpcPeering() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowVpcPeeringResponse), nil } } //更新端口。 func (c *VpcClient) UpdatePort(request *model.UpdatePortRequest) (*model.UpdatePortResponse, error) { - requestDef := GenReqDefForUpdatePort(request) - resp, responseDef := GenRespForUpdatePort() + requestDef := GenReqDefForUpdatePort() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdatePortResponse), nil } } //更新子网。 func (c *VpcClient) UpdateSubnet(request *model.UpdateSubnetRequest) (*model.UpdateSubnetResponse, error) { - requestDef := GenReqDefForUpdateSubnet(request) - resp, responseDef := GenRespForUpdateSubnet() + requestDef := GenReqDefForUpdateSubnet() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateSubnetResponse), nil } } //更新对等连接。 func (c *VpcClient) UpdateVpcPeering(request *model.UpdateVpcPeeringRequest) (*model.UpdateVpcPeeringResponse, error) { - requestDef := GenReqDefForUpdateVpcPeering(request) - resp, responseDef := GenRespForUpdateVpcPeering() + requestDef := GenReqDefForUpdateVpcPeering() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateVpcPeeringResponse), nil } } //申请私有IP。 func (c *VpcClient) CreatePrivateip(request *model.CreatePrivateipRequest) (*model.CreatePrivateipResponse, error) { - requestDef := GenReqDefForCreatePrivateip(request) - resp, responseDef := GenRespForCreatePrivateip() + requestDef := GenReqDefForCreatePrivateip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreatePrivateipResponse), nil } } //删除私有IP。 func (c *VpcClient) DeletePrivateip(request *model.DeletePrivateipRequest) (*model.DeletePrivateipResponse, error) { - requestDef := GenReqDefForDeletePrivateip(request) - resp, responseDef := GenRespForDeletePrivateip() + requestDef := GenReqDefForDeletePrivateip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeletePrivateipResponse), nil } } //查询指定子网下的私有IP列表。 func (c *VpcClient) ListPrivateips(request *model.ListPrivateipsRequest) (*model.ListPrivateipsResponse, error) { - requestDef := GenReqDefForListPrivateips(request) - resp, responseDef := GenRespForListPrivateips() + requestDef := GenReqDefForListPrivateips() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListPrivateipsResponse), nil } } //显示一个指定网络中的IPv4地址使用情况。 包括此网络中的IP总数以及已用IP总数,以及网络下每一个子网的IP地址总数和可用IP地址总数。 > 须知 - 系统预留地址指的是子网的第1个以及最后4个地址,一般用于网关、DHCP等服务。 - 这里以及下文描述的IP地址总数、已用IP地址总数不包含系统预留地址。 - 在分配IP时,用户可以指定系统预留的IP地址。但是不论IP是如何分配的,只要是处于系统预留IP地址段的IP均不会被统计到已用IP地址数目和IP地址总数中。 func (c *VpcClient) ShowNetworkIpAvailabilities(request *model.ShowNetworkIpAvailabilitiesRequest) (*model.ShowNetworkIpAvailabilitiesResponse, error) { - requestDef := GenReqDefForShowNetworkIpAvailabilities(request) - resp, responseDef := GenRespForShowNetworkIpAvailabilities() + requestDef := GenReqDefForShowNetworkIpAvailabilities() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowNetworkIpAvailabilitiesResponse), nil } } //指定ID查询私有IP。 func (c *VpcClient) ShowPrivateip(request *model.ShowPrivateipRequest) (*model.ShowPrivateipResponse, error) { - requestDef := GenReqDefForShowPrivateip(request) - resp, responseDef := GenRespForShowPrivateip() + requestDef := GenReqDefForShowPrivateip() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowPrivateipResponse), nil } } //创建虚拟私有云。 func (c *VpcClient) CreateVpc(request *model.CreateVpcRequest) (*model.CreateVpcResponse, error) { - requestDef := GenReqDefForCreateVpc(request) - resp, responseDef := GenRespForCreateVpc() + requestDef := GenReqDefForCreateVpc() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateVpcResponse), nil } } //创建路由 func (c *VpcClient) CreateVpcRoute(request *model.CreateVpcRouteRequest) (*model.CreateVpcRouteResponse, error) { - requestDef := GenReqDefForCreateVpcRoute(request) - resp, responseDef := GenRespForCreateVpcRoute() + requestDef := GenReqDefForCreateVpcRoute() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateVpcRouteResponse), nil } } //删除虚拟私有云。 func (c *VpcClient) DeleteVpc(request *model.DeleteVpcRequest) (*model.DeleteVpcResponse, error) { - requestDef := GenReqDefForDeleteVpc(request) - resp, responseDef := GenRespForDeleteVpc() + requestDef := GenReqDefForDeleteVpc() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteVpcResponse), nil } } //删除路由 func (c *VpcClient) DeleteVpcRoute(request *model.DeleteVpcRouteRequest) (*model.DeleteVpcRouteResponse, error) { - requestDef := GenReqDefForDeleteVpcRoute(request) - resp, responseDef := GenRespForDeleteVpcRoute() + requestDef := GenReqDefForDeleteVpcRoute() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteVpcRouteResponse), nil } } //查询提交请求的租户的所有路由列表,并根据过滤条件进行过滤。 func (c *VpcClient) ListVpcRoutes(request *model.ListVpcRoutesRequest) (*model.ListVpcRoutesResponse, error) { - requestDef := GenReqDefForListVpcRoutes(request) - resp, responseDef := GenRespForListVpcRoutes() + requestDef := GenReqDefForListVpcRoutes() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListVpcRoutesResponse), nil } } //查询虚拟私有云列表。 func (c *VpcClient) ListVpcs(request *model.ListVpcsRequest) (*model.ListVpcsResponse, error) { - requestDef := GenReqDefForListVpcs(request) - resp, responseDef := GenRespForListVpcs() + requestDef := GenReqDefForListVpcs() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListVpcsResponse), nil } } //查询虚拟私有云。 func (c *VpcClient) ShowVpc(request *model.ShowVpcRequest) (*model.ShowVpcResponse, error) { - requestDef := GenReqDefForShowVpc(request) - resp, responseDef := GenRespForShowVpc() + requestDef := GenReqDefForShowVpc() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowVpcResponse), nil } } //查询路由详情 func (c *VpcClient) ShowVpcRoute(request *model.ShowVpcRouteRequest) (*model.ShowVpcRouteResponse, error) { - requestDef := GenReqDefForShowVpcRoute(request) - resp, responseDef := GenRespForShowVpcRoute() + requestDef := GenReqDefForShowVpcRoute() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowVpcRouteResponse), nil } } //更新虚拟私有云。 func (c *VpcClient) UpdateVpc(request *model.UpdateVpcRequest) (*model.UpdateVpcResponse, error) { - requestDef := GenReqDefForUpdateVpc(request) - resp, responseDef := GenRespForUpdateVpc() + requestDef := GenReqDefForUpdateVpc() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateVpcResponse), nil } } diff --git a/services/vpc/v2/vpc_meta.go b/services/vpc/v2/vpc_meta.go index 3d825dd158..3ee561b8d7 100644 --- a/services/vpc/v2/vpc_meta.go +++ b/services/vpc/v2/vpc_meta.go @@ -6,1238 +6,907 @@ import ( "net/http" ) -func GenReqDefForAcceptVpcPeering(request *model.AcceptVpcPeeringRequest) *def.HttpRequestDef { +func GenReqDefForAcceptVpcPeering() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v2.0/vpc/peerings/{peering_id}/accept") + WithPath("/v2.0/vpc/peerings/{peering_id}/accept"). + WithResponse(new(model.AcceptVpcPeeringResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("peering_id"). + WithName("PeeringId"). + WithJsonTag("peering_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForAcceptVpcPeering() (*model.AcceptVpcPeeringResponse, *def.HttpResponseDef) { - resp := new(model.AcceptVpcPeeringResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePort(request *model.CreatePortRequest) *def.HttpRequestDef { +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.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePort() (*model.CreatePortResponse, *def.HttpResponseDef) { - resp := new(model.CreatePortResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSecurityGroup(request *model.CreateSecurityGroupRequest) *def.HttpRequestDef { +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.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSecurityGroup() (*model.CreateSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.CreateSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSecurityGroupRule(request *model.CreateSecurityGroupRuleRequest) *def.HttpRequestDef { +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.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSecurityGroupRule() (*model.CreateSecurityGroupRuleResponse, *def.HttpResponseDef) { - resp := new(model.CreateSecurityGroupRuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSubnet(request *model.CreateSubnetRequest) *def.HttpRequestDef { +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.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSubnet() (*model.CreateSubnetResponse, *def.HttpResponseDef) { - resp := new(model.CreateSubnetResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateVpcPeering(request *model.CreateVpcPeeringRequest) *def.HttpRequestDef { +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.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateVpcPeering() (*model.CreateVpcPeeringResponse, *def.HttpResponseDef) { - resp := new(model.CreateVpcPeeringResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePort(request *model.DeletePortRequest) *def.HttpRequestDef { +func GenReqDefForDeletePort() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/ports/{port_id}") + WithPath("/v1/{project_id}/ports/{port_id}"). + WithResponse(new(model.DeletePortResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("port_id"). + WithName("PortId"). + WithJsonTag("port_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePort() (*model.DeletePortResponse, *def.HttpResponseDef) { - resp := new(model.DeletePortResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSecurityGroup(request *model.DeleteSecurityGroupRequest) *def.HttpRequestDef { +func GenReqDefForDeleteSecurityGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/security-groups/{security_group_id}") + WithPath("/v1/{project_id}/security-groups/{security_group_id}"). + WithResponse(new(model.DeleteSecurityGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_id"). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSecurityGroup() (*model.DeleteSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.DeleteSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSecurityGroupRule(request *model.DeleteSecurityGroupRuleRequest) *def.HttpRequestDef { +func GenReqDefForDeleteSecurityGroupRule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/security-group-rules/{security_group_rule_id}") + WithPath("/v1/{project_id}/security-group-rules/{security_group_rule_id}"). + WithResponse(new(model.DeleteSecurityGroupRuleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_rule_id"). + WithName("SecurityGroupRuleId"). + WithJsonTag("security_group_rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSecurityGroupRule() (*model.DeleteSecurityGroupRuleResponse, *def.HttpResponseDef) { - resp := new(model.DeleteSecurityGroupRuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSubnet(request *model.DeleteSubnetRequest) *def.HttpRequestDef { +func GenReqDefForDeleteSubnet() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}") + WithPath("/v1/{project_id}/vpcs/{vpc_id}/subnets/{subnet_id}"). + WithResponse(new(model.DeleteSubnetResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("subnet_id"). + WithName("SubnetId"). + WithJsonTag("subnet_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSubnet() (*model.DeleteSubnetResponse, *def.HttpResponseDef) { - resp := new(model.DeleteSubnetResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteVpcPeering(request *model.DeleteVpcPeeringRequest) *def.HttpRequestDef { +func GenReqDefForDeleteVpcPeering() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2.0/vpc/peerings/{peering_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("peering_id"). - WithLocationType(def.Path)) + WithPath("/v2.0/vpc/peerings/{peering_id}"). + WithResponse(new(model.DeleteVpcPeeringResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("PeeringId"). + WithJsonTag("peering_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteVpcPeering() (*model.DeleteVpcPeeringResponse, *def.HttpResponseDef) { - resp := new(model.DeleteVpcPeeringResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPorts(request *model.ListPortsRequest) *def.HttpRequestDef { +func GenReqDefForListPorts() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/ports") + WithPath("/v1/{project_id}/ports"). + WithResponse(new(model.ListPortsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("admin_state_up"). + WithName("AdminStateUp"). + WithJsonTag("admin_state_up"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("network_id"). + WithName("NetworkId"). + WithJsonTag("network_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("mac_address"). + WithName("MacAddress"). + WithJsonTag("mac_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("device_id"). + WithName("DeviceId"). + WithJsonTag("device_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("device_owner"). + WithName("DeviceOwner"). + WithJsonTag("device_owner"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("fixed_ips"). + WithName("FixedIps"). + WithJsonTag("fixed_ips"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPorts() (*model.ListPortsResponse, *def.HttpResponseDef) { - resp := new(model.ListPortsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSecurityGroupRules(request *model.ListSecurityGroupRulesRequest) *def.HttpRequestDef { +func GenReqDefForListSecurityGroupRules() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/security-group-rules") + WithPath("/v1/{project_id}/security-group-rules"). + WithResponse(new(model.ListSecurityGroupRulesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_id"). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSecurityGroupRules() (*model.ListSecurityGroupRulesResponse, *def.HttpResponseDef) { - resp := new(model.ListSecurityGroupRulesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSecurityGroups(request *model.ListSecurityGroupsRequest) *def.HttpRequestDef { +func GenReqDefForListSecurityGroups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/security-groups") + WithPath("/v1/{project_id}/security-groups"). + WithResponse(new(model.ListSecurityGroupsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSecurityGroups() (*model.ListSecurityGroupsResponse, *def.HttpResponseDef) { - resp := new(model.ListSecurityGroupsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSubnets(request *model.ListSubnetsRequest) *def.HttpRequestDef { +func GenReqDefForListSubnets() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/subnets") + WithPath("/v1/{project_id}/subnets"). + WithResponse(new(model.ListSubnetsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSubnets() (*model.ListSubnetsResponse, *def.HttpResponseDef) { - resp := new(model.ListSubnetsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListVpcPeerings(request *model.ListVpcPeeringsRequest) *def.HttpRequestDef { +func GenReqDefForListVpcPeerings() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/vpc/peerings") + WithPath("/v2.0/vpc/peerings"). + WithResponse(new(model.ListVpcPeeringsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("status"). + WithName("Status"). + WithJsonTag("status"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tenant_id"). + WithName("TenantId"). + WithJsonTag("tenant_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListVpcPeerings() (*model.ListVpcPeeringsResponse, *def.HttpResponseDef) { - resp := new(model.ListVpcPeeringsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForRejectVpcPeering(request *model.RejectVpcPeeringRequest) *def.HttpRequestDef { +func GenReqDefForRejectVpcPeering() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). - WithPath("/v2.0/vpc/peerings/{peering_id}/reject") + WithPath("/v2.0/vpc/peerings/{peering_id}/reject"). + WithResponse(new(model.RejectVpcPeeringResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("peering_id"). + WithName("PeeringId"). + WithJsonTag("peering_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForRejectVpcPeering() (*model.RejectVpcPeeringResponse, *def.HttpResponseDef) { - resp := new(model.RejectVpcPeeringResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPort(request *model.ShowPortRequest) *def.HttpRequestDef { +func GenReqDefForShowPort() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/ports/{port_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("port_id"). - WithLocationType(def.Path)) + WithPath("/v1/{project_id}/ports/{port_id}"). + WithResponse(new(model.ShowPortResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("PortId"). + WithJsonTag("port_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPort() (*model.ShowPortResponse, *def.HttpResponseDef) { - resp := new(model.ShowPortResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowQuota(request *model.ShowQuotaRequest) *def.HttpRequestDef { +func GenReqDefForShowQuota() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/quotas") + WithPath("/v1/{project_id}/quotas"). + WithResponse(new(model.ShowQuotaResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). - WithLocationType(def.Query)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Type"). + WithJsonTag("type"). + WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowQuota() (*model.ShowQuotaResponse, *def.HttpResponseDef) { - resp := new(model.ShowQuotaResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowSecurityGroup(request *model.ShowSecurityGroupRequest) *def.HttpRequestDef { +func GenReqDefForShowSecurityGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/security-groups/{security_group_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_id"). - WithLocationType(def.Path)) + WithPath("/v1/{project_id}/security-groups/{security_group_id}"). + WithResponse(new(model.ShowSecurityGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowSecurityGroup() (*model.ShowSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.ShowSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowSecurityGroupRule(request *model.ShowSecurityGroupRuleRequest) *def.HttpRequestDef { +func GenReqDefForShowSecurityGroupRule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/security-group-rules/{security_group_rule_id}") + WithPath("/v1/{project_id}/security-group-rules/{security_group_rule_id}"). + WithResponse(new(model.ShowSecurityGroupRuleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_rule_id"). + WithName("SecurityGroupRuleId"). + WithJsonTag("security_group_rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowSecurityGroupRule() (*model.ShowSecurityGroupRuleResponse, *def.HttpResponseDef) { - resp := new(model.ShowSecurityGroupRuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowSubnet(request *model.ShowSubnetRequest) *def.HttpRequestDef { +func GenReqDefForShowSubnet() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/subnets/{subnet_id}") + WithPath("/v1/{project_id}/subnets/{subnet_id}"). + WithResponse(new(model.ShowSubnetResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("subnet_id"). + WithName("SubnetId"). + WithJsonTag("subnet_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowSubnet() (*model.ShowSubnetResponse, *def.HttpResponseDef) { - resp := new(model.ShowSubnetResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowVpcPeering(request *model.ShowVpcPeeringRequest) *def.HttpRequestDef { +func GenReqDefForShowVpcPeering() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/vpc/peerings/{peering_id}") + WithPath("/v2.0/vpc/peerings/{peering_id}"). + WithResponse(new(model.ShowVpcPeeringResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("peering_id"). + WithName("PeeringId"). + WithJsonTag("peering_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowVpcPeering() (*model.ShowVpcPeeringResponse, *def.HttpResponseDef) { - resp := new(model.ShowVpcPeeringResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdatePort(request *model.UpdatePortRequest) *def.HttpRequestDef { +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") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("port_id"). + WithName("PortId"). + WithJsonTag("port_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdatePort() (*model.UpdatePortResponse, *def.HttpResponseDef) { - resp := new(model.UpdatePortResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateSubnet(request *model.UpdateSubnetRequest) *def.HttpRequestDef { +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") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("subnet_id"). + WithName("SubnetId"). + WithJsonTag("subnet_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateSubnet() (*model.UpdateSubnetResponse, *def.HttpResponseDef) { - resp := new(model.UpdateSubnetResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateVpcPeering(request *model.UpdateVpcPeeringRequest) *def.HttpRequestDef { +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") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("peering_id"). + WithName("PeeringId"). + WithJsonTag("peering_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateVpcPeering() (*model.UpdateVpcPeeringResponse, *def.HttpResponseDef) { - resp := new(model.UpdateVpcPeeringResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreatePrivateip(request *model.CreatePrivateipRequest) *def.HttpRequestDef { +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.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreatePrivateip() (*model.CreatePrivateipResponse, *def.HttpResponseDef) { - resp := new(model.CreatePrivateipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeletePrivateip(request *model.DeletePrivateipRequest) *def.HttpRequestDef { +func GenReqDefForDeletePrivateip() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/privateips/{privateip_id}") + WithPath("/v1/{project_id}/privateips/{privateip_id}"). + WithResponse(new(model.DeletePrivateipResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("privateip_id"). + WithName("PrivateipId"). + WithJsonTag("privateip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeletePrivateip() (*model.DeletePrivateipResponse, *def.HttpResponseDef) { - resp := new(model.DeletePrivateipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListPrivateips(request *model.ListPrivateipsRequest) *def.HttpRequestDef { +func GenReqDefForListPrivateips() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/subnets/{subnet_id}/privateips") + WithPath("/v1/{project_id}/subnets/{subnet_id}/privateips"). + WithResponse(new(model.ListPrivateipsResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("subnet_id"). + WithName("SubnetId"). + WithJsonTag("subnet_id"). WithLocationType(def.Path)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListPrivateips() (*model.ListPrivateipsResponse, *def.HttpResponseDef) { - resp := new(model.ListPrivateipsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowNetworkIpAvailabilities(request *model.ShowNetworkIpAvailabilitiesRequest) *def.HttpRequestDef { +func GenReqDefForShowNetworkIpAvailabilities() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/network-ip-availabilities/{network_id}") + WithPath("/v2.0/network-ip-availabilities/{network_id}"). + WithResponse(new(model.ShowNetworkIpAvailabilitiesResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("network_id"). + WithName("NetworkId"). + WithJsonTag("network_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowNetworkIpAvailabilities() (*model.ShowNetworkIpAvailabilitiesResponse, *def.HttpResponseDef) { - resp := new(model.ShowNetworkIpAvailabilitiesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowPrivateip(request *model.ShowPrivateipRequest) *def.HttpRequestDef { +func GenReqDefForShowPrivateip() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/privateips/{privateip_id}") + WithPath("/v1/{project_id}/privateips/{privateip_id}"). + WithResponse(new(model.ShowPrivateipResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("privateip_id"). + WithName("PrivateipId"). + WithJsonTag("privateip_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowPrivateip() (*model.ShowPrivateipResponse, *def.HttpResponseDef) { - resp := new(model.ShowPrivateipResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateVpc(request *model.CreateVpcRequest) *def.HttpRequestDef { +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.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateVpc() (*model.CreateVpcResponse, *def.HttpResponseDef) { - resp := new(model.CreateVpcResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateVpcRoute(request *model.CreateVpcRouteRequest) *def.HttpRequestDef { +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.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateVpcRoute() (*model.CreateVpcRouteResponse, *def.HttpResponseDef) { - resp := new(model.CreateVpcRouteResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteVpc(request *model.DeleteVpcRequest) *def.HttpRequestDef { +func GenReqDefForDeleteVpc() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v1/{project_id}/vpcs/{vpc_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). - WithLocationType(def.Path)) + WithPath("/v1/{project_id}/vpcs/{vpc_id}"). + WithResponse(new(model.DeleteVpcResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteVpc() (*model.DeleteVpcResponse, *def.HttpResponseDef) { - resp := new(model.DeleteVpcResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteVpcRoute(request *model.DeleteVpcRouteRequest) *def.HttpRequestDef { +func GenReqDefForDeleteVpcRoute() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v2.0/vpc/routes/{route_id}") + WithPath("/v2.0/vpc/routes/{route_id}"). + WithResponse(new(model.DeleteVpcRouteResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("route_id"). + WithName("RouteId"). + WithJsonTag("route_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteVpcRoute() (*model.DeleteVpcRouteResponse, *def.HttpResponseDef) { - resp := new(model.DeleteVpcRouteResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListVpcRoutes(request *model.ListVpcRoutesRequest) *def.HttpRequestDef { +func GenReqDefForListVpcRoutes() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/vpc/routes") + WithPath("/v2.0/vpc/routes"). + WithResponse(new(model.ListVpcRoutesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("type"). + WithName("Type"). + WithJsonTag("type"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("destination"). + WithName("Destination"). + WithJsonTag("destination"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("tenant_id"). + WithName("TenantId"). + WithJsonTag("tenant_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListVpcRoutes() (*model.ListVpcRoutesResponse, *def.HttpResponseDef) { - resp := new(model.ListVpcRoutesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListVpcs(request *model.ListVpcsRequest) *def.HttpRequestDef { +func GenReqDefForListVpcs() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/vpcs") + WithPath("/v1/{project_id}/vpcs"). + WithResponse(new(model.ListVpcsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListVpcs() (*model.ListVpcsResponse, *def.HttpResponseDef) { - resp := new(model.ListVpcsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowVpc(request *model.ShowVpcRequest) *def.HttpRequestDef { +func GenReqDefForShowVpc() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v1/{project_id}/vpcs/{vpc_id}") + WithPath("/v1/{project_id}/vpcs/{vpc_id}"). + WithResponse(new(model.ShowVpcResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowVpc() (*model.ShowVpcResponse, *def.HttpResponseDef) { - resp := new(model.ShowVpcResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowVpcRoute(request *model.ShowVpcRouteRequest) *def.HttpRequestDef { +func GenReqDefForShowVpcRoute() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v2.0/vpc/routes/{route_id}") + WithPath("/v2.0/vpc/routes/{route_id}"). + WithResponse(new(model.ShowVpcRouteResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("route_id"). + WithName("RouteId"). + WithJsonTag("route_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowVpcRoute() (*model.ShowVpcRouteResponse, *def.HttpResponseDef) { - resp := new(model.ShowVpcRouteResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateVpc(request *model.UpdateVpcRequest) *def.HttpRequestDef { +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") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateVpc() (*model.UpdateVpcResponse, *def.HttpResponseDef) { - resp := new(model.UpdateVpcResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} diff --git a/services/vpc/v3/model/model_batch_create_sub_network_interface_request.go b/services/vpc/v3/model/model_batch_create_sub_network_interface_request.go new file mode 100644 index 0000000000..ae28d476e7 --- /dev/null +++ b/services/vpc/v3/model/model_batch_create_sub_network_interface_request.go @@ -0,0 +1,24 @@ +/* + * VPC + * + * VPC Open API + * + */ + +package model + +import ( + "encoding/json" + + "strings" +) + +// Request Object +type BatchCreateSubNetworkInterfaceRequest struct { + Body *BatchCreateSubNetworkInterfaceRequestBody `json:"body,omitempty"` +} + +func (o BatchCreateSubNetworkInterfaceRequest) String() string { + data, _ := json.Marshal(o) + return strings.Join([]string{"BatchCreateSubNetworkInterfaceRequest", string(data)}, " ") +} diff --git a/services/vpc/v3/model/model_batch_create_sub_network_interface_v3_request_body.go b/services/vpc/v3/model/model_batch_create_sub_network_interface_request_body.go similarity index 77% rename from services/vpc/v3/model/model_batch_create_sub_network_interface_v3_request_body.go rename to services/vpc/v3/model/model_batch_create_sub_network_interface_request_body.go index daff169b96..76213c7d0f 100644 --- a/services/vpc/v3/model/model_batch_create_sub_network_interface_v3_request_body.go +++ b/services/vpc/v3/model/model_batch_create_sub_network_interface_request_body.go @@ -14,7 +14,7 @@ import ( ) // This is a auto create Body Object -type BatchCreateSubNetworkInterfaceV3RequestBody struct { +type BatchCreateSubNetworkInterfaceRequestBody struct { // 功能说明:是否只预检此次请求 取值范围: -true:发送检查请求,不会创建辅助弹性网卡。检查项包括是否填写了必需参数、请求格式、业务限制。如果检查不通过,则返回对应错误。如果检查通过,则返回响应码202。 -false(默认值):发送正常请求,并直接创建辅助弹性网卡。 DryRun *bool `json:"dry_run,omitempty"` SubNetworkInterface *BatchCreateSubNetworkInterfaceOption `json:"sub_network_interface"` @@ -22,7 +22,7 @@ type BatchCreateSubNetworkInterfaceV3RequestBody struct { Count int32 `json:"count"` } -func (o BatchCreateSubNetworkInterfaceV3RequestBody) String() string { +func (o BatchCreateSubNetworkInterfaceRequestBody) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"BatchCreateSubNetworkInterfaceV3RequestBody", string(data)}, " ") + return strings.Join([]string{"BatchCreateSubNetworkInterfaceRequestBody", string(data)}, " ") } diff --git a/services/vpc/v3/model/model_batch_create_sub_network_interface_v3_response.go b/services/vpc/v3/model/model_batch_create_sub_network_interface_response.go similarity index 61% rename from services/vpc/v3/model/model_batch_create_sub_network_interface_v3_response.go rename to services/vpc/v3/model/model_batch_create_sub_network_interface_response.go index d4b3023e05..c37f8ab020 100644 --- a/services/vpc/v3/model/model_batch_create_sub_network_interface_v3_response.go +++ b/services/vpc/v3/model/model_batch_create_sub_network_interface_response.go @@ -14,14 +14,14 @@ import ( ) // Response Object -type BatchCreateSubNetworkInterfaceV3Response struct { +type BatchCreateSubNetworkInterfaceResponse struct { // 请求ID RequestId *string `json:"request_id,omitempty"` // 批量创建辅助弹性网卡的响应体 SubNetworkInterfaces *[]SubNetworkInterface `json:"sub_network_interfaces,omitempty"` } -func (o BatchCreateSubNetworkInterfaceV3Response) String() string { +func (o BatchCreateSubNetworkInterfaceResponse) String() string { data, _ := json.Marshal(o) - return strings.Join([]string{"BatchCreateSubNetworkInterfaceV3Response", string(data)}, " ") + return strings.Join([]string{"BatchCreateSubNetworkInterfaceResponse", string(data)}, " ") } diff --git a/services/vpc/v3/model/model_batch_create_sub_network_interface_v3_request.go b/services/vpc/v3/model/model_batch_create_sub_network_interface_v3_request.go deleted file mode 100644 index bafb5612b9..0000000000 --- a/services/vpc/v3/model/model_batch_create_sub_network_interface_v3_request.go +++ /dev/null @@ -1,24 +0,0 @@ -/* - * VPC - * - * VPC Open API - * - */ - -package model - -import ( - "encoding/json" - - "strings" -) - -// Request Object -type BatchCreateSubNetworkInterfaceV3Request struct { - Body *BatchCreateSubNetworkInterfaceV3RequestBody `json:"body,omitempty"` -} - -func (o BatchCreateSubNetworkInterfaceV3Request) String() string { - data, _ := json.Marshal(o) - return strings.Join([]string{"BatchCreateSubNetworkInterfaceV3Request", string(data)}, " ") -} diff --git a/services/vpc/v3/vpc_client.go b/services/vpc/v3/vpc_client.go index 480c8b0c6f..c7a067b53c 100644 --- a/services/vpc/v3/vpc_client.go +++ b/services/vpc/v3/vpc_client.go @@ -19,193 +19,177 @@ func VpcClientBuilder() *http_client.HcHttpClientBuilder { } //批量创建辅助弹性网卡 -func (c *VpcClient) BatchCreateSubNetworkInterfaceV3(request *model.BatchCreateSubNetworkInterfaceV3Request) (*model.BatchCreateSubNetworkInterfaceV3Response, error) { - requestDef := GenReqDefForBatchCreateSubNetworkInterfaceV3(request) - resp, responseDef := GenRespForBatchCreateSubNetworkInterfaceV3() +func (c *VpcClient) BatchCreateSubNetworkInterface(request *model.BatchCreateSubNetworkInterfaceRequest) (*model.BatchCreateSubNetworkInterfaceResponse, error) { + requestDef := GenReqDefForBatchCreateSubNetworkInterface() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.BatchCreateSubNetworkInterfaceResponse), nil } } //创建安全组 func (c *VpcClient) CreateSecurityGroup(request *model.CreateSecurityGroupRequest) (*model.CreateSecurityGroupResponse, error) { - requestDef := GenReqDefForCreateSecurityGroup(request) - resp, responseDef := GenRespForCreateSecurityGroup() + requestDef := GenReqDefForCreateSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSecurityGroupResponse), nil } } //创建安全组规则 func (c *VpcClient) CreateSecurityGroupRule(request *model.CreateSecurityGroupRuleRequest) (*model.CreateSecurityGroupRuleResponse, error) { - requestDef := GenReqDefForCreateSecurityGroupRule(request) - resp, responseDef := GenRespForCreateSecurityGroupRule() + requestDef := GenReqDefForCreateSecurityGroupRule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSecurityGroupRuleResponse), nil } } //创建辅助弹性网卡 func (c *VpcClient) CreateSubNetworkInterface(request *model.CreateSubNetworkInterfaceRequest) (*model.CreateSubNetworkInterfaceResponse, error) { - requestDef := GenReqDefForCreateSubNetworkInterface(request) - resp, responseDef := GenRespForCreateSubNetworkInterface() + requestDef := GenReqDefForCreateSubNetworkInterface() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.CreateSubNetworkInterfaceResponse), nil } } //删除安全组 func (c *VpcClient) DeleteSecurityGroup(request *model.DeleteSecurityGroupRequest) (*model.DeleteSecurityGroupResponse, error) { - requestDef := GenReqDefForDeleteSecurityGroup(request) - resp, responseDef := GenRespForDeleteSecurityGroup() + requestDef := GenReqDefForDeleteSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSecurityGroupResponse), nil } } //删除安全组规则 func (c *VpcClient) DeleteSecurityGroupRule(request *model.DeleteSecurityGroupRuleRequest) (*model.DeleteSecurityGroupRuleResponse, error) { - requestDef := GenReqDefForDeleteSecurityGroupRule(request) - resp, responseDef := GenRespForDeleteSecurityGroupRule() + requestDef := GenReqDefForDeleteSecurityGroupRule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSecurityGroupRuleResponse), nil } } //删除辅助弹性网卡 func (c *VpcClient) DeleteSubNetworkInterface(request *model.DeleteSubNetworkInterfaceRequest) (*model.DeleteSubNetworkInterfaceResponse, error) { - requestDef := GenReqDefForDeleteSubNetworkInterface(request) - resp, responseDef := GenRespForDeleteSubNetworkInterface() + requestDef := GenReqDefForDeleteSubNetworkInterface() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.DeleteSubNetworkInterfaceResponse), nil } } //查询安全组规则列表 func (c *VpcClient) ListSecurityGroupRules(request *model.ListSecurityGroupRulesRequest) (*model.ListSecurityGroupRulesResponse, error) { - requestDef := GenReqDefForListSecurityGroupRules(request) - resp, responseDef := GenRespForListSecurityGroupRules() + requestDef := GenReqDefForListSecurityGroupRules() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSecurityGroupRulesResponse), nil } } //查询某租户下的安全组列表 func (c *VpcClient) ListSecurityGroups(request *model.ListSecurityGroupsRequest) (*model.ListSecurityGroupsResponse, error) { - requestDef := GenReqDefForListSecurityGroups(request) - resp, responseDef := GenRespForListSecurityGroups() + requestDef := GenReqDefForListSecurityGroups() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSecurityGroupsResponse), nil } } //查询辅助弹性网卡列表,单次查询最多返回2000条数据 func (c *VpcClient) ListSubNetworkInterfaces(request *model.ListSubNetworkInterfacesRequest) (*model.ListSubNetworkInterfacesResponse, error) { - requestDef := GenReqDefForListSubNetworkInterfaces(request) - resp, responseDef := GenRespForListSubNetworkInterfaces() + requestDef := GenReqDefForListSubNetworkInterfaces() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ListSubNetworkInterfacesResponse), nil } } //查询单个安全组详情 func (c *VpcClient) ShowSecurityGroup(request *model.ShowSecurityGroupRequest) (*model.ShowSecurityGroupResponse, error) { - requestDef := GenReqDefForShowSecurityGroup(request) - resp, responseDef := GenRespForShowSecurityGroup() + requestDef := GenReqDefForShowSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowSecurityGroupResponse), nil } } //查询单个安全组规则 func (c *VpcClient) ShowSecurityGroupRule(request *model.ShowSecurityGroupRuleRequest) (*model.ShowSecurityGroupRuleResponse, error) { - requestDef := GenReqDefForShowSecurityGroupRule(request) - resp, responseDef := GenRespForShowSecurityGroupRule() + requestDef := GenReqDefForShowSecurityGroupRule() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowSecurityGroupRuleResponse), nil } } //查询辅助弹性网卡详情 func (c *VpcClient) ShowSubNetworkInterface(request *model.ShowSubNetworkInterfaceRequest) (*model.ShowSubNetworkInterfaceResponse, error) { - requestDef := GenReqDefForShowSubNetworkInterface(request) - resp, responseDef := GenRespForShowSubNetworkInterface() + requestDef := GenReqDefForShowSubNetworkInterface() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowSubNetworkInterfaceResponse), nil } } //查询辅助弹性网卡数目 func (c *VpcClient) ShowSubNetworkInterfacesQuantity(request *model.ShowSubNetworkInterfacesQuantityRequest) (*model.ShowSubNetworkInterfacesQuantityResponse, error) { - requestDef := GenReqDefForShowSubNetworkInterfacesQuantity(request) - resp, responseDef := GenRespForShowSubNetworkInterfacesQuantity() + requestDef := GenReqDefForShowSubNetworkInterfacesQuantity() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.ShowSubNetworkInterfacesQuantityResponse), nil } } //更新安全组 func (c *VpcClient) UpdateSecurityGroup(request *model.UpdateSecurityGroupRequest) (*model.UpdateSecurityGroupResponse, error) { - requestDef := GenReqDefForUpdateSecurityGroup(request) - resp, responseDef := GenRespForUpdateSecurityGroup() + requestDef := GenReqDefForUpdateSecurityGroup() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateSecurityGroupResponse), nil } } //更新辅助弹性网卡 func (c *VpcClient) UpdateSubNetworkInterface(request *model.UpdateSubNetworkInterfaceRequest) (*model.UpdateSubNetworkInterfaceResponse, error) { - requestDef := GenReqDefForUpdateSubNetworkInterface(request) - resp, responseDef := GenRespForUpdateSubNetworkInterface() + requestDef := GenReqDefForUpdateSubNetworkInterface() - if _, err := c.hcClient.Sync(request, requestDef, responseDef); err != nil { + if resp, err := c.hcClient.Sync(request, requestDef); err != nil { return nil, err } else { - return resp, nil + return resp.(*model.UpdateSubNetworkInterfaceResponse), nil } } diff --git a/services/vpc/v3/vpc_meta.go b/services/vpc/v3/vpc_meta.go index bed5273826..65b1c94882 100644 --- a/services/vpc/v3/vpc_meta.go +++ b/services/vpc/v3/vpc_meta.go @@ -6,511 +6,387 @@ import ( "net/http" ) -func GenReqDefForBatchCreateSubNetworkInterfaceV3(request *model.BatchCreateSubNetworkInterfaceV3Request) *def.HttpRequestDef { +func GenReqDefForBatchCreateSubNetworkInterface() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vpc/sub-network-interfaces/batch-create"). + WithResponse(new(model.BatchCreateSubNetworkInterfaceResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForBatchCreateSubNetworkInterfaceV3() (*model.BatchCreateSubNetworkInterfaceV3Response, *def.HttpResponseDef) { - resp := new(model.BatchCreateSubNetworkInterfaceV3Response) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSecurityGroup(request *model.CreateSecurityGroupRequest) *def.HttpRequestDef { +func GenReqDefForCreateSecurityGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vpc/security-groups"). + WithResponse(new(model.CreateSecurityGroupResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSecurityGroup() (*model.CreateSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.CreateSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSecurityGroupRule(request *model.CreateSecurityGroupRuleRequest) *def.HttpRequestDef { +func GenReqDefForCreateSecurityGroupRule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vpc/security-group-rules"). + WithResponse(new(model.CreateSecurityGroupRuleResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSecurityGroupRule() (*model.CreateSecurityGroupRuleResponse, *def.HttpResponseDef) { - resp := new(model.CreateSecurityGroupRuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForCreateSubNetworkInterface(request *model.CreateSubNetworkInterfaceRequest) *def.HttpRequestDef { +func GenReqDefForCreateSubNetworkInterface() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). WithPath("/v3/{project_id}/vpc/sub-network-interfaces"). + WithResponse(new(model.CreateSubNetworkInterfaceResponse)). WithContentType("application/json") - reqDefBuilder.WithBodyJson(request.Body) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForCreateSubNetworkInterface() (*model.CreateSubNetworkInterfaceResponse, *def.HttpResponseDef) { - resp := new(model.CreateSubNetworkInterfaceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSecurityGroup(request *model.DeleteSecurityGroupRequest) *def.HttpRequestDef { +func GenReqDefForDeleteSecurityGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/vpc/security-groups/{security_group_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/vpc/security-groups/{security_group_id}"). + WithResponse(new(model.DeleteSecurityGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSecurityGroup() (*model.DeleteSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.DeleteSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSecurityGroupRule(request *model.DeleteSecurityGroupRuleRequest) *def.HttpRequestDef { +func GenReqDefForDeleteSecurityGroupRule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/vpc/security-group-rules/{security_group_rule_id}") + WithPath("/v3/{project_id}/vpc/security-group-rules/{security_group_rule_id}"). + WithResponse(new(model.DeleteSecurityGroupRuleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_rule_id"). + WithName("SecurityGroupRuleId"). + WithJsonTag("security_group_rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSecurityGroupRule() (*model.DeleteSecurityGroupRuleResponse, *def.HttpResponseDef) { - resp := new(model.DeleteSecurityGroupRuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForDeleteSubNetworkInterface(request *model.DeleteSubNetworkInterfaceRequest) *def.HttpRequestDef { +func GenReqDefForDeleteSubNetworkInterface() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). - WithPath("/v3/{project_id}/vpc/sub-network-interfaces/{sub_network_interface_id}") + WithPath("/v3/{project_id}/vpc/sub-network-interfaces/{sub_network_interface_id}"). + WithResponse(new(model.DeleteSubNetworkInterfaceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_network_interface_id"). + WithName("SubNetworkInterfaceId"). + WithJsonTag("sub_network_interface_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForDeleteSubNetworkInterface() (*model.DeleteSubNetworkInterfaceResponse, *def.HttpResponseDef) { - resp := new(model.DeleteSubNetworkInterfaceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSecurityGroupRules(request *model.ListSecurityGroupRulesRequest) *def.HttpRequestDef { +func GenReqDefForListSecurityGroupRules() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vpc/security-group-rules") + WithPath("/v3/{project_id}/vpc/security-group-rules"). + WithResponse(new(model.ListSecurityGroupRulesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_id"). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("protocol"). + WithName("Protocol"). + WithJsonTag("protocol"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("remote_group_id"). + WithName("RemoteGroupId"). + WithJsonTag("remote_group_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("direction"). + WithName("Direction"). + WithJsonTag("direction"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("action"). + WithName("Action"). + WithJsonTag("action"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSecurityGroupRules() (*model.ListSecurityGroupRulesResponse, *def.HttpResponseDef) { - resp := new(model.ListSecurityGroupRulesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSecurityGroups(request *model.ListSecurityGroupsRequest) *def.HttpRequestDef { +func GenReqDefForListSecurityGroups() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vpc/security-groups") + WithPath("/v3/{project_id}/vpc/security-groups"). + WithResponse(new(model.ListSecurityGroupsResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("name"). + WithName("Name"). + WithJsonTag("name"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("enterprise_project_id"). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSecurityGroups() (*model.ListSecurityGroupsResponse, *def.HttpResponseDef) { - resp := new(model.ListSecurityGroupsResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForListSubNetworkInterfaces(request *model.ListSubNetworkInterfacesRequest) *def.HttpRequestDef { +func GenReqDefForListSubNetworkInterfaces() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vpc/sub-network-interfaces") + WithPath("/v3/{project_id}/vpc/sub-network-interfaces"). + WithResponse(new(model.ListSubNetworkInterfacesResponse)) + + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("limit"). + WithName("Limit"). + WithJsonTag("limit"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("marker"). + WithName("Marker"). + WithJsonTag("marker"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("id"). + WithName("Id"). + WithJsonTag("id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("virsubnet_id"). + WithName("VirsubnetId"). + WithJsonTag("virsubnet_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("private_ip_address"). + WithName("PrivateIpAddress"). + WithJsonTag("private_ip_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("mac_address"). + WithName("MacAddress"). + WithJsonTag("mac_address"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("vpc_id"). + WithName("VpcId"). + WithJsonTag("vpc_id"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("description"). + WithName("Description"). + WithJsonTag("description"). WithLocationType(def.Query)) reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("parent_id"). + WithName("ParentId"). + WithJsonTag("parent_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForListSubNetworkInterfaces() (*model.ListSubNetworkInterfacesResponse, *def.HttpResponseDef) { - resp := new(model.ListSubNetworkInterfacesResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowSecurityGroup(request *model.ShowSecurityGroupRequest) *def.HttpRequestDef { +func GenReqDefForShowSecurityGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vpc/security-groups/{security_group_id}") + WithPath("/v3/{project_id}/vpc/security-groups/{security_group_id}"). + WithResponse(new(model.ShowSecurityGroupResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_id"). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowSecurityGroup() (*model.ShowSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.ShowSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowSecurityGroupRule(request *model.ShowSecurityGroupRuleRequest) *def.HttpRequestDef { +func GenReqDefForShowSecurityGroupRule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vpc/security-group-rules/{security_group_rule_id}") + WithPath("/v3/{project_id}/vpc/security-group-rules/{security_group_rule_id}"). + WithResponse(new(model.ShowSecurityGroupRuleResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_rule_id"). + WithName("SecurityGroupRuleId"). + WithJsonTag("security_group_rule_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowSecurityGroupRule() (*model.ShowSecurityGroupRuleResponse, *def.HttpResponseDef) { - resp := new(model.ShowSecurityGroupRuleResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowSubNetworkInterface(request *model.ShowSubNetworkInterfaceRequest) *def.HttpRequestDef { +func GenReqDefForShowSubNetworkInterface() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vpc/sub-network-interfaces/{sub_network_interface_id}") - - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_network_interface_id"). - WithLocationType(def.Path)) + WithPath("/v3/{project_id}/vpc/sub-network-interfaces/{sub_network_interface_id}"). + WithResponse(new(model.ShowSubNetworkInterfaceResponse)) + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). + WithName("SubNetworkInterfaceId"). + WithJsonTag("sub_network_interface_id"). WithLocationType(def.Path)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowSubNetworkInterface() (*model.ShowSubNetworkInterfaceResponse, *def.HttpResponseDef) { - resp := new(model.ShowSubNetworkInterfaceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForShowSubNetworkInterfacesQuantity(request *model.ShowSubNetworkInterfacesQuantityRequest) *def.HttpRequestDef { +func GenReqDefForShowSubNetworkInterfacesQuantity() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). - WithPath("/v3/{project_id}/vpc/sub-network-interfaces/count") + WithPath("/v3/{project_id}/vpc/sub-network-interfaces/count"). + WithResponse(new(model.ShowSubNetworkInterfacesQuantityResponse)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + // request - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForShowSubNetworkInterfacesQuantity() (*model.ShowSubNetworkInterfacesQuantityResponse, *def.HttpResponseDef) { - resp := new(model.ShowSubNetworkInterfacesQuantityResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateSecurityGroup(request *model.UpdateSecurityGroupRequest) *def.HttpRequestDef { +func GenReqDefForUpdateSecurityGroup() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/vpc/security-groups/{security_group_id}"). + WithResponse(new(model.UpdateSecurityGroupResponse)). WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("security_group_id"). + WithName("SecurityGroupId"). + WithJsonTag("security_group_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } -func GenRespForUpdateSecurityGroup() (*model.UpdateSecurityGroupResponse, *def.HttpResponseDef) { - resp := new(model.UpdateSecurityGroupResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -} - -func GenReqDefForUpdateSubNetworkInterface(request *model.UpdateSubNetworkInterfaceRequest) *def.HttpRequestDef { +func GenReqDefForUpdateSubNetworkInterface() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). WithPath("/v3/{project_id}/vpc/sub-network-interfaces/{sub_network_interface_id}"). + WithResponse(new(model.UpdateSubNetworkInterfaceResponse)). WithContentType("application/json") + // request reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("sub_network_interface_id"). + WithName("SubNetworkInterfaceId"). + WithJsonTag("sub_network_interface_id"). WithLocationType(def.Path)) - reqDefBuilder.WithBodyJson(request.Body) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("project_id"). - WithLocationType(def.Path)) + WithName("Body"). + WithLocationType(def.Body)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("domain_id"). - WithLocationType(def.Path)) + // response requestDef := reqDefBuilder.Build() return requestDef } - -func GenRespForUpdateSubNetworkInterface() (*model.UpdateSubNetworkInterfaceResponse, *def.HttpResponseDef) { - resp := new(model.UpdateSubNetworkInterfaceResponse) - respDefBuilder := def.NewHttpResponseDefBuilder().WithBodyJson(resp) - responseDef := respDefBuilder.Build() - return resp, responseDef -}