From 711a6ccd8a7fcd74b95d7ee9faa5ba86d9c1fa0a Mon Sep 17 00:00:00 2001 From: Huaweicloud-SDK Date: Thu, 10 Oct 2024 15:49:55 +0800 Subject: [PATCH] release 0.1.117 source code --- CHANGELOG.md | 286 +++++++++++ CHANGELOG_CN.md | 286 +++++++++++ VERSION | 2 +- services/aad/v1/aad_client.go | 42 ++ services/aad/v1/aad_invoker.go | 24 + services/aad/v1/aad_meta.go | 40 ++ ...ociate_ip_to_policy_and_package_request.go | 25 + ...ciate_ip_to_policy_and_package_response.go | 21 + ...iate_ip_from_policy_and_package_request.go | 25 + ...ate_ip_from_policy_and_package_response.go | 21 + .../aad/v1/model/model_ip_binding_v3_body.go | 23 + services/aad/v2/aad_client.go | 419 ++++++++++++++++ services/aad/v2/aad_invoker.go | 234 +++++++++ services/aad/v2/aad_meta.go | 447 ++++++++++++++++++ services/aad/v2/model/model_action_info.go | 24 + services/aad/v2/model/model_backend.go | 29 ++ .../v2/model/model_black_white_list_rule.go | 31 ++ services/aad/v2/model/model_bw_list_ips.go | 25 + services/aad/v2/model/model_cert_info.go | 34 ++ services/aad/v2/model/model_condition.go | 32 ++ .../model_create_aad_domain_request_body.go | 49 ++ .../v2/model/model_create_domain_request.go | 21 + .../v2/model/model_create_domain_response.go | 27 ++ services/aad/v2/model/model_curve.go | 28 ++ .../v2/model/model_delete_domain_request.go | 21 + .../v2/model/model_delete_domain_response.go | 22 + .../model_delete_domain_v2_request_body.go | 22 + services/aad/v2/model/model_detail_info.go | 20 + .../aad/v2/model/model_empty_json_response.go | 19 + services/aad/v2/model/model_flow_bps.go | 28 ++ services/aad/v2/model/model_flow_pps.go | 28 ++ .../v2/model/model_frequency_control_rule.go | 71 +++ .../v2/model/model_instance_domain_item.go | 52 ++ services/aad/v2/model/model_ips.go | 37 ++ .../model_list_connection_number_data.go | 25 + .../model_list_connection_number_data_list.go | 25 + .../model_list_d_do_s_attack_event_request.go | 25 + ...l_list_d_do_s_attack_event_request_body.go | 43 ++ ...model_list_d_do_s_attack_event_response.go | 27 ++ ...l_list_d_do_s_connection_number_request.go | 32 ++ ..._list_d_do_s_connection_number_response.go | 24 + .../v2/model/model_list_d_do_s_event_data.go | 52 ++ .../model/model_list_d_do_s_flow_request.go | 35 ++ .../model/model_list_d_do_s_flow_response.go | 27 ++ ...del_list_frequency_control_rule_request.go | 23 + ...el_list_frequency_control_rule_response.go | 27 ++ .../model_list_instance_domains_request.go | 23 + .../model_list_instance_domains_response.go | 30 ++ .../model_list_waf_attack_event_request.go | 44 ++ .../model_list_waf_attack_event_response.go | 27 ++ .../model/model_list_waf_attack_eventlist.go | 42 ++ .../model/model_list_waf_bandwidth_request.go | 38 ++ .../model_list_waf_bandwidth_response.go | 24 + .../model_list_waf_custom_rule_request.go | 26 + .../model_list_waf_custom_rule_response.go | 27 ++ .../model_list_waf_geo_ip_rule_request.go | 26 + .../model_list_waf_geo_ip_rule_response.go | 27 ++ .../v2/model/model_list_waf_qps_request.go | 38 ++ .../v2/model/model_list_waf_qps_response.go | 24 + .../model_list_waf_white_ip_rule_request.go | 26 + .../model_list_waf_white_ip_rule_response.go | 30 ++ .../model_list_white_black_ip_rule_request.go | 26 + ...model_list_white_black_ip_rule_response.go | 27 ++ services/aad/v2/model/model_page_resp_info.go | 25 + services/aad/v2/model/model_point.go | 37 ++ .../model_show_domain_certificate_request.go | 23 + .../model_show_domain_certificate_response.go | 29 ++ .../v2/model/model_show_flow_block_request.go | 23 + .../model/model_show_flow_block_response.go | 27 ++ .../v2/model/model_show_waf_policy_request.go | 26 + .../model/model_show_waf_policy_response.go | 35 ++ .../v2/model/model_show_waf_qps_request.go | 35 ++ .../v2/model/model_show_waf_qps_response.go | 24 + services/aad/v2/model/model_tag_condition.go | 25 + .../v2/model/model_upgrade_instance_data.go | 34 ++ .../model_upgrade_instance_spec_request.go | 21 + .../model_upgrade_instance_spec_response.go | 24 + ...l_upgrade_instance_spec_v2_request_body.go | 24 + .../v2/model/model_waf_custom_condition.go | 32 ++ .../aad/v2/model/model_waf_custom_rule.go | 48 ++ .../v2/model/model_waf_custom_rule_action.go | 22 + .../aad/v2/model/model_waf_geo_ip_rule.go | 37 ++ .../aad/v2/model/model_waf_policy_options.go | 34 ++ services/aad/v2/region/region.go | 58 +++ .../v3/model/model_autopilot_cluster_spec.go | 3 + .../v1/dataArtsStudio_client.go | 21 + .../v1/dataArtsStudio_invoker.go | 12 + .../dataartsstudio/v1/dataArtsStudio_meta.go | 24 + .../v1/model/model_column_lineage_v2.go | 25 + .../model_create_lineage_info_request.go | 25 + .../model_create_lineage_info_response.go | 24 + .../v1/model/model_lineage_info_request.go | 42 ++ .../v1/model/model_table_info_v2.go | 31 ++ .../v1/model/model_table_lineage_v2.go | 28 ++ .../dgc/v1/model/model_job_information.go | 28 ++ .../dgc/v1/model/model_show_job_response.go | 3 + services/dns/v2/region/region.go | 3 + services/drs/v3/model/model_query_job_resp.go | 4 +- services/drs/v5/drs_client.go | 272 ++++++++++- services/drs/v5/drs_invoker.go | 144 ++++++ services/drs/v5/drs_meta.go | 379 +++++++++++++++ .../drs/v5/model/model_backup_file_info.go | 32 ++ .../drs/v5/model/model_backup_file_resp.go | 29 ++ services/drs/v5/model/model_backup_info.go | 79 ++++ .../drs/v5/model/model_backup_info_resp.go | 29 ++ .../v5/model/model_backup_job_base_info.go | 81 ++++ .../model/model_backup_job_endpoint_info.go | 29 ++ .../model/model_backup_restore_option_info.go | 94 ++++ .../model/model_change_to_period_request.go | 28 ++ .../model/model_change_to_period_response.go | 24 + .../model/model_check_data_filter_response.go | 2 +- .../v5/model/model_clean_alarms_request.go | 29 ++ .../v5/model/model_clean_alarms_response.go | 24 + .../model/model_collect_columns_response.go | 2 +- ...model_collect_db_objects_async_response.go | 2 +- .../model_collect_db_objects_info_response.go | 2 +- .../model_collect_position_async_response.go | 2 +- .../drs/v5/model/model_connection_config.go | 22 + .../drs/v5/model/model_connection_resp.go | 46 ++ .../v5/model/model_create_connection_req.go | 100 ++++ .../model/model_create_connection_request.go | 25 + .../model/model_create_connection_response.go | 47 ++ .../v5/model/model_create_offline_task_req.go | 27 ++ .../model_create_replication_job_request.go | 25 + .../model_create_replication_job_response.go | 24 + services/drs/v5/model/model_ddl_alarm_resp.go | 44 ++ .../model/model_delete_connection_request.go | 26 + .../model/model_delete_connection_response.go | 24 + .../model_delete_replication_job_request.go | 26 + .../model_delete_replication_job_response.go | 24 + .../model/model_list_connections_request.go | 120 +++++ .../model/model_list_connections_response.go | 27 ++ .../v5/model/model_list_job_ddls_request.go | 90 ++++ .../v5/model/model_list_job_ddls_response.go | 27 ++ .../model_list_replication_jobs_request.go | 164 +++++++ .../model_list_replication_jobs_response.go | 27 ++ .../model/model_modify_connection_request.go | 28 ++ .../model/model_modify_connection_response.go | 24 + .../v5/model/model_modify_offline_task_req.go | 26 + .../drs/v5/model/model_offline_task_info.go | 148 ++++++ services/drs/v5/model/model_resource_tag.go | 2 +- ...w_data_processing_rules_result_response.go | 2 +- .../model_show_replication_job_request.go | 76 +++ .../model_show_replication_job_response.go | 50 ++ ...ow_update_object_saving_status_response.go | 2 +- services/drs/v5/model/model_to_period_req.go | 82 ++++ .../v5/model/model_update_connection_req.go | 42 ++ .../model_update_data_progress_response.go | 2 +- .../model_update_replication_job_request.go | 78 +++ .../model_update_replication_job_response.go | 24 + services/elb/v2/elb_meta.go | 4 + .../v2/model/model_list_members_request.go | 3 + services/elb/v3/elb_client.go | 6 +- .../elb/v3/model/model_availability_zone.go | 2 +- ...model_batch_add_available_zones_request.go | 2 +- .../model_batch_create_members_option.go | 8 +- services/elb/v3/model/model_batch_member.go | 14 +- .../elb/v3/model/model_batch_update_member.go | 16 +- .../model_batch_update_members_option.go | 4 +- .../elb/v3/model/model_connection_drain.go | 6 +- .../model_create_health_monitor_option.go | 8 +- .../v3/model/model_create_l7_policy_option.go | 2 +- .../v3/model/model_create_listener_option.go | 4 +- .../model_create_load_balancer_option.go | 2 +- ...eate_master_slave_health_monitor_option.go | 4 +- ...model_create_master_slave_member_option.go | 8 +- .../model_create_master_slave_pool_option.go | 20 +- .../v3/model/model_create_member_option.go | 12 +- .../elb/v3/model/model_create_pool_option.go | 32 +- .../v3/model/model_create_pool_response.go | 2 +- ..._create_pool_session_persistence_option.go | 8 +- .../model_create_pool_slow_start_option.go | 6 +- .../v3/model/model_delete_member_request.go | 2 +- services/elb/v3/model/model_flavor.go | 2 +- services/elb/v3/model/model_health_monitor.go | 8 +- services/elb/v3/model/model_l7_policy.go | 2 +- .../model/model_list_all_members_request.go | 14 +- .../model_list_availability_zones_request.go | 2 +- .../model_list_availability_zones_response.go | 2 +- .../v3/model/model_list_flavors_request.go | 2 +- .../model_list_health_monitors_request.go | 4 +- .../model/model_list_l7_policies_request.go | 2 +- .../v3/model/model_list_listeners_request.go | 8 +- .../model_list_load_balancers_request.go | 6 +- .../model_list_master_slave_pools_request.go | 24 +- .../v3/model/model_list_members_request.go | 14 +- .../elb/v3/model/model_list_pools_request.go | 26 +- services/elb/v3/model/model_listener.go | 8 +- .../v3/model/model_listener_insert_headers.go | 22 +- .../v3/model/model_listener_member_info.go | 2 +- services/elb/v3/model/model_listener_ref.go | 2 +- services/elb/v3/model/model_load_balancer.go | 6 +- .../elb/v3/model/model_load_balancer_ref.go | 2 +- .../v3/model/model_load_balancer_status.go | 2 +- .../model_master_slave_health_monitor.go | 4 +- .../elb/v3/model/model_master_slave_member.go | 12 +- .../elb/v3/model/model_master_slave_pool.go | 24 +- services/elb/v3/model/model_member.go | 14 +- services/elb/v3/model/model_member_info.go | 16 +- services/elb/v3/model/model_member_ref.go | 2 +- services/elb/v3/model/model_member_status.go | 2 +- services/elb/v3/model/model_pool.go | 46 +- services/elb/v3/model/model_pool_health.go | 4 +- services/elb/v3/model/model_quota.go | 4 +- .../elb/v3/model/model_session_persistence.go | 8 +- services/elb/v3/model/model_slow_start.go | 6 +- .../model_update_health_monitor_option.go | 6 +- .../v3/model/model_update_listener_option.go | 4 +- .../model_update_load_balancer_option.go | 8 +- .../v3/model/model_update_member_option.go | 6 +- .../elb/v3/model/model_update_pool_option.go | 10 +- ...del_update_redirect_pools_extend_config.go | 2 +- .../v3/model/model_update_rule_condition.go | 2 +- services/evs/v2/evs_meta.go | 4 - .../v2/model/model_list_volumes_request.go | 3 - services/evs/v2/model/model_volume_detail.go | 3 - .../model_check_starrocks_params_response.go | 4 +- .../model/model_star_rocks_create_request.go | 3 + .../model_delete_manual_backup_response.go | 8 +- .../model/model_create_table_request_body.go | 5 + .../v1/model/model_create_table_response.go | 5 + .../v1/model/model_global_secondary_index.go | 3 +- .../v1/model/model_pre_split_key_options.go | 7 +- .../v1/model/model_provisioned_throughput.go | 25 + services/metastudio/v1/metaStudio_client.go | 6 +- .../v1/model/model_control_smart_live_req.go | 6 +- ...model_create_digital_asset_request_body.go | 3 + .../model/model_create_smart_live_room_req.go | 2 + ...del_execute_smart_live_command_response.go | 6 +- .../model_live_room_interaction_config.go | 80 ++++ .../model_show_smart_live_room_response.go | 2 + .../v1/model/model_system_property.go | 44 +- .../v1/model/model_trigger_process.go | 54 +++ .../model_update_smart_live_room_response.go | 2 + .../v1/model/model_voice_capability.go | 6 + ...model_show_recovery_time_window_request.go | 26 + ...odel_show_recovery_time_window_response.go | 27 ++ services/rds/v3/model/model_to_period_req.go | 32 ++ .../model/model_update_to_period_request.go | 28 ++ .../model/model_update_to_period_response.go | 24 + services/rds/v3/rds_client.go | 42 ++ services/rds/v3/rds_invoker.go | 24 + services/rds/v3/rds_meta.go | 46 ++ services/rds/v3/region/region.go | 6 + ...create_white_black_ip_rule_request_body.go | 9 + ...model_create_whiteblackip_rule_response.go | 6 + ...del_delete_white_black_ip_rule_response.go | 6 + ...model_show_white_black_ip_rule_response.go | 6 + ...update_white_black_ip_rule_request_body.go | 9 + ...model_update_whiteblackip_rule_response.go | 6 + .../model_white_black_ip_response_body.go | 6 + 251 files changed, 7876 insertions(+), 308 deletions(-) create mode 100644 services/aad/v1/model/model_associate_ip_to_policy_and_package_request.go create mode 100644 services/aad/v1/model/model_associate_ip_to_policy_and_package_response.go create mode 100644 services/aad/v1/model/model_disassociate_ip_from_policy_and_package_request.go create mode 100644 services/aad/v1/model/model_disassociate_ip_from_policy_and_package_response.go create mode 100644 services/aad/v1/model/model_ip_binding_v3_body.go create mode 100644 services/aad/v2/aad_client.go create mode 100644 services/aad/v2/aad_invoker.go create mode 100644 services/aad/v2/aad_meta.go create mode 100644 services/aad/v2/model/model_action_info.go create mode 100644 services/aad/v2/model/model_backend.go create mode 100644 services/aad/v2/model/model_black_white_list_rule.go create mode 100644 services/aad/v2/model/model_bw_list_ips.go create mode 100644 services/aad/v2/model/model_cert_info.go create mode 100644 services/aad/v2/model/model_condition.go create mode 100644 services/aad/v2/model/model_create_aad_domain_request_body.go create mode 100644 services/aad/v2/model/model_create_domain_request.go create mode 100644 services/aad/v2/model/model_create_domain_response.go create mode 100644 services/aad/v2/model/model_curve.go create mode 100644 services/aad/v2/model/model_delete_domain_request.go create mode 100644 services/aad/v2/model/model_delete_domain_response.go create mode 100644 services/aad/v2/model/model_delete_domain_v2_request_body.go create mode 100644 services/aad/v2/model/model_detail_info.go create mode 100644 services/aad/v2/model/model_empty_json_response.go create mode 100644 services/aad/v2/model/model_flow_bps.go create mode 100644 services/aad/v2/model/model_flow_pps.go create mode 100644 services/aad/v2/model/model_frequency_control_rule.go create mode 100644 services/aad/v2/model/model_instance_domain_item.go create mode 100644 services/aad/v2/model/model_ips.go create mode 100644 services/aad/v2/model/model_list_connection_number_data.go create mode 100644 services/aad/v2/model/model_list_connection_number_data_list.go create mode 100644 services/aad/v2/model/model_list_d_do_s_attack_event_request.go create mode 100644 services/aad/v2/model/model_list_d_do_s_attack_event_request_body.go create mode 100644 services/aad/v2/model/model_list_d_do_s_attack_event_response.go create mode 100644 services/aad/v2/model/model_list_d_do_s_connection_number_request.go create mode 100644 services/aad/v2/model/model_list_d_do_s_connection_number_response.go create mode 100644 services/aad/v2/model/model_list_d_do_s_event_data.go create mode 100644 services/aad/v2/model/model_list_d_do_s_flow_request.go create mode 100644 services/aad/v2/model/model_list_d_do_s_flow_response.go create mode 100644 services/aad/v2/model/model_list_frequency_control_rule_request.go create mode 100644 services/aad/v2/model/model_list_frequency_control_rule_response.go create mode 100644 services/aad/v2/model/model_list_instance_domains_request.go create mode 100644 services/aad/v2/model/model_list_instance_domains_response.go create mode 100644 services/aad/v2/model/model_list_waf_attack_event_request.go create mode 100644 services/aad/v2/model/model_list_waf_attack_event_response.go create mode 100644 services/aad/v2/model/model_list_waf_attack_eventlist.go create mode 100644 services/aad/v2/model/model_list_waf_bandwidth_request.go create mode 100644 services/aad/v2/model/model_list_waf_bandwidth_response.go create mode 100644 services/aad/v2/model/model_list_waf_custom_rule_request.go create mode 100644 services/aad/v2/model/model_list_waf_custom_rule_response.go create mode 100644 services/aad/v2/model/model_list_waf_geo_ip_rule_request.go create mode 100644 services/aad/v2/model/model_list_waf_geo_ip_rule_response.go create mode 100644 services/aad/v2/model/model_list_waf_qps_request.go create mode 100644 services/aad/v2/model/model_list_waf_qps_response.go create mode 100644 services/aad/v2/model/model_list_waf_white_ip_rule_request.go create mode 100644 services/aad/v2/model/model_list_waf_white_ip_rule_response.go create mode 100644 services/aad/v2/model/model_list_white_black_ip_rule_request.go create mode 100644 services/aad/v2/model/model_list_white_black_ip_rule_response.go create mode 100644 services/aad/v2/model/model_page_resp_info.go create mode 100644 services/aad/v2/model/model_point.go create mode 100644 services/aad/v2/model/model_show_domain_certificate_request.go create mode 100644 services/aad/v2/model/model_show_domain_certificate_response.go create mode 100644 services/aad/v2/model/model_show_flow_block_request.go create mode 100644 services/aad/v2/model/model_show_flow_block_response.go create mode 100644 services/aad/v2/model/model_show_waf_policy_request.go create mode 100644 services/aad/v2/model/model_show_waf_policy_response.go create mode 100644 services/aad/v2/model/model_show_waf_qps_request.go create mode 100644 services/aad/v2/model/model_show_waf_qps_response.go create mode 100644 services/aad/v2/model/model_tag_condition.go create mode 100644 services/aad/v2/model/model_upgrade_instance_data.go create mode 100644 services/aad/v2/model/model_upgrade_instance_spec_request.go create mode 100644 services/aad/v2/model/model_upgrade_instance_spec_response.go create mode 100644 services/aad/v2/model/model_upgrade_instance_spec_v2_request_body.go create mode 100644 services/aad/v2/model/model_waf_custom_condition.go create mode 100644 services/aad/v2/model/model_waf_custom_rule.go create mode 100644 services/aad/v2/model/model_waf_custom_rule_action.go create mode 100644 services/aad/v2/model/model_waf_geo_ip_rule.go create mode 100644 services/aad/v2/model/model_waf_policy_options.go create mode 100644 services/aad/v2/region/region.go create mode 100644 services/dataartsstudio/v1/model/model_column_lineage_v2.go create mode 100644 services/dataartsstudio/v1/model/model_create_lineage_info_request.go create mode 100644 services/dataartsstudio/v1/model/model_create_lineage_info_response.go create mode 100644 services/dataartsstudio/v1/model/model_lineage_info_request.go create mode 100644 services/dataartsstudio/v1/model/model_table_info_v2.go create mode 100644 services/dataartsstudio/v1/model/model_table_lineage_v2.go create mode 100644 services/dgc/v1/model/model_job_information.go create mode 100644 services/drs/v5/model/model_backup_file_info.go create mode 100644 services/drs/v5/model/model_backup_file_resp.go create mode 100644 services/drs/v5/model/model_backup_info.go create mode 100644 services/drs/v5/model/model_backup_info_resp.go create mode 100644 services/drs/v5/model/model_backup_job_base_info.go create mode 100644 services/drs/v5/model/model_backup_job_endpoint_info.go create mode 100644 services/drs/v5/model/model_backup_restore_option_info.go create mode 100644 services/drs/v5/model/model_change_to_period_request.go create mode 100644 services/drs/v5/model/model_change_to_period_response.go create mode 100644 services/drs/v5/model/model_clean_alarms_request.go create mode 100644 services/drs/v5/model/model_clean_alarms_response.go create mode 100644 services/drs/v5/model/model_connection_config.go create mode 100644 services/drs/v5/model/model_connection_resp.go create mode 100644 services/drs/v5/model/model_create_connection_req.go create mode 100644 services/drs/v5/model/model_create_connection_request.go create mode 100644 services/drs/v5/model/model_create_connection_response.go create mode 100644 services/drs/v5/model/model_create_offline_task_req.go create mode 100644 services/drs/v5/model/model_create_replication_job_request.go create mode 100644 services/drs/v5/model/model_create_replication_job_response.go create mode 100644 services/drs/v5/model/model_ddl_alarm_resp.go create mode 100644 services/drs/v5/model/model_delete_connection_request.go create mode 100644 services/drs/v5/model/model_delete_connection_response.go create mode 100644 services/drs/v5/model/model_delete_replication_job_request.go create mode 100644 services/drs/v5/model/model_delete_replication_job_response.go create mode 100644 services/drs/v5/model/model_list_connections_request.go create mode 100644 services/drs/v5/model/model_list_connections_response.go create mode 100644 services/drs/v5/model/model_list_job_ddls_request.go create mode 100644 services/drs/v5/model/model_list_job_ddls_response.go create mode 100644 services/drs/v5/model/model_list_replication_jobs_request.go create mode 100644 services/drs/v5/model/model_list_replication_jobs_response.go create mode 100644 services/drs/v5/model/model_modify_connection_request.go create mode 100644 services/drs/v5/model/model_modify_connection_response.go create mode 100644 services/drs/v5/model/model_modify_offline_task_req.go create mode 100644 services/drs/v5/model/model_offline_task_info.go create mode 100644 services/drs/v5/model/model_show_replication_job_request.go create mode 100644 services/drs/v5/model/model_show_replication_job_response.go create mode 100644 services/drs/v5/model/model_to_period_req.go create mode 100644 services/drs/v5/model/model_update_connection_req.go create mode 100644 services/drs/v5/model/model_update_replication_job_request.go create mode 100644 services/drs/v5/model/model_update_replication_job_response.go create mode 100644 services/kvs/v1/model/model_provisioned_throughput.go create mode 100644 services/metastudio/v1/model/model_live_room_interaction_config.go create mode 100644 services/rds/v3/model/model_show_recovery_time_window_request.go create mode 100644 services/rds/v3/model/model_show_recovery_time_window_response.go create mode 100644 services/rds/v3/model/model_to_period_req.go create mode 100644 services/rds/v3/model/model_update_to_period_request.go create mode 100644 services/rds/v3/model/model_update_to_period_response.go diff --git a/CHANGELOG.md b/CHANGELOG.md index 646d937718..ef2afcb35b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,289 @@ +# 0.1.117 2024-10-10 + +### HuaweiCloud SDK AAD + +- _API Version_ + - V1 +- _Features_ + - Support the APIs `AssociateIpToPolicyAndPackage`, `DisassociateIpFromPolicyAndPackage` +- _Bug Fix_ + - None +- _Change_ + - None + +### HuaweiCloud SDK CCE + +- _API Version_ + - V3 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **ShowAutopilotCluster** + - changes of response param + - `+ spec.deletionProtection` + - **UpdateAutopilotCluster** + - changes of response param + - `+ spec.deletionProtection` + - **DeleteAutopilotCluster** + - changes of response param + - `+ spec.deletionProtection` + - **CreateAutopilotCluster** + - changes of request param + - `+ spec.deletionProtection` + - changes of response param + - `+ spec.deletionProtection` + - **ListAutopilotClusters** + - changes of response param + - `+ items.spec.deletionProtection` + +### HuaweiCloud SDK DataArtsStudio + +- _API Version_ + - V1 +- _Features_ + - Support the API `CreateLineageInfo` +- _Bug Fix_ + - None +- _Change_ + - None + +### HuaweiCloud SDK DGC + +- _API Version_ + - V1 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **ShowJob** + - changes of response param + - `+ downstreamJobs` + +### HuaweiCloud SDK DRS + +- _API Version_ + - V3 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **BatchListJobDetails** + - changes of response param + - `* results.node_num: string -> int32` + +### HuaweiCloud SDK DRS + +- _API Version_ + - V5 +- _Features_ + - Support the following APIs: + - `ListReplicationJobs` + - `CreateReplicationJob` + - `ShowReplicationJob` + - `UpdateReplicationJob` + - `DeleteReplicationJob` + - `ChangeToPeriod` + - `ListConnections` + - `CreateConnection` + - `ModifyConnection` + - `DeleteConnection` + - `ListJobDdls` + - `CleanAlarms` +- _Bug Fix_ + - None +- _Change_ + - None + +### HuaweiCloud SDK ELB + +- _API Version_ + - V2 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **ListMembers** + - changes of request param + - `+ enterprise_project_id` + +### HuaweiCloud SDK EVS + +- _API Version_ + - V2 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **ShowVolume** + - changes of response param + - `- volume.snapshot_policy_id` + - **ListVolumes** + - changes of request param + - `- snapshot_policy_id` + - changes of response param + - `- volumes.snapshot_policy_id` + +### HuaweiCloud SDK GaussDB + +- _API Version_ + - V3 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **CreateStarrocksInstance** + - changes of request param + - `+ security_group_id` + - **CheckStarrocksParams** + - changes of response param + - `+ differences` + - `- check_starrocks_params_responce` + +### HuaweiCloud SDK KVS + +- _API Version_ + - V1 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **CreateTable** + - changes of request param + - `+ bill_mode` + - `+ provisioned_throughput` + - `+ global_secondary_index_schema.provisioned_throughput` + - `- pre_split_key_options.hash_count` + - changes of response param + - `+ bill_mode` + - `+ provisioned_throughput` + - `+ global_secondary_index_schema.provisioned_throughput` + - `- pre_split_key_options.hash_count` + - **DescribeTable** + - changes of response param + - `+ global_secondary_index_schema.provisioned_throughput` + +### HuaweiCloud SDK MetaStudio + +- _API Version_ + - V1 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **ExecuteSmartLiveCommand** + - changes of request param + - `+ command: enum value [CLEAN_UP_INSERT_COMMAND]` + - changes of response param + - `+ command: enum value [CLEAN_UP_INSERT_COMMAND]` + - **ShowAsset** + - changes of response param + - `+ system_properties.key: enum value [DIGITAL_HUMAN_2D_VIDEO,DIGITAL_HUMAN_3D_VIDEO,PHOTO_VIDEO,TRANSLATED_VIDEO]` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - **UpdateDigitalAsset** + - changes of request param + - `+ system_properties.key: enum value [DIGITAL_HUMAN_2D_VIDEO,DIGITAL_HUMAN_3D_VIDEO,PHOTO_VIDEO,TRANSLATED_VIDEO]` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - changes of response param + - `+ system_properties.key: enum value [DIGITAL_HUMAN_2D_VIDEO,DIGITAL_HUMAN_3D_VIDEO,PHOTO_VIDEO,TRANSLATED_VIDEO]` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - **CreateDigitalAsset** + - changes of request param + - `+ system_properties` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - **ListAssets** + - changes of response param + - `+ assets.system_properties.key: enum value [DIGITAL_HUMAN_2D_VIDEO,DIGITAL_HUMAN_3D_VIDEO,PHOTO_VIDEO,TRANSLATED_VIDEO]` + - `+ assets.asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ assets.asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - **CreateSmartLiveRoom** + - changes of request param + - `+ interaction_config` + - `+ interaction_rules.trigger.play_type` + - **ShowSmartLiveRoom** + - changes of response param + - `+ interaction_config` + - `+ interaction_rules.trigger.play_type` + - **UpdateSmartLiveRoom** + - changes of request param + - `+ interaction_config` + - `+ interaction_rules.trigger.play_type` + - changes of response param + - `+ interaction_config` + - `+ interaction_rules.trigger.play_type` + - **UpdateInteractionRuleGroup** + - changes of request param + - `+ interaction_rules.trigger.play_type` + - changes of response param + - `+ interaction_rules.trigger.play_type` + - **CreateInteractionRuleGroup** + - changes of request param + - `+ interaction_rules.trigger.play_type` + - **ListInteractionRuleGroups** + - changes of response param + - `+ interaction_rule_groups.interaction_rules.trigger.play_type` + +### HuaweiCloud SDK RDS + +- _API Version_ + - V3 +- _Features_ + - Support the APIs `ShowRecoveryTimeWindow`, `UpdateToPeriod` +- _Bug Fix_ + - None +- _Change_ + - None + +### HuaweiCloud SDK WAF + +- _API Version_ + - V1 +- _Features_ + - None +- _Bug Fix_ + - None +- _Change_ + - **ShowWhiteBlackIpRule** + - changes of response param + - `+ start` + - `+ terminal` + - **UpdateWhiteblackipRule** + - changes of request param + - `+ time_mode` + - `+ start` + - `+ terminal` + - changes of response param + - `+ start` + - `+ terminal` + - **DeleteWhiteBlackIpRule** + - changes of response param + - `+ start` + - `+ terminal` + - **CreateWhiteblackipRule** + - changes of request param + - `+ time_mode` + - `+ start` + - `+ terminal` + - changes of response param + - `+ start` + - `+ terminal` + - **ListWhiteblackipRule** + - changes of response param + - `+ items.start` + - `+ items.terminal` + # 0.1.116 2024-09-26 ### HuaweiCloud SDK BSS diff --git a/CHANGELOG_CN.md b/CHANGELOG_CN.md index b1e4bb716f..3d36964210 100644 --- a/CHANGELOG_CN.md +++ b/CHANGELOG_CN.md @@ -1,3 +1,289 @@ +# 0.1.117 2024-10-10 + +### HuaweiCloud SDK AAD + +- _接口版本_ + - V1 +- _新增特性_ + - 支持接口`AssociateIpToPolicyAndPackage`、`DisassociateIpFromPolicyAndPackage` +- _解决问题_ + - 无 +- _特性变更_ + - 无 + +### HuaweiCloud SDK CCE + +- _接口版本_ + - V3 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **ShowAutopilotCluster** + - 响应参数变更 + - `+ spec.deletionProtection` + - **UpdateAutopilotCluster** + - 响应参数变更 + - `+ spec.deletionProtection` + - **DeleteAutopilotCluster** + - 响应参数变更 + - `+ spec.deletionProtection` + - **CreateAutopilotCluster** + - 请求参数变更 + - `+ spec.deletionProtection` + - 响应参数变更 + - `+ spec.deletionProtection` + - **ListAutopilotClusters** + - 响应参数变更 + - `+ items.spec.deletionProtection` + +### HuaweiCloud SDK DataArtsStudio + +- _接口版本_ + - V1 +- _新增特性_ + - 支持接口`CreateLineageInfo` +- _解决问题_ + - 无 +- _特性变更_ + - 无 + +### HuaweiCloud SDK DGC + +- _接口版本_ + - V1 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **ShowJob** + - 响应参数变更 + - `+ downstreamJobs` + +### HuaweiCloud SDK DRS + +- _接口版本_ + - V3 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **BatchListJobDetails** + - 响应参数变更 + - `* results.node_num: string -> int32` + +### HuaweiCloud SDK DRS + +- _接口版本_ + - V5 +- _新增特性_ + - 支持以下接口: + - `ListReplicationJobs` + - `CreateReplicationJob` + - `ShowReplicationJob` + - `UpdateReplicationJob` + - `DeleteReplicationJob` + - `ChangeToPeriod` + - `ListConnections` + - `CreateConnection` + - `ModifyConnection` + - `DeleteConnection` + - `ListJobDdls` + - `CleanAlarms` +- _解决问题_ + - 无 +- _特性变更_ + - 无 + +### HuaweiCloud SDK ELB + +- _接口版本_ + - V2 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **ListMembers** + - 请求参数变更 + - `+ enterprise_project_id` + +### HuaweiCloud SDK EVS + +- _接口版本_ + - V2 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **ShowVolume** + - 响应参数变更 + - `- volume.snapshot_policy_id` + - **ListVolumes** + - 请求参数变更 + - `- snapshot_policy_id` + - 响应参数变更 + - `- volumes.snapshot_policy_id` + +### HuaweiCloud SDK GaussDB + +- _接口版本_ + - V3 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **CreateStarrocksInstance** + - 请求参数变更 + - `+ security_group_id` + - **CheckStarrocksParams** + - 响应参数变更 + - `+ differences` + - `- check_starrocks_params_responce` + +### HuaweiCloud SDK KVS + +- _接口版本_ + - V1 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **CreateTable** + - 请求参数变更 + - `+ bill_mode` + - `+ provisioned_throughput` + - `+ global_secondary_index_schema.provisioned_throughput` + - `- pre_split_key_options.hash_count` + - 响应参数变更 + - `+ bill_mode` + - `+ provisioned_throughput` + - `+ global_secondary_index_schema.provisioned_throughput` + - `- pre_split_key_options.hash_count` + - **DescribeTable** + - 响应参数变更 + - `+ global_secondary_index_schema.provisioned_throughput` + +### HuaweiCloud SDK MetaStudio + +- _接口版本_ + - V1 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **ExecuteSmartLiveCommand** + - 请求参数变更 + - `+ command: enum value [CLEAN_UP_INSERT_COMMAND]` + - 响应参数变更 + - `+ command: enum value [CLEAN_UP_INSERT_COMMAND]` + - **ShowAsset** + - 响应参数变更 + - `+ system_properties.key: enum value [DIGITAL_HUMAN_2D_VIDEO,DIGITAL_HUMAN_3D_VIDEO,PHOTO_VIDEO,TRANSLATED_VIDEO]` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - **UpdateDigitalAsset** + - 请求参数变更 + - `+ system_properties.key: enum value [DIGITAL_HUMAN_2D_VIDEO,DIGITAL_HUMAN_3D_VIDEO,PHOTO_VIDEO,TRANSLATED_VIDEO]` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - 响应参数变更 + - `+ system_properties.key: enum value [DIGITAL_HUMAN_2D_VIDEO,DIGITAL_HUMAN_3D_VIDEO,PHOTO_VIDEO,TRANSLATED_VIDEO]` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - **CreateDigitalAsset** + - 请求参数变更 + - `+ system_properties` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - **ListAssets** + - 响应参数变更 + - `+ assets.system_properties.key: enum value [DIGITAL_HUMAN_2D_VIDEO,DIGITAL_HUMAN_3D_VIDEO,PHOTO_VIDEO,TRANSLATED_VIDEO]` + - `+ assets.asset_extra_meta.voice_model_meta.voice_capability.conversion_rate` + - `+ assets.asset_extra_meta.voice_model_meta.voice_capability.conversion_rate_en` + - **CreateSmartLiveRoom** + - 请求参数变更 + - `+ interaction_config` + - `+ interaction_rules.trigger.play_type` + - **ShowSmartLiveRoom** + - 响应参数变更 + - `+ interaction_config` + - `+ interaction_rules.trigger.play_type` + - **UpdateSmartLiveRoom** + - 请求参数变更 + - `+ interaction_config` + - `+ interaction_rules.trigger.play_type` + - 响应参数变更 + - `+ interaction_config` + - `+ interaction_rules.trigger.play_type` + - **UpdateInteractionRuleGroup** + - 请求参数变更 + - `+ interaction_rules.trigger.play_type` + - 响应参数变更 + - `+ interaction_rules.trigger.play_type` + - **CreateInteractionRuleGroup** + - 请求参数变更 + - `+ interaction_rules.trigger.play_type` + - **ListInteractionRuleGroups** + - 响应参数变更 + - `+ interaction_rule_groups.interaction_rules.trigger.play_type` + +### HuaweiCloud SDK RDS + +- _接口版本_ + - V3 +- _新增特性_ + - 支持接口`ShowRecoveryTimeWindow`、`UpdateToPeriod` +- _解决问题_ + - 无 +- _特性变更_ + - 无 + +### HuaweiCloud SDK WAF + +- _接口版本_ + - V1 +- _新增特性_ + - 无 +- _解决问题_ + - 无 +- _特性变更_ + - **ShowWhiteBlackIpRule** + - 响应参数变更 + - `+ start` + - `+ terminal` + - **UpdateWhiteblackipRule** + - 请求参数变更 + - `+ time_mode` + - `+ start` + - `+ terminal` + - 响应参数变更 + - `+ start` + - `+ terminal` + - **DeleteWhiteBlackIpRule** + - 响应参数变更 + - `+ start` + - `+ terminal` + - **CreateWhiteblackipRule** + - 请求参数变更 + - `+ time_mode` + - `+ start` + - `+ terminal` + - 响应参数变更 + - `+ start` + - `+ terminal` + - **ListWhiteblackipRule** + - 响应参数变更 + - `+ items.start` + - `+ items.terminal` + # 0.1.116 2024-09-26 ### HuaweiCloud SDK BSS diff --git a/VERSION b/VERSION index 793d0e319f..8b06068853 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -0.1.116 +0.1.117 diff --git a/services/aad/v1/aad_client.go b/services/aad/v1/aad_client.go index 87a3311899..cac2db5698 100644 --- a/services/aad/v1/aad_client.go +++ b/services/aad/v1/aad_client.go @@ -187,6 +187,27 @@ func (c *AadClient) AssociateIpToPolicyInvoker(request *model.AssociateIpToPolic return &AssociateIpToPolicyInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// AssociateIpToPolicyAndPackage 策略和防护包绑定防护对象 +// +// 策略和防护包绑定防护对象 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) AssociateIpToPolicyAndPackage(request *model.AssociateIpToPolicyAndPackageRequest) (*model.AssociateIpToPolicyAndPackageResponse, error) { + requestDef := GenReqDefForAssociateIpToPolicyAndPackage() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.AssociateIpToPolicyAndPackageResponse), nil + } +} + +// AssociateIpToPolicyAndPackageInvoker 策略和防护包绑定防护对象 +func (c *AadClient) AssociateIpToPolicyAndPackageInvoker(request *model.AssociateIpToPolicyAndPackageRequest) *AssociateIpToPolicyAndPackageInvoker { + requestDef := GenReqDefForAssociateIpToPolicyAndPackage() + return &AssociateIpToPolicyAndPackageInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // BatchCreateInstanceIpRule 批量创建高防实例IP的转发规则 // // 批量创建高防实例IP的转发规则 @@ -376,6 +397,27 @@ func (c *AadClient) DisassociateIpFromPolicyInvoker(request *model.DisassociateI return &DisassociateIpFromPolicyInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// DisassociateIpFromPolicyAndPackage 策略和防护包解绑防护对象 +// +// 策略和防护包解绑防护对象 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) DisassociateIpFromPolicyAndPackage(request *model.DisassociateIpFromPolicyAndPackageRequest) (*model.DisassociateIpFromPolicyAndPackageResponse, error) { + requestDef := GenReqDefForDisassociateIpFromPolicyAndPackage() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DisassociateIpFromPolicyAndPackageResponse), nil + } +} + +// DisassociateIpFromPolicyAndPackageInvoker 策略和防护包解绑防护对象 +func (c *AadClient) DisassociateIpFromPolicyAndPackageInvoker(request *model.DisassociateIpFromPolicyAndPackageRequest) *DisassociateIpFromPolicyAndPackageInvoker { + requestDef := GenReqDefForDisassociateIpFromPolicyAndPackage() + return &DisassociateIpFromPolicyAndPackageInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // ListDomain 查询域名列表 // // 查询域名列表 diff --git a/services/aad/v1/aad_invoker.go b/services/aad/v1/aad_invoker.go index 6fadde179a..39eaa33b93 100644 --- a/services/aad/v1/aad_invoker.go +++ b/services/aad/v1/aad_invoker.go @@ -101,6 +101,18 @@ func (i *AssociateIpToPolicyInvoker) Invoke() (*model.AssociateIpToPolicyRespons } } +type AssociateIpToPolicyAndPackageInvoker struct { + *invoker.BaseInvoker +} + +func (i *AssociateIpToPolicyAndPackageInvoker) Invoke() (*model.AssociateIpToPolicyAndPackageResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.AssociateIpToPolicyAndPackageResponse), nil + } +} + type BatchCreateInstanceIpRuleInvoker struct { *invoker.BaseInvoker } @@ -209,6 +221,18 @@ func (i *DisassociateIpFromPolicyInvoker) Invoke() (*model.DisassociateIpFromPol } } +type DisassociateIpFromPolicyAndPackageInvoker struct { + *invoker.BaseInvoker +} + +func (i *DisassociateIpFromPolicyAndPackageInvoker) Invoke() (*model.DisassociateIpFromPolicyAndPackageResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DisassociateIpFromPolicyAndPackageResponse), nil + } +} + type ListDomainInvoker struct { *invoker.BaseInvoker } diff --git a/services/aad/v1/aad_meta.go b/services/aad/v1/aad_meta.go index 923b6a969d..03b50c6a93 100644 --- a/services/aad/v1/aad_meta.go +++ b/services/aad/v1/aad_meta.go @@ -155,6 +155,26 @@ func GenReqDefForAssociateIpToPolicy() *def.HttpRequestDef { return requestDef } +func GenReqDefForAssociateIpToPolicyAndPackage() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3/cnad/policies/{policy_id}/bind"). + WithResponse(new(model.AssociateIpToPolicyAndPackageResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PolicyId"). + WithJsonTag("policy_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForBatchCreateInstanceIpRule() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). @@ -315,6 +335,26 @@ func GenReqDefForDisassociateIpFromPolicy() *def.HttpRequestDef { return requestDef } +func GenReqDefForDisassociateIpFromPolicyAndPackage() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3/cnad/policies/{policy_id}/unbind"). + WithResponse(new(model.DisassociateIpFromPolicyAndPackageResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("PolicyId"). + WithJsonTag("policy_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForListDomain() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). diff --git a/services/aad/v1/model/model_associate_ip_to_policy_and_package_request.go b/services/aad/v1/model/model_associate_ip_to_policy_and_package_request.go new file mode 100644 index 0000000000..8322bb1f3d --- /dev/null +++ b/services/aad/v1/model/model_associate_ip_to_policy_and_package_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// AssociateIpToPolicyAndPackageRequest Request Object +type AssociateIpToPolicyAndPackageRequest struct { + + // 策略id + PolicyId string `json:"policy_id"` + + Body *IpBindingV3Body `json:"body,omitempty"` +} + +func (o AssociateIpToPolicyAndPackageRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateIpToPolicyAndPackageRequest struct{}" + } + + return strings.Join([]string{"AssociateIpToPolicyAndPackageRequest", string(data)}, " ") +} diff --git a/services/aad/v1/model/model_associate_ip_to_policy_and_package_response.go b/services/aad/v1/model/model_associate_ip_to_policy_and_package_response.go new file mode 100644 index 0000000000..347d3c3d36 --- /dev/null +++ b/services/aad/v1/model/model_associate_ip_to_policy_and_package_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// AssociateIpToPolicyAndPackageResponse Response Object +type AssociateIpToPolicyAndPackageResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o AssociateIpToPolicyAndPackageResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "AssociateIpToPolicyAndPackageResponse struct{}" + } + + return strings.Join([]string{"AssociateIpToPolicyAndPackageResponse", string(data)}, " ") +} diff --git a/services/aad/v1/model/model_disassociate_ip_from_policy_and_package_request.go b/services/aad/v1/model/model_disassociate_ip_from_policy_and_package_request.go new file mode 100644 index 0000000000..0b72b1fe73 --- /dev/null +++ b/services/aad/v1/model/model_disassociate_ip_from_policy_and_package_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DisassociateIpFromPolicyAndPackageRequest Request Object +type DisassociateIpFromPolicyAndPackageRequest struct { + + // 策略id + PolicyId string `json:"policy_id"` + + Body *IpBindingV3Body `json:"body,omitempty"` +} + +func (o DisassociateIpFromPolicyAndPackageRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DisassociateIpFromPolicyAndPackageRequest struct{}" + } + + return strings.Join([]string{"DisassociateIpFromPolicyAndPackageRequest", string(data)}, " ") +} diff --git a/services/aad/v1/model/model_disassociate_ip_from_policy_and_package_response.go b/services/aad/v1/model/model_disassociate_ip_from_policy_and_package_response.go new file mode 100644 index 0000000000..64b79458c6 --- /dev/null +++ b/services/aad/v1/model/model_disassociate_ip_from_policy_and_package_response.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DisassociateIpFromPolicyAndPackageResponse Response Object +type DisassociateIpFromPolicyAndPackageResponse struct { + HttpStatusCode int `json:"-"` +} + +func (o DisassociateIpFromPolicyAndPackageResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DisassociateIpFromPolicyAndPackageResponse struct{}" + } + + return strings.Join([]string{"DisassociateIpFromPolicyAndPackageResponse", string(data)}, " ") +} diff --git a/services/aad/v1/model/model_ip_binding_v3_body.go b/services/aad/v1/model/model_ip_binding_v3_body.go new file mode 100644 index 0000000000..735ef307e6 --- /dev/null +++ b/services/aad/v1/model/model_ip_binding_v3_body.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// IpBindingV3Body ip绑定请求体 +type IpBindingV3Body struct { + + // 防护ip列表 + IpList []string `json:"ip_list"` +} + +func (o IpBindingV3Body) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "IpBindingV3Body struct{}" + } + + return strings.Join([]string{"IpBindingV3Body", string(data)}, " ") +} diff --git a/services/aad/v2/aad_client.go b/services/aad/v2/aad_client.go new file mode 100644 index 0000000000..58bae9fba2 --- /dev/null +++ b/services/aad/v2/aad_client.go @@ -0,0 +1,419 @@ +package v2 + +import ( + httpclient "github.com/huaweicloud/huaweicloud-sdk-go-v3/core" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/invoker" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aad/v2/model" +) + +type AadClient struct { + HcClient *httpclient.HcHttpClient +} + +func NewAadClient(hcClient *httpclient.HcHttpClient) *AadClient { + return &AadClient{HcClient: hcClient} +} + +func AadClientBuilder() *httpclient.HcHttpClientBuilder { + builder := httpclient.NewHcHttpClientBuilder().WithCredentialsType("global.Credentials") + return builder +} + +// CreateDomain 创建防护域名 +// +// 创建防护域名 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) CreateDomain(request *model.CreateDomainRequest) (*model.CreateDomainResponse, error) { + requestDef := GenReqDefForCreateDomain() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateDomainResponse), nil + } +} + +// CreateDomainInvoker 创建防护域名 +func (c *AadClient) CreateDomainInvoker(request *model.CreateDomainRequest) *CreateDomainInvoker { + requestDef := GenReqDefForCreateDomain() + return &CreateDomainInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListDDoSAttackEvent 查询DDoS攻击事件列表 +// +// 查询DDoS攻击事件列表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListDDoSAttackEvent(request *model.ListDDoSAttackEventRequest) (*model.ListDDoSAttackEventResponse, error) { + requestDef := GenReqDefForListDDoSAttackEvent() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListDDoSAttackEventResponse), nil + } +} + +// ListDDoSAttackEventInvoker 查询DDoS攻击事件列表 +func (c *AadClient) ListDDoSAttackEventInvoker(request *model.ListDDoSAttackEventRequest) *ListDDoSAttackEventInvoker { + requestDef := GenReqDefForListDDoSAttackEvent() + return &ListDDoSAttackEventInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListDDoSConnectionNumber 查询新建连接数和并发连接数 +// +// 查询新建连接数和并发连接数 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListDDoSConnectionNumber(request *model.ListDDoSConnectionNumberRequest) (*model.ListDDoSConnectionNumberResponse, error) { + requestDef := GenReqDefForListDDoSConnectionNumber() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListDDoSConnectionNumberResponse), nil + } +} + +// ListDDoSConnectionNumberInvoker 查询新建连接数和并发连接数 +func (c *AadClient) ListDDoSConnectionNumberInvoker(request *model.ListDDoSConnectionNumberRequest) *ListDDoSConnectionNumberInvoker { + requestDef := GenReqDefForListDDoSConnectionNumber() + return &ListDDoSConnectionNumberInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListDDoSFlow 查询DDoS攻击防护BPS/PPS流量 +// +// 查询DDoS攻击防护BPS/PPS流量 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListDDoSFlow(request *model.ListDDoSFlowRequest) (*model.ListDDoSFlowResponse, error) { + requestDef := GenReqDefForListDDoSFlow() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListDDoSFlowResponse), nil + } +} + +// ListDDoSFlowInvoker 查询DDoS攻击防护BPS/PPS流量 +func (c *AadClient) ListDDoSFlowInvoker(request *model.ListDDoSFlowRequest) *ListDDoSFlowInvoker { + requestDef := GenReqDefForListDDoSFlow() + return &ListDDoSFlowInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListFrequencyControlRule 查询频率控制规则列表 +// +// 查询频率控制规则列表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListFrequencyControlRule(request *model.ListFrequencyControlRuleRequest) (*model.ListFrequencyControlRuleResponse, error) { + requestDef := GenReqDefForListFrequencyControlRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListFrequencyControlRuleResponse), nil + } +} + +// ListFrequencyControlRuleInvoker 查询频率控制规则列表 +func (c *AadClient) ListFrequencyControlRuleInvoker(request *model.ListFrequencyControlRuleRequest) *ListFrequencyControlRuleInvoker { + requestDef := GenReqDefForListFrequencyControlRule() + return &ListFrequencyControlRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListInstanceDomains 查询实例关联的域名信息 +// +// 查询实例关联的域名信息 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListInstanceDomains(request *model.ListInstanceDomainsRequest) (*model.ListInstanceDomainsResponse, error) { + requestDef := GenReqDefForListInstanceDomains() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListInstanceDomainsResponse), nil + } +} + +// ListInstanceDomainsInvoker 查询实例关联的域名信息 +func (c *AadClient) ListInstanceDomainsInvoker(request *model.ListInstanceDomainsRequest) *ListInstanceDomainsInvoker { + requestDef := GenReqDefForListInstanceDomains() + return &ListInstanceDomainsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListWafAttackEvent 查询攻击事件列表 +// +// 查询攻击事件列表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListWafAttackEvent(request *model.ListWafAttackEventRequest) (*model.ListWafAttackEventResponse, error) { + requestDef := GenReqDefForListWafAttackEvent() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListWafAttackEventResponse), nil + } +} + +// ListWafAttackEventInvoker 查询攻击事件列表 +func (c *AadClient) ListWafAttackEventInvoker(request *model.ListWafAttackEventRequest) *ListWafAttackEventInvoker { + requestDef := GenReqDefForListWafAttackEvent() + return &ListWafAttackEventInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListWafBandwidth 带宽曲线 +// +// 带宽曲线 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListWafBandwidth(request *model.ListWafBandwidthRequest) (*model.ListWafBandwidthResponse, error) { + requestDef := GenReqDefForListWafBandwidth() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListWafBandwidthResponse), nil + } +} + +// ListWafBandwidthInvoker 带宽曲线 +func (c *AadClient) ListWafBandwidthInvoker(request *model.ListWafBandwidthRequest) *ListWafBandwidthInvoker { + requestDef := GenReqDefForListWafBandwidth() + return &ListWafBandwidthInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListWafCustomRule 查询精准防护规则 +// +// 查询精准防护规则 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListWafCustomRule(request *model.ListWafCustomRuleRequest) (*model.ListWafCustomRuleResponse, error) { + requestDef := GenReqDefForListWafCustomRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListWafCustomRuleResponse), nil + } +} + +// ListWafCustomRuleInvoker 查询精准防护规则 +func (c *AadClient) ListWafCustomRuleInvoker(request *model.ListWafCustomRuleRequest) *ListWafCustomRuleInvoker { + requestDef := GenReqDefForListWafCustomRule() + return &ListWafCustomRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListWafGeoIpRule 查询区域封禁规则 +// +// 查询区域封禁规则 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListWafGeoIpRule(request *model.ListWafGeoIpRuleRequest) (*model.ListWafGeoIpRuleResponse, error) { + requestDef := GenReqDefForListWafGeoIpRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListWafGeoIpRuleResponse), nil + } +} + +// ListWafGeoIpRuleInvoker 查询区域封禁规则 +func (c *AadClient) ListWafGeoIpRuleInvoker(request *model.ListWafGeoIpRuleRequest) *ListWafGeoIpRuleInvoker { + requestDef := GenReqDefForListWafGeoIpRule() + return &ListWafGeoIpRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListWafQps 查询请求QPS +// +// 查询请求QPS +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListWafQps(request *model.ListWafQpsRequest) (*model.ListWafQpsResponse, error) { + requestDef := GenReqDefForListWafQps() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListWafQpsResponse), nil + } +} + +// ListWafQpsInvoker 查询请求QPS +func (c *AadClient) ListWafQpsInvoker(request *model.ListWafQpsRequest) *ListWafQpsInvoker { + requestDef := GenReqDefForListWafQps() + return &ListWafQpsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListWafWhiteIpRule 防护策略web-cc黑白名单-查询黑白名单规则 +// +// 防护策略web-cc黑白名单-查询黑白名单规则 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListWafWhiteIpRule(request *model.ListWafWhiteIpRuleRequest) (*model.ListWafWhiteIpRuleResponse, error) { + requestDef := GenReqDefForListWafWhiteIpRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListWafWhiteIpRuleResponse), nil + } +} + +// ListWafWhiteIpRuleInvoker 防护策略web-cc黑白名单-查询黑白名单规则 +func (c *AadClient) ListWafWhiteIpRuleInvoker(request *model.ListWafWhiteIpRuleRequest) *ListWafWhiteIpRuleInvoker { + requestDef := GenReqDefForListWafWhiteIpRule() + return &ListWafWhiteIpRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ListWhiteBlackIpRule 查询DDoS攻击防护的黑白名单列表 +// +// 查询DDoS攻击防护的黑白名单列表 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ListWhiteBlackIpRule(request *model.ListWhiteBlackIpRuleRequest) (*model.ListWhiteBlackIpRuleResponse, error) { + requestDef := GenReqDefForListWhiteBlackIpRule() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListWhiteBlackIpRuleResponse), nil + } +} + +// ListWhiteBlackIpRuleInvoker 查询DDoS攻击防护的黑白名单列表 +func (c *AadClient) ListWhiteBlackIpRuleInvoker(request *model.ListWhiteBlackIpRuleRequest) *ListWhiteBlackIpRuleInvoker { + requestDef := GenReqDefForListWhiteBlackIpRule() + return &ListWhiteBlackIpRuleInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowDomainCertificate 查询域名关联的证书信息 +// +// 查询域名关联的证书信息 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ShowDomainCertificate(request *model.ShowDomainCertificateRequest) (*model.ShowDomainCertificateResponse, error) { + requestDef := GenReqDefForShowDomainCertificate() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowDomainCertificateResponse), nil + } +} + +// ShowDomainCertificateInvoker 查询域名关联的证书信息 +func (c *AadClient) ShowDomainCertificateInvoker(request *model.ShowDomainCertificateRequest) *ShowDomainCertificateInvoker { + requestDef := GenReqDefForShowDomainCertificate() + return &ShowDomainCertificateInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowFlowBlock 查询流量封禁信息 +// +// 查询流量封禁信息 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ShowFlowBlock(request *model.ShowFlowBlockRequest) (*model.ShowFlowBlockResponse, error) { + requestDef := GenReqDefForShowFlowBlock() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowFlowBlockResponse), nil + } +} + +// ShowFlowBlockInvoker 查询流量封禁信息 +func (c *AadClient) ShowFlowBlockInvoker(request *model.ShowFlowBlockRequest) *ShowFlowBlockInvoker { + requestDef := GenReqDefForShowFlowBlock() + return &ShowFlowBlockInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowWafPolicy 查询WEB防护策略配置 +// +// 查询WEB防护策略配置 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ShowWafPolicy(request *model.ShowWafPolicyRequest) (*model.ShowWafPolicyResponse, error) { + requestDef := GenReqDefForShowWafPolicy() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowWafPolicyResponse), nil + } +} + +// ShowWafPolicyInvoker 查询WEB防护策略配置 +func (c *AadClient) ShowWafPolicyInvoker(request *model.ShowWafPolicyRequest) *ShowWafPolicyInvoker { + requestDef := GenReqDefForShowWafPolicy() + return &ShowWafPolicyInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// ShowWafQps 查询CC攻击防护请求QPS +// +// 查询CC攻击防护请求QPS +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) ShowWafQps(request *model.ShowWafQpsRequest) (*model.ShowWafQpsResponse, error) { + requestDef := GenReqDefForShowWafQps() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowWafQpsResponse), nil + } +} + +// ShowWafQpsInvoker 查询CC攻击防护请求QPS +func (c *AadClient) ShowWafQpsInvoker(request *model.ShowWafQpsRequest) *ShowWafQpsInvoker { + requestDef := GenReqDefForShowWafQps() + return &ShowWafQpsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// UpgradeInstanceSpec 修改实例规格 +// +// 修改实例规格 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) UpgradeInstanceSpec(request *model.UpgradeInstanceSpecRequest) (*model.UpgradeInstanceSpecResponse, error) { + requestDef := GenReqDefForUpgradeInstanceSpec() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpgradeInstanceSpecResponse), nil + } +} + +// UpgradeInstanceSpecInvoker 修改实例规格 +func (c *AadClient) UpgradeInstanceSpecInvoker(request *model.UpgradeInstanceSpecRequest) *UpgradeInstanceSpecInvoker { + requestDef := GenReqDefForUpgradeInstanceSpec() + return &UpgradeInstanceSpecInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteDomain 删除防护域名 +// +// 删除防护域名 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *AadClient) DeleteDomain(request *model.DeleteDomainRequest) (*model.DeleteDomainResponse, error) { + requestDef := GenReqDefForDeleteDomain() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteDomainResponse), nil + } +} + +// DeleteDomainInvoker 删除防护域名 +func (c *AadClient) DeleteDomainInvoker(request *model.DeleteDomainRequest) *DeleteDomainInvoker { + requestDef := GenReqDefForDeleteDomain() + return &DeleteDomainInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} diff --git a/services/aad/v2/aad_invoker.go b/services/aad/v2/aad_invoker.go new file mode 100644 index 0000000000..354e9f75cb --- /dev/null +++ b/services/aad/v2/aad_invoker.go @@ -0,0 +1,234 @@ +package v2 + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/invoker" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aad/v2/model" +) + +type CreateDomainInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateDomainInvoker) Invoke() (*model.CreateDomainResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateDomainResponse), nil + } +} + +type ListDDoSAttackEventInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListDDoSAttackEventInvoker) Invoke() (*model.ListDDoSAttackEventResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListDDoSAttackEventResponse), nil + } +} + +type ListDDoSConnectionNumberInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListDDoSConnectionNumberInvoker) Invoke() (*model.ListDDoSConnectionNumberResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListDDoSConnectionNumberResponse), nil + } +} + +type ListDDoSFlowInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListDDoSFlowInvoker) Invoke() (*model.ListDDoSFlowResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListDDoSFlowResponse), nil + } +} + +type ListFrequencyControlRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListFrequencyControlRuleInvoker) Invoke() (*model.ListFrequencyControlRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListFrequencyControlRuleResponse), nil + } +} + +type ListInstanceDomainsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListInstanceDomainsInvoker) Invoke() (*model.ListInstanceDomainsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListInstanceDomainsResponse), nil + } +} + +type ListWafAttackEventInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListWafAttackEventInvoker) Invoke() (*model.ListWafAttackEventResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListWafAttackEventResponse), nil + } +} + +type ListWafBandwidthInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListWafBandwidthInvoker) Invoke() (*model.ListWafBandwidthResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListWafBandwidthResponse), nil + } +} + +type ListWafCustomRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListWafCustomRuleInvoker) Invoke() (*model.ListWafCustomRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListWafCustomRuleResponse), nil + } +} + +type ListWafGeoIpRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListWafGeoIpRuleInvoker) Invoke() (*model.ListWafGeoIpRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListWafGeoIpRuleResponse), nil + } +} + +type ListWafQpsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListWafQpsInvoker) Invoke() (*model.ListWafQpsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListWafQpsResponse), nil + } +} + +type ListWafWhiteIpRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListWafWhiteIpRuleInvoker) Invoke() (*model.ListWafWhiteIpRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListWafWhiteIpRuleResponse), nil + } +} + +type ListWhiteBlackIpRuleInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListWhiteBlackIpRuleInvoker) Invoke() (*model.ListWhiteBlackIpRuleResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListWhiteBlackIpRuleResponse), nil + } +} + +type ShowDomainCertificateInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowDomainCertificateInvoker) Invoke() (*model.ShowDomainCertificateResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowDomainCertificateResponse), nil + } +} + +type ShowFlowBlockInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowFlowBlockInvoker) Invoke() (*model.ShowFlowBlockResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowFlowBlockResponse), nil + } +} + +type ShowWafPolicyInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowWafPolicyInvoker) Invoke() (*model.ShowWafPolicyResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowWafPolicyResponse), nil + } +} + +type ShowWafQpsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowWafQpsInvoker) Invoke() (*model.ShowWafQpsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowWafQpsResponse), nil + } +} + +type UpgradeInstanceSpecInvoker struct { + *invoker.BaseInvoker +} + +func (i *UpgradeInstanceSpecInvoker) Invoke() (*model.UpgradeInstanceSpecResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.UpgradeInstanceSpecResponse), nil + } +} + +type DeleteDomainInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteDomainInvoker) Invoke() (*model.DeleteDomainResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteDomainResponse), nil + } +} diff --git a/services/aad/v2/aad_meta.go b/services/aad/v2/aad_meta.go new file mode 100644 index 0000000000..8ce845c2e6 --- /dev/null +++ b/services/aad/v2/aad_meta.go @@ -0,0 +1,447 @@ +package v2 + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/def" + + "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/aad/v2/model" + "net/http" +) + +func GenReqDefForCreateDomain() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2/aad/domains"). + WithResponse(new(model.CreateDomainResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListDDoSAttackEvent() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v2/aad/instances/{instance_id}/ddos-info/attack/events"). + WithResponse(new(model.ListDDoSAttackEventResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListDDoSConnectionNumber() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/instances/{instance_id}/ddos-info/flow/connection-numbers"). + WithResponse(new(model.ListDDoSConnectionNumberResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartTime"). + WithJsonTag("start_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EndTime"). + WithJsonTag("end_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ip"). + WithJsonTag("ip"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListDDoSFlow() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/instances/{instance_id}/ddos-info/flow"). + WithResponse(new(model.ListDDoSFlowResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ip"). + WithJsonTag("ip"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Type"). + WithJsonTag("type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartTime"). + WithJsonTag("start_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EndTime"). + WithJsonTag("end_time"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListFrequencyControlRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/policies/waf/frequency-control-rule"). + WithResponse(new(model.ListFrequencyControlRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DomainName"). + WithJsonTag("domain_name"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListInstanceDomains() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/instances/{instance_id}/domains"). + WithResponse(new(model.ListInstanceDomainsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListWafAttackEvent() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/domains/waf-info/attack/event"). + WithResponse(new(model.ListWafAttackEventResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Domains"). + WithJsonTag("domains"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartTime"). + WithJsonTag("start_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EndTime"). + WithJsonTag("end_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Recent"). + WithJsonTag("recent"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OverseasType"). + WithJsonTag("overseas_type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Sip"). + WithJsonTag("sip"). + 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)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListWafBandwidth() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/domains/waf-info/flow/bandwidth"). + WithResponse(new(model.ListWafBandwidthResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Domains"). + WithJsonTag("domains"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ValueType"). + WithJsonTag("value_type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartTime"). + WithJsonTag("start_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EndTime"). + WithJsonTag("end_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Recent"). + WithJsonTag("recent"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OverseasType"). + WithJsonTag("overseas_type"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListWafCustomRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/policies/waf/custom-rule"). + WithResponse(new(model.ListWafCustomRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DomainName"). + WithJsonTag("domain_name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OverseasType"). + WithJsonTag("overseas_type"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListWafGeoIpRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/policies/waf/geoip-rule"). + WithResponse(new(model.ListWafGeoIpRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DomainName"). + WithJsonTag("domain_name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OverseasType"). + WithJsonTag("overseas_type"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListWafQps() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/domains/waf-info/flow/qps"). + WithResponse(new(model.ListWafQpsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Domains"). + WithJsonTag("domains"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ValueType"). + WithJsonTag("value_type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartTime"). + WithJsonTag("start_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EndTime"). + WithJsonTag("end_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Recent"). + WithJsonTag("recent"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OverseasType"). + WithJsonTag("overseas_type"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListWafWhiteIpRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/policies/waf/blackwhite-list"). + WithResponse(new(model.ListWafWhiteIpRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DomainName"). + WithJsonTag("domain_name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OverseasType"). + WithJsonTag("overseas_type"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForListWhiteBlackIpRule() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/policies/ddos/blackwhite-list"). + WithResponse(new(model.ListWhiteBlackIpRuleResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Type"). + WithJsonTag("type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowDomainCertificate() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/domains/{domain_id}/certificate"). + WithResponse(new(model.ShowDomainCertificateResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DomainId"). + WithJsonTag("domain_id"). + WithLocationType(def.Path)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowFlowBlock() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/policies/ddos/flow-block"). + WithResponse(new(model.ShowFlowBlockResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowWafPolicy() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/policies/waf"). + WithResponse(new(model.ShowWafPolicyResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DomainName"). + WithJsonTag("domain_name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OverseasType"). + WithJsonTag("overseas_type"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForShowWafQps() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v2/aad/domains/waf-info/flow/request/peak"). + WithResponse(new(model.ShowWafQpsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Recent"). + WithJsonTag("recent"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Domains"). + WithJsonTag("domains"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartTime"). + WithJsonTag("start_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EndTime"). + WithJsonTag("end_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("OverseasType"). + WithJsonTag("overseas_type"). + WithLocationType(def.Query)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForUpgradeInstanceSpec() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v2/aad/instance"). + WithResponse(new(model.UpgradeInstanceSpecResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteDomain() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v2/aad/domains"). + WithResponse(new(model.DeleteDomainResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} diff --git a/services/aad/v2/model/model_action_info.go b/services/aad/v2/model/model_action_info.go new file mode 100644 index 0000000000..6693dcc706 --- /dev/null +++ b/services/aad/v2/model/model_action_info.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ActionInfo struct { + + // 动作类型:block:阻断,captcha:人机验证;log: 仅记录;dynamic_block:动态阻断 + Category *string `json:"category,omitempty"` + + Detail *DetailInfo `json:"detail,omitempty"` +} + +func (o ActionInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ActionInfo struct{}" + } + + return strings.Join([]string{"ActionInfo", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_backend.go b/services/aad/v2/model/model_backend.go new file mode 100644 index 0000000000..179047fc89 --- /dev/null +++ b/services/aad/v2/model/model_backend.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Backend backend +type Backend struct { + + // 当前后端协议 + Protocol *string `json:"protocol,omitempty"` + + // 当前后端端口 + Port *int32 `json:"port,omitempty"` + + // 当前后端 Host 值 + Host *string `json:"host,omitempty"` +} + +func (o Backend) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Backend struct{}" + } + + return strings.Join([]string{"Backend", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_black_white_list_rule.go b/services/aad/v2/model/model_black_white_list_rule.go new file mode 100644 index 0000000000..72eff8fdec --- /dev/null +++ b/services/aad/v2/model/model_black_white_list_rule.go @@ -0,0 +1,31 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type BlackWhiteListRule struct { + + // id + Id *string `json:"id,omitempty"` + + // 0-黑名单,1-白名单 + Type *int32 `json:"type,omitempty"` + + // ip + Ip *string `json:"ip,omitempty"` + + // 域名id + DomainId *string `json:"domain_id,omitempty"` +} + +func (o BlackWhiteListRule) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BlackWhiteListRule struct{}" + } + + return strings.Join([]string{"BlackWhiteListRule", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_bw_list_ips.go b/services/aad/v2/model/model_bw_list_ips.go new file mode 100644 index 0000000000..4a8193bf53 --- /dev/null +++ b/services/aad/v2/model/model_bw_list_ips.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type BwListIps struct { + + // 黑白名单ip + Ip *string `json:"ip,omitempty"` + + // 描述 + Desc *string `json:"desc,omitempty"` +} + +func (o BwListIps) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BwListIps struct{}" + } + + return strings.Join([]string{"BwListIps", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_cert_info.go b/services/aad/v2/model/model_cert_info.go new file mode 100644 index 0000000000..e37640534c --- /dev/null +++ b/services/aad/v2/model/model_cert_info.go @@ -0,0 +1,34 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type CertInfo struct { + + // 证书名称 + CertName string `json:"cert_name"` + + // 证书id + Id string `json:"id"` + + // 适用域名 + ApplyDomain string `json:"apply_domain"` + + // 过期时间 + ExpireTime int64 `json:"expire_time"` + + // 过期状态 + ExpireStatus int32 `json:"expire_status"` +} + +func (o CertInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CertInfo struct{}" + } + + return strings.Join([]string{"CertInfo", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_condition.go b/services/aad/v2/model/model_condition.go new file mode 100644 index 0000000000..34ed4e6c93 --- /dev/null +++ b/services/aad/v2/model/model_condition.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// Condition cc规则防护规则限速条件 +type Condition struct { + + // 字段类型 url:路径 ip:IPv4 ipv6:IPv6 params:Params cookie:Cookie header:Header response_code:Response Code + Category *string `json:"category,omitempty"` + + // 条件列表逻辑匹配内容。 当匹配逻辑为exist或not_exist时,contents必须为空,其他情况下contents必填且长度不超过2048 当category为response_code时,contents状态码为200~599,正则为 ^(?:[2-5]\\d{2})$ 当匹配逻辑包含\"len\"时,contents必须为0~65535的整数;当匹配逻辑包含\"num\"时,contents必须为0~512的整数 + Contents *[]string `json:"contents,omitempty"` + + // 子字段 当字段类型为ip或ipv6时,index必填且必须为:client-ip:客户端IP、x-forwarded-for:X-Forwarded-For、TCP连接IP: $remote_addr 当字段类型(category)选择“params”、“cookie”、“header”时,请根据实际需求配置子字段且该参数必填。 当匹配逻辑为num_greater、num_less、num_equal、num_not_equal时,子字段必须为空 当子字段不为空时,最大长度不超过2048 + Index *string `json:"index,omitempty"` + + // 条件列表匹配逻辑。 如果字段类型category是url,匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 len_greater、 len_less、len_equal或者len_not_equal 如果字段类型category是ip、ipv6或response_code,匹配逻辑可以为: equal、not_equal 如果字段类型category是params、cookie或者header, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 len_greater、 len_less、len_equal、len_not_equal、num_greater、num_less、num_equal、num_not_equal、exist或者not_exist + LogicOperation *string `json:"logic_operation,omitempty"` +} + +func (o Condition) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Condition struct{}" + } + + return strings.Join([]string{"Condition", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_create_aad_domain_request_body.go b/services/aad/v2/model/model_create_aad_domain_request_body.go new file mode 100644 index 0000000000..79218d5d9c --- /dev/null +++ b/services/aad/v2/model/model_create_aad_domain_request_body.go @@ -0,0 +1,49 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type CreateAadDomainRequestBody struct { + + // 域名 + DomainName string `json:"domain_name"` + + // 企业项目id,与接入的高防实例所属企业项目保持一致。可在华为云EPS服务中查看企业项目id,default企业项目id为\"0\"。 + EnterpriseProjectId string `json:"enterprise_project_id"` + + // 高防实例ip列表。多个高防实例ip必须属于同一企业项目。 + Ips []string `json:"ips"` + + // 源站类型。 0 - 源站IP, 1 - 源站域名。 + RealServerType int32 `json:"real_server_type"` + + // HTTP端口,与port_https不能同时为空。DDoS高防支持的HTTP端口可在控制台查看。 + PortHttp []int32 `json:"port_http"` + + // HTTPS端口,与port_http不能同时为空。DDoS高防支持的HTTPS端口可在控制台查看。 + PortHttps *[]int32 `json:"port_https,omitempty"` + + // 源站(源站ip/源站域名) + RealServer string `json:"real_server"` + + // 防护区域,0-大陆,1-海外 + OverseasType string `json:"overseas_type"` + + // 证书名称(必须是已经存在的证书) + CertName *string `json:"cert_name,omitempty"` + + // 开启0,关闭1 + WafSwitch *string `json:"waf_switch,omitempty"` +} + +func (o CreateAadDomainRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateAadDomainRequestBody struct{}" + } + + return strings.Join([]string{"CreateAadDomainRequestBody", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_create_domain_request.go b/services/aad/v2/model/model_create_domain_request.go new file mode 100644 index 0000000000..842dcbcf9d --- /dev/null +++ b/services/aad/v2/model/model_create_domain_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateDomainRequest Request Object +type CreateDomainRequest struct { + Body *CreateAadDomainRequestBody `json:"body,omitempty"` +} + +func (o CreateDomainRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateDomainRequest struct{}" + } + + return strings.Join([]string{"CreateDomainRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_create_domain_response.go b/services/aad/v2/model/model_create_domain_response.go new file mode 100644 index 0000000000..15103c41bc --- /dev/null +++ b/services/aad/v2/model/model_create_domain_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateDomainResponse Response Object +type CreateDomainResponse struct { + + // 高防提供的CNAME地址 + Cname *string `json:"cname,omitempty"` + + // 域名id + DomainId *string `json:"domain_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateDomainResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateDomainResponse struct{}" + } + + return strings.Join([]string{"CreateDomainResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_curve.go b/services/aad/v2/model/model_curve.go new file mode 100644 index 0000000000..a4c8534c64 --- /dev/null +++ b/services/aad/v2/model/model_curve.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type Curve struct { + + // 入带宽 + In *float32 `json:"in,omitempty"` + + // 出带宽 + Out *float32 `json:"out,omitempty"` + + // 时间戳 + Time *int32 `json:"time,omitempty"` +} + +func (o Curve) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Curve struct{}" + } + + return strings.Join([]string{"Curve", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_delete_domain_request.go b/services/aad/v2/model/model_delete_domain_request.go new file mode 100644 index 0000000000..b06d1125df --- /dev/null +++ b/services/aad/v2/model/model_delete_domain_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DeleteDomainRequest Request Object +type DeleteDomainRequest struct { + Body *DeleteDomainV2RequestBody `json:"body,omitempty"` +} + +func (o DeleteDomainRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteDomainRequest struct{}" + } + + return strings.Join([]string{"DeleteDomainRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_delete_domain_response.go b/services/aad/v2/model/model_delete_domain_response.go new file mode 100644 index 0000000000..df2c99ef24 --- /dev/null +++ b/services/aad/v2/model/model_delete_domain_response.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DeleteDomainResponse Response Object +type DeleteDomainResponse struct { + Body *interface{} `json:"body,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o DeleteDomainResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteDomainResponse struct{}" + } + + return strings.Join([]string{"DeleteDomainResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_delete_domain_v2_request_body.go b/services/aad/v2/model/model_delete_domain_v2_request_body.go new file mode 100644 index 0000000000..3552236310 --- /dev/null +++ b/services/aad/v2/model/model_delete_domain_v2_request_body.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type DeleteDomainV2RequestBody struct { + + // 域名id列表 + DomainId []string `json:"domain_id"` +} + +func (o DeleteDomainV2RequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteDomainV2RequestBody struct{}" + } + + return strings.Join([]string{"DeleteDomainV2RequestBody", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_detail_info.go b/services/aad/v2/model/model_detail_info.go new file mode 100644 index 0000000000..7744409d53 --- /dev/null +++ b/services/aad/v2/model/model_detail_info.go @@ -0,0 +1,20 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type DetailInfo struct { + Response *PageRespInfo `json:"response,omitempty"` +} + +func (o DetailInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DetailInfo struct{}" + } + + return strings.Join([]string{"DetailInfo", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_empty_json_response.go b/services/aad/v2/model/model_empty_json_response.go new file mode 100644 index 0000000000..38f58e3153 --- /dev/null +++ b/services/aad/v2/model/model_empty_json_response.go @@ -0,0 +1,19 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type EmptyJsonResponse struct { +} + +func (o EmptyJsonResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "EmptyJsonResponse struct{}" + } + + return strings.Join([]string{"EmptyJsonResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_flow_bps.go b/services/aad/v2/model/model_flow_bps.go new file mode 100644 index 0000000000..678c872679 --- /dev/null +++ b/services/aad/v2/model/model_flow_bps.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type FlowBps struct { + + // 数据时间 + Utime *int64 `json:"utime,omitempty"` + + // 攻击流量 + AttackBps *int32 `json:"attack_bps,omitempty"` + + // 正常流量 + NormalBps *int32 `json:"normal_bps,omitempty"` +} + +func (o FlowBps) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "FlowBps struct{}" + } + + return strings.Join([]string{"FlowBps", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_flow_pps.go b/services/aad/v2/model/model_flow_pps.go new file mode 100644 index 0000000000..9e52c88a1f --- /dev/null +++ b/services/aad/v2/model/model_flow_pps.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type FlowPps struct { + + // 数据时间 + Utime *int64 `json:"utime,omitempty"` + + // 攻击包速率 + AttackPps *int32 `json:"attack_pps,omitempty"` + + // 正常包速率 + NormalPps *int32 `json:"normal_pps,omitempty"` +} + +func (o FlowPps) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "FlowPps struct{}" + } + + return strings.Join([]string{"FlowPps", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_frequency_control_rule.go b/services/aad/v2/model/model_frequency_control_rule.go new file mode 100644 index 0000000000..df6dbd5388 --- /dev/null +++ b/services/aad/v2/model/model_frequency_control_rule.go @@ -0,0 +1,71 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type FrequencyControlRule struct { + + // id + Id *string `json:"id,omitempty"` + + // 判断是否是智能cc生成的规则 + Producer *int32 `json:"producer,omitempty"` + + // 规则名称 + Name *string `json:"name,omitempty"` + + // 规则应用的url + Url *string `json:"url,omitempty"` + + // 限速频率,单位为次,范围为1~2147483647 + LimitNum *string `json:"limit_num,omitempty"` + + // 限速周期,单位为秒,范围1~3600 + LimitPeriod *string `json:"limit_period,omitempty"` + + // 阻断时间,单位为秒,范围为0~65535 + LockTime *string `json:"lock_time,omitempty"` + + // 限速模式:ip、cookie、header、other、policy、domain、url。 源限速:ip:IP限速,根据IP区分单个Web访问者。cookie:用户限速,根据Cookie键值区分单个Web访问者。header:用户限速,根据Header区分单个Web访问者。other:根据Referer(自定义请求访问的来源)字段区分单个Web访问者。-目的限速:policy: 策略限速、domain: 域名限速、url: url限速 + TagType *string `json:"tag_type,omitempty"` + + // 用户标识,当限速模式为用户限速(cookie或header)时 + TagIndex *string `json:"tag_index,omitempty"` + + TagCondition *TagCondition `json:"tag_condition,omitempty"` + + Action *ActionInfo `json:"action,omitempty"` + + // cc规则防护模式,0:标准(老版本),只支持对域名的防护路径做限制。1:高级(新版本),支持对路径、IP、Cookie、Header、Params字段做限制。修改CC规则时必须传mode + Mode *string `json:"mode,omitempty"` + + // cc规则防护规则限速条件 + Conditions *[]Condition `json:"conditions,omitempty"` + + // 放行频率,单位为次,范围为0~2147483647 + UnlockNum *int32 `json:"unlock_num,omitempty"` + + // 域名聚合统计 + DomainAggregation *bool `json:"domain_aggregation,omitempty"` + + // 全局计数 + RegionAggregation *bool `json:"region_aggregation,omitempty"` + + // 锁定验证时间 + CaptchaLockTime *int32 `json:"captcha_lock_time,omitempty"` + + // 是否灰度生效 + GrayscaleTime *bool `json:"grayscale_time,omitempty"` +} + +func (o FrequencyControlRule) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "FrequencyControlRule struct{}" + } + + return strings.Join([]string{"FrequencyControlRule", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_instance_domain_item.go b/services/aad/v2/model/model_instance_domain_item.go new file mode 100644 index 0000000000..bc461a9983 --- /dev/null +++ b/services/aad/v2/model/model_instance_domain_item.go @@ -0,0 +1,52 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type InstanceDomainItem struct { + + // 域名ID + DomainId *string `json:"domain_id,omitempty"` + + // 域名 + DomainName *string `json:"domain_name,omitempty"` + + // 域名cname + Cname *string `json:"cname,omitempty"` + + // 域名状态 NORMAL = '0', FREEZE = '1' + DomainStatus *string `json:"domain_status,omitempty"` + + // cc防护状态 + CcStatus *int32 `json:"cc_status,omitempty"` + + // 证书状态:1---已上传 2---未上传 + HttpsCertStatus *int32 `json:"https_cert_status,omitempty"` + + // 证书名称 + CertName *string `json:"cert_name,omitempty"` + + // 域名协议 + ProtocolType *[]string `json:"protocol_type,omitempty"` + + // 源站类型 + RealServerType *int32 `json:"real_server_type,omitempty"` + + // 源站 + RealServers *string `json:"real_servers,omitempty"` + + // waf防护状态 + WafStatus *int32 `json:"waf_status,omitempty"` +} + +func (o InstanceDomainItem) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "InstanceDomainItem struct{}" + } + + return strings.Join([]string{"InstanceDomainItem", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_ips.go b/services/aad/v2/model/model_ips.go new file mode 100644 index 0000000000..b614288ba7 --- /dev/null +++ b/services/aad/v2/model/model_ips.go @@ -0,0 +1,37 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type Ips struct { + + // ip id + IpId *string `json:"ip_id,omitempty"` + + // ip + Ip *string `json:"ip,omitempty"` + + // 线路 + Isp *string `json:"isp,omitempty"` + + // 数据中心 + DataCenter *string `json:"data_center,omitempty"` + + // 海外区域封禁状态 0-关闭 1-开启 + ForeignSwitchStatus *int32 `json:"foreign_switch_status,omitempty"` + + // UDP协议禁用 0-关闭 1-开启 + UdpSwitchStatus *int32 `json:"udp_switch_status,omitempty"` +} + +func (o Ips) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Ips struct{}" + } + + return strings.Join([]string{"Ips", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_connection_number_data.go b/services/aad/v2/model/model_list_connection_number_data.go new file mode 100644 index 0000000000..bb06e4efee --- /dev/null +++ b/services/aad/v2/model/model_list_connection_number_data.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ListConnectionNumberData struct { + + // 连接数名称 + Name *string `json:"name,omitempty"` + + // items + List *[]ListConnectionNumberDataList `json:"list,omitempty"` +} + +func (o ListConnectionNumberData) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListConnectionNumberData struct{}" + } + + return strings.Join([]string{"ListConnectionNumberData", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_connection_number_data_list.go b/services/aad/v2/model/model_list_connection_number_data_list.go new file mode 100644 index 0000000000..a828ff5df9 --- /dev/null +++ b/services/aad/v2/model/model_list_connection_number_data_list.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ListConnectionNumberDataList struct { + + // 时间戳毫秒值 + Time *int32 `json:"time,omitempty"` + + // 连接数 + Value *int32 `json:"value,omitempty"` +} + +func (o ListConnectionNumberDataList) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListConnectionNumberDataList struct{}" + } + + return strings.Join([]string{"ListConnectionNumberDataList", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_d_do_s_attack_event_request.go b/services/aad/v2/model/model_list_d_do_s_attack_event_request.go new file mode 100644 index 0000000000..e114567df7 --- /dev/null +++ b/services/aad/v2/model/model_list_d_do_s_attack_event_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListDDoSAttackEventRequest Request Object +type ListDDoSAttackEventRequest struct { + + // 实例id + InstanceId string `json:"instance_id"` + + Body *ListDDoSAttackEventRequestBody `json:"body,omitempty"` +} + +func (o ListDDoSAttackEventRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListDDoSAttackEventRequest struct{}" + } + + return strings.Join([]string{"ListDDoSAttackEventRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_d_do_s_attack_event_request_body.go b/services/aad/v2/model/model_list_d_do_s_attack_event_request_body.go new file mode 100644 index 0000000000..a0af98777b --- /dev/null +++ b/services/aad/v2/model/model_list_d_do_s_attack_event_request_body.go @@ -0,0 +1,43 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ListDDoSAttackEventRequestBody struct { + + // 开始时间(毫秒时间戳) + StartTime string `json:"start_time"` + + // 结束时间(毫秒时间戳) + EndTime string `json:"end_time"` + + // 偏移量 + Offset int32 `json:"offset"` + + // 限制条数,范围1-100 + Limit int32 `json:"limit"` + + // 高防ip + Ip string `json:"ip"` + + // 攻击流量最小值 + AttackFlowLow *string `json:"attack_flow_low,omitempty"` + + // 攻击流量最大值 + AttackFlowUp *string `json:"attack_flow_up,omitempty"` + + // 攻击状态:attack-攻击; normal-结束攻击 + AttackStatus *string `json:"attack_status,omitempty"` +} + +func (o ListDDoSAttackEventRequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListDDoSAttackEventRequestBody struct{}" + } + + return strings.Join([]string{"ListDDoSAttackEventRequestBody", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_d_do_s_attack_event_response.go b/services/aad/v2/model/model_list_d_do_s_attack_event_response.go new file mode 100644 index 0000000000..649a2619e0 --- /dev/null +++ b/services/aad/v2/model/model_list_d_do_s_attack_event_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListDDoSAttackEventResponse Response Object +type ListDDoSAttackEventResponse struct { + + // total + Total *int32 `json:"total,omitempty"` + + // data + Data *[]ListDDoSEventData `json:"data,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListDDoSAttackEventResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListDDoSAttackEventResponse struct{}" + } + + return strings.Join([]string{"ListDDoSAttackEventResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_d_do_s_connection_number_request.go b/services/aad/v2/model/model_list_d_do_s_connection_number_request.go new file mode 100644 index 0000000000..deca5ef137 --- /dev/null +++ b/services/aad/v2/model/model_list_d_do_s_connection_number_request.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListDDoSConnectionNumberRequest Request Object +type ListDDoSConnectionNumberRequest struct { + + // 开始时间(毫秒时间戳) + StartTime string `json:"start_time"` + + // 结束时间(毫秒时间戳) + EndTime string `json:"end_time"` + + // 实例id + InstanceId string `json:"instance_id"` + + // 高防ip + Ip string `json:"ip"` +} + +func (o ListDDoSConnectionNumberRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListDDoSConnectionNumberRequest struct{}" + } + + return strings.Join([]string{"ListDDoSConnectionNumberRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_d_do_s_connection_number_response.go b/services/aad/v2/model/model_list_d_do_s_connection_number_response.go new file mode 100644 index 0000000000..6e00a0ea55 --- /dev/null +++ b/services/aad/v2/model/model_list_d_do_s_connection_number_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListDDoSConnectionNumberResponse Response Object +type ListDDoSConnectionNumberResponse struct { + + // items + Data *[]ListConnectionNumberData `json:"data,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListDDoSConnectionNumberResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListDDoSConnectionNumberResponse struct{}" + } + + return strings.Join([]string{"ListDDoSConnectionNumberResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_d_do_s_event_data.go b/services/aad/v2/model/model_list_d_do_s_event_data.go new file mode 100644 index 0000000000..24f2ebca1e --- /dev/null +++ b/services/aad/v2/model/model_list_d_do_s_event_data.go @@ -0,0 +1,52 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ListDDoSEventData struct { + + // 防护IP + ZoneIp *string `json:"zone_ip,omitempty"` + + // 开始时间(毫秒时间戳) + StartTime *string `json:"start_time,omitempty"` + + // 结束时间(毫秒时间戳) + EndTime *string `json:"end_time,omitempty"` + + // 攻击流量峰值,单位“kbps” + MaxDropKbps *string `json:"max_drop_kbps,omitempty"` + + // 攻击报文数峰值,单位“pps” + MaxDropPps *string `json:"max_drop_pps,omitempty"` + + // 入流量峰值,单位“kbps” + MaxInKbps *string `json:"max_in_kbps,omitempty"` + + // 入报文数峰值,单位“pps” + MaxInPps *string `json:"max_in_pps,omitempty"` + + // 攻击类型 + AttackTypes *string `json:"attack_types,omitempty"` + + // 攻击源IP + AttackIps *string `json:"attack_ips,omitempty"` + + // 攻击IP描述 + AttackIpsDesc *string `json:"attack_ips_desc,omitempty"` + + // 攻击状态 + AttackStatus *string `json:"attack_status,omitempty"` +} + +func (o ListDDoSEventData) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListDDoSEventData struct{}" + } + + return strings.Join([]string{"ListDDoSEventData", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_d_do_s_flow_request.go b/services/aad/v2/model/model_list_d_do_s_flow_request.go new file mode 100644 index 0000000000..f813d8cb70 --- /dev/null +++ b/services/aad/v2/model/model_list_d_do_s_flow_request.go @@ -0,0 +1,35 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListDDoSFlowRequest Request Object +type ListDDoSFlowRequest struct { + + // 实例ID + InstanceId string `json:"instance_id"` + + // 高防IP + Ip string `json:"ip"` + + // 请求类型 pps、bps + Type string `json:"type"` + + // 开始时间(毫秒时间戳) + StartTime string `json:"start_time"` + + // 结束时间(毫秒时间戳) + EndTime string `json:"end_time"` +} + +func (o ListDDoSFlowRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListDDoSFlowRequest struct{}" + } + + return strings.Join([]string{"ListDDoSFlowRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_d_do_s_flow_response.go b/services/aad/v2/model/model_list_d_do_s_flow_response.go new file mode 100644 index 0000000000..20e2e418ed --- /dev/null +++ b/services/aad/v2/model/model_list_d_do_s_flow_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListDDoSFlowResponse Response Object +type ListDDoSFlowResponse struct { + + // 当请求type=bps时必返回 + FlowBps *[]FlowBps `json:"flow_bps,omitempty"` + + // 当请求type=pps时必返回 + FlowPps *[]FlowPps `json:"flow_pps,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListDDoSFlowResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListDDoSFlowResponse struct{}" + } + + return strings.Join([]string{"ListDDoSFlowResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_frequency_control_rule_request.go b/services/aad/v2/model/model_list_frequency_control_rule_request.go new file mode 100644 index 0000000000..9419c2d52a --- /dev/null +++ b/services/aad/v2/model/model_list_frequency_control_rule_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListFrequencyControlRuleRequest Request Object +type ListFrequencyControlRuleRequest struct { + + // 域名 + DomainName string `json:"domain_name"` +} + +func (o ListFrequencyControlRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListFrequencyControlRuleRequest struct{}" + } + + return strings.Join([]string{"ListFrequencyControlRuleRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_frequency_control_rule_response.go b/services/aad/v2/model/model_list_frequency_control_rule_response.go new file mode 100644 index 0000000000..5c604b4392 --- /dev/null +++ b/services/aad/v2/model/model_list_frequency_control_rule_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListFrequencyControlRuleResponse Response Object +type ListFrequencyControlRuleResponse struct { + + // total + Total *int32 `json:"total,omitempty"` + + // items + Items *[]FrequencyControlRule `json:"items,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListFrequencyControlRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListFrequencyControlRuleResponse struct{}" + } + + return strings.Join([]string{"ListFrequencyControlRuleResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_instance_domains_request.go b/services/aad/v2/model/model_list_instance_domains_request.go new file mode 100644 index 0000000000..c48a00c67c --- /dev/null +++ b/services/aad/v2/model/model_list_instance_domains_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListInstanceDomainsRequest Request Object +type ListInstanceDomainsRequest struct { + + // 实例id + InstanceId string `json:"instance_id"` +} + +func (o ListInstanceDomainsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListInstanceDomainsRequest struct{}" + } + + return strings.Join([]string{"ListInstanceDomainsRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_instance_domains_response.go b/services/aad/v2/model/model_list_instance_domains_response.go new file mode 100644 index 0000000000..2d546ce3ea --- /dev/null +++ b/services/aad/v2/model/model_list_instance_domains_response.go @@ -0,0 +1,30 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListInstanceDomainsResponse Response Object +type ListInstanceDomainsResponse struct { + + // 实例id + InstanceId *string `json:"instance_id,omitempty"` + + // 实例名称 + InstanceName *string `json:"instance_name,omitempty"` + + // 域名信息 + Domains *[]InstanceDomainItem `json:"domains,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListInstanceDomainsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListInstanceDomainsResponse struct{}" + } + + return strings.Join([]string{"ListInstanceDomainsResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_attack_event_request.go b/services/aad/v2/model/model_list_waf_attack_event_request.go new file mode 100644 index 0000000000..55d6c55de7 --- /dev/null +++ b/services/aad/v2/model/model_list_waf_attack_event_request.go @@ -0,0 +1,44 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafAttackEventRequest Request Object +type ListWafAttackEventRequest struct { + + // 不传时代表全部域名 + Domains *string `json:"domains,omitempty"` + + // 开始时间(毫秒时间戳) + StartTime *string `json:"start_time,omitempty"` + + // 结束时间(毫秒时间戳) + EndTime *string `json:"end_time,omitempty"` + + // 枚举值:yesterday,today,3days,1week,1month 与开始结束时间不同时为空 + Recent *string `json:"recent,omitempty"` + + // 实例类型,0-大陆,1-海外 + OverseasType *int32 `json:"overseas_type,omitempty"` + + // 攻击源IP + Sip *string `json:"sip,omitempty"` + + // limit + Limit *int32 `json:"limit,omitempty"` + + // offset + Offset *int32 `json:"offset,omitempty"` +} + +func (o ListWafAttackEventRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafAttackEventRequest struct{}" + } + + return strings.Join([]string{"ListWafAttackEventRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_attack_event_response.go b/services/aad/v2/model/model_list_waf_attack_event_response.go new file mode 100644 index 0000000000..eb77de7ba0 --- /dev/null +++ b/services/aad/v2/model/model_list_waf_attack_event_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafAttackEventResponse Response Object +type ListWafAttackEventResponse struct { + + // total + Total *int32 `json:"total,omitempty"` + + // list + List *[]ListWafAttackEventlist `json:"list,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListWafAttackEventResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafAttackEventResponse struct{}" + } + + return strings.Join([]string{"ListWafAttackEventResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_attack_eventlist.go b/services/aad/v2/model/model_list_waf_attack_eventlist.go new file mode 100644 index 0000000000..a4f914fc7e --- /dev/null +++ b/services/aad/v2/model/model_list_waf_attack_eventlist.go @@ -0,0 +1,42 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ListWafAttackEventlist struct { + + // id + Id *string `json:"id,omitempty"` + + // 攻击目标域名 + Domain *string `json:"domain,omitempty"` + + // 攻击时间 + Time *int32 `json:"time,omitempty"` + + // 攻击源IP + Sip *string `json:"sip,omitempty"` + + // 防御动作 + Action *string `json:"action,omitempty"` + + // 攻击url + Url *string `json:"url,omitempty"` + + // 攻击类型 + Type *string `json:"type,omitempty"` + + Backend *Backend `json:"backend,omitempty"` +} + +func (o ListWafAttackEventlist) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafAttackEventlist struct{}" + } + + return strings.Join([]string{"ListWafAttackEventlist", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_bandwidth_request.go b/services/aad/v2/model/model_list_waf_bandwidth_request.go new file mode 100644 index 0000000000..1cd617f313 --- /dev/null +++ b/services/aad/v2/model/model_list_waf_bandwidth_request.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafBandwidthRequest Request Object +type ListWafBandwidthRequest struct { + + // 不传时代表全部域名 + Domains *string `json:"domains,omitempty"` + + // 平均值 mean、峰值 peak + ValueType string `json:"value_type"` + + // 开始时间(毫秒时间戳) + StartTime *string `json:"start_time,omitempty"` + + // 结束时间(毫秒时间戳) + EndTime *string `json:"end_time,omitempty"` + + // 枚举值:yesterday,today,3days,1week,1month 与开始结束时间不同时为空 + Recent *string `json:"recent,omitempty"` + + // 实例类型,0-大陆,1-海外 + OverseasType *int32 `json:"overseas_type,omitempty"` +} + +func (o ListWafBandwidthRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafBandwidthRequest struct{}" + } + + return strings.Join([]string{"ListWafBandwidthRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_bandwidth_response.go b/services/aad/v2/model/model_list_waf_bandwidth_response.go new file mode 100644 index 0000000000..2167d9699e --- /dev/null +++ b/services/aad/v2/model/model_list_waf_bandwidth_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafBandwidthResponse Response Object +type ListWafBandwidthResponse struct { + + // 曲线 + Curve *[]Curve `json:"curve,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListWafBandwidthResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafBandwidthResponse struct{}" + } + + return strings.Join([]string{"ListWafBandwidthResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_custom_rule_request.go b/services/aad/v2/model/model_list_waf_custom_rule_request.go new file mode 100644 index 0000000000..786f490baa --- /dev/null +++ b/services/aad/v2/model/model_list_waf_custom_rule_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafCustomRuleRequest Request Object +type ListWafCustomRuleRequest struct { + + // 域名 + DomainName string `json:"domain_name"` + + // 防护区域,0-大陆,1-海外 + OverseasType int32 `json:"overseas_type"` +} + +func (o ListWafCustomRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafCustomRuleRequest struct{}" + } + + return strings.Join([]string{"ListWafCustomRuleRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_custom_rule_response.go b/services/aad/v2/model/model_list_waf_custom_rule_response.go new file mode 100644 index 0000000000..85514d9f1c --- /dev/null +++ b/services/aad/v2/model/model_list_waf_custom_rule_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafCustomRuleResponse Response Object +type ListWafCustomRuleResponse struct { + + // total + Total *int32 `json:"total,omitempty"` + + // items + Items *[]WafCustomRule `json:"items,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListWafCustomRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafCustomRuleResponse struct{}" + } + + return strings.Join([]string{"ListWafCustomRuleResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_geo_ip_rule_request.go b/services/aad/v2/model/model_list_waf_geo_ip_rule_request.go new file mode 100644 index 0000000000..19d0eb1660 --- /dev/null +++ b/services/aad/v2/model/model_list_waf_geo_ip_rule_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafGeoIpRuleRequest Request Object +type ListWafGeoIpRuleRequest struct { + + // 域名 + DomainName string `json:"domain_name"` + + // 防护区域,0-大陆,1-海外 + OverseasType int32 `json:"overseas_type"` +} + +func (o ListWafGeoIpRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafGeoIpRuleRequest struct{}" + } + + return strings.Join([]string{"ListWafGeoIpRuleRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_geo_ip_rule_response.go b/services/aad/v2/model/model_list_waf_geo_ip_rule_response.go new file mode 100644 index 0000000000..8057db369a --- /dev/null +++ b/services/aad/v2/model/model_list_waf_geo_ip_rule_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafGeoIpRuleResponse Response Object +type ListWafGeoIpRuleResponse struct { + + // total + Total *int32 `json:"total,omitempty"` + + // items + Items *[]WafGeoIpRule `json:"items,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListWafGeoIpRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafGeoIpRuleResponse struct{}" + } + + return strings.Join([]string{"ListWafGeoIpRuleResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_qps_request.go b/services/aad/v2/model/model_list_waf_qps_request.go new file mode 100644 index 0000000000..21abec8eca --- /dev/null +++ b/services/aad/v2/model/model_list_waf_qps_request.go @@ -0,0 +1,38 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafQpsRequest Request Object +type ListWafQpsRequest struct { + + // 不传时代表全部域名 + Domains *string `json:"domains,omitempty"` + + // 用于 QPS、带宽: 平均值 mean、峰值 peak;用于 响应状态码: 源站返回值 source 、高防返回值 proxy + ValueType string `json:"value_type"` + + // 开始时间(毫秒时间戳) + StartTime *string `json:"start_time,omitempty"` + + // 结束时间(毫秒时间戳) + EndTime *string `json:"end_time,omitempty"` + + // 枚举值:yesterday,today,3days,1week,1month 与开始结束时间不同时为空 + Recent *string `json:"recent,omitempty"` + + // 实例类型,0-大陆,1-海外 + OverseasType *int32 `json:"overseas_type,omitempty"` +} + +func (o ListWafQpsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafQpsRequest struct{}" + } + + return strings.Join([]string{"ListWafQpsRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_qps_response.go b/services/aad/v2/model/model_list_waf_qps_response.go new file mode 100644 index 0000000000..011bb24945 --- /dev/null +++ b/services/aad/v2/model/model_list_waf_qps_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafQpsResponse Response Object +type ListWafQpsResponse struct { + + // curve + Curve *[]Point `json:"curve,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListWafQpsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafQpsResponse struct{}" + } + + return strings.Join([]string{"ListWafQpsResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_white_ip_rule_request.go b/services/aad/v2/model/model_list_waf_white_ip_rule_request.go new file mode 100644 index 0000000000..c680766f1b --- /dev/null +++ b/services/aad/v2/model/model_list_waf_white_ip_rule_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafWhiteIpRuleRequest Request Object +type ListWafWhiteIpRuleRequest struct { + + // 域名 + DomainName string `json:"domain_name"` + + // 防护区域,0-大陆,1-海外 + OverseasType int32 `json:"overseas_type"` +} + +func (o ListWafWhiteIpRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafWhiteIpRuleRequest struct{}" + } + + return strings.Join([]string{"ListWafWhiteIpRuleRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_waf_white_ip_rule_response.go b/services/aad/v2/model/model_list_waf_white_ip_rule_response.go new file mode 100644 index 0000000000..044ae4181f --- /dev/null +++ b/services/aad/v2/model/model_list_waf_white_ip_rule_response.go @@ -0,0 +1,30 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWafWhiteIpRuleResponse Response Object +type ListWafWhiteIpRuleResponse struct { + + // total + Total *int32 `json:"total,omitempty"` + + // black + Black *[]BlackWhiteListRule `json:"black,omitempty"` + + // white + White *[]BlackWhiteListRule `json:"white,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListWafWhiteIpRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWafWhiteIpRuleResponse struct{}" + } + + return strings.Join([]string{"ListWafWhiteIpRuleResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_white_black_ip_rule_request.go b/services/aad/v2/model/model_list_white_black_ip_rule_request.go new file mode 100644 index 0000000000..f47341820e --- /dev/null +++ b/services/aad/v2/model/model_list_white_black_ip_rule_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWhiteBlackIpRuleRequest Request Object +type ListWhiteBlackIpRuleRequest struct { + + // white-白名单,black-黑名单 + Type string `json:"type"` + + // instanceId + InstanceId string `json:"instance_id"` +} + +func (o ListWhiteBlackIpRuleRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWhiteBlackIpRuleRequest struct{}" + } + + return strings.Join([]string{"ListWhiteBlackIpRuleRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_list_white_black_ip_rule_response.go b/services/aad/v2/model/model_list_white_black_ip_rule_response.go new file mode 100644 index 0000000000..4b7324b91e --- /dev/null +++ b/services/aad/v2/model/model_list_white_black_ip_rule_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListWhiteBlackIpRuleResponse Response Object +type ListWhiteBlackIpRuleResponse struct { + + // total + Total *int32 `json:"total,omitempty"` + + // 名单列表 + Ips *[]BwListIps `json:"ips,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListWhiteBlackIpRuleResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListWhiteBlackIpRuleResponse struct{}" + } + + return strings.Join([]string{"ListWhiteBlackIpRuleResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_page_resp_info.go b/services/aad/v2/model/model_page_resp_info.go new file mode 100644 index 0000000000..38a23fa714 --- /dev/null +++ b/services/aad/v2/model/model_page_resp_info.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type PageRespInfo struct { + + // 页面类型 + ContentType *string `json:"content_type,omitempty"` + + // 页面内容 + Content *string `json:"content,omitempty"` +} + +func (o PageRespInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "PageRespInfo struct{}" + } + + return strings.Join([]string{"PageRespInfo", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_point.go b/services/aad/v2/model/model_point.go new file mode 100644 index 0000000000..d42eab1bb4 --- /dev/null +++ b/services/aad/v2/model/model_point.go @@ -0,0 +1,37 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type Point struct { + + // 时间戳 + Time *int32 `json:"time,omitempty"` + + // 请求总量 + Total *int32 `json:"total,omitempty"` + + // 攻击总量 + Attack *int32 `json:"attack,omitempty"` + + // web基础防护 + Basic *int32 `json:"basic,omitempty"` + + // 频率控制 + Cc *int32 `json:"cc,omitempty"` + + // 精准防护 + CustomCustom *int32 `json:"custom_custom,omitempty"` +} + +func (o Point) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "Point struct{}" + } + + return strings.Join([]string{"Point", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_show_domain_certificate_request.go b/services/aad/v2/model/model_show_domain_certificate_request.go new file mode 100644 index 0000000000..6930e2f8fc --- /dev/null +++ b/services/aad/v2/model/model_show_domain_certificate_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowDomainCertificateRequest Request Object +type ShowDomainCertificateRequest struct { + + // 域名id + DomainId string `json:"domain_id"` +} + +func (o ShowDomainCertificateRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowDomainCertificateRequest struct{}" + } + + return strings.Join([]string{"ShowDomainCertificateRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_show_domain_certificate_response.go b/services/aad/v2/model/model_show_domain_certificate_response.go new file mode 100644 index 0000000000..d4f3619a5f --- /dev/null +++ b/services/aad/v2/model/model_show_domain_certificate_response.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowDomainCertificateResponse Response Object +type ShowDomainCertificateResponse struct { + + // 域名id + DomainId *string `json:"domain_id,omitempty"` + + // 域名 + DomainName *string `json:"domain_name,omitempty"` + + CertInfo *CertInfo `json:"cert_info,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowDomainCertificateResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowDomainCertificateResponse struct{}" + } + + return strings.Join([]string{"ShowDomainCertificateResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_show_flow_block_request.go b/services/aad/v2/model/model_show_flow_block_request.go new file mode 100644 index 0000000000..0384efa58c --- /dev/null +++ b/services/aad/v2/model/model_show_flow_block_request.go @@ -0,0 +1,23 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowFlowBlockRequest Request Object +type ShowFlowBlockRequest struct { + + // instanceId + InstanceId string `json:"instance_id"` +} + +func (o ShowFlowBlockRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowFlowBlockRequest struct{}" + } + + return strings.Join([]string{"ShowFlowBlockRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_show_flow_block_response.go b/services/aad/v2/model/model_show_flow_block_response.go new file mode 100644 index 0000000000..1599c8e49d --- /dev/null +++ b/services/aad/v2/model/model_show_flow_block_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowFlowBlockResponse Response Object +type ShowFlowBlockResponse struct { + + // total + Total *int32 `json:"total,omitempty"` + + // ips + Ips *[]Ips `json:"ips,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowFlowBlockResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowFlowBlockResponse struct{}" + } + + return strings.Join([]string{"ShowFlowBlockResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_show_waf_policy_request.go b/services/aad/v2/model/model_show_waf_policy_request.go new file mode 100644 index 0000000000..d3075a3b4b --- /dev/null +++ b/services/aad/v2/model/model_show_waf_policy_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowWafPolicyRequest Request Object +type ShowWafPolicyRequest struct { + + // 域名 + DomainName string `json:"domain_name"` + + // 防护区域,0-大陆,1-海外 + OverseasType int32 `json:"overseas_type"` +} + +func (o ShowWafPolicyRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowWafPolicyRequest struct{}" + } + + return strings.Join([]string{"ShowWafPolicyRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_show_waf_policy_response.go b/services/aad/v2/model/model_show_waf_policy_response.go new file mode 100644 index 0000000000..e92f4711ff --- /dev/null +++ b/services/aad/v2/model/model_show_waf_policy_response.go @@ -0,0 +1,35 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowWafPolicyResponse Response Object +type ShowWafPolicyResponse struct { + + // 域名(包含端口) + DomainName *string `json:"domain_name,omitempty"` + + // 0-中国大陆,1-中国大陆外 + OverseasType *int32 `json:"overseas_type,omitempty"` + + Options *WafPolicyOptions `json:"options,omitempty"` + + // 智能CC防护等级:[0-宽松,1- 正常, 2- 严格] + Level *int32 `json:"level,omitempty"` + + // 智能CC模式:0-预警,1-防护 + Mode *int32 `json:"mode,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowWafPolicyResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowWafPolicyResponse struct{}" + } + + return strings.Join([]string{"ShowWafPolicyResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_show_waf_qps_request.go b/services/aad/v2/model/model_show_waf_qps_request.go new file mode 100644 index 0000000000..33f67200ab --- /dev/null +++ b/services/aad/v2/model/model_show_waf_qps_request.go @@ -0,0 +1,35 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowWafQpsRequest Request Object +type ShowWafQpsRequest struct { + + // 枚举值:yesterday,today,3days,1week,1month 与开始结束时间不同时为空 + Recent *string `json:"recent,omitempty"` + + // 查询域名 + Domains *string `json:"domains,omitempty"` + + // 开始时间(毫秒时间戳) + StartTime *string `json:"start_time,omitempty"` + + // 结束时间(毫秒时间戳) + EndTime *string `json:"end_time,omitempty"` + + // 防护区域,0-大陆,1-海外 + OverseasType *int32 `json:"overseas_type,omitempty"` +} + +func (o ShowWafQpsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowWafQpsRequest struct{}" + } + + return strings.Join([]string{"ShowWafQpsRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_show_waf_qps_response.go b/services/aad/v2/model/model_show_waf_qps_response.go new file mode 100644 index 0000000000..103e9f8537 --- /dev/null +++ b/services/aad/v2/model/model_show_waf_qps_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowWafQpsResponse Response Object +type ShowWafQpsResponse struct { + + // qps + Qps *int32 `json:"qps,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowWafQpsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowWafQpsResponse struct{}" + } + + return strings.Join([]string{"ShowWafQpsResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_tag_condition.go b/services/aad/v2/model/model_tag_condition.go new file mode 100644 index 0000000000..0792299c91 --- /dev/null +++ b/services/aad/v2/model/model_tag_condition.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type TagCondition struct { + + // 防护动作 + Category *string `json:"category,omitempty"` + + // 字段内容 + Contents *[]string `json:"contents,omitempty"` +} + +func (o TagCondition) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "TagCondition struct{}" + } + + return strings.Join([]string{"TagCondition", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_upgrade_instance_data.go b/services/aad/v2/model/model_upgrade_instance_data.go new file mode 100644 index 0000000000..2e7cb5714e --- /dev/null +++ b/services/aad/v2/model/model_upgrade_instance_data.go @@ -0,0 +1,34 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type UpgradeInstanceData struct { + + // 保底带宽(G) + BasicBandwidth *string `json:"basic_bandwidth,omitempty"` + + // 弹性带宽(G) + ElasticBandwidth *string `json:"elastic_bandwidth,omitempty"` + + // 业务带宽 + ServiceBandwidth *int32 `json:"service_bandwidth,omitempty"` + + // 端口数 + PortNum *int32 `json:"port_num,omitempty"` + + // 域名数 + BindDomainNum *int32 `json:"bind_domain_num,omitempty"` +} + +func (o UpgradeInstanceData) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpgradeInstanceData struct{}" + } + + return strings.Join([]string{"UpgradeInstanceData", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_upgrade_instance_spec_request.go b/services/aad/v2/model/model_upgrade_instance_spec_request.go new file mode 100644 index 0000000000..4ca2e5ba0e --- /dev/null +++ b/services/aad/v2/model/model_upgrade_instance_spec_request.go @@ -0,0 +1,21 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// UpgradeInstanceSpecRequest Request Object +type UpgradeInstanceSpecRequest struct { + Body *UpgradeInstanceSpecV2RequestBody `json:"body,omitempty"` +} + +func (o UpgradeInstanceSpecRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpgradeInstanceSpecRequest struct{}" + } + + return strings.Join([]string{"UpgradeInstanceSpecRequest", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_upgrade_instance_spec_response.go b/services/aad/v2/model/model_upgrade_instance_spec_response.go new file mode 100644 index 0000000000..1fc61c815b --- /dev/null +++ b/services/aad/v2/model/model_upgrade_instance_spec_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// UpgradeInstanceSpecResponse Response Object +type UpgradeInstanceSpecResponse struct { + + // 订单id + OrderId *string `json:"order_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpgradeInstanceSpecResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpgradeInstanceSpecResponse struct{}" + } + + return strings.Join([]string{"UpgradeInstanceSpecResponse", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_upgrade_instance_spec_v2_request_body.go b/services/aad/v2/model/model_upgrade_instance_spec_v2_request_body.go new file mode 100644 index 0000000000..ab32a019e8 --- /dev/null +++ b/services/aad/v2/model/model_upgrade_instance_spec_v2_request_body.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type UpgradeInstanceSpecV2RequestBody struct { + + // 实例id + InstanceId string `json:"instance_id"` + + UpgradeData *UpgradeInstanceData `json:"upgrade_data"` +} + +func (o UpgradeInstanceSpecV2RequestBody) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpgradeInstanceSpecV2RequestBody struct{}" + } + + return strings.Join([]string{"UpgradeInstanceSpecV2RequestBody", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_waf_custom_condition.go b/services/aad/v2/model/model_waf_custom_condition.go new file mode 100644 index 0000000000..7d45de8dc2 --- /dev/null +++ b/services/aad/v2/model/model_waf_custom_condition.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// WafCustomCondition cc规则防护规则限速条件 +type WafCustomCondition struct { + + // 字段类型 枚举值: url:路径 ip:IPv4 user-agent: User Agent method: Method referer: Referer params:Params cookie:Cookie header:Header request_line: Request Line request: Request + Category string `json:"category"` + + // 子字段 - 当字段类型为url,user-agent、refer、request_line、method、request时,不需要传index参数 - 当字段类型为ip或ipv6时,index必填且必须为以下值: client-ip:客户端IP x-forwarded-for:X-Forwarded-For TCP连接IP: $remote_addr - 当字段类型(category)选择“params”、“cookie”、“header”时,请根据实际需求配置子字段且该参数必填。 - 当匹配逻辑为num_greater、num_less、num_equal、num_not_equal时,子字段必须为空 - 当子字段不为空时,最大长度不超过2048 + Index *string `json:"index,omitempty"` + + // 条件列表匹配逻辑。 如果字段类型category是url、user-agent或者referer, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 len_greater、 len_less、len_equal或者len_not_equal 如果字段类型category是ip、ipv6或method,匹配逻辑可以为: equal、not_equal 如果字段类型category是request_line或者request, 匹配逻辑可以为: len_greater、len_less、len_equal或者len_not_equal 如果字段类型category是params、cookie或者header, 匹配逻辑可以为:contain、 not_contain、 equal、 not_equal、 prefix、 not_prefix、 suffix、 not_suffix、 len_greater、 len_less、len_equal、len_not_equal、num_greater、num_less、num_equal、num_not_equal、exist或者not_exist + LogicOperation string `json:"logic_operation"` + + // 条件列表逻辑匹配内容。 - 当匹配逻辑为exist或not_exist时,contents必须为空,其他情况下contents必填且长度不超过2048 - 当匹配逻辑包含\"len\"时,contents必须为0~65535的整数;当匹配逻辑包含\"num\"时,contents必须为0~512的整数 - 当category为method时, contents必须是1-64位大写字母 + Contents []string `json:"contents"` +} + +func (o WafCustomCondition) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "WafCustomCondition struct{}" + } + + return strings.Join([]string{"WafCustomCondition", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_waf_custom_rule.go b/services/aad/v2/model/model_waf_custom_rule.go new file mode 100644 index 0000000000..1a00214663 --- /dev/null +++ b/services/aad/v2/model/model_waf_custom_rule.go @@ -0,0 +1,48 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type WafCustomRule struct { + + // id + Id *string `json:"id,omitempty"` + + // name + Name *string `json:"name,omitempty"` + + // 精准防护规则生效时间。true-自定义生效时间,false-立即生效 + Time bool `json:"time"` + + // 精准防护规则生效的起始时间戳(秒) + Start *int64 `json:"start,omitempty"` + + // 精准防护规则生效的终止时间戳(秒) + Terminal *int64 `json:"terminal,omitempty"` + + // 执行该规则的优先级,值越小,优先级越高。取值范围:0到1000。 + Priority int32 `json:"priority"` + + // condition + Conditions *[]WafCustomCondition `json:"conditions,omitempty"` + + Action *WafCustomRuleAction `json:"action,omitempty"` + + // 域名 + DomainName *string `json:"domain_name,omitempty"` + + // 防护区域,0-大陆,1-海外 + OverseasType *int32 `json:"overseas_type,omitempty"` +} + +func (o WafCustomRule) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "WafCustomRule struct{}" + } + + return strings.Join([]string{"WafCustomRule", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_waf_custom_rule_action.go b/services/aad/v2/model/model_waf_custom_rule_action.go new file mode 100644 index 0000000000..cb3cb717c1 --- /dev/null +++ b/services/aad/v2/model/model_waf_custom_rule_action.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type WafCustomRuleAction struct { + + // 防护动作。 “block”:拦截。 “pass”:放行。 “log”:仅记录 + Category *string `json:"category,omitempty"` +} + +func (o WafCustomRuleAction) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "WafCustomRuleAction struct{}" + } + + return strings.Join([]string{"WafCustomRuleAction", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_waf_geo_ip_rule.go b/services/aad/v2/model/model_waf_geo_ip_rule.go new file mode 100644 index 0000000000..0581881f07 --- /dev/null +++ b/services/aad/v2/model/model_waf_geo_ip_rule.go @@ -0,0 +1,37 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type WafGeoIpRule struct { + + // 地理位置 + Geoip *string `json:"geoip,omitempty"` + + // id + Id *string `json:"id,omitempty"` + + // 规则名称 + Name *string `json:"name,omitempty"` + + // 防护区域,0-大陆,1-海外 + OverseasType *int32 `json:"overseas_type,omitempty"` + + // 添加时间 + Timestamp *int32 `json:"timestamp,omitempty"` + + // 防护动作 0-阻断,1-放行,2-仅记录 + White *int32 `json:"white,omitempty"` +} + +func (o WafGeoIpRule) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "WafGeoIpRule struct{}" + } + + return strings.Join([]string{"WafGeoIpRule", string(data)}, " ") +} diff --git a/services/aad/v2/model/model_waf_policy_options.go b/services/aad/v2/model/model_waf_policy_options.go new file mode 100644 index 0000000000..68fdeb92db --- /dev/null +++ b/services/aad/v2/model/model_waf_policy_options.go @@ -0,0 +1,34 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type WafPolicyOptions struct { + + // 是否开启CC(频率控制) + Cc *bool `json:"cc,omitempty"` + + // 是否开启精准访问防护 + Custom *bool `json:"custom,omitempty"` + + // 是否开启区域封禁防护 + Geoip *bool `json:"geoip,omitempty"` + + // 是否开启黑白名单防护 + Whiteblackip *bool `json:"whiteblackip,omitempty"` + + // 是否开启智能CC防护 + ModulexEnabled *bool `json:"modulex_enabled,omitempty"` +} + +func (o WafPolicyOptions) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "WafPolicyOptions struct{}" + } + + return strings.Join([]string{"WafPolicyOptions", string(data)}, " ") +} diff --git a/services/aad/v2/region/region.go b/services/aad/v2/region/region.go new file mode 100644 index 0000000000..7dd7280981 --- /dev/null +++ b/services/aad/v2/region/region.go @@ -0,0 +1,58 @@ +package region + +import ( + "fmt" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/region" + "sort" + "strings" +) + +var ( + CN_NORTH_4 = region.NewRegion("cn-north-4", + "https://aad.myhuaweicloud.com") + AP_SOUTHEAST_1 = region.NewRegion("ap-southeast-1", + "https://aad.myhuaweicloud.com") +) + +var staticFields = map[string]*region.Region{ + "cn-north-4": CN_NORTH_4, + "ap-southeast-1": AP_SOUTHEAST_1, +} + +var provider = region.DefaultProviderChain("AAD") + +func getRegionIds() []string { + ids := make([]string, 0, len(staticFields)) + for key := range staticFields { + ids = append(ids, key) + } + sort.Strings(ids) + return ids +} + +func SafeValueOf(regionId string) (region *region.Region, err error) { + defer func() { + if r := recover(); r != nil { + err = fmt.Errorf("%v", r) + } + }() + region = ValueOf(regionId) + return region, err +} + +// Deprecated: This function may panic under certain circumstances. Use SafeValueOf instead. +func ValueOf(regionId string) *region.Region { + if regionId == "" { + panic("unexpected empty parameter: regionId") + } + + reg := provider.GetRegion(regionId) + if reg != nil { + return reg + } + + if _, ok := staticFields[regionId]; ok { + return staticFields[regionId] + } + panic(fmt.Sprintf("region id '%s' is not in the following supported regions of service 'AAD': [%s]", regionId, strings.Join(getRegionIds(), ", "))) +} diff --git a/services/cce/v3/model/model_autopilot_cluster_spec.go b/services/cce/v3/model/model_autopilot_cluster_spec.go index b75a399db1..0cac102043 100644 --- a/services/cce/v3/model/model_autopilot_cluster_spec.go +++ b/services/cce/v3/model/model_autopilot_cluster_spec.go @@ -74,6 +74,9 @@ type AutopilotClusterSpec struct { // 覆盖集群默认组件配置 若指定了不支持的组件或组件不支持的参数,该配置项将被忽略。 当前支持的可配置组件及其参数详见 [[配置管理](https://support.huaweicloud.com/usermanual-cce/cce_10_0213.html)](tag:hws) [[配置管理](https://support.huaweicloud.com/intl/zh-cn/usermanual-cce/cce_10_0213.html)](tag:hws_hk) ConfigurationsOverride *[]AutopilotPackageConfiguration `json:"configurationsOverride,omitempty"` + + // 集群删除保护,开启后禁止用户通过API或console调用删除集群,true表示开启,默认值false关闭。 + DeletionProtection *bool `json:"deletionProtection,omitempty"` } func (o AutopilotClusterSpec) String() string { diff --git a/services/dataartsstudio/v1/dataArtsStudio_client.go b/services/dataartsstudio/v1/dataArtsStudio_client.go index a944f808c7..510e51eb6d 100644 --- a/services/dataartsstudio/v1/dataArtsStudio_client.go +++ b/services/dataartsstudio/v1/dataArtsStudio_client.go @@ -902,6 +902,27 @@ func (c *DataArtsStudioClient) CreateFactorySupplementDataInstanceInvoker(reques return &CreateFactorySupplementDataInstanceInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// CreateLineageInfo 创建血缘信息 +// +// 创建血缘信息 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DataArtsStudioClient) CreateLineageInfo(request *model.CreateLineageInfoRequest) (*model.CreateLineageInfoResponse, error) { + requestDef := GenReqDefForCreateLineageInfo() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateLineageInfoResponse), nil + } +} + +// CreateLineageInfoInvoker 创建血缘信息 +func (c *DataArtsStudioClient) CreateLineageInfoInvoker(request *model.CreateLineageInfoRequest) *CreateLineageInfoInvoker { + requestDef := GenReqDefForCreateLineageInfo() + return &CreateLineageInfoInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // CreateManagerWorkSpace 创建工作空间 // // 创建工作空间 diff --git a/services/dataartsstudio/v1/dataArtsStudio_invoker.go b/services/dataartsstudio/v1/dataArtsStudio_invoker.go index 179d2a175d..679a6993a0 100644 --- a/services/dataartsstudio/v1/dataArtsStudio_invoker.go +++ b/services/dataartsstudio/v1/dataArtsStudio_invoker.go @@ -509,6 +509,18 @@ func (i *CreateFactorySupplementDataInstanceInvoker) Invoke() (*model.CreateFact } } +type CreateLineageInfoInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateLineageInfoInvoker) Invoke() (*model.CreateLineageInfoResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateLineageInfoResponse), nil + } +} + type CreateManagerWorkSpaceInvoker struct { *invoker.BaseInvoker } diff --git a/services/dataartsstudio/v1/dataArtsStudio_meta.go b/services/dataartsstudio/v1/dataArtsStudio_meta.go index 5c48598d86..e8827c4bc9 100644 --- a/services/dataartsstudio/v1/dataArtsStudio_meta.go +++ b/services/dataartsstudio/v1/dataArtsStudio_meta.go @@ -1074,6 +1074,30 @@ func GenReqDefForCreateFactorySupplementDataInstance() *def.HttpRequestDef { return requestDef } +func GenReqDefForCreateLineageInfo() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v1/{project_id}/lineage/lineage-info"). + WithResponse(new(model.CreateLineageInfoResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Workspace"). + WithJsonTag("workspace"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + reqDefBuilder.WithResponseField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForCreateManagerWorkSpace() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). diff --git a/services/dataartsstudio/v1/model/model_column_lineage_v2.go b/services/dataartsstudio/v1/model/model_column_lineage_v2.go new file mode 100644 index 0000000000..a4e7ad9a54 --- /dev/null +++ b/services/dataartsstudio/v1/model/model_column_lineage_v2.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ColumnLineageV2 struct { + + // 上游血缘字段列表,列表大小:1至100 + InputColumns []ColumnDetails `json:"input_columns"` + + // 下游血缘字段列表,列表大小:1至100 + OutputColumns []ColumnDetails `json:"output_columns"` +} + +func (o ColumnLineageV2) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ColumnLineageV2 struct{}" + } + + return strings.Join([]string{"ColumnLineageV2", string(data)}, " ") +} diff --git a/services/dataartsstudio/v1/model/model_create_lineage_info_request.go b/services/dataartsstudio/v1/model/model_create_lineage_info_request.go new file mode 100644 index 0000000000..eb24a691d2 --- /dev/null +++ b/services/dataartsstudio/v1/model/model_create_lineage_info_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateLineageInfoRequest Request Object +type CreateLineageInfoRequest struct { + + // 工作空间ID,获取方法请参见[实例ID和工作空间ID](dataartsstudio_02_0350.xml) + Workspace string `json:"workspace"` + + Body *LineageInfoRequest `json:"body,omitempty"` +} + +func (o CreateLineageInfoRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateLineageInfoRequest struct{}" + } + + return strings.Join([]string{"CreateLineageInfoRequest", string(data)}, " ") +} diff --git a/services/dataartsstudio/v1/model/model_create_lineage_info_response.go b/services/dataartsstudio/v1/model/model_create_lineage_info_response.go new file mode 100644 index 0000000000..1368068908 --- /dev/null +++ b/services/dataartsstudio/v1/model/model_create_lineage_info_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateLineageInfoResponse Response Object +type CreateLineageInfoResponse struct { + + // 血缘导入结果 + Body *[]ObjectIdInfo `json:"body,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateLineageInfoResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateLineageInfoResponse struct{}" + } + + return strings.Join([]string{"CreateLineageInfoResponse", string(data)}, " ") +} diff --git a/services/dataartsstudio/v1/model/model_lineage_info_request.go b/services/dataartsstudio/v1/model/model_lineage_info_request.go new file mode 100644 index 0000000000..de158a220d --- /dev/null +++ b/services/dataartsstudio/v1/model/model_lineage_info_request.go @@ -0,0 +1,42 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type LineageInfoRequest struct { + + // 集群id + ClusterId *string `json:"cluster_id,omitempty"` + + // 数据连接类型 + DataSourceType *string `json:"data_source_type,omitempty"` + + // 数据连接id + ConnectionId *string `json:"connection_id,omitempty"` + + // 数据连接名称 + ConnectionName *string `json:"connection_name,omitempty"` + + // 工作空间id + WorkspaceId *string `json:"workspace_id,omitempty"` + + // 作业id + JobId *string `json:"job_id,omitempty"` + + // 算子名称 + NodeName *string `json:"node_name,omitempty"` + + TableLineage *TableLineageV2 `json:"table_lineage,omitempty"` +} + +func (o LineageInfoRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "LineageInfoRequest struct{}" + } + + return strings.Join([]string{"LineageInfoRequest", string(data)}, " ") +} diff --git a/services/dataartsstudio/v1/model/model_table_info_v2.go b/services/dataartsstudio/v1/model/model_table_info_v2.go new file mode 100644 index 0000000000..91f107619c --- /dev/null +++ b/services/dataartsstudio/v1/model/model_table_info_v2.go @@ -0,0 +1,31 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type TableInfoV2 struct { + + // 目录名称 + Catalog *string `json:"catalog,omitempty"` + + // 数据库名称 + Database *string `json:"database,omitempty"` + + // 逻辑库名称 + Schema *string `json:"schema,omitempty"` + + // 表名称 + Table *string `json:"table,omitempty"` +} + +func (o TableInfoV2) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "TableInfoV2 struct{}" + } + + return strings.Join([]string{"TableInfoV2", string(data)}, " ") +} diff --git a/services/dataartsstudio/v1/model/model_table_lineage_v2.go b/services/dataartsstudio/v1/model/model_table_lineage_v2.go new file mode 100644 index 0000000000..f087cdba91 --- /dev/null +++ b/services/dataartsstudio/v1/model/model_table_lineage_v2.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type TableLineageV2 struct { + + // 上游血缘表列表,列表大小:1至100 + InputTables []TableInfoV2 `json:"input_tables"` + + // 下游血缘表列表,列表大小:1至100 + OutputTables []TableInfoV2 `json:"output_tables"` + + // 字段血缘列表,列表大小:0至100 + ColumnLineages *[]ColumnLineageV2 `json:"column_lineages,omitempty"` +} + +func (o TableLineageV2) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "TableLineageV2 struct{}" + } + + return strings.Join([]string{"TableLineageV2", string(data)}, " ") +} diff --git a/services/dgc/v1/model/model_job_information.go b/services/dgc/v1/model/model_job_information.go new file mode 100644 index 0000000000..3d0c0b56e1 --- /dev/null +++ b/services/dgc/v1/model/model_job_information.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type JobInformation struct { + + // 下游作业的工作空间名称 + WorkSpace *string `json:"workSpace,omitempty"` + + // 下游作业名称 + JobName *string `json:"jobName,omitempty"` + + // 下游作业ID + JobId *int64 `json:"jobId,omitempty"` +} + +func (o JobInformation) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "JobInformation struct{}" + } + + return strings.Join([]string{"JobInformation", string(data)}, " ") +} diff --git a/services/dgc/v1/model/model_show_job_response.go b/services/dgc/v1/model/model_show_job_response.go index 6b720ad2d5..b6a51e9696 100644 --- a/services/dgc/v1/model/model_show_job_response.go +++ b/services/dgc/v1/model/model_show_job_response.go @@ -26,6 +26,9 @@ type ShowJobResponse struct { // 作业在目录树上的路径。创建作业时如果路径目录不存在,会自动创建目录,如/dir/a/,默认在根目录/。 Directory *string `json:"directory,omitempty"` + // 下游作业信息 + DownstreamJobs *[]JobInformation `json:"downstreamJobs,omitempty"` + // 作业类型,REAL_TIME: 实时处理,BATCH:批处理 ProcessType *ShowJobResponseProcessType `json:"processType,omitempty"` diff --git a/services/dns/v2/region/region.go b/services/dns/v2/region/region.go index 65aeca320a..24f3fea8af 100644 --- a/services/dns/v2/region/region.go +++ b/services/dns/v2/region/region.go @@ -48,6 +48,8 @@ var ( "https://dns.ae-ad-1.myhuaweicloud.com") RU_MOSCOW_1 = region.NewRegion("ru-moscow-1", "https://dns.ru-moscow-1.myhuaweicloud.com") + ME_EAST_1 = region.NewRegion("me-east-1", + "https://dns.me-east-1.myhuaweicloud.com") ) var staticFields = map[string]*region.Region{ @@ -71,6 +73,7 @@ var staticFields = map[string]*region.Region{ "ap-southeast-4": AP_SOUTHEAST_4, "ae-ad-1": AE_AD_1, "ru-moscow-1": RU_MOSCOW_1, + "me-east-1": ME_EAST_1, } var provider = region.DefaultProviderChain("DNS") diff --git a/services/drs/v3/model/model_query_job_resp.go b/services/drs/v3/model/model_query_job_resp.go index faacd43b5c..d555c4282b 100644 --- a/services/drs/v3/model/model_query_job_resp.go +++ b/services/drs/v3/model/model_query_job_resp.go @@ -82,8 +82,8 @@ type QueryJobResp struct { // 迁移方案 - Replication-主从复制 - Tungsten-日志解析 - PGBaseBackup-PG备份 SchemaType *QueryJobRespSchemaType `json:"schema_type,omitempty"` - // 节点个数。 - NodeNum *string `json:"node_num,omitempty"` + // 节点个数。MongoDB数据库时对应源端分片个数,源库为集群时必填,[1-32],MySQL双主灾备时会默认设置为2。 + NodeNum *int32 `json:"node_num,omitempty"` // 对象选择开关 ObjectSwitch *bool `json:"object_switch,omitempty"` diff --git a/services/drs/v5/drs_client.go b/services/drs/v5/drs_client.go index 9602392941..47b2d4af63 100644 --- a/services/drs/v5/drs_client.go +++ b/services/drs/v5/drs_client.go @@ -166,6 +166,27 @@ func (c *DrsClient) BatchTagActionInvoker(request *model.BatchTagActionRequest) return &BatchTagActionInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// ChangeToPeriod 按需转包周期 +// +// DRS同步和灾备任务按需计费转包周期计费。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) ChangeToPeriod(request *model.ChangeToPeriodRequest) (*model.ChangeToPeriodResponse, error) { + requestDef := GenReqDefForChangeToPeriod() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ChangeToPeriodResponse), nil + } +} + +// ChangeToPeriodInvoker 按需转包周期 +func (c *DrsClient) ChangeToPeriodInvoker(request *model.ChangeToPeriodRequest) *ChangeToPeriodInvoker { + requestDef := GenReqDefForChangeToPeriod() + return &ChangeToPeriodInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // CheckDataFilter 数据过滤规则校验 // // 数据过滤规则校验 @@ -187,6 +208,27 @@ func (c *DrsClient) CheckDataFilterInvoker(request *model.CheckDataFilterRequest return &CheckDataFilterInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// CleanAlarms 清除DDL告警 +// +// 清除DDL告警 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) CleanAlarms(request *model.CleanAlarmsRequest) (*model.CleanAlarmsResponse, error) { + requestDef := GenReqDefForCleanAlarms() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CleanAlarmsResponse), nil + } +} + +// CleanAlarmsInvoker 清除DDL告警 +func (c *DrsClient) CleanAlarmsInvoker(request *model.CleanAlarmsRequest) *CleanAlarmsInvoker { + requestDef := GenReqDefForCleanAlarms() + return &CleanAlarmsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // CollectColumns 采集指定数据库表的列信息 // // 采集指定数据库表的列信息 @@ -340,6 +382,27 @@ func (c *DrsClient) CountInstanceByTagsInvoker(request *model.CountInstanceByTag return &CountInstanceByTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// CreateConnection 创建连接 +// +// 创建单个连接,该连接可以为线下自建库或云上RDS等,目前支持的数据库引擎包括MySQL、PostgreSQL、Oracle和MongoDB。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) CreateConnection(request *model.CreateConnectionRequest) (*model.CreateConnectionResponse, error) { + requestDef := GenReqDefForCreateConnection() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateConnectionResponse), nil + } +} + +// CreateConnectionInvoker 创建连接 +func (c *DrsClient) CreateConnectionInvoker(request *model.CreateConnectionRequest) *CreateConnectionInvoker { + requestDef := GenReqDefForCreateConnection() + return &CreateConnectionInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // CreateJob 创建任务 // // 创建单个任务,根据请求参数不同,可以创建单个实时迁移、实时同步、实时灾备等任务。 @@ -361,7 +424,53 @@ func (c *DrsClient) CreateJobInvoker(request *model.CreateJobRequest) *CreateJob return &CreateJobInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } -// DeleteJdbcDriver 删除驱动文件 +// CreateReplicationJob 创建备份迁移任务 +// +// 该接口主要用于三种常见场景下备份迁移任务的配置。 +// 备份迁移支持如下的常见场景: +// - 通过OBS桶备份文件进行全量数据迁移。 +// - 通过OBS桶备份文件进行全量+增量数据迁移。 +// - 通过RDS全量备份进行全量数据迁移。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) CreateReplicationJob(request *model.CreateReplicationJobRequest) (*model.CreateReplicationJobResponse, error) { + requestDef := GenReqDefForCreateReplicationJob() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.CreateReplicationJobResponse), nil + } +} + +// CreateReplicationJobInvoker 创建备份迁移任务 +func (c *DrsClient) CreateReplicationJobInvoker(request *model.CreateReplicationJobRequest) *CreateReplicationJobInvoker { + requestDef := GenReqDefForCreateReplicationJob() + return &CreateReplicationJobInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteConnection 删除连接 +// +// 删除租户指定的连接。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) DeleteConnection(request *model.DeleteConnectionRequest) (*model.DeleteConnectionResponse, error) { + requestDef := GenReqDefForDeleteConnection() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteConnectionResponse), nil + } +} + +// DeleteConnectionInvoker 删除连接 +func (c *DrsClient) DeleteConnectionInvoker(request *model.DeleteConnectionRequest) *DeleteConnectionInvoker { + requestDef := GenReqDefForDeleteConnection() + return &DeleteConnectionInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + +// DeleteJdbcDriver 删除驱动文件(不再推广) // // 删除驱动文件。 // @@ -376,7 +485,7 @@ func (c *DrsClient) DeleteJdbcDriver(request *model.DeleteJdbcDriverRequest) (*m } } -// DeleteJdbcDriverInvoker 删除驱动文件 +// DeleteJdbcDriverInvoker 删除驱动文件(不再推广) func (c *DrsClient) DeleteJdbcDriverInvoker(request *model.DeleteJdbcDriverRequest) *DeleteJdbcDriverInvoker { requestDef := GenReqDefForDeleteJdbcDriver() return &DeleteJdbcDriverInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} @@ -403,6 +512,27 @@ func (c *DrsClient) DeleteJobInvoker(request *model.DeleteJobRequest) *DeleteJob return &DeleteJobInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// DeleteReplicationJob 删除备份迁移任务 +// +// 对于已经完成的备份迁移任务,可以选择删除迁移任务。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) DeleteReplicationJob(request *model.DeleteReplicationJobRequest) (*model.DeleteReplicationJobResponse, error) { + requestDef := GenReqDefForDeleteReplicationJob() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.DeleteReplicationJobResponse), nil + } +} + +// DeleteReplicationJobInvoker 删除备份迁移任务 +func (c *DrsClient) DeleteReplicationJobInvoker(request *model.DeleteReplicationJobRequest) *DeleteReplicationJobInvoker { + requestDef := GenReqDefForDeleteReplicationJob() + return &DeleteReplicationJobInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // DeleteUserJdbcDriver 删除驱动文件 // // 删除驱动文件。 @@ -571,6 +701,27 @@ func (c *DrsClient) ListAsyncJobsInvoker(request *model.ListAsyncJobsRequest) *L return &ListAsyncJobsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// ListConnections 查询连接列表 +// +// 查询连接列表,可根据连接类型进行查询。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) ListConnections(request *model.ListConnectionsRequest) (*model.ListConnectionsResponse, error) { + requestDef := GenReqDefForListConnections() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListConnectionsResponse), nil + } +} + +// ListConnectionsInvoker 查询连接列表 +func (c *DrsClient) ListConnectionsInvoker(request *model.ListConnectionsRequest) *ListConnectionsInvoker { + requestDef := GenReqDefForListConnections() + return &ListConnectionsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // ListDbObjects 查询数据库对象信息 // // 查询数据库对象信息。 @@ -634,7 +785,7 @@ func (c *DrsClient) ListInstanceTagsInvoker(request *model.ListInstanceTagsReque return &ListInstanceTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } -// ListJdbcDrivers 查询驱动文件列表 +// ListJdbcDrivers 查询驱动文件列表(不再推广) // // 查询驱动文件列表。 // @@ -649,12 +800,33 @@ func (c *DrsClient) ListJdbcDrivers(request *model.ListJdbcDriversRequest) (*mod } } -// ListJdbcDriversInvoker 查询驱动文件列表 +// ListJdbcDriversInvoker 查询驱动文件列表(不再推广) func (c *DrsClient) ListJdbcDriversInvoker(request *model.ListJdbcDriversRequest) *ListJdbcDriversInvoker { requestDef := GenReqDefForListJdbcDrivers() return &ListJdbcDriversInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// ListJobDdls 查询增量DDL列表 +// +// 查询增量DDL列表,可根据status查询 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) ListJobDdls(request *model.ListJobDdlsRequest) (*model.ListJobDdlsResponse, error) { + requestDef := GenReqDefForListJobDdls() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListJobDdlsResponse), nil + } +} + +// ListJobDdlsInvoker 查询增量DDL列表 +func (c *DrsClient) ListJobDdlsInvoker(request *model.ListJobDdlsRequest) *ListJobDdlsInvoker { + requestDef := GenReqDefForListJobDdls() + return &ListJobDdlsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // ListJobHistoryParameters 查询任务的参数配置修改历史 // // 查询任务的参数配置修改历史 @@ -762,6 +934,27 @@ func (c *DrsClient) ListProjectTagsInvoker(request *model.ListProjectTagsRequest return &ListProjectTagsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// ListReplicationJobs 查询备份迁移任务列表 +// +// 获取当前备份迁移任务列表,不包含已删除的任务。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) ListReplicationJobs(request *model.ListReplicationJobsRequest) (*model.ListReplicationJobsResponse, error) { + requestDef := GenReqDefForListReplicationJobs() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ListReplicationJobsResponse), nil + } +} + +// ListReplicationJobsInvoker 查询备份迁移任务列表 +func (c *DrsClient) ListReplicationJobsInvoker(request *model.ListReplicationJobsRequest) *ListReplicationJobsInvoker { + requestDef := GenReqDefForListReplicationJobs() + return &ListReplicationJobsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // ListTags 查询项目标签 // // 查询租户在指定Project中实例类型的所有资源标签集合。 @@ -825,6 +1018,27 @@ func (c *DrsClient) ListsAgencyPermissionsInvoker(request *model.ListsAgencyPerm return &ListsAgencyPermissionsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// ModifyConnection 修改连接 +// +// 修改创建的连接信息。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) ModifyConnection(request *model.ModifyConnectionRequest) (*model.ModifyConnectionResponse, error) { + requestDef := GenReqDefForModifyConnection() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ModifyConnectionResponse), nil + } +} + +// ModifyConnectionInvoker 修改连接 +func (c *DrsClient) ModifyConnectionInvoker(request *model.ModifyConnectionRequest) *ModifyConnectionInvoker { + requestDef := GenReqDefForModifyConnection() + return &ModifyConnectionInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // ShowActions 获取指定任务操作信息 // // 获取指定任务允许、不允许、当前操作信息。 @@ -1335,6 +1549,27 @@ func (c *DrsClient) ShowReplayResultsInvoker(request *model.ShowReplayResultsReq return &ShowReplayResultsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// ShowReplicationJob 查询备份迁移任务详细信息 +// +// 获取指定备份迁移任务详细信息。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) ShowReplicationJob(request *model.ShowReplicationJobRequest) (*model.ShowReplicationJobResponse, error) { + requestDef := GenReqDefForShowReplicationJob() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowReplicationJobResponse), nil + } +} + +// ShowReplicationJobInvoker 查询备份迁移任务详细信息 +func (c *DrsClient) ShowReplicationJobInvoker(request *model.ShowReplicationJobRequest) *ShowReplicationJobInvoker { + requestDef := GenReqDefForShowReplicationJob() + return &ShowReplicationJobInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // ShowSupportObjectType 查询是否支持对象选择和列映射 // // 查询任务支持的对象选择类型、列映射、支持搜索的对象类型等信息。 @@ -1398,7 +1633,7 @@ func (c *DrsClient) StopJobActionInvoker(request *model.StopJobActionRequest) *S return &StopJobActionInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } -// SyncJdbcDriver 同步驱动文件 +// SyncJdbcDriver 同步驱动文件(不再推广) // // 同步驱动文件。 // @@ -1413,7 +1648,7 @@ func (c *DrsClient) SyncJdbcDriver(request *model.SyncJdbcDriverRequest) (*model } } -// SyncJdbcDriverInvoker 同步驱动文件 +// SyncJdbcDriverInvoker 同步驱动文件(不再推广) func (c *DrsClient) SyncJdbcDriverInvoker(request *model.SyncJdbcDriverRequest) *SyncJdbcDriverInvoker { requestDef := GenReqDefForSyncJdbcDriver() return &SyncJdbcDriverInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} @@ -1547,6 +1782,27 @@ func (c *DrsClient) UpdateJobConfigurationsInvoker(request *model.UpdateJobConfi return &UpdateJobConfigurationsInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// UpdateReplicationJob 修改备份迁移任务信息 +// +// 修改指定备份迁移任务信息,任务名与任务描述。 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *DrsClient) UpdateReplicationJob(request *model.UpdateReplicationJobRequest) (*model.UpdateReplicationJobResponse, error) { + requestDef := GenReqDefForUpdateReplicationJob() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateReplicationJobResponse), nil + } +} + +// UpdateReplicationJobInvoker 修改备份迁移任务信息 +func (c *DrsClient) UpdateReplicationJobInvoker(request *model.UpdateReplicationJobRequest) *UpdateReplicationJobInvoker { + requestDef := GenReqDefForUpdateReplicationJob() + return &UpdateReplicationJobInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // UpdateStartPosition 更新增量任务启动位点 // // 更新增量任务的启动位点。 @@ -1590,7 +1846,7 @@ func (c *DrsClient) UploadDbObjectTemplateInvoker(request *model.UploadDbObjectT return &UploadDbObjectTemplateInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } -// UploadJdbcDriver 上传驱动文件 +// UploadJdbcDriver 上传驱动文件(不再推广) // // 上传驱动文件。 // @@ -1605,7 +1861,7 @@ func (c *DrsClient) UploadJdbcDriver(request *model.UploadJdbcDriverRequest) (*m } } -// UploadJdbcDriverInvoker 上传驱动文件 +// UploadJdbcDriverInvoker 上传驱动文件(不再推广) func (c *DrsClient) UploadJdbcDriverInvoker(request *model.UploadJdbcDriverRequest) *UploadJdbcDriverInvoker { requestDef := GenReqDefForUploadJdbcDriver() return &UploadJdbcDriverInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} diff --git a/services/drs/v5/drs_invoker.go b/services/drs/v5/drs_invoker.go index 9b8614d05c..2ce23475ee 100644 --- a/services/drs/v5/drs_invoker.go +++ b/services/drs/v5/drs_invoker.go @@ -89,6 +89,18 @@ func (i *BatchTagActionInvoker) Invoke() (*model.BatchTagActionResponse, error) } } +type ChangeToPeriodInvoker struct { + *invoker.BaseInvoker +} + +func (i *ChangeToPeriodInvoker) Invoke() (*model.ChangeToPeriodResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ChangeToPeriodResponse), nil + } +} + type CheckDataFilterInvoker struct { *invoker.BaseInvoker } @@ -101,6 +113,18 @@ func (i *CheckDataFilterInvoker) Invoke() (*model.CheckDataFilterResponse, error } } +type CleanAlarmsInvoker struct { + *invoker.BaseInvoker +} + +func (i *CleanAlarmsInvoker) Invoke() (*model.CleanAlarmsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CleanAlarmsResponse), nil + } +} + type CollectColumnsInvoker struct { *invoker.BaseInvoker } @@ -185,6 +209,18 @@ func (i *CountInstanceByTagsInvoker) Invoke() (*model.CountInstanceByTagsRespons } } +type CreateConnectionInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateConnectionInvoker) Invoke() (*model.CreateConnectionResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateConnectionResponse), nil + } +} + type CreateJobInvoker struct { *invoker.BaseInvoker } @@ -197,6 +233,30 @@ func (i *CreateJobInvoker) Invoke() (*model.CreateJobResponse, error) { } } +type CreateReplicationJobInvoker struct { + *invoker.BaseInvoker +} + +func (i *CreateReplicationJobInvoker) Invoke() (*model.CreateReplicationJobResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.CreateReplicationJobResponse), nil + } +} + +type DeleteConnectionInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteConnectionInvoker) Invoke() (*model.DeleteConnectionResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteConnectionResponse), nil + } +} + type DeleteJdbcDriverInvoker struct { *invoker.BaseInvoker } @@ -221,6 +281,18 @@ func (i *DeleteJobInvoker) Invoke() (*model.DeleteJobResponse, error) { } } +type DeleteReplicationJobInvoker struct { + *invoker.BaseInvoker +} + +func (i *DeleteReplicationJobInvoker) Invoke() (*model.DeleteReplicationJobResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.DeleteReplicationJobResponse), nil + } +} + type DeleteUserJdbcDriverInvoker struct { *invoker.BaseInvoker } @@ -317,6 +389,18 @@ func (i *ListAsyncJobsInvoker) Invoke() (*model.ListAsyncJobsResponse, error) { } } +type ListConnectionsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListConnectionsInvoker) Invoke() (*model.ListConnectionsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListConnectionsResponse), nil + } +} + type ListDbObjectsInvoker struct { *invoker.BaseInvoker } @@ -365,6 +449,18 @@ func (i *ListJdbcDriversInvoker) Invoke() (*model.ListJdbcDriversResponse, error } } +type ListJobDdlsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListJobDdlsInvoker) Invoke() (*model.ListJobDdlsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListJobDdlsResponse), nil + } +} + type ListJobHistoryParametersInvoker struct { *invoker.BaseInvoker } @@ -425,6 +521,18 @@ func (i *ListProjectTagsInvoker) Invoke() (*model.ListProjectTagsResponse, error } } +type ListReplicationJobsInvoker struct { + *invoker.BaseInvoker +} + +func (i *ListReplicationJobsInvoker) Invoke() (*model.ListReplicationJobsResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ListReplicationJobsResponse), nil + } +} + type ListTagsInvoker struct { *invoker.BaseInvoker } @@ -461,6 +569,18 @@ func (i *ListsAgencyPermissionsInvoker) Invoke() (*model.ListsAgencyPermissionsR } } +type ModifyConnectionInvoker struct { + *invoker.BaseInvoker +} + +func (i *ModifyConnectionInvoker) Invoke() (*model.ModifyConnectionResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ModifyConnectionResponse), nil + } +} + type ShowActionsInvoker struct { *invoker.BaseInvoker } @@ -749,6 +869,18 @@ func (i *ShowReplayResultsInvoker) Invoke() (*model.ShowReplayResultsResponse, e } } +type ShowReplicationJobInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowReplicationJobInvoker) Invoke() (*model.ShowReplicationJobResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowReplicationJobResponse), nil + } +} + type ShowSupportObjectTypeInvoker struct { *invoker.BaseInvoker } @@ -869,6 +1001,18 @@ func (i *UpdateJobConfigurationsInvoker) Invoke() (*model.UpdateJobConfiguration } } +type UpdateReplicationJobInvoker struct { + *invoker.BaseInvoker +} + +func (i *UpdateReplicationJobInvoker) Invoke() (*model.UpdateReplicationJobResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.UpdateReplicationJobResponse), nil + } +} + type UpdateStartPositionInvoker struct { *invoker.BaseInvoker } diff --git a/services/drs/v5/drs_meta.go b/services/drs/v5/drs_meta.go index b15bef2c90..f1dc407a69 100644 --- a/services/drs/v5/drs_meta.go +++ b/services/drs/v5/drs_meta.go @@ -174,6 +174,31 @@ func GenReqDefForBatchTagAction() *def.HttpRequestDef { return requestDef } +func GenReqDefForChangeToPeriod() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v5/{project_id}/job/{job_id}/change-to-period"). + WithResponse(new(model.ChangeToPeriodResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("JobId"). + WithJsonTag("job_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForCheckDataFilter() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). @@ -199,6 +224,31 @@ func GenReqDefForCheckDataFilter() *def.HttpRequestDef { return requestDef } +func GenReqDefForCleanAlarms() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v5/{project_id}/jobs/{job_id}/alarms/{alarm_id}/clean"). + WithResponse(new(model.CleanAlarmsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("JobId"). + WithJsonTag("job_id"). + WithLocationType(def.Path)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("AlarmId"). + WithJsonTag("alarm_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForCollectColumns() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). @@ -382,6 +432,26 @@ func GenReqDefForCountInstanceByTags() *def.HttpRequestDef { return requestDef } +func GenReqDefForCreateConnection() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v5/{project_id}/connections"). + WithResponse(new(model.CreateConnectionResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForCreateJob() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). @@ -402,6 +472,47 @@ func GenReqDefForCreateJob() *def.HttpRequestDef { return requestDef } +func GenReqDefForCreateReplicationJob() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v5/{project_id}/backup-migration-jobs"). + WithResponse(new(model.CreateReplicationJobResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + +func GenReqDefForDeleteConnection() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v5/{project_id}/connections/{connection_id}"). + WithResponse(new(model.DeleteConnectionResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ConnectionId"). + WithJsonTag("connection_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForDeleteJdbcDriver() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). @@ -443,6 +554,27 @@ func GenReqDefForDeleteJob() *def.HttpRequestDef { return requestDef } +func GenReqDefForDeleteReplicationJob() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodDelete). + WithPath("/v5/{project_id}/backup-migration-jobs/{job_id}"). + WithResponse(new(model.DeleteReplicationJobResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("JobId"). + WithJsonTag("job_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForDeleteUserJdbcDriver() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodDelete). @@ -654,6 +786,75 @@ func GenReqDefForListAsyncJobs() *def.HttpRequestDef { return requestDef } +func GenReqDefForListConnections() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v5/{project_id}/connections"). + WithResponse(new(model.ListConnectionsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ConnectionId"). + WithJsonTag("connection_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DbType"). + WithJsonTag("db_type"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstId"). + WithJsonTag("inst_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Ip"). + WithJsonTag("ip"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Description"). + WithJsonTag("description"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("CreateTime"). + WithJsonTag("create_time"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Offset"). + WithJsonTag("offset"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Limit"). + WithJsonTag("limit"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("FetchAll"). + WithJsonTag("fetch_all"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SortKey"). + WithJsonTag("sort_key"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SortDir"). + WithJsonTag("sort_dir"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForListDbObjects() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). @@ -776,6 +977,48 @@ func GenReqDefForListJdbcDrivers() *def.HttpRequestDef { return requestDef } +func GenReqDefForListJobDdls() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v5/{project_id}/jobs/{job_id}/ddl"). + WithResponse(new(model.ListJobDdlsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("JobId"). + WithJsonTag("job_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)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("StartSeqNo"). + WithJsonTag("start_seq_no"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EndSeqNo"). + WithJsonTag("end_seq_no"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Status"). + WithJsonTag("status"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForListJobHistoryParameters() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). @@ -967,6 +1210,71 @@ func GenReqDefForListProjectTags() *def.HttpRequestDef { return requestDef } +func GenReqDefForListReplicationJobs() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v5/{project_id}/backup-migration-jobs"). + WithResponse(new(model.ListReplicationJobsResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Name"). + WithJsonTag("name"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Status"). + WithJsonTag("status"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("DbsInstanceIds"). + WithJsonTag("dbs_instance_ids"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Description"). + WithJsonTag("description"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("CreateAt"). + WithJsonTag("create_at"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("CompletedAt"). + WithJsonTag("completed_at"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Tags"). + WithJsonTag("tags"). + 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("SortKey"). + WithJsonTag("sort_key"). + WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("SortDir"). + WithJsonTag("sort_dir"). + WithLocationType(def.Query)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForListTags() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). @@ -1046,6 +1354,31 @@ func GenReqDefForListsAgencyPermissions() *def.HttpRequestDef { return requestDef } +func GenReqDefForModifyConnection() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v5/{project_id}/connections/{connection_id}"). + WithResponse(new(model.ModifyConnectionResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("ConnectionId"). + WithJsonTag("connection_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForShowActions() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). @@ -1780,6 +2113,27 @@ func GenReqDefForShowReplayResults() *def.HttpRequestDef { return requestDef } +func GenReqDefForShowReplicationJob() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v5/{project_id}/backup-migration-jobs/{job_id}"). + WithResponse(new(model.ShowReplicationJobResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("JobId"). + WithJsonTag("job_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForShowSupportObjectType() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). @@ -2027,6 +2381,31 @@ func GenReqDefForUpdateJobConfigurations() *def.HttpRequestDef { return requestDef } +func GenReqDefForUpdateReplicationJob() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPut). + WithPath("/v5/{project_id}/backup-migration-jobs/{job_id}"). + WithResponse(new(model.UpdateReplicationJobResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("JobId"). + WithJsonTag("job_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForUpdateStartPosition() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPut). diff --git a/services/drs/v5/model/model_backup_file_info.go b/services/drs/v5/model/model_backup_file_info.go new file mode 100644 index 0000000000..218c41a102 --- /dev/null +++ b/services/drs/v5/model/model_backup_file_info.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// BackupFileInfo 备份文件信息。 +type BackupFileInfo struct { + + // 备份文件名称。 + Name string `json:"name"` + + // OBS桶中文件路径。 OBS场景:必选 RDS场景:缺省 + ObsPath *string `json:"obs_path,omitempty"` + + // bak文件数据库版本。 OBS场景:缺省 RDS场景:必选 + RdsVersion *string `json:"rds_version,omitempty"` + + // bak文件所属实例。 OBS场景:缺省 RDS场景:必选 + RdsSourceInstanceId *string `json:"rds_source_instance_id,omitempty"` +} + +func (o BackupFileInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BackupFileInfo struct{}" + } + + return strings.Join([]string{"BackupFileInfo", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_backup_file_resp.go b/services/drs/v5/model/model_backup_file_resp.go new file mode 100644 index 0000000000..cdc77bea5a --- /dev/null +++ b/services/drs/v5/model/model_backup_file_resp.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// BackupFileResp 备份文件信息体。 +type BackupFileResp struct { + + // 文件名称。 + FileName *string `json:"file_name,omitempty"` + + // 备份文件大小。 + FileSize *string `json:"file_size,omitempty"` + + // 备份文件最近修改时间。 + FileLastModify *string `json:"file_last_modify,omitempty"` +} + +func (o BackupFileResp) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BackupFileResp struct{}" + } + + return strings.Join([]string{"BackupFileResp", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_backup_info.go b/services/drs/v5/model/model_backup_info.go new file mode 100644 index 0000000000..aca76555e7 --- /dev/null +++ b/services/drs/v5/model/model_backup_info.go @@ -0,0 +1,79 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// BackupInfo 备份文件信息。 +type BackupInfo struct { + + // 备份文件来源:(全部大写) - OBS:存放在OBS中的备份文件。 - RDS:RDS实例的备份文件。 + FileSource BackupInfoFileSource `json:"file_source"` + + // OBS桶名称,使用OBS桶备份文件恢复时必填。 约束:长度范围为3~63个字符,仅支持小写字母、数字、中划线(-)、点(.),且只能以字母或数字开头和结尾,禁止使用IP地址。 如果选择从OBS桶获取备份文件必填,参考登录[客户端登录](https://support.huaweicloud.com/clientogw-obs/zh-cn_topic_0045829058.html)OBS Browser客户端,首页为OBS桶列表,可以获取到备份文件所在桶的名称。 + BucketName *string `json:"bucket_name,omitempty"` + + // 备份文件信息列表。 + Files []BackupFileInfo `json:"files"` +} + +func (o BackupInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BackupInfo struct{}" + } + + return strings.Join([]string{"BackupInfo", string(data)}, " ") +} + +type BackupInfoFileSource struct { + value string +} + +type BackupInfoFileSourceEnum struct { + OBS BackupInfoFileSource + RDS BackupInfoFileSource +} + +func GetBackupInfoFileSourceEnum() BackupInfoFileSourceEnum { + return BackupInfoFileSourceEnum{ + OBS: BackupInfoFileSource{ + value: "OBS", + }, + RDS: BackupInfoFileSource{ + value: "RDS", + }, + } +} + +func (c BackupInfoFileSource) Value() string { + return c.value +} + +func (c BackupInfoFileSource) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BackupInfoFileSource) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_backup_info_resp.go b/services/drs/v5/model/model_backup_info_resp.go new file mode 100644 index 0000000000..17d67b1f62 --- /dev/null +++ b/services/drs/v5/model/model_backup_info_resp.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// BackupInfoResp 备份文件信息 +type BackupInfoResp struct { + + // 备份文件来源,包括OBS和RDS两种。 + FileSource *string `json:"file_source,omitempty"` + + // OBS桶名称。 + BucketName *string `json:"bucket_name,omitempty"` + + // 备份文件列表。 + FileInfo *[]BackupFileResp `json:"file_info,omitempty"` +} + +func (o BackupInfoResp) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BackupInfoResp struct{}" + } + + return strings.Join([]string{"BackupInfoResp", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_backup_job_base_info.go b/services/drs/v5/model/model_backup_job_base_info.go new file mode 100644 index 0000000000..5c670b4bca --- /dev/null +++ b/services/drs/v5/model/model_backup_job_base_info.go @@ -0,0 +1,81 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// BackupJobBaseInfo 创建备份迁移任务基本信息体。 +type BackupJobBaseInfo struct { + + // 任务名称。 约束:任务名称在4位到50位之间,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。 - 最小长度:4 - 最大长度:50 + Name string `json:"name"` + + // 数据库引擎。 - sqlserver:RDS for SQL Server引擎 + EngineType BackupJobBaseInfoEngineType `json:"engine_type"` + + // 任务描述。 + Description *string `json:"description,omitempty"` + + // 标签信息。 标签的值可以包含任意语种字母、数字、空格和_ . : / = + - @。 + Tags *[]ResourceTag `json:"tags,omitempty"` + + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o BackupJobBaseInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BackupJobBaseInfo struct{}" + } + + return strings.Join([]string{"BackupJobBaseInfo", string(data)}, " ") +} + +type BackupJobBaseInfoEngineType struct { + value string +} + +type BackupJobBaseInfoEngineTypeEnum struct { + SQLSERVER BackupJobBaseInfoEngineType +} + +func GetBackupJobBaseInfoEngineTypeEnum() BackupJobBaseInfoEngineTypeEnum { + return BackupJobBaseInfoEngineTypeEnum{ + SQLSERVER: BackupJobBaseInfoEngineType{ + value: "sqlserver", + }, + } +} + +func (c BackupJobBaseInfoEngineType) Value() string { + return c.value +} + +func (c BackupJobBaseInfoEngineType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BackupJobBaseInfoEngineType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_backup_job_endpoint_info.go b/services/drs/v5/model/model_backup_job_endpoint_info.go new file mode 100644 index 0000000000..e9512c7e38 --- /dev/null +++ b/services/drs/v5/model/model_backup_job_endpoint_info.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// BackupJobEndpointInfo 备份迁移任务恢复目标RDS for SQL Server实例信息。 +type BackupJobEndpointInfo struct { + + // 备份迁移任务恢复目标RDS for SQL Server实例ID。 + TargetInstanceId string `json:"target_instance_id"` + + // 目标实例是否开启FileStream模式。可通过RDS for SQL Server详情接口获取。 + MsFileStreamStatus *string `json:"ms_file_stream_status,omitempty"` + + // RDS for SQL Server备份文件的文件ID,通过RDS全量恢复时必填。可通过云数据库RDS备份管理页面获取。 + FileId *string `json:"file_id,omitempty"` +} + +func (o BackupJobEndpointInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BackupJobEndpointInfo struct{}" + } + + return strings.Join([]string{"BackupJobEndpointInfo", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_backup_restore_option_info.go b/services/drs/v5/model/model_backup_restore_option_info.go new file mode 100644 index 0000000000..dd596539c2 --- /dev/null +++ b/services/drs/v5/model/model_backup_restore_option_info.go @@ -0,0 +1,94 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// BackupRestoreOptionInfo 备份迁移参数。 +type BackupRestoreOptionInfo struct { + + // 是否覆盖目标数据库,不填默认为false。 值为“true”表示覆盖。 值为“false”表示不覆盖。 + IsCover *bool `json:"is_cover,omitempty"` + + // 是否默认恢复,默认恢复所有数据库。 “true”是代表默认恢复还原备份文件中的全部数据库。 “false”代表需要在db_names这个字段中指定需要恢复的数据库名。 + IsDefaultRestore *bool `json:"is_default_restore,omitempty"` + + // 一次典型的增量恢复过程,会涉及多次恢复增量备份。每个增量备份恢复均会使目标数据库保持还原中状态,此时数据库不可读写,直至最后一个增量备份恢复完成后,数据库才能变成可用状态。此后数据库将无法继续进行增量恢复,所以确定为最后一个备份的场景有: 一次性全量迁移,后续将不再进行增量恢复时,设置该字段值为“true”。 增量恢复流程中,确定为最后割接阶段的最后一个增量备份时,设置该字段值为“false”。 + IsLastBackup bool `json:"is_last_backup"` + + // 是否执行预校验。 true:执行。 false:不执行。 + IsPrecheck bool `json:"is_precheck"` + + // 恢复模式: “full”表示全量迁移。 “incre”表示增量迁移 。 + RecoveryMode BackupRestoreOptionInfoRecoveryMode `json:"recovery_mode"` + + // 数据库名称。 + DbNames *[]string `json:"db_names,omitempty"` + + // 该字段为一个map,目前使用格式key是\"\",value是新数据库名字。 该功能将忽略备份文件中原有的数据库名,通过DRS将其恢复为指定的新数据库名。 使用条件: - 备份文件中只有一个数据库。 - 备份文件是全量备份类型(待恢复备份类型选择:全量备份),且是一次性恢复(最后一个备份选择:是)。 + ResetDbNameMap map[string]string `json:"reset_db_name_map,omitempty"` + + // 该参数控制使用OBS桶中备份文件恢复时,当任务结束时是否删除下载到RDS for SQL server磁盘中的OBS备份文件,默认删除。 - true 删除 - false 不删除 + IsDeleteBackupFile *bool `json:"is_delete_backup_file,omitempty"` +} + +func (o BackupRestoreOptionInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "BackupRestoreOptionInfo struct{}" + } + + return strings.Join([]string{"BackupRestoreOptionInfo", string(data)}, " ") +} + +type BackupRestoreOptionInfoRecoveryMode struct { + value string +} + +type BackupRestoreOptionInfoRecoveryModeEnum struct { + FULL BackupRestoreOptionInfoRecoveryMode + INCRE BackupRestoreOptionInfoRecoveryMode +} + +func GetBackupRestoreOptionInfoRecoveryModeEnum() BackupRestoreOptionInfoRecoveryModeEnum { + return BackupRestoreOptionInfoRecoveryModeEnum{ + FULL: BackupRestoreOptionInfoRecoveryMode{ + value: "full", + }, + INCRE: BackupRestoreOptionInfoRecoveryMode{ + value: "incre", + }, + } +} + +func (c BackupRestoreOptionInfoRecoveryMode) Value() string { + return c.value +} + +func (c BackupRestoreOptionInfoRecoveryMode) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *BackupRestoreOptionInfoRecoveryMode) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_change_to_period_request.go b/services/drs/v5/model/model_change_to_period_request.go new file mode 100644 index 0000000000..c309b0e86c --- /dev/null +++ b/services/drs/v5/model/model_change_to_period_request.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ChangeToPeriodRequest Request Object +type ChangeToPeriodRequest struct { + + // 转包周期的任务ID。 + JobId string `json:"job_id"` + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` + + Body *ToPeriodReq `json:"body,omitempty"` +} + +func (o ChangeToPeriodRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ChangeToPeriodRequest struct{}" + } + + return strings.Join([]string{"ChangeToPeriodRequest", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_change_to_period_response.go b/services/drs/v5/model/model_change_to_period_response.go new file mode 100644 index 0000000000..ff751edf2e --- /dev/null +++ b/services/drs/v5/model/model_change_to_period_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ChangeToPeriodResponse Response Object +type ChangeToPeriodResponse struct { + + // 订单ID。 + OrderId *string `json:"order_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ChangeToPeriodResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ChangeToPeriodResponse struct{}" + } + + return strings.Join([]string{"ChangeToPeriodResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_check_data_filter_response.go b/services/drs/v5/model/model_check_data_filter_response.go index 2f640359b4..221f3bdd34 100644 --- a/services/drs/v5/model/model_check_data_filter_response.go +++ b/services/drs/v5/model/model_check_data_filter_response.go @@ -15,7 +15,7 @@ type CheckDataFilterResponse struct { // 查询结果id Id *string `json:"id,omitempty"` - // 查询状态 + // 查询状态 pending:处理中 failed:失败 success:成功 Status *CheckDataFilterResponseStatus `json:"status,omitempty"` // 任务ID diff --git a/services/drs/v5/model/model_clean_alarms_request.go b/services/drs/v5/model/model_clean_alarms_request.go new file mode 100644 index 0000000000..07890946b6 --- /dev/null +++ b/services/drs/v5/model/model_clean_alarms_request.go @@ -0,0 +1,29 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CleanAlarmsRequest Request Object +type CleanAlarmsRequest struct { + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` + + // 任务ID。 + JobId string `json:"job_id"` + + // DDL序列号。 + AlarmId string `json:"alarm_id"` +} + +func (o CleanAlarmsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CleanAlarmsRequest struct{}" + } + + return strings.Join([]string{"CleanAlarmsRequest", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_clean_alarms_response.go b/services/drs/v5/model/model_clean_alarms_response.go new file mode 100644 index 0000000000..1e2091b3e5 --- /dev/null +++ b/services/drs/v5/model/model_clean_alarms_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CleanAlarmsResponse Response Object +type CleanAlarmsResponse struct { + + // 空响应体。 + Body *interface{} `json:"body,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CleanAlarmsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CleanAlarmsResponse struct{}" + } + + return strings.Join([]string{"CleanAlarmsResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_collect_columns_response.go b/services/drs/v5/model/model_collect_columns_response.go index 516fb5a683..34fbc7f8a9 100644 --- a/services/drs/v5/model/model_collect_columns_response.go +++ b/services/drs/v5/model/model_collect_columns_response.go @@ -15,7 +15,7 @@ type CollectColumnsResponse struct { // 查询结果id Id *string `json:"id,omitempty"` - // 查询状态 + // 查询状态 pending:处理中 failed:失败 success:成功 Status *CollectColumnsResponseStatus `json:"status,omitempty"` // 任务ID diff --git a/services/drs/v5/model/model_collect_db_objects_async_response.go b/services/drs/v5/model/model_collect_db_objects_async_response.go index cd81c9bfa8..eecc434445 100644 --- a/services/drs/v5/model/model_collect_db_objects_async_response.go +++ b/services/drs/v5/model/model_collect_db_objects_async_response.go @@ -15,7 +15,7 @@ type CollectDbObjectsAsyncResponse struct { // 查询结果id Id *string `json:"id,omitempty"` - // 查询状态 + // 查询状态 pending:处理中 failed:失败 success:成功 Status *CollectDbObjectsAsyncResponseStatus `json:"status,omitempty"` // 任务ID diff --git a/services/drs/v5/model/model_collect_db_objects_info_response.go b/services/drs/v5/model/model_collect_db_objects_info_response.go index a23e693626..0410d79179 100644 --- a/services/drs/v5/model/model_collect_db_objects_info_response.go +++ b/services/drs/v5/model/model_collect_db_objects_info_response.go @@ -15,7 +15,7 @@ type CollectDbObjectsInfoResponse struct { // 查询结果id Id *string `json:"id,omitempty"` - // 查询状态 + // 查询状态 pending:处理中 failed:失败 success:成功 Status *CollectDbObjectsInfoResponseStatus `json:"status,omitempty"` // 任务ID diff --git a/services/drs/v5/model/model_collect_position_async_response.go b/services/drs/v5/model/model_collect_position_async_response.go index 0e65546d0e..00568ade21 100644 --- a/services/drs/v5/model/model_collect_position_async_response.go +++ b/services/drs/v5/model/model_collect_position_async_response.go @@ -15,7 +15,7 @@ type CollectPositionAsyncResponse struct { // 查询结果id Id *string `json:"id,omitempty"` - // 查询状态 + // 查询状态 pending:处理中 failed:失败 success:成功 Status *CollectPositionAsyncResponseStatus `json:"status,omitempty"` // 任务ID diff --git a/services/drs/v5/model/model_connection_config.go b/services/drs/v5/model/model_connection_config.go new file mode 100644 index 0000000000..898652be08 --- /dev/null +++ b/services/drs/v5/model/model_connection_config.go @@ -0,0 +1,22 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ConnectionConfig struct { + + // 驱动程序名称。 + DriverName *string `json:"driver_name,omitempty"` +} + +func (o ConnectionConfig) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ConnectionConfig struct{}" + } + + return strings.Join([]string{"ConnectionConfig", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_connection_resp.go b/services/drs/v5/model/model_connection_resp.go new file mode 100644 index 0000000000..ec0b7d95f2 --- /dev/null +++ b/services/drs/v5/model/model_connection_resp.go @@ -0,0 +1,46 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ConnectionResp 连接响应体。 +type ConnectionResp struct { + + // 连接ID。 + ConnectionId string `json:"connection_id"` + + // 连接名称。 + Name string `json:"name"` + + // 连接创建时间,格式为时间戳。 + CreateTime int64 `json:"create_time"` + + // 连接类型。 + DbType string `json:"db_type"` + + Config *ConnectionConfig `json:"config,omitempty"` + + Endpoint *BaseEndpoint `json:"endpoint"` + + Vpc *CloudVpcInfo `json:"vpc,omitempty"` + + Ssl *EndpointSslConfig `json:"ssl,omitempty"` + + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + + // 描述。 + Description *string `json:"description,omitempty"` +} + +func (o ConnectionResp) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ConnectionResp struct{}" + } + + return strings.Join([]string{"ConnectionResp", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_create_connection_req.go b/services/drs/v5/model/model_create_connection_req.go new file mode 100644 index 0000000000..3829b4ff8c --- /dev/null +++ b/services/drs/v5/model/model_create_connection_req.go @@ -0,0 +1,100 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// CreateConnectionReq 创建连接请求体。 +type CreateConnectionReq struct { + + // 连接名称。 约束:连接名称在4位到50位之间,不区分大小写,可以包含字母、数字、中划线或下划线,不能包括其他特殊字符。 + Name string `json:"name"` + + // 连接类型,包含: - mysql - postgresql - mongodb - oracle + DbType CreateConnectionReqDbType `json:"db_type"` + + Config *ConnectionConfig `json:"config,omitempty"` + + // 描述,长度不能超过255个字符。 + Description *string `json:"description,omitempty"` + + Endpoint *BaseEndpoint `json:"endpoint"` + + Vpc *CloudVpcInfo `json:"vpc,omitempty"` + + Ssl *EndpointSslConfig `json:"ssl,omitempty"` + + Cloud *CloudBaseInfo `json:"cloud,omitempty"` + + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o CreateConnectionReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateConnectionReq struct{}" + } + + return strings.Join([]string{"CreateConnectionReq", string(data)}, " ") +} + +type CreateConnectionReqDbType struct { + value string +} + +type CreateConnectionReqDbTypeEnum struct { + MYSQL CreateConnectionReqDbType + POSTGRESQL CreateConnectionReqDbType + MONGODB CreateConnectionReqDbType + ORACLE CreateConnectionReqDbType +} + +func GetCreateConnectionReqDbTypeEnum() CreateConnectionReqDbTypeEnum { + return CreateConnectionReqDbTypeEnum{ + MYSQL: CreateConnectionReqDbType{ + value: "mysql", + }, + POSTGRESQL: CreateConnectionReqDbType{ + value: "postgresql", + }, + MONGODB: CreateConnectionReqDbType{ + value: "mongodb", + }, + ORACLE: CreateConnectionReqDbType{ + value: "oracle", + }, + } +} + +func (c CreateConnectionReqDbType) Value() string { + return c.value +} + +func (c CreateConnectionReqDbType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *CreateConnectionReqDbType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_create_connection_request.go b/services/drs/v5/model/model_create_connection_request.go new file mode 100644 index 0000000000..4d036ff3aa --- /dev/null +++ b/services/drs/v5/model/model_create_connection_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateConnectionRequest Request Object +type CreateConnectionRequest struct { + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` + + Body *CreateConnectionReq `json:"body,omitempty"` +} + +func (o CreateConnectionRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateConnectionRequest struct{}" + } + + return strings.Join([]string{"CreateConnectionRequest", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_create_connection_response.go b/services/drs/v5/model/model_create_connection_response.go new file mode 100644 index 0000000000..a486b08091 --- /dev/null +++ b/services/drs/v5/model/model_create_connection_response.go @@ -0,0 +1,47 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateConnectionResponse Response Object +type CreateConnectionResponse struct { + + // 连接ID。 + ConnectionId *string `json:"connection_id,omitempty"` + + // 连接名称。 + Name *string `json:"name,omitempty"` + + // 连接创建时间,格式为时间戳。 + CreateTime *int64 `json:"create_time,omitempty"` + + // 连接类型。 + DbType *string `json:"db_type,omitempty"` + + Config *ConnectionConfig `json:"config,omitempty"` + + Endpoint *BaseEndpoint `json:"endpoint,omitempty"` + + Vpc *CloudVpcInfo `json:"vpc,omitempty"` + + Ssl *EndpointSslConfig `json:"ssl,omitempty"` + + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + + // 描述。 + Description *string `json:"description,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateConnectionResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateConnectionResponse struct{}" + } + + return strings.Join([]string{"CreateConnectionResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_create_offline_task_req.go b/services/drs/v5/model/model_create_offline_task_req.go new file mode 100644 index 0000000000..9d4117dbb8 --- /dev/null +++ b/services/drs/v5/model/model_create_offline_task_req.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateOfflineTaskReq 创建备份迁移任务请求。 +type CreateOfflineTaskReq struct { + BaseInfo *BackupJobBaseInfo `json:"base_info"` + + TargetDbInfo *BackupJobEndpointInfo `json:"target_db_info"` + + BackupInfo *BackupInfo `json:"backup_info"` + + Options *BackupRestoreOptionInfo `json:"options"` +} + +func (o CreateOfflineTaskReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateOfflineTaskReq struct{}" + } + + return strings.Join([]string{"CreateOfflineTaskReq", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_create_replication_job_request.go b/services/drs/v5/model/model_create_replication_job_request.go new file mode 100644 index 0000000000..14755e870e --- /dev/null +++ b/services/drs/v5/model/model_create_replication_job_request.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateReplicationJobRequest Request Object +type CreateReplicationJobRequest struct { + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` + + Body *CreateOfflineTaskReq `json:"body,omitempty"` +} + +func (o CreateReplicationJobRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateReplicationJobRequest struct{}" + } + + return strings.Join([]string{"CreateReplicationJobRequest", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_create_replication_job_response.go b/services/drs/v5/model/model_create_replication_job_response.go new file mode 100644 index 0000000000..763d569b7a --- /dev/null +++ b/services/drs/v5/model/model_create_replication_job_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// CreateReplicationJobResponse Response Object +type CreateReplicationJobResponse struct { + + // 任务ID。 + JobId *string `json:"job_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o CreateReplicationJobResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "CreateReplicationJobResponse struct{}" + } + + return strings.Join([]string{"CreateReplicationJobResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_ddl_alarm_resp.go b/services/drs/v5/model/model_ddl_alarm_resp.go new file mode 100644 index 0000000000..e4dedeb21e --- /dev/null +++ b/services/drs/v5/model/model_ddl_alarm_resp.go @@ -0,0 +1,44 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DdlAlarmResp DDL告警信息响应体。 +type DdlAlarmResp struct { + + // 记录唯一序号。 + Seqno int64 `json:"seqno"` + + // 数据源库位点。 + Checkpoint string `json:"checkpoint"` + + // DDL告警状态。0无告警,1告警中。 + Status int32 `json:"status"` + + // DDL在源库执行时间。 + DdlTimestamp int64 `json:"ddl_timestamp"` + + // DDL内容。 + DdlText string `json:"ddl_text"` + + // DDL执行结果。false执行失败,true执行成功。 + ExeResult bool `json:"exe_result"` + + // 数据记录时间。 + RecordTime int64 `json:"record_time"` + + // DDL告警清理时间。 + CleanTime *int64 `json:"clean_time,omitempty"` +} + +func (o DdlAlarmResp) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DdlAlarmResp struct{}" + } + + return strings.Join([]string{"DdlAlarmResp", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_delete_connection_request.go b/services/drs/v5/model/model_delete_connection_request.go new file mode 100644 index 0000000000..863e6e5bb2 --- /dev/null +++ b/services/drs/v5/model/model_delete_connection_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DeleteConnectionRequest Request Object +type DeleteConnectionRequest struct { + + // 连接ID。 + ConnectionId string `json:"connection_id"` + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` +} + +func (o DeleteConnectionRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteConnectionRequest struct{}" + } + + return strings.Join([]string{"DeleteConnectionRequest", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_delete_connection_response.go b/services/drs/v5/model/model_delete_connection_response.go new file mode 100644 index 0000000000..03fa6096b8 --- /dev/null +++ b/services/drs/v5/model/model_delete_connection_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DeleteConnectionResponse Response Object +type DeleteConnectionResponse struct { + + // 空响应体。 + Body *interface{} `json:"body,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o DeleteConnectionResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteConnectionResponse struct{}" + } + + return strings.Join([]string{"DeleteConnectionResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_delete_replication_job_request.go b/services/drs/v5/model/model_delete_replication_job_request.go new file mode 100644 index 0000000000..1cd34f27d3 --- /dev/null +++ b/services/drs/v5/model/model_delete_replication_job_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DeleteReplicationJobRequest Request Object +type DeleteReplicationJobRequest struct { + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` + + // 备份迁移任务ID。 + JobId string `json:"job_id"` +} + +func (o DeleteReplicationJobRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteReplicationJobRequest struct{}" + } + + return strings.Join([]string{"DeleteReplicationJobRequest", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_delete_replication_job_response.go b/services/drs/v5/model/model_delete_replication_job_response.go new file mode 100644 index 0000000000..aea157d664 --- /dev/null +++ b/services/drs/v5/model/model_delete_replication_job_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// DeleteReplicationJobResponse Response Object +type DeleteReplicationJobResponse struct { + + // 空响应体。 + Body *interface{} `json:"body,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o DeleteReplicationJobResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "DeleteReplicationJobResponse struct{}" + } + + return strings.Join([]string{"DeleteReplicationJobResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_list_connections_request.go b/services/drs/v5/model/model_list_connections_request.go new file mode 100644 index 0000000000..8b8f971619 --- /dev/null +++ b/services/drs/v5/model/model_list_connections_request.go @@ -0,0 +1,120 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// ListConnectionsRequest Request Object +type ListConnectionsRequest struct { + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` + + // 连接ID。 + ConnectionId *string `json:"connection_id,omitempty"` + + // 连接类型。 - mysql - oracle - postgresql - mongodb + DbType *ListConnectionsRequestDbType `json:"db_type,omitempty"` + + // 连接名称,忽略大小写。 + Name *string `json:"name,omitempty"` + + // 云上数据库实例ID。 + InstId *string `json:"inst_id,omitempty"` + + // 连接IP。 + Ip *string `json:"ip,omitempty"` + + // 连接描述。 + Description *string `json:"description,omitempty"` + + // 时间区间用“,”分割。示例:2024-05-17T07:46:00.414Z,2024-05-20T07:46:00.999Z。 + CreateTime *string `json:"create_time,omitempty"` + + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + + // 偏移量,默认值为0,表示查询该偏移量后面的记录。 + Offset *int32 `json:"offset,omitempty"` + + // 查询返回记录的数量限制,默认值为10。 + Limit *int32 `json:"limit,omitempty"` + + // 值为“true”时会使得offset和limit参数失效并返回所有记录。 + FetchAll *bool `json:"fetch_all,omitempty"` + + // 返回结果按该关键字排序,默认为“created_at”。 + SortKey *string `json:"sort_key,omitempty"` + + // 降序或升序(分别对应desc和asc,默认为“desc”)。 + SortDir *string `json:"sort_dir,omitempty"` +} + +func (o ListConnectionsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListConnectionsRequest struct{}" + } + + return strings.Join([]string{"ListConnectionsRequest", string(data)}, " ") +} + +type ListConnectionsRequestDbType struct { + value string +} + +type ListConnectionsRequestDbTypeEnum struct { + MYSQL ListConnectionsRequestDbType + ORACLE ListConnectionsRequestDbType + POSTGRESQL ListConnectionsRequestDbType + MONGODB ListConnectionsRequestDbType +} + +func GetListConnectionsRequestDbTypeEnum() ListConnectionsRequestDbTypeEnum { + return ListConnectionsRequestDbTypeEnum{ + MYSQL: ListConnectionsRequestDbType{ + value: "mysql", + }, + ORACLE: ListConnectionsRequestDbType{ + value: "oracle", + }, + POSTGRESQL: ListConnectionsRequestDbType{ + value: "postgresql", + }, + MONGODB: ListConnectionsRequestDbType{ + value: "mongodb", + }, + } +} + +func (c ListConnectionsRequestDbType) Value() string { + return c.value +} + +func (c ListConnectionsRequestDbType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListConnectionsRequestDbType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_list_connections_response.go b/services/drs/v5/model/model_list_connections_response.go new file mode 100644 index 0000000000..99768506de --- /dev/null +++ b/services/drs/v5/model/model_list_connections_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListConnectionsResponse Response Object +type ListConnectionsResponse struct { + + // 连接信息列表。 + Connections *[]ConnectionResp `json:"connections,omitempty"` + + // 列表中的项目总数,与分页无关。 + Count *int32 `json:"count,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListConnectionsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListConnectionsResponse struct{}" + } + + return strings.Join([]string{"ListConnectionsResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_list_job_ddls_request.go b/services/drs/v5/model/model_list_job_ddls_request.go new file mode 100644 index 0000000000..fcae61c232 --- /dev/null +++ b/services/drs/v5/model/model_list_job_ddls_request.go @@ -0,0 +1,90 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// ListJobDdlsRequest Request Object +type ListJobDdlsRequest struct { + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` + + // 偏移量,默认值为0,表示查询该偏移量后面的记录。 + Offset *int32 `json:"offset,omitempty"` + + // 查询返回记录的数量限制.默认值为10。 + Limit *int32 `json:"limit,omitempty"` + + // DDL序列起始值。 + StartSeqNo *int64 `json:"start_seq_no,omitempty"` + + // DDL序列结束值。 + EndSeqNo *int64 `json:"end_seq_no,omitempty"` + + // DDL状态,0为无告警,1为告警中。 + Status *ListJobDdlsRequestStatus `json:"status,omitempty"` + + // 任务ID。 + JobId string `json:"job_id"` +} + +func (o ListJobDdlsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListJobDdlsRequest struct{}" + } + + return strings.Join([]string{"ListJobDdlsRequest", string(data)}, " ") +} + +type ListJobDdlsRequestStatus struct { + value int32 +} + +type ListJobDdlsRequestStatusEnum struct { + E_0 ListJobDdlsRequestStatus + E_1 ListJobDdlsRequestStatus +} + +func GetListJobDdlsRequestStatusEnum() ListJobDdlsRequestStatusEnum { + return ListJobDdlsRequestStatusEnum{ + E_0: ListJobDdlsRequestStatus{ + value: 0, + }, E_1: ListJobDdlsRequestStatus{ + value: 1, + }, + } +} + +func (c ListJobDdlsRequestStatus) Value() int32 { + return c.value +} + +func (c ListJobDdlsRequestStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListJobDdlsRequestStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("int32") + if myConverter == nil { + return errors.New("unsupported StringConverter type: int32") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(int32); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to int32 error") + } +} diff --git a/services/drs/v5/model/model_list_job_ddls_response.go b/services/drs/v5/model/model_list_job_ddls_response.go new file mode 100644 index 0000000000..18fc293c93 --- /dev/null +++ b/services/drs/v5/model/model_list_job_ddls_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListJobDdlsResponse Response Object +type ListJobDdlsResponse struct { + + // DDL告警信息列表。 + DdlList *[]DdlAlarmResp `json:"ddl_list,omitempty"` + + // 列表中的项目总数,与分页无关。 + Count *int32 `json:"count,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListJobDdlsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListJobDdlsResponse struct{}" + } + + return strings.Join([]string{"ListJobDdlsResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_list_replication_jobs_request.go b/services/drs/v5/model/model_list_replication_jobs_request.go new file mode 100644 index 0000000000..afccb827bb --- /dev/null +++ b/services/drs/v5/model/model_list_replication_jobs_request.go @@ -0,0 +1,164 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// ListReplicationJobsRequest Request Object +type ListReplicationJobsRequest struct { + + // 请求语言类型。 en-us:英文 zh-cn:中文 + XLanguage *ListReplicationJobsRequestXLanguage `json:"X-Language,omitempty"` + + // 任务名称,支持模糊搜索。 + Name *string `json:"name,omitempty"` + + // 备份迁移任务状态。 TRANSFERRING:恢复中 SUCCESS:成功 FAILED:失败 PRECHECK FAILED:预检查失败 + Status *ListReplicationJobsRequestStatus `json:"status,omitempty"` + + // 数据库实例ID,最大数量为10。 + DbsInstanceIds *[]string `json:"dbs_instance_ids,omitempty"` + + // 描述。 + Description *string `json:"description,omitempty"` + + // 创建时间。 + CreateAt *string `json:"create_at,omitempty"` + + // 完成时间。 + CompletedAt *string `json:"completed_at,omitempty"` + + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` + + // 标签。 + Tags *string `json:"tags,omitempty"` + + // 查询返回记录的数量限制,默认值为10。 + Limit *int32 `json:"limit,omitempty"` + + // 偏移量,默认值为0,表示查询该偏移量后面的记录。 + Offset *int32 `json:"offset,omitempty"` + + // 排序字段。 + SortKey *string `json:"sort_key,omitempty"` + + // 排序方法。 + SortDir *string `json:"sort_dir,omitempty"` +} + +func (o ListReplicationJobsRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListReplicationJobsRequest struct{}" + } + + return strings.Join([]string{"ListReplicationJobsRequest", string(data)}, " ") +} + +type ListReplicationJobsRequestXLanguage struct { + value string +} + +type ListReplicationJobsRequestXLanguageEnum struct { + EN_US ListReplicationJobsRequestXLanguage + ZH_CN ListReplicationJobsRequestXLanguage +} + +func GetListReplicationJobsRequestXLanguageEnum() ListReplicationJobsRequestXLanguageEnum { + return ListReplicationJobsRequestXLanguageEnum{ + EN_US: ListReplicationJobsRequestXLanguage{ + value: "en-us", + }, + ZH_CN: ListReplicationJobsRequestXLanguage{ + value: "zh-cn", + }, + } +} + +func (c ListReplicationJobsRequestXLanguage) Value() string { + return c.value +} + +func (c ListReplicationJobsRequestXLanguage) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListReplicationJobsRequestXLanguage) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} + +type ListReplicationJobsRequestStatus struct { + value string +} + +type ListReplicationJobsRequestStatusEnum struct { + TRANSFERRING ListReplicationJobsRequestStatus + SUCCESS ListReplicationJobsRequestStatus + FAILED ListReplicationJobsRequestStatus + PRECHECK_FAILED ListReplicationJobsRequestStatus +} + +func GetListReplicationJobsRequestStatusEnum() ListReplicationJobsRequestStatusEnum { + return ListReplicationJobsRequestStatusEnum{ + TRANSFERRING: ListReplicationJobsRequestStatus{ + value: "TRANSFERRING", + }, + SUCCESS: ListReplicationJobsRequestStatus{ + value: "SUCCESS", + }, + FAILED: ListReplicationJobsRequestStatus{ + value: "FAILED", + }, + PRECHECK_FAILED: ListReplicationJobsRequestStatus{ + value: "PRECHECK FAILED", + }, + } +} + +func (c ListReplicationJobsRequestStatus) Value() string { + return c.value +} + +func (c ListReplicationJobsRequestStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ListReplicationJobsRequestStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_list_replication_jobs_response.go b/services/drs/v5/model/model_list_replication_jobs_response.go new file mode 100644 index 0000000000..ee8a026833 --- /dev/null +++ b/services/drs/v5/model/model_list_replication_jobs_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ListReplicationJobsResponse Response Object +type ListReplicationJobsResponse struct { + + // 备份迁移任务总数。 + Count *int32 `json:"count,omitempty"` + + // 备份迁移任务列表。 + Jobs *[]OfflineTaskInfo `json:"jobs,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ListReplicationJobsResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ListReplicationJobsResponse struct{}" + } + + return strings.Join([]string{"ListReplicationJobsResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_modify_connection_request.go b/services/drs/v5/model/model_modify_connection_request.go new file mode 100644 index 0000000000..510b3f2549 --- /dev/null +++ b/services/drs/v5/model/model_modify_connection_request.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ModifyConnectionRequest Request Object +type ModifyConnectionRequest struct { + + // 请求语言类型。 + XLanguage *string `json:"X-Language,omitempty"` + + // 连接ID + ConnectionId string `json:"connection_id"` + + Body *UpdateConnectionReq `json:"body,omitempty"` +} + +func (o ModifyConnectionRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ModifyConnectionRequest struct{}" + } + + return strings.Join([]string{"ModifyConnectionRequest", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_modify_connection_response.go b/services/drs/v5/model/model_modify_connection_response.go new file mode 100644 index 0000000000..5fa0cd1b2e --- /dev/null +++ b/services/drs/v5/model/model_modify_connection_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ModifyConnectionResponse Response Object +type ModifyConnectionResponse struct { + + // 空响应体。 + Body *interface{} `json:"body,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ModifyConnectionResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ModifyConnectionResponse struct{}" + } + + return strings.Join([]string{"ModifyConnectionResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_modify_offline_task_req.go b/services/drs/v5/model/model_modify_offline_task_req.go new file mode 100644 index 0000000000..9889b0ca25 --- /dev/null +++ b/services/drs/v5/model/model_modify_offline_task_req.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ModifyOfflineTaskReq 修改离线迁移任务请求。 +type ModifyOfflineTaskReq struct { + + // 备份迁移任务名称。 + Name string `json:"name"` + + // 备份迁移任务描述。 + Description *string `json:"description,omitempty"` +} + +func (o ModifyOfflineTaskReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ModifyOfflineTaskReq struct{}" + } + + return strings.Join([]string{"ModifyOfflineTaskReq", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_offline_task_info.go b/services/drs/v5/model/model_offline_task_info.go new file mode 100644 index 0000000000..96924b589f --- /dev/null +++ b/services/drs/v5/model/model_offline_task_info.go @@ -0,0 +1,148 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// OfflineTaskInfo 备份迁移任务列表信息体。 +type OfflineTaskInfo struct { + + // 任务ID。 + Id string `json:"id"` + + // 任务名称。 + Name string `json:"name"` + + // 任务状态。 - TRANSFERRING:恢复中 - SUCCESS:成功 - FAILED:失败 - PRECHECK FAILED:预检查失败 + Status OfflineTaskInfoStatus `json:"status"` + + // 数据库引擎。 - sqlserver:RDS for SQL Server引擎 + EngineType OfflineTaskInfoEngineType `json:"engine_type"` + + // 错误日志。 + ErrorLog *string `json:"error_log,omitempty"` + + // 描述。 + Description *string `json:"description,omitempty"` + + // 任务创建时间。 + CreateTime string `json:"create_time"` + + // 任务完成时间。 + FinishTime *string `json:"finish_time,omitempty"` + + // 企业项目。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o OfflineTaskInfo) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "OfflineTaskInfo struct{}" + } + + return strings.Join([]string{"OfflineTaskInfo", string(data)}, " ") +} + +type OfflineTaskInfoStatus struct { + value string +} + +type OfflineTaskInfoStatusEnum struct { + TRANSFERRING OfflineTaskInfoStatus + SUCCESS OfflineTaskInfoStatus + FAILED OfflineTaskInfoStatus + PRECHECK_FAILED OfflineTaskInfoStatus +} + +func GetOfflineTaskInfoStatusEnum() OfflineTaskInfoStatusEnum { + return OfflineTaskInfoStatusEnum{ + TRANSFERRING: OfflineTaskInfoStatus{ + value: "TRANSFERRING", + }, + SUCCESS: OfflineTaskInfoStatus{ + value: "SUCCESS", + }, + FAILED: OfflineTaskInfoStatus{ + value: "FAILED", + }, + PRECHECK_FAILED: OfflineTaskInfoStatus{ + value: "PRECHECK FAILED", + }, + } +} + +func (c OfflineTaskInfoStatus) Value() string { + return c.value +} + +func (c OfflineTaskInfoStatus) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *OfflineTaskInfoStatus) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} + +type OfflineTaskInfoEngineType struct { + value string +} + +type OfflineTaskInfoEngineTypeEnum struct { + SQLSERVER OfflineTaskInfoEngineType +} + +func GetOfflineTaskInfoEngineTypeEnum() OfflineTaskInfoEngineTypeEnum { + return OfflineTaskInfoEngineTypeEnum{ + SQLSERVER: OfflineTaskInfoEngineType{ + value: "sqlserver", + }, + } +} + +func (c OfflineTaskInfoEngineType) Value() string { + return c.value +} + +func (c OfflineTaskInfoEngineType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *OfflineTaskInfoEngineType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_resource_tag.go b/services/drs/v5/model/model_resource_tag.go index d99140307f..f16f52945c 100644 --- a/services/drs/v5/model/model_resource_tag.go +++ b/services/drs/v5/model/model_resource_tag.go @@ -12,7 +12,7 @@ type ResourceTag struct { // 标签键。 约束:最大长度36,只能包含字母、数字、下划线、中划线和中文。 Key *string `json:"key,omitempty"` - // 标签值。 约束:最大长度43,只能包含字母、数字、下划线、中划线和中文。 + // 标签值。标签的值可以包含任意语种字母、数字、空格和_ . : / = + - @。 Value *string `json:"value,omitempty"` } diff --git a/services/drs/v5/model/model_show_data_processing_rules_result_response.go b/services/drs/v5/model/model_show_data_processing_rules_result_response.go index d7e1f8d337..708d8d2b6d 100644 --- a/services/drs/v5/model/model_show_data_processing_rules_result_response.go +++ b/services/drs/v5/model/model_show_data_processing_rules_result_response.go @@ -15,7 +15,7 @@ type ShowDataProcessingRulesResultResponse struct { // 查询结果id Id *string `json:"id,omitempty"` - // 查询状态 + // 查询状态 pending:处理中 failed:失败 success:成功 Status *ShowDataProcessingRulesResultResponseStatus `json:"status,omitempty"` // 任务ID diff --git a/services/drs/v5/model/model_show_replication_job_request.go b/services/drs/v5/model/model_show_replication_job_request.go new file mode 100644 index 0000000000..37e4b165c2 --- /dev/null +++ b/services/drs/v5/model/model_show_replication_job_request.go @@ -0,0 +1,76 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// ShowReplicationJobRequest Request Object +type ShowReplicationJobRequest struct { + + // 备份迁移任务ID。 + JobId string `json:"job_id"` + + // 请求语言类型。 en-us:英文 zh-cn:中文 + XLanguage *ShowReplicationJobRequestXLanguage `json:"X-Language,omitempty"` +} + +func (o ShowReplicationJobRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowReplicationJobRequest struct{}" + } + + return strings.Join([]string{"ShowReplicationJobRequest", string(data)}, " ") +} + +type ShowReplicationJobRequestXLanguage struct { + value string +} + +type ShowReplicationJobRequestXLanguageEnum struct { + EN_US ShowReplicationJobRequestXLanguage + ZH_CN ShowReplicationJobRequestXLanguage +} + +func GetShowReplicationJobRequestXLanguageEnum() ShowReplicationJobRequestXLanguageEnum { + return ShowReplicationJobRequestXLanguageEnum{ + EN_US: ShowReplicationJobRequestXLanguage{ + value: "en-us", + }, + ZH_CN: ShowReplicationJobRequestXLanguage{ + value: "zh-cn", + }, + } +} + +func (c ShowReplicationJobRequestXLanguage) Value() string { + return c.value +} + +func (c ShowReplicationJobRequestXLanguage) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ShowReplicationJobRequestXLanguage) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_show_replication_job_response.go b/services/drs/v5/model/model_show_replication_job_response.go new file mode 100644 index 0000000000..ac5a1956f0 --- /dev/null +++ b/services/drs/v5/model/model_show_replication_job_response.go @@ -0,0 +1,50 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowReplicationJobResponse Response Object +type ShowReplicationJobResponse struct { + + // 任务ID。 + Id *string `json:"id,omitempty"` + + // 任务状态。 + Status *string `json:"status,omitempty"` + + // 任务创建时间。 + CreateTime *string `json:"create_time,omitempty"` + + // 任务完成时间。 + FinishTime *string `json:"finish_time,omitempty"` + + BackupInfo *BackupInfoResp `json:"backup_info,omitempty"` + + BaseInfo *BackupJobBaseInfo `json:"base_info,omitempty"` + + TargetDbInfo *BackupJobEndpointInfo `json:"target_db_info,omitempty"` + + Options *BackupRestoreOptionInfo `json:"options,omitempty"` + + // 备份恢复数据库映射新名称。 + NewDbNames *string `json:"new_db_names,omitempty"` + + // RDS实例名称。 + InstanceName *string `json:"instance_name,omitempty"` + + // 迁移过程中失败原因。 + ErrorLog *string `json:"error_log,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowReplicationJobResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowReplicationJobResponse struct{}" + } + + return strings.Join([]string{"ShowReplicationJobResponse", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_show_update_object_saving_status_response.go b/services/drs/v5/model/model_show_update_object_saving_status_response.go index 3cec14367a..9b2099dcce 100644 --- a/services/drs/v5/model/model_show_update_object_saving_status_response.go +++ b/services/drs/v5/model/model_show_update_object_saving_status_response.go @@ -15,7 +15,7 @@ type ShowUpdateObjectSavingStatusResponse struct { // 查询结果id Id *string `json:"id,omitempty"` - // 查询状态 + // 查询状态 pending:处理中 failed:失败 success:成功 Status *ShowUpdateObjectSavingStatusResponseStatus `json:"status,omitempty"` // 任务ID diff --git a/services/drs/v5/model/model_to_period_req.go b/services/drs/v5/model/model_to_period_req.go new file mode 100644 index 0000000000..f0396cbcab --- /dev/null +++ b/services/drs/v5/model/model_to_period_req.go @@ -0,0 +1,82 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// ToPeriodReq 任务按需转包周期请求体 +type ToPeriodReq struct { + + // 订单类型,取值: - 2:包月 - 3:包年 + PeriodType ToPeriodReqPeriodType `json:"period_type"` + + // 订单周期数 + PeriodNum int32 `json:"period_num"` + + // 是否自动续费 + IsAutoRenew bool `json:"is_auto_renew"` + + // 是否自动支付 + IsAutoPay bool `json:"is_auto_pay"` +} + +func (o ToPeriodReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ToPeriodReq struct{}" + } + + return strings.Join([]string{"ToPeriodReq", string(data)}, " ") +} + +type ToPeriodReqPeriodType struct { + value string +} + +type ToPeriodReqPeriodTypeEnum struct { + E_2 ToPeriodReqPeriodType + E_3 ToPeriodReqPeriodType +} + +func GetToPeriodReqPeriodTypeEnum() ToPeriodReqPeriodTypeEnum { + return ToPeriodReqPeriodTypeEnum{ + E_2: ToPeriodReqPeriodType{ + value: "2", + }, + E_3: ToPeriodReqPeriodType{ + value: "3", + }, + } +} + +func (c ToPeriodReqPeriodType) Value() string { + return c.value +} + +func (c ToPeriodReqPeriodType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *ToPeriodReqPeriodType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_update_connection_req.go b/services/drs/v5/model/model_update_connection_req.go new file mode 100644 index 0000000000..a310431d65 --- /dev/null +++ b/services/drs/v5/model/model_update_connection_req.go @@ -0,0 +1,42 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// UpdateConnectionReq 修改连接请求。 +type UpdateConnectionReq struct { + + // 连接名称。 + Name *string `json:"name,omitempty"` + + // 数据库类型。 + DbType *string `json:"db_type,omitempty"` + + Config *ConnectionConfig `json:"config,omitempty"` + + // 连接描述。 + Description *string `json:"description,omitempty"` + + Endpoint *BaseEndpoint `json:"endpoint,omitempty"` + + Vpc *CloudVpcInfo `json:"vpc,omitempty"` + + Ssl *EndpointSslConfig `json:"ssl,omitempty"` + + Cloud *CloudBaseInfo `json:"cloud,omitempty"` + + // 企业项目ID。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` +} + +func (o UpdateConnectionReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateConnectionReq struct{}" + } + + return strings.Join([]string{"UpdateConnectionReq", string(data)}, " ") +} diff --git a/services/drs/v5/model/model_update_data_progress_response.go b/services/drs/v5/model/model_update_data_progress_response.go index 1e53da1eaa..d4696f0d1d 100644 --- a/services/drs/v5/model/model_update_data_progress_response.go +++ b/services/drs/v5/model/model_update_data_progress_response.go @@ -15,7 +15,7 @@ type UpdateDataProgressResponse struct { // 查询结果id Id *string `json:"id,omitempty"` - // 查询状态 + // 查询状态 pending:处理中 failed:失败 success:成功 Status *UpdateDataProgressResponseStatus `json:"status,omitempty"` // 任务ID diff --git a/services/drs/v5/model/model_update_replication_job_request.go b/services/drs/v5/model/model_update_replication_job_request.go new file mode 100644 index 0000000000..a3b6929236 --- /dev/null +++ b/services/drs/v5/model/model_update_replication_job_request.go @@ -0,0 +1,78 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// UpdateReplicationJobRequest Request Object +type UpdateReplicationJobRequest struct { + + // 备份迁移任务ID。 + JobId string `json:"job_id"` + + // 请求语言类型。 en-us:英文 zh-cn:中文 + XLanguage *UpdateReplicationJobRequestXLanguage `json:"X-Language,omitempty"` + + Body *ModifyOfflineTaskReq `json:"body,omitempty"` +} + +func (o UpdateReplicationJobRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateReplicationJobRequest struct{}" + } + + return strings.Join([]string{"UpdateReplicationJobRequest", string(data)}, " ") +} + +type UpdateReplicationJobRequestXLanguage struct { + value string +} + +type UpdateReplicationJobRequestXLanguageEnum struct { + EN_US UpdateReplicationJobRequestXLanguage + ZH_CN UpdateReplicationJobRequestXLanguage +} + +func GetUpdateReplicationJobRequestXLanguageEnum() UpdateReplicationJobRequestXLanguageEnum { + return UpdateReplicationJobRequestXLanguageEnum{ + EN_US: UpdateReplicationJobRequestXLanguage{ + value: "en-us", + }, + ZH_CN: UpdateReplicationJobRequestXLanguage{ + value: "zh-cn", + }, + } +} + +func (c UpdateReplicationJobRequestXLanguage) Value() string { + return c.value +} + +func (c UpdateReplicationJobRequestXLanguage) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *UpdateReplicationJobRequestXLanguage) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/drs/v5/model/model_update_replication_job_response.go b/services/drs/v5/model/model_update_replication_job_response.go new file mode 100644 index 0000000000..ad6d97c92d --- /dev/null +++ b/services/drs/v5/model/model_update_replication_job_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// UpdateReplicationJobResponse Response Object +type UpdateReplicationJobResponse struct { + + // 空响应体。 + Body *interface{} `json:"body,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpdateReplicationJobResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateReplicationJobResponse struct{}" + } + + return strings.Join([]string{"UpdateReplicationJobResponse", string(data)}, " ") +} diff --git a/services/elb/v2/elb_meta.go b/services/elb/v2/elb_meta.go index f7ce71f6db..a11194ca5b 100644 --- a/services/elb/v2/elb_meta.go +++ b/services/elb/v2/elb_meta.go @@ -906,6 +906,10 @@ func GenReqDefForListMembers() *def.HttpRequestDef { WithName("Weight"). WithJsonTag("weight"). WithLocationType(def.Query)) + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("EnterpriseProjectId"). + WithJsonTag("enterprise_project_id"). + WithLocationType(def.Query)) requestDef := reqDefBuilder.Build() return requestDef diff --git a/services/elb/v2/model/model_list_members_request.go b/services/elb/v2/model/model_list_members_request.go index 98d8e5d9f8..2f49c5d756 100644 --- a/services/elb/v2/model/model_list_members_request.go +++ b/services/elb/v2/model/model_list_members_request.go @@ -41,6 +41,9 @@ type ListMembersRequest struct { // 后端云服务器的权重。 Weight *int32 `json:"weight,omitempty"` + + // 企业项目ID。 不传时查询default企业项目(即enterprise_project_id=0)下的资源,鉴权按照default企业项目鉴权。 如果传值enterprise_project_id=all_granted_eps,则表示查询所有有权限的企业项目下的资源。 其他情况则传已存在的企业项目ID。此时会校验ID,若不存在或格式错误则报错。 + EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` } func (o ListMembersRequest) String() string { diff --git a/services/elb/v3/elb_client.go b/services/elb/v3/elb_client.go index ac32963908..38ab652d32 100644 --- a/services/elb/v3/elb_client.go +++ b/services/elb/v3/elb_client.go @@ -307,7 +307,11 @@ func (c *ElbClient) CreateListenerInvoker(request *model.CreateListenerRequest) // 6. 若要创建网络型负载均衡器,则需要传入l4_flavor_id(网络型规格ID);若要创建应用型负载均衡器,则需要传入l7_flavor_id(应用型规格ID);若要创建网络型+应用型负载均衡器,则需要传入l4_flavor_id和l7_flavor_id。 // 7. 若要创建包周期负载均衡器,则需要传入prepaid_options,否则创建按需计费负载均衡器。 // 8. 按需计费分为固定规格计费和弹性规格计费,根据创建时所选规格的类型决定计费方式。具体规格说明见创建LB请求参数l4_flavor_id和l7_flavor_id。 -// [9.若要创建gateway类型的负载均衡器,指定loadbalancer_type=“gateway”,不支持指定vip_address,ipv6_vip_address;vip_subnet_cidr_id和ipv6_subnet_cidr_id两者不能同时为空,如果两者都传入,必须属于同一子网。 不支持公网类型。如果要指定规格,则从请求参数gw_flavor_id传入。](tag:hws_eu) +// [9.若要创建gateway类型的负载均衡器,则需要: +// - 指定loadbalancer_type=\"gateway\",且不支持指定vip_address,ipv6_vip_address。 +// - vip_subnet_cidr_id和ipv6_subnet_cidr_id两者不能都为空,如果两者都传入,则必须属于同一子网。 +// - 不支持创建公网gateway类型LB。 +// - 如果要指定规格,则从请求参数gw_flavor_id传入。](tag:hws_eu) // // Please refer to HUAWEI cloud API Explorer for details. func (c *ElbClient) CreateLoadBalancer(request *model.CreateLoadBalancerRequest) (*model.CreateLoadBalancerResponse, error) { diff --git a/services/elb/v3/model/model_availability_zone.go b/services/elb/v3/model/model_availability_zone.go index cfac99f7c0..b56e745bc2 100644 --- a/services/elb/v3/model/model_availability_zone.go +++ b/services/elb/v3/model/model_availability_zone.go @@ -15,7 +15,7 @@ type AvailabilityZone struct { // 参数解释:可用区状态。 取值范围:ACTIVE。 State string `json:"state"` - // [参数解释:未售罄的LB规格类别。 取值范围:L4 表示网络型LB未售罄;L7 表示应用型LB未售罄。](tag:hws,hk,hws_eu,otc,tlf,ctc,sbc,g42,cmcc,hk_g42,dt_test,mix,hk_sbc,hws_ocb,dt) [参数解释:LB规格类别。 取值范围:L4 表示网络型LB;L7 表示应用型LB。](tag:ocb,tm,fcs,fcs_dt,hcso,hcso_dt,hk_vdf) + // [参数解释:未售罄的LB规格类别。 取值范围:L4 表示网络型LB未售罄;L7 表示应用型LB未售罄。](tag:hws,hk,hws_eu,otc,tlf,sbc,g42,hk_g42,dt_test,mix,hk_sbc,hws_ocb,dt) [参数解释:LB规格类别。 取值范围:L4 表示网络型LB;L7 表示应用型LB。](tag:ctc,cmcc,ocb,tm,fcs,fcs_dt,hcso,hcso_dt,hk_vdf) Protocol []string `json:"protocol"` // 参数解释:可用区组,如:center diff --git a/services/elb/v3/model/model_batch_add_available_zones_request.go b/services/elb/v3/model/model_batch_add_available_zones_request.go index fbc29456f0..a139482860 100644 --- a/services/elb/v3/model/model_batch_add_available_zones_request.go +++ b/services/elb/v3/model/model_batch_add_available_zones_request.go @@ -9,7 +9,7 @@ import ( // BatchAddAvailableZonesRequest Request Object type BatchAddAvailableZonesRequest struct { - // 负载均衡器ID。 + // 参数解释:负载均衡器ID。 LoadbalancerId string `json:"loadbalancer_id"` Body *BatchAddAvailableZonesRequestBody `json:"body,omitempty"` diff --git a/services/elb/v3/model/model_batch_create_members_option.go b/services/elb/v3/model/model_batch_create_members_option.go index c6034f8834..d82ae221cf 100644 --- a/services/elb/v3/model/model_batch_create_members_option.go +++ b/services/elb/v3/model/model_batch_create_members_option.go @@ -12,16 +12,16 @@ type BatchCreateMembersOption struct { // 后端服务器名称。 Name *string `json:"name,omitempty"` - // 后端云服务器的对应的IP地址,这个IP必须在subnet_cidr_id字段的子网网段中。例如:192.168.3.11。 subnet_cidr_id为空代表添加跨VPC后端,此时address必须为ipv4地址。 + // 后端服务器的对应的IP地址,这个IP必须在subnet_cidr_id字段的子网网段中。例如:192.168.3.11。 subnet_cidr_id为空代表添加跨VPC后端,此时address必须为ipv4地址。 Address string `json:"address"` - // 后端服务器端口。 在开启端口透传的pool下的member,该字段无法更新。 [网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) + // 后端服务器业务端口。 [网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) >在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 ProtocolPort int32 `json:"protocol_port"` - // 后端云服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发已开启(ip_target_enable=true),则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 - 若所属LB未开启跨VPC后端转发,该参数必填。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 后端服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发已开启(ip_target_enable=true),则该字段可以不传,表示添加跨VPC的后端服务器。此时address必须为IPv4地址,所在的pool的协议必须为UDP/TCP/TLS/HTTP/HTTPS/QUIC/GRPC。 - 若所属LB未开启跨VPC后端转发,该参数必填。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId *string `json:"subnet_cidr_id,omitempty"` - // 后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明:若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。 + // 后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明:若所在pool的lb_algorithm取值为SOURCE_IP或QUIC_CID,该字段无效。 Weight *int32 `json:"weight,omitempty"` } diff --git a/services/elb/v3/model/model_batch_member.go b/services/elb/v3/model/model_batch_member.go index c01c47eb13..58652c59f8 100644 --- a/services/elb/v3/model/model_batch_member.go +++ b/services/elb/v3/model/model_batch_member.go @@ -18,28 +18,28 @@ type BatchMember struct { // 后端服务器所在的项目ID。 ProjectId string `json:"project_id"` - // 后端云服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 + // 后端服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 AdminStateUp bool `json:"admin_state_up"` - // 后端云服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发已开启(ip_target_enable=true),则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 - 若所属LB未开启跨VPC后端转发,该参数必填。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 后端服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发已开启(ip_target_enable=true),则该字段可以不传,表示添加跨VPC的后端服务器。此时address必须为IPv4地址,所在的pool的协议必须为UDP/TCP/TLS/HTTP/HTTPS/QUIC/GRPC。 - 若所属LB未开启跨VPC后端转发,该参数必填。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId *string `json:"subnet_cidr_id,omitempty"` // 后端服务器业务端口。 [网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) >在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 ProtocolPort int32 `json:"protocol_port"` - // 后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明: - 若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。 + // 后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明: - 若所在pool的lb_algorithm取值为SOURCE_IP或QUIC_CID,该字段无效。 Weight int32 `json:"weight"` - // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡内网IP。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) + // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) Address string `json:"address"` - // 后端云服务器的健康状态。 取值: - ONLINE:后端云服务器正常。 - NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 - OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 + // 后端服务器的健康状态。 取值: - ONLINE:后端服务器正常。 - NO_MONITOR:后端服务器所在的服务器组没有健康检查器。 - OFFLINE:后端服务器关联的ECS服务器不存在或已关机。 OperatingStatus string `json:"operating_status"` - // 后端云服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 + // 后端服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 Status *[]MemberStatus `json:"status,omitempty"` - // 后端云服务器的类型。 取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 + // 后端服务器的类型。 取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 MemberType *string `json:"member_type,omitempty"` // member关联的实例ID,空表示跨VPC场景的member。 diff --git a/services/elb/v3/model/model_batch_update_member.go b/services/elb/v3/model/model_batch_update_member.go index 9922f33182..af932e6303 100644 --- a/services/elb/v3/model/model_batch_update_member.go +++ b/services/elb/v3/model/model_batch_update_member.go @@ -18,28 +18,28 @@ type BatchUpdateMember struct { // 后端服务器所在的项目ID。 ProjectId string `json:"project_id"` - // 后端云服务器的管理状态。取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 + // 后端服务器的管理状态。取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 AdminStateUp bool `json:"admin_state_up"` - // 后端云服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发已开启(ip_target_enable=true),则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 - 若所属LB未开启跨VPC后端转发,该参数必填。 [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 后端服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发已开启(ip_target_enable=true),则该字段可以不传,表示添加跨VPC的后端服务器。此时address必须为IPv4地址,所在的pool的协议必须为UDP/TCP/TLS/HTTP/HTTPS/QUIC/GRPC。 - 若所属LB未开启跨VPC后端转发,该参数必填。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId *string `json:"subnet_cidr_id,omitempty"` - // 后端服务器业务端口号。 >在开启端口透传的pool下的member,该字段不支持更新 + // 后端服务器业务端口。 [网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) >在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 ProtocolPort int32 `json:"protocol_port"` - // 后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明: - 若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。 + // 后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明: - 若所在pool的lb_algorithm取值为SOURCE_IP或QUIC_CID,该字段无效。 Weight int32 `json:"weight"` - // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡内网IP。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) + // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。但必须在subnet_cidr_id对应的子网网段中。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) Address string `json:"address"` - // 后端云服务器的健康状态。取值: - ONLINE:后端云服务器正常。 - NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 - OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 + // 后端服务器的健康状态。取值: - ONLINE:后端服务器正常。 - NO_MONITOR:后端服务器所在的服务器组没有健康检查器。 - OFFLINE:后端服务器关联的ECS服务器不存在或已关机。 OperatingStatus string `json:"operating_status"` - // 后端云服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 + // 后端服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 Status *[]MemberStatus `json:"status,omitempty"` - // 后端云服务器的类型。取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 + // 后端服务器的类型。取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 MemberType *string `json:"member_type,omitempty"` // member关联的实例ID,空表示跨VPC场景的member。 diff --git a/services/elb/v3/model/model_batch_update_members_option.go b/services/elb/v3/model/model_batch_update_members_option.go index 201f1cfa5f..083301247c 100644 --- a/services/elb/v3/model/model_batch_update_members_option.go +++ b/services/elb/v3/model/model_batch_update_members_option.go @@ -12,7 +12,7 @@ type BatchUpdateMembersOption struct { // 后端服务器ID。 >此处并非ECS服务器的ID,而是ELB为绑定的后端服务器自动生成的member ID。 Id string `json:"id"` - // 后端云服务器的管理状态。取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 请勿传入该字段。 + // 后端服务器的管理状态。取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 请勿传入该字段。 AdminStateUp *bool `json:"admin_state_up,omitempty"` // 后端服务器名称。 @@ -21,7 +21,7 @@ type BatchUpdateMembersOption struct { // 后端服务器端口。 在开启端口透传的pool下的member,该字段无法更新。 [网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) ProtocolPort *int32 `json:"protocol_port,omitempty"` - // 后端云服务器的权重,请求按权重在同一后端云服务器组下的后端云服务器间分发。权重为0的后端不再接受新的请求。当后端云服务器所在的后端云服务器组的lb_algorithm的取值为SOURCE_IP时,该字段无效。 + // 后端服务器的权重,请求按权重在同一后端服务器组下的后端服务器间分发。权重为0的后端不再接受新的请求。当后端服务器所在的后端服务器组的lb_algorithm的取值为SOURCE_IP时,该字段无效。 Weight *int32 `json:"weight,omitempty"` } diff --git a/services/elb/v3/model/model_connection_drain.go b/services/elb/v3/model/model_connection_drain.go index 4b646bfd97..5931795ca3 100644 --- a/services/elb/v3/model/model_connection_drain.go +++ b/services/elb/v3/model/model_connection_drain.go @@ -6,13 +6,13 @@ import ( "strings" ) -// ConnectionDrain 后端服务器的延迟注销的功能配置(只针对TCP、UDP、QUIC协议类型的后端服务器组和TCP、UDP协议类的监听器) 以下场景会触发: - 服务器从后端服务器组中移除 - 后端云服务健康检查状态异常 - 后端云服务器权重修改为0 +// ConnectionDrain 参数解释:后端服务器的延迟注销的功能配置(只针对TCP、UDP、QUIC协议类型的后端服务器组和TCP、UDP协议类的监听器)。 以下场景会触发: - 服务器从后端服务器组中移除 - 后端云服务健康检查状态异常 - 后端服务器权重修改为0 type ConnectionDrain struct { - // 延迟注销功能开关。取值:true 开启,false 关闭,默认true。 + // 参数解释:延迟注销功能开关。 取值范围:true 开启,false 关闭。 默认取值:true。 Enable *bool `json:"enable,omitempty"` - // 延迟注销时间,单位:s; 取值范围:10~4000 + // 参数解释:延迟注销时间。 取值范围:10~4000,单位:秒。 Timeout *int32 `json:"timeout,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 bea593f1be..5102f0c185 100644 --- a/services/elb/v3/model/model_create_health_monitor_option.go +++ b/services/elb/v3/model/model_create_health_monitor_option.go @@ -18,7 +18,7 @@ type CreateHealthMonitorOption struct { // 发送健康检查请求的域名。 取值:以数字或字母开头,只能包含数字、字母、’-’、’.’。 默认为空,表示使用负载均衡器的vip作为http请求的目的地址。 使用说明:当type为HTTP/HTTPS时生效。 DomainName *string `json:"domain_name,omitempty"` - // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:若健康检查type为gRPC,则默认值为0,;其他为200。 仅支持HTTP/HTTPS/gRPC设置该字段,其他协议设置不会生效。 + // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:若健康检查type为GRPC,则默认值为0,;其他为200。 仅支持HTTP/HTTPS/GRPC设置该字段,其他协议设置不会生效。 ExpectedCodes *string `json:"expected_codes,omitempty"` // HTTP请求方法。 取值:GET、HEAD、POST,默认GET。 使用说明:当type为HTTP/HTTPS时生效。 @@ -30,13 +30,13 @@ type CreateHealthMonitorOption struct { // 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。取值范围:1-10,默认3。 MaxRetriesDown *int32 `json:"max_retries_down,omitempty"` - // 健康检查端口号。取值:1-65535,默认为空,表示使用后端云服务器端口号。 [当pool协议为IP时,monitor_port必须指定为非0值。](tag:hws_eu) >当绑定的pool开启了端口透传功能时,该字段为必填。 + // 健康检查端口号。取值:1-65535,默认为空,表示使用后端服务器端口号。 [当pool协议为IP时,monitor_port必须指定为非0值。](tag:hws_eu) >当绑定的pool开启了端口透传功能时,该字段为必填。 MonitorPort *int32 `json:"monitor_port,omitempty"` // 健康检查名称。 Name *string `json:"name,omitempty"` - // 健康检查所在的后端云服务器组ID + // 健康检查所在的后端服务器组ID PoolId string `json:"pool_id"` // 健康检查所在的项目ID。 @@ -45,7 +45,7 @@ type CreateHealthMonitorOption struct { // 一次健康检查请求的超时时间。 建议该值小于delay的值。 Timeout int32 `json:"timeout"` - // 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS、gRPC和TLS。 使用说明: - 若pool的protocol为QUIC,则type只能是UDP_CONNECT。 - 若pool的protocol为UDP,则type只能UDP_CONNECT。 - 若pool的protocol为TCP,则type可以是TCP、HTTP、HTTPS。 [- 若pool的protocol为IP,则type可以是TCP、HTTP、HTTPS。](tag:hws_eu) - 若pool的protocol为HTTP,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为HTTPS,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为gRPC,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为TLS,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS、GRPC和TLS。 使用说明: - 若pool的protocol为QUIC,则type只能是UDP_CONNECT。 - 若pool的protocol为UDP,则type只能UDP_CONNECT。 - 若pool的protocol为TCP,则type可以是TCP、HTTP、HTTPS。 [- 若pool的protocol为IP,则type可以是TCP、HTTP、HTTPS。](tag:hws_eu) - 若pool的protocol为HTTP,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为HTTPS,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为GRPC,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为TLS,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Type string `json:"type"` // 健康检查请求的请求路径。以\"/\"开头,默认为\"/\"。 支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集_;~!()*[]@$^:',+ 使用说明:当type为HTTP/HTTPS时生效。 diff --git a/services/elb/v3/model/model_create_l7_policy_option.go b/services/elb/v3/model/model_create_l7_policy_option.go index e3dfd7a4e9..83d8e5a4ee 100644 --- a/services/elb/v3/model/model_create_l7_policy_option.go +++ b/services/elb/v3/model/model_create_l7_policy_option.go @@ -9,7 +9,7 @@ import ( // CreateL7PolicyOption 创建转发策略请求参数。 type CreateL7PolicyOption struct { - // 参数解释:转发策略的转发动作。 约束限制: - REDIRECT_TO_LISTENER的优先级最高,配置了以后,该监听器下的其他policy会失效。 - 当action为REDIRECT_TO_POOL时, 只支持创建在PROTOCOL为HTTP、HTTPS、TERMINATED_HTTPS的listener上。 - 当action为REDIRECT_TO_LISTENER时,只支持创建在PROTOCOL为HTTP的listener上。 取值范围: - REDIRECT_TO_POOL:转发到后端云服务器组。 - REDIRECT_TO_LISTENER:重定向到监听器。 - REDIRECT_TO_URL:重定向到URL。 - FIXED_RESPONSE:返回固定响应体。 [不支持REDIRECT_TO_URL和FIXED_RESPONSE](tag:hcso_dt) + // 参数解释:转发策略的转发动作。 约束限制: - REDIRECT_TO_LISTENER的优先级最高,配置了以后,该监听器下的其他policy会失效。 - 当action为REDIRECT_TO_POOL时, 只支持创建在PROTOCOL为HTTP、HTTPS、TERMINATED_HTTPS的listener上。 - 当action为REDIRECT_TO_LISTENER时,只支持创建在PROTOCOL为HTTP的listener上。 取值范围: - REDIRECT_TO_POOL:转发到后端服务器组。 - REDIRECT_TO_LISTENER:重定向到监听器。 - REDIRECT_TO_URL:重定向到URL。 - FIXED_RESPONSE:返回固定响应体。 [不支持REDIRECT_TO_URL和FIXED_RESPONSE](tag:hcso_dt) Action string `json:"action"` // 参数解释:转发策略的管理状态。 约束限制:只支持设置为true。 diff --git a/services/elb/v3/model/model_create_listener_option.go b/services/elb/v3/model/model_create_listener_option.go index a37f53ba81..747f26d45e 100644 --- a/services/elb/v3/model/model_create_listener_option.go +++ b/services/elb/v3/model/model_create_listener_option.go @@ -15,7 +15,7 @@ type CreateListenerOption struct { // 参数解释:监听器的管理状态。 约束限制:只支持设置为true。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 参数解释:监听器默认的后端云服务器组ID。当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。 + // 参数解释:监听器默认的后端服务器组ID。当请求没有匹配的转发策略时,转发到默认后端服务器上处理。 DefaultPoolId *string `json:"default_pool_id,omitempty"` // 参数解释:监听器使用的CA证书ID。 约束限制: - 当且仅当type=client时,才会使用该字段对应的证书。 - 监听器协议为QUIC时不支持该字段。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt,dt,dt_test) @@ -82,7 +82,7 @@ type CreateListenerOption struct { // 参数解释:是否开启proxy_protocol。 约束限制:仅TLS监听器可指定,其他协议的监听器该字段不生效,proxy_protocol不开启。 ProxyProtocolEnable *bool `json:"proxy_protocol_enable,omitempty"` - // 参数解释:是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。 开启后支持如下场景: - 转发策略的action字段支持指定为REDIRECT_TO_URL, FIXED_RESPONSE,即支持URL重定向和响应固定的内容给客户端。 - 转发策略支持指定priority、redirect_url_config、fixed_response_config字段。 - 转发规则rule的type可以指定METHOD, HEADER, QUERY_STRING, SOURCE_IP这几种取值。 - 转发规则rule的type为HOST_NAME时,转发规则rule的value支持通配符*。 - 转发规则支持指定conditions字段。 取值范围:true开启,false不开启,默认false。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) > 开启后不支持关闭 + // 参数解释:是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。 开启后支持如下场景: - 转发策略的action字段支持指定为REDIRECT_TO_URL, FIXED_RESPONSE,即支持URL重定向和响应固定的内容给客户端。 - 转发策略支持指定priority、redirect_url_config、fixed_response_config字段。 - 转发规则rule的type可以指定METHOD, HEADER, QUERY_STRING, SOURCE_IP这几种取值。 - 转发规则rule的type为HOST_NAME时,转发规则rule的value支持通配符*。 - 转发规则支持指定conditions字段。 约束限制:开启后不支持关闭 取值范围:true开启,false不开启,默认false。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) EnhanceL7policyEnable *bool `json:"enhance_l7policy_enable,omitempty"` QuicConfig *CreateListenerQuicConfigOption `json:"quic_config,omitempty"` diff --git a/services/elb/v3/model/model_create_load_balancer_option.go b/services/elb/v3/model/model_create_load_balancer_option.go index 28c4e55810..da7816c99e 100644 --- a/services/elb/v3/model/model_create_load_balancer_option.go +++ b/services/elb/v3/model/model_create_load_balancer_option.go @@ -39,7 +39,7 @@ type CreateLoadBalancerOption struct { // 参数解释:应用型规格ID。 约束限制: [- 可以通过GET https://{ELB_Endpoint}/v3/{project_id}/elb/flavors?type=L7 响应参数中的id得到。 - 当l4_flavor_id和l7_flavor_id都不传的时,会使用默认flavor (默认flavor根据不同局点有所不同,具体以实际值为准)。 - 当传入的规格类型为L7,表示该实例为固定规格实例,按规格计费。 - 当传入的规格类型为L7_elastic_max,表示该实例为弹性实例,按LCU计费。](tag:hws,hws_hk,hws_eu,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb) [网关型LB不支持指定l7_flavor_id。](tag:hws_eu) [只支持设置为l7_flavor.elb.shared。](tag:hcso_dt) [所有LB实例共享带宽,该字段无效,请勿使用。](tag:hcso,hk_vdf,fcs,fcs_vm,mix,hcso_g42,hcso_g42_b) 取值范围: 标准的UUID格式,长度为36个字符。 L7FlavorId *string `json:"l7_flavor_id,omitempty"` - // 参数解释:是否为独享型负载均衡器实例。 约束限制:当前只支持设置为true,设置为false会返回400 Bad Request。 取值范围:布尔类型。 - true:独享型。 - false:共享型。 默认取值:true。 + // 参数解释:是否为独享型负载均衡器实例。 约束限制:当前只支持设置为true,设置为false会返回400 Bad Request。 取值范围: - true:独享型。 - false:共享型。 默认取值:true。 Guaranteed *bool `json:"guaranteed,omitempty"` // 参数解释:负载均衡器所在的VPC ID。 约束限制: - 参数获取,可以通过 GET https://{VPC_Endpoint}/v1/{project_id}/vpcs 响应参数中的id得到。 - vpc_id,vip_subnet_cidr_id,ipv6_vip_virsubnet_id不能同时为空,且需要在同一个vpc下。 取值范围: 标准的UUID格式,长度为36个字符。 diff --git a/services/elb/v3/model/model_create_master_slave_health_monitor_option.go b/services/elb/v3/model/model_create_master_slave_health_monitor_option.go index 52d595c244..1deaa31de8 100644 --- a/services/elb/v3/model/model_create_master_slave_health_monitor_option.go +++ b/services/elb/v3/model/model_create_master_slave_health_monitor_option.go @@ -15,7 +15,7 @@ type CreateMasterSlaveHealthMonitorOption struct { // 发送健康检查请求的域名。 取值:以数字或字母开头,只能包含数字、字母、’-’、’.’。 默认为空,表示使用负载均衡器的vip作为http请求的目的地址。 使用说明:当type为HTTP/HTTPS时生效。 DomainName *string `json:"domain_name,omitempty"` - // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS/gRPC设置该字段,其他协议设置不会生效。 + // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS/GRPC设置该字段,其他协议设置不会生效。 ExpectedCodes *string `json:"expected_codes,omitempty"` // HTTP请求方法。 取值:GET、HEAD、POST,默认GET。 使用说明:当type为HTTP/HTTPS时生效。 @@ -27,7 +27,7 @@ type CreateMasterSlaveHealthMonitorOption struct { // 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。取值范围:1-10,默认3。 MaxRetriesDown *int32 `json:"max_retries_down,omitempty"` - // 健康检查端口号。取值:1-65535,默认为空,表示使用后端云服务器端口号。 + // 健康检查端口号。取值:1-65535,默认为空,表示使用后端服务器端口号。 MonitorPort *int32 `json:"monitor_port,omitempty"` // 健康检查名称。 diff --git a/services/elb/v3/model/model_create_master_slave_member_option.go b/services/elb/v3/model/model_create_master_slave_member_option.go index 2b16af35dd..5fd5930db6 100644 --- a/services/elb/v3/model/model_create_master_slave_member_option.go +++ b/services/elb/v3/model/model_create_master_slave_member_option.go @@ -12,19 +12,19 @@ import ( // CreateMasterSlaveMemberOption 创建主备后端服务器请求参数 type CreateMasterSlaveMemberOption struct { - // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。 该IP地址可以是私网IPv4或IPv6。但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡内网IP。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) + // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。 该IP地址可以是私网IPv4或IPv6。但必须在subnet_cidr_id对应的子网网段中。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) Address string `json:"address"` - // 后端云服务器的管理状态。 取值:true。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 + // 后端服务器的管理状态。 取值:true。 虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 后端云服务器名称。 + // 后端服务器名称。 Name *string `json:"name,omitempty"` // 后端服务器业务端口。 >在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 ProtocolPort int32 `json:"protocol_port"` - // 后端云服务器所在的子网ID,可以是子网的IPv4子网ID或IPv6子网ID。 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 后端服务器所在的子网ID,可以是子网的IPv4子网ID或IPv6子网ID。 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。此时address必须为IPv4地址,所在的pool的协议必须为UDP/TCP/TLS/HTTP/HTTPS/QUIC/GRPC。 [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId *string `json:"subnet_cidr_id,omitempty"` // 后端服务器的主备状态。 取值范围: - master:主后端服务器。 - slave:备后端服务器。 diff --git a/services/elb/v3/model/model_create_master_slave_pool_option.go b/services/elb/v3/model/model_create_master_slave_pool_option.go index 925ee6b39c..22a031e3a9 100644 --- a/services/elb/v3/model/model_create_master_slave_pool_option.go +++ b/services/elb/v3/model/model_create_master_slave_pool_option.go @@ -9,39 +9,39 @@ import ( // CreateMasterSlavePoolOption 创建主备主机组请求 type CreateMasterSlavePoolOption struct { - // 后端云服务器组的描述信息。 + // 后端服务器组的描述信息。 Description *string `json:"description,omitempty"` - // 后端云服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) + // 后端服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) LbAlgorithm string `json:"lb_algorithm"` - // 后端云服务器组关联的LB的ID。 使用说明:listener_id,loadbalancer_id,type至少指定一个。 + // 后端服务器组关联的LB的ID。 使用说明:listener_id,loadbalancer_id,type至少指定一个。 LoadbalancerId *string `json:"loadbalancer_id,omitempty"` - // 后端云服务器组关联的监听器的ID。 使用说明:listener_id,loadbalancer_id,type至少指定一个。 + // 后端服务器组关联的监听器的ID。 使用说明:listener_id,loadbalancer_id,type至少指定一个。 ListenerId *string `json:"listener_id,omitempty"` - // 后端云服务器组的名称。 + // 后端服务器组的名称。 Name *string `json:"name,omitempty"` - // 后端云服务器组所属的项目ID。 + // 后端服务器组所属的项目ID。 ProjectId *string `json:"project_id,omitempty"` - // 后端云服务器组的后端协议。 取值:TCP、UDP、QUIC、TLS。 使用说明: - listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 - listener的protocol为TCP时,pool的protocol必须为TCP。 - listener的protocol为TLS时,pool的protocol必须为TLS或TCP(且只能使用ip_version为v4的TCP pool)。 - 其他协议监听器不支持主备后端服务器组。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 后端服务器组的后端协议。 取值:TCP、UDP、QUIC、TLS。 使用说明: - listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 - listener的protocol为TCP时,pool的protocol必须为TCP。 - listener的protocol为TLS时,pool的protocol必须为TLS或TCP(且只能使用ip_version为v4的TCP pool)。 - 其他协议监听器不支持主备后端服务器组。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Protocol string `json:"protocol"` SessionPersistence *CreatePoolSessionPersistenceOption `json:"session_persistence,omitempty"` - // 后端云服务器组关联的虚拟私有云的ID。 指定了vpc_id的约束: - 只能挂载到该虚拟私有云下。 - 只能添加该虚拟私有云下的后端服务器或跨VPC的后端服务器。 - type必须指定为instance。 没有指定vpc_id的约束: - 后续添加后端服务器时,vpc_id由后端服务器所在的虚拟私有云确定。 + // 后端服务器组关联的虚拟私有云的ID。 指定了vpc_id的约束: - 只能挂载到该虚拟私有云下。 - 只能添加该虚拟私有云下的后端服务器或跨VPC的后端服务器。 - type必须指定为instance。 没有指定vpc_id的约束: - 后续添加后端服务器时,vpc_id由后端服务器所在的虚拟私有云确定。 VpcId *string `json:"vpc_id,omitempty"` // 后端服务器组的类型。 取值: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。 Type string `json:"type"` - // 后端云服务器组支持的IP版本。 [取值: - 共享型:固定为v4; - 独享型:取值dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,fcs) [取值:dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。](tag:hcso_dt) [不支持IPv6,只会返回v4。](tag:dt,dt_test) + // 后端服务器组支持的IP版本。 [取值: - 共享型:固定为v4; - 独享型:取值dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,fcs) [取值:dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。](tag:hcso_dt) [不支持IPv6,只会返回v4。](tag:dt,dt_test) IpVersion *string `json:"ip_version,omitempty"` - // 主备主机组的后端服务器。 只能添加2个后端云服务器,必须有一个为主,一个为备。 + // 主备主机组的后端服务器。 只能添加2个后端服务器,必须有一个为主,一个为备。 Members []CreateMasterSlaveMemberOption `json:"members"` Healthmonitor *CreateMasterSlaveHealthMonitorOption `json:"healthmonitor"` diff --git a/services/elb/v3/model/model_create_member_option.go b/services/elb/v3/model/model_create_member_option.go index 30107f769a..3fd99fd665 100644 --- a/services/elb/v3/model/model_create_member_option.go +++ b/services/elb/v3/model/model_create_member_option.go @@ -9,25 +9,25 @@ import ( // CreateMemberOption 创建后端服务器请求参数 type CreateMemberOption struct { - // 参数解释:后端服务器对应的IP地址。 约束限制: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡的内网IP。 [ 不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) + // 参数解释:后端服务器对应的IP地址。 约束限制: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。 [ 不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) Address string `json:"address"` - // 参数解释:后端云服务器的管理状态。 约束限制:虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 取值范围:true、false。 + // 参数解释:后端服务器的管理状态。 约束限制:虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 取值范围:true、false。 AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 参数解释:后端云服务器名称。注意:该名称并非ECS名称,若不传则返回为空。 + // 参数解释:后端服务器名称。注意:该名称并非ECS名称,若不传则返回为空。 Name *string `json:"name,omitempty"` - // 参数解释:后端云服务器所在的项目ID。 + // 参数解释:后端服务器所在的项目ID。 ProjectId *string `json:"project_id,omitempty"` // 参数解释:后端服务器业务端口。 约束限制: - 在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 [- 网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) ProtocolPort *int32 `json:"protocol_port,omitempty"` - // 参数解释:后端云服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 约束限制: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发已开启(ip_target_enable=true),则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 - 若所属LB未开启跨VPC后端转发,该参数必填。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 参数解释:后端服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 约束限制: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发已开启(ip_target_enable=true),则该字段可以不传,表示添加跨VPC的后端服务器。此时address必须为IPv4地址,所在的pool的协议必须为UDP/TCP/TLS/HTTP/HTTPS/QUIC/GRPC。 - 若所属LB未开启跨VPC后端转发,该参数必填。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId *string `json:"subnet_cidr_id,omitempty"` - // 参数解释:后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 约束限制:若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。 取值范围:0-100,默认1。 + // 参数解释:后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 约束限制:若所在pool的lb_algorithm取值为SOURCE_IP或QUIC_CID,该字段无效。 取值范围:0-100,默认1。 Weight *int32 `json:"weight,omitempty"` } diff --git a/services/elb/v3/model/model_create_pool_option.go b/services/elb/v3/model/model_create_pool_option.go index 1b1272ee1d..85a69c54e0 100644 --- a/services/elb/v3/model/model_create_pool_option.go +++ b/services/elb/v3/model/model_create_pool_option.go @@ -12,60 +12,60 @@ import ( // CreatePoolOption 创建主机组请求 type CreatePoolOption struct { - // 后端云服务器组的管理状态,只支持设置为true。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) + // 参数解释:后端服务器组的管理状态,只支持设置为true。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 后端云服务器组的描述信息。 + // 参数解释:后端服务器组的描述信息。 Description *string `json:"description,omitempty"` - // 后端云服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [- 2_TUPLE_HASH:二元组hash算法,仅IP类型的pool支持。 - 3_TUPLE_HASH:三元组hash算法,仅IP类型的pool支持。 - 5_TUPLE_HASH:五元组hash算法,仅IP类型的pool支持。 - IP型pool不指定该字段时,默认设置为5_TUPLE_HASH。](tag:hws_eu) 使用说明: - 当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。 - 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) + // 参数解释:后端服务器组的负载均衡算法。 约束限制: - 当该字段的取值为SOURCE_IP或QUIC_CID时,后端服务器组绑定的后端服务器的weight字段无效。 - 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 取值范围: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [- 2_TUPLE_HASH:二元组hash算法,仅IP类型的pool支持。 - 3_TUPLE_HASH:三元组hash算法,仅IP类型的pool支持。 - 5_TUPLE_HASH:五元组hash算法,仅IP类型的pool支持。 - IP型pool不指定该字段时,默认设置为5_TUPLE_HASH。](tag:hws_eu) [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) LbAlgorithm string `json:"lb_algorithm"` - // 后端云服务器组关联的监听器的ID。 使用说明: - listener_id,loadbalancer_id,type至少指定一个。 [- 共享型实例的后端服务器组loadbalancer_id和listener_id至少指定一个。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) + // 参数解释:后端服务器组关联的监听器的ID。 约束限制: - listener_id,loadbalancer_id,type至少指定一个。 [- 独享型实例的后端服务器组loadbalancer_id和listener_id可以都不指定,但共享型实例至少指定一个。。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) ListenerId *string `json:"listener_id,omitempty"` - // 后端云服务器组关联的负载均衡器ID。 使用说明: - listener_id,loadbalancer_id,type至少指定一个。 [- 共享型实例的后端服务器组loadbalancer_id和listener_id至少指定一个。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) + // 参数解释:后端服务器组关联的负载均衡器ID。 约束限制: - listener_id,loadbalancer_id,type至少指定一个。 [- 独享型实例的后端服务器组loadbalancer_id和listener_id可以都不指定,但共享型实例至少指定一个。。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) LoadbalancerId *string `json:"loadbalancer_id,omitempty"` - // 后端云服务器组的名称。 + // 参数解释:后端服务器组的名称。 Name *string `json:"name,omitempty"` - // 后端云服务器组所属的项目ID。 + // 参数解释:后端服务器组所属的项目ID。 ProjectId *string `json:"project_id,omitempty"` - // 后端云服务器组的后端协议。 取值:TCP、UDP、[IP、](tag:hws_eu)TLS、gRPC、HTTP、HTTPS和QUIC。 使用说明: - listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 - listener的protocol为TCP时pool的protocol必须为TCP。 [- listener的protocol为IP时,pool的protocol必须为IP。](tag:hws_eu) - listener的protocol为HTTP时,pool的protocol必须为HTTP。 - listener的protocol为HTTPS时,pool的protocol必须为HTTP、HTTPS或gRPC。 - listener的protocol为TERMINATED_HTTPS时,pool的protocol必须为HTTP。 - listener的protocol为QUIC时,pool的protocol必须为HTTP、HTTPS或gRPC。 - listener的protocol为TLS时,pool的protocol必须为TLS或TCP(且只能使用ip_version为v4的TCP pool)。 - 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 - 若pool的protocol为gRPC,关联监听器的http2_enable必须为true。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 参数解释:后端服务器组的后端协议。 约束限制: - listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 - listener的protocol为TCP时pool的protocol必须为TCP。 [- listener的protocol为IP时,pool的protocol必须为IP。](tag:hws_eu) - listener的protocol为HTTP时,pool的protocol必须为HTTP。 - listener的protocol为HTTPS时,pool的protocol必须为HTTP、HTTPS或GRPC。 - listener的protocol为TERMINATED_HTTPS时,pool的protocol必须为HTTP。 - listener的protocol为QUIC时,pool的protocol必须为HTTP、HTTPS或GRPC。 - listener的protocol为TLS时,pool的protocol必须为TLS或TCP(且只能使用ip_version为v4的TCP pool)。 - 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 - 若pool的protocol为GRPC,关联监听器的http2_enable必须为true。 取值范围:TCP、UDP、[IP、](tag:hws_eu)TLS、GRPC、HTTP、HTTPS和QUIC。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Protocol string `json:"protocol"` SessionPersistence *CreatePoolSessionPersistenceOption `json:"session_persistence,omitempty"` SlowStart *CreatePoolSlowStartOption `json:"slow_start,omitempty"` - // 是否开启删除保护。 取值:false不开启,true开启,默认false。 > 退场时需要先关闭所有资源的删除保护开关。 [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) + // 参数解释:是否开启删除保护。 取值范围:false不开启,true开启,默认false。 > 退场时需要先关闭所有资源的删除保护开关。 [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) MemberDeletionProtectionEnable *bool `json:"member_deletion_protection_enable,omitempty"` - // 后端云服务器组关联的虚拟私有云的ID。 使用说明: - 只能挂载到该虚拟私有云下。 - 只能添加该虚拟私有云下的后端服务器或跨VPC的后端服务器。 - type必须指定为instance。 [- pool的protocol为IP时,必须指定vpc_id,且与LB的vpc_id相同。](tag:hws_eu) 没有指定vpc_id的约束: - 后续添加后端服务器时,vpc_id由后端服务器所在的虚拟私有云确定。 + // 参数解释:后端服务器组关联的虚拟私有云的ID。 约束限制: - 只能挂载到该虚拟私有云下。 - 只能添加该虚拟私有云下的后端服务器或跨VPC的后端服务器。 - type必须指定为instance。 [- pool的protocol为IP时,必须指定vpc_id,且与LB的vpc_id相同。](tag:hws_eu) - 若未指定vpc_id,则后续添加后端服务器时,vpc_id由后端服务器所在的虚拟私有云确定。 VpcId *string `json:"vpc_id,omitempty"` - // 后端服务器组的类型。 取值: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。[pool的protocol为IP时,type不允许设置为ip。](tag:hws_eu)] 使用说明: - 不传表示允许任意类型的后端,并返回type为空字符串。 - listener_id,loadbalancer_id,type至少指定一个。 [- 共享型实例的后端服务器组loadbalancer_id和listener_id至少指定一个。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) + // 参数解释:后端服务器组的类型。 约束限制: - 不传表示允许任意类型的后端,并返回type为空字符串。 - listener_id,loadbalancer_id,type至少指定一个。 [- 独享型实例的后端服务器组loadbalancer_id和listener_id可以都不指定,但共享型实例至少指定一个。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) 取值范围: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。[pool的protocol为IP时,type不允许设置为ip。](tag:hws_eu)] Type *string `json:"type,omitempty"` - // 后端云服务器组支持的IP版本。 [取值: - 共享型:固定为v4; - 独享型:取值dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs) [取值:dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。](tag:hcso_dt) [不支持IPv6,只会返回v4。](tag:dt,dt_test) + // 参数解释:后端服务器组支持的IP版本。 [取值范围: - 共享型:固定为v4; - 独享型:取值dualstack、v4。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。当协议为HTTP时,ip_version为v4。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs) [取值范围:dualstack、v4。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。当协议为HTTP时,ip_version为v4。](tag:hcso_dt) [不支持IPv6,只会返回v4。](tag:dt,dt_test) IpVersion *string `json:"ip_version,omitempty"` - // 修改保护状态, 取值: - nonProtection: 不保护,默认值为nonProtection - consoleProtection: 控制台修改保护 + // 参数解释:修改保护状态。 取值范围: - nonProtection: 不保护,默认值为nonProtection - consoleProtection: 控制台修改保护 ProtectionStatus *CreatePoolOptionProtectionStatus `json:"protection_status,omitempty"` - // 设置保护的原因 >仅当protection_status为consoleProtection时有效。 + // 参数解释:设置保护的原因 约束限制:仅当protection_status为consoleProtection时有效。 ProtectionReason *string `json:"protection_reason,omitempty"` - // 后端是否开启端口透传。开启后,后端服务器端口与前端监听器端口保持一致。关闭后,请求会转发给后端服务器protocol_port字段指定端口。取值:false不开启,true开启。 使用说明: - 仅QUIC,TCP,UDP的pool支持。 + // 参数解释:后端是否开启端口透传。开启后,后端服务器端口与前端监听器端口保持一致。关闭后,请求会转发给后端服务器protocol_port字段指定端口。 约束限制: - 仅QUIC,TCP,UDP的pool支持。 取值范围:false不开启,true开启。 AnyPortEnable *bool `json:"any_port_enable,omitempty"` ConnectionDrain *ConnectionDrain `json:"connection_drain,omitempty"` PoolHealth *PoolHealth `json:"pool_health,omitempty"` - // 可用区组,如:center + // 参数解释:可用区组,如:center PublicBorderGroup *string `json:"public_border_group,omitempty"` } diff --git a/services/elb/v3/model/model_create_pool_response.go b/services/elb/v3/model/model_create_pool_response.go index 40ab92ecab..0aa6e5e802 100644 --- a/services/elb/v3/model/model_create_pool_response.go +++ b/services/elb/v3/model/model_create_pool_response.go @@ -9,7 +9,7 @@ import ( // CreatePoolResponse 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_create_pool_session_persistence_option.go b/services/elb/v3/model/model_create_pool_session_persistence_option.go index e821693bd1..c93a8c7723 100644 --- a/services/elb/v3/model/model_create_pool_session_persistence_option.go +++ b/services/elb/v3/model/model_create_pool_session_persistence_option.go @@ -9,16 +9,16 @@ import ( "strings" ) -// CreatePoolSessionPersistenceOption 会话持久性对象。 +// CreatePoolSessionPersistenceOption 参数解释:会话持久性对象。 type CreatePoolSessionPersistenceOption struct { - // cookie名称。 [共享型LB,支持字母、数字、中划线(-)和下划线(_),最大长度64个字符。 独享型LB,支持字母、数字、中划线(-)、下划线(_)和点号(.),最大长度255个字符。](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,fcs,dt,hk_tm) [支持字母、数字、中划线(-)、下划线(_)和点号(.),最大长度255个字符。](tag:hws_eu,hcso_dt) 使用说明: - 只有当type为APP_COOKIE时才有效。其他情况下传该字段会报错。 [网关型LB,不支持该特性,请勿使用。](tag:hws_eu) [不支持该字段,请勿使用。](tag:hws_eu,hcso_dt) + // 参数解释:cookie名称。 约束限制: - 只有当type为APP_COOKIE时才有效。其他情况下传该字段会报错。 [- 网关型LB,不支持该特性,请勿使用。](tag:hws_eu) [取值范围: - 共享型LB,支持字母、数字、中划线(-)和下划线(_),最大长度64个字符。 - 独享型LB,支持字母、数字、中划线(-)、下划线(_)和点号(.),最大长度255个字符。](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,fcs,dt,hk_tm) [取值范围:支持字母、数字、中划线(-)、下划线(_)和点号(.),最大长度255个字符。](tag:hws_eu,hcso_dt) [不支持该字段,请勿使用。](tag:hws_eu,hcso_dt) CookieName *string `json:"cookie_name,omitempty"` - // 会话保持类型。 取值范围:SOURCE_IP、HTTP_COOKIE、APP_COOKIE。 [使用说明: - 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效; - 当pool的protocol为HTTP、HTTPS时。type可以为HTTP_COOKIE和APP_COOKIE,其他取值会话保持失效。 - 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,fcs,dt) [使用说明: - 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效; - 当pool的protocol为HTTP、HTTPS时。 type只能为HTTP_COOKIE,其他取值会话保持失效。](tag:hws_eu,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) [不支持QUIC。](tag:tm) + // 参数解释:会话保持类型。 [约束限制: - 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效; - 当pool的protocol为HTTP、HTTPS时。type可以为HTTP_COOKIE和APP_COOKIE,其他取值会话保持失效。 - 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,fcs,dt) [约束限制: - 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效; - 当pool的protocol为HTTP、HTTPS时。type只能为HTTP_COOKIE,其他取值会话保持失效。](tag:hws_eu,hcso_dt) 取值范围:SOURCE_IP、HTTP_COOKIE、APP_COOKIE。 [荷兰region不支持QUIC。](tag:dt,dt_test) [不支持QUIC。](tag:tm) Type CreatePoolSessionPersistenceOptionType `json:"type"` - // 会话保持的时间。当type为APP_COOKIE时不生效。 适用范围:如果pool的protocol为TCP、UDP则范围为[1,60](分钟),默认值1; 如果pool的protocol为HTTP和HTTPS则范围为[1,1440](分钟),默认值1440。 + // 参数解释:会话保持的时间。当type为APP_COOKIE时不生效。 取值范围: - 若pool的protocol为TCP、UDP则范围为[1,60](分钟),默认值1; - 若pool的protocol为HTTP和HTTPS则范围为[1,1440](分钟),默认值1440。 PersistenceTimeout *int32 `json:"persistence_timeout,omitempty"` } diff --git a/services/elb/v3/model/model_create_pool_slow_start_option.go b/services/elb/v3/model/model_create_pool_slow_start_option.go index 9697d3fe8c..2ed3c211c2 100644 --- a/services/elb/v3/model/model_create_pool_slow_start_option.go +++ b/services/elb/v3/model/model_create_pool_slow_start_option.go @@ -6,13 +6,13 @@ import ( "strings" ) -// CreatePoolSlowStartOption 慢启动信息。开启慢启动后,将会在设定的时间段(duration)内对新添加到后端服务器组的后端服务器进行预热,转发到该服务器的请求数量线性增加。 当后端服务器组的协议为HTTP/HTTPS时有效,其他协议传入该字段将报错。 [网关型LB,不支持该特性,请勿使用。](tag:hws_eu) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) +// CreatePoolSlowStartOption 参数解释:慢启动信息。开启慢启动后,将会在设定的时间段(duration)内对新添加到后端服务器组的后端服务器进行预热,转发到该服务器的请求数量线性增加。 约束限制:当后端服务器组的协议为HTTP/HTTPS时有效,其他协议传入该字段将报错。 [网关型LB,不支持该特性,请勿使用。](tag:hws_eu) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) type CreatePoolSlowStartOption struct { - // 慢启动的开关,默认值:false; true:开启; false:关闭 + // 参数解释:慢启动的开关。 取值范围: - true:开启。 - false:关闭。 默认取值:false。 Enable *bool `json:"enable,omitempty"` - // 慢启动的持续时间,单位:s。默认:30; 取值范围:30~1200 + // 参数解释:慢启动的持续时间。 取值范围:30-1200,单位:秒。 默认取值:30。 Duration *int32 `json:"duration,omitempty"` } diff --git a/services/elb/v3/model/model_delete_member_request.go b/services/elb/v3/model/model_delete_member_request.go index 7d3df4437e..7900c99e22 100644 --- a/services/elb/v3/model/model_delete_member_request.go +++ b/services/elb/v3/model/model_delete_member_request.go @@ -12,7 +12,7 @@ type DeleteMemberRequest struct { // 参数解释:后端服务器组ID。 PoolId string `json:"pool_id"` - // 后端服务器ID。 >说明: 此处并非ECS服务器的ID,而是ELB为绑定的后端服务器自动生成的member ID。 member ID可以通过[查询后端云服务器列表](ListMembers.xml)获取。 + // 后端服务器ID。 >说明: 此处并非ECS服务器的ID,而是ELB为绑定的后端服务器自动生成的member ID。 member ID可以通过[查询后端服务器列表](ListMembers.xml)获取。 MemberId string `json:"member_id"` } diff --git a/services/elb/v3/model/model_flavor.go b/services/elb/v3/model/model_flavor.go index b6b4768297..2c63412b39 100644 --- a/services/elb/v3/model/model_flavor.go +++ b/services/elb/v3/model/model_flavor.go @@ -26,7 +26,7 @@ type Flavor struct { // 参数解释:规格类别。 取值范围: - L4和L7 表示四层网络型和七层应用型flavor。 [- gateway 表示网关型LB的flavor,目前只支持弹性计费类型。当前仅支持欧洲局点。](tag:hws_eu) - L4_elastic和L7_elastic 表示弹性扩缩容实例的下限规格。已废弃,请勿使用。 - L4_elastic_max、L7_elastic_max[和gateway_elastic_max](tag:hws_eu) 表示弹性扩缩容实例的上限规格。 Type string `json:"type"` - // 参数解释:[是否售罄。](tag:hws,hk,hws_eu,otc,tlf,ctc,sbc,g42,cmcc,hk_g42,dt_test,mix,hk_sbc,hws_ocb,dt) [是否无法购买该规格的LB](tag:ocb,tm,fcs,fcs_dt,hcso,hcso_dt,hk_vdf) 取值范围: - true:[已售罄,将](tag:hws,hk,hws_eu,otc,tlf,ctc,sbc,g42,cmcc,hk_g42,dt_test,mix,hk_sbc,hws_ocb,dt)无法购买该规格的LB。 - false:[未售罄,](tag:hws,hk,hws_eu,otc,tlf,ctc,sbc,g42,cmcc,hk_g42,dt_test,mix,hk_sbc,hws_ocb,dt)可购买该规格的LB。 + // 参数解释:[是否售罄。](tag:hws,hk,hws_eu,otc,tlf,sbc,g42,hk_g42,dt_test,mix,hk_sbc,hws_ocb,dt) [是否无法购买该规格的LB](tag:ctc,cmcc,ocb,tm,fcs,fcs_dt,hcso,hcso_dt,hk_vdf) 取值范围: - true:[已售罄,将](tag:hws,hk,hws_eu,otc,tlf,sbc,g42,hk_g42,dt_test,mix,hk_sbc,hws_ocb,dt)无法购买该规格的LB。 - false:[未售罄,](tag:hws,hk,hws_eu,otc,tlf,sbc,g42,hk_g42,dt_test,mix,hk_sbc,hws_ocb,dt)可购买该规格的LB。 FlavorSoldOut bool `json:"flavor_sold_out"` // 参数解释:可用区组,如:center diff --git a/services/elb/v3/model/model_health_monitor.go b/services/elb/v3/model/model_health_monitor.go index 71b47b5d0f..21e853e382 100644 --- a/services/elb/v3/model/model_health_monitor.go +++ b/services/elb/v3/model/model_health_monitor.go @@ -18,7 +18,7 @@ type HealthMonitor struct { // 发送健康检查请求的域名。 取值:以数字或字母开头,只能包含数字、字母、’-’、’.’。 默认为空,表示使用负载均衡器的vip作为http请求的目的地址。 使用说明:当type为HTTP/HTTPS时生效。 DomainName string `json:"domain_name"` - // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:若健康检查type为gRPC,则默认值为0,;其他为200。 仅支持HTTP/HTTPS/gRPC设置该字段,其他协议设置不会生效。 + // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:若健康检查type为GRPC,则默认值为0,;其他为200。 仅支持HTTP/HTTPS/GRPC设置该字段,其他协议设置不会生效。 ExpectedCodes string `json:"expected_codes"` // HTTP请求方法。 取值:GET、HEAD、POST,默认GET。 使用说明:当type为HTTP/HTTPS时生效。 @@ -33,13 +33,13 @@ type HealthMonitor struct { // 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。取值范围:1-10,默认3。 MaxRetriesDown int32 `json:"max_retries_down"` - // 健康检查端口号。取值:1-65535,默认为空,表示使用后端云服务器端口号。[当pool协议为IP时,monitor_port必须指定为非0值。](tag:hws_eu) + // 健康检查端口号。取值:1-65535,默认为空,表示使用后端服务器端口号。[当pool协议为IP时,monitor_port必须指定为非0值。](tag:hws_eu) MonitorPort int32 `json:"monitor_port"` // 健康检查名称。 Name string `json:"name"` - // 健康检查所在的后端云服务器组ID列表。实际只会有一个后端云服务器组ID。 + // 健康检查所在的后端服务器组ID列表。实际只会有一个后端服务器组ID。 Pools []PoolRef `json:"pools"` // 健康检查所在的项目ID。 @@ -48,7 +48,7 @@ type HealthMonitor struct { // 一次健康检查请求的超时时间。 建议该值小于delay的值。 Timeout int32 `json:"timeout"` - // 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS、TLS和gRPC。 使用说明: - 若pool的protocol为QUIC,则type只能是UDP_CONNECT。 - 若pool的protocol为UDP,则type只能UDP_CONNECT。 - 若pool的protocol为TCP,则type可以是TCP、HTTP、HTTPS。 [- 若pool的protocol为IP,则type可以是TCP、HTTP、HTTPS。](tag:hws_eu) - 若pool的protocol为HTTP,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为HTTPS,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为gRPC,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为TLS,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS、TLS和GRPC。 使用说明: - 若pool的protocol为QUIC,则type只能是UDP_CONNECT。 - 若pool的protocol为UDP,则type只能UDP_CONNECT。 - 若pool的protocol为TCP,则type可以是TCP、HTTP、HTTPS。 [- 若pool的protocol为IP,则type可以是TCP、HTTP、HTTPS。](tag:hws_eu) - 若pool的protocol为HTTP,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为HTTPS,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为GRPC,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为TLS,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Type string `json:"type"` // 健康检查请求的请求路径。以\"/\"开头,默认为\"/\"。 支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集_;~!()*[]@$^:',+ 使用说明:当type为HTTP/HTTPS时生效。 diff --git a/services/elb/v3/model/model_l7_policy.go b/services/elb/v3/model/model_l7_policy.go index e483c7747f..de5a761f12 100644 --- a/services/elb/v3/model/model_l7_policy.go +++ b/services/elb/v3/model/model_l7_policy.go @@ -9,7 +9,7 @@ import ( // L7Policy policy对象。 type L7Policy struct { - // 参数解释:转发策略的转发动作。 约束限制: - REDIRECT_TO_LISTENER的优先级最高,配置了以后,该监听器下的其他policy会失效。 - 当action为REDIRECT_TO_POOL时, 只支持创建在PROTOCOL为HTTP、HTTPS、TERMINATED_HTTPS的listener上。 - 当action为REDIRECT_TO_LISTENER时,只支持创建在PROTOCOL为HTTP的listener上。 取值范围: - REDIRECT_TO_POOL:转发到后端云服务器组; - REDIRECT_TO_LISTENER:重定向到监听器; - REDIRECT_TO_URL:重定向到URL; - FIXED_RESPONSE:返回固定响应体。 [不支持REDIRECT_TO_URL和FIXED_RESPONSE](tag:hcso_dt) + // 参数解释:转发策略的转发动作。 约束限制: - REDIRECT_TO_LISTENER的优先级最高,配置了以后,该监听器下的其他policy会失效。 - 当action为REDIRECT_TO_POOL时, 只支持创建在PROTOCOL为HTTP、HTTPS、TERMINATED_HTTPS的listener上。 - 当action为REDIRECT_TO_LISTENER时,只支持创建在PROTOCOL为HTTP的listener上。 取值范围: - REDIRECT_TO_POOL:转发到后端服务器组; - REDIRECT_TO_LISTENER:重定向到监听器; - REDIRECT_TO_URL:重定向到URL; - FIXED_RESPONSE:返回固定响应体。 [不支持REDIRECT_TO_URL和FIXED_RESPONSE](tag:hcso_dt) Action string `json:"action"` // 参数解释:转发策略的管理状态。 约束限制:只支持设置为true。 diff --git a/services/elb/v3/model/model_list_all_members_request.go b/services/elb/v3/model/model_list_all_members_request.go index aeaa6f99af..333f9d28e9 100644 --- a/services/elb/v3/model/model_list_all_members_request.go +++ b/services/elb/v3/model/model_list_all_members_request.go @@ -18,28 +18,28 @@ type ListAllMembersRequest struct { // 是否反向查询。 取值: - true:查询上一页。 - false:查询下一页,默认。 使用说明: - 必须与limit一起使用。 - 当page_reverse=true时,若要查询上一页,marker取值为当前页返回值的previous_marker。 PageReverse *bool `json:"page_reverse,omitempty"` - // 后端云服务器名称。 支持多值查询,查询条件格式:*name=xxx&name=xxx*。 + // 后端服务器名称。 支持多值查询,查询条件格式:*name=xxx&name=xxx*。 Name *[]string `json:"name,omitempty"` - // 后端云服务器的权重,请求按权重在同一后端云服务器组下的后端云服务器间分发。 权重为0的后端不再接受新的请求。 当后端云服务器所在的后端云服务器组的lb_algorithm的取值为SOURCE_IP时,该字段无效。 支持多值查询,查询条件格式:*weight=xxx&weight=xxx*。 + // 后端服务器的权重,请求按权重在同一后端服务器组下的后端服务器间分发。 权重为0的后端不再接受新的请求。 当后端服务器所在的后端服务器组的lb_algorithm的取值为SOURCE_IP时,该字段无效。 支持多值查询,查询条件格式:*weight=xxx&weight=xxx*。 Weight *[]int32 `json:"weight,omitempty"` - // 后端云服务器的管理状态;该字段虽然支持创建、更新,但实际取值决定于member对应的弹性云服务器是否存在。 若存在,该值为true,否则,该值为false。 + // 后端服务器的管理状态;该字段虽然支持创建、更新,但实际取值决定于member对应的弹性云服务器是否存在。 若存在,该值为true,否则,该值为false。 AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 后端云服务器所在的子网ID。该子网和后端云服务器关联的负载均衡器的子网必须在同一VPC下。只支持指定IPv4的子网ID。 支持多值查询,查询条件格式:***subnet_cidr_id=xxx&subnet_cidr_id=xxx*。 + // 后端服务器所在的子网ID。该子网和后端服务器关联的负载均衡器的子网必须在同一VPC下。只支持指定IPv4的子网ID。 支持多值查询,查询条件格式:***subnet_cidr_id=xxx&subnet_cidr_id=xxx*。 SubnetCidrId *[]string `json:"subnet_cidr_id,omitempty"` - // 后端云服务器的对应的IP地址,这个IP必须在subnet_cidr_id字段的子网网段中。 例如:192.168.3.11。只能指定为主网卡的IP。 支持多值查询,查询条件格式:*address=xxx&address=xxx*。 + // 后端服务器的对应的IP地址,这个IP必须在subnet_cidr_id字段的子网网段中。 例如:192.168.3.11。 支持多值查询,查询条件格式:*address=xxx&address=xxx*。 Address *[]string `json:"address,omitempty"` // 后端服务器端口号。 支持多值查询,查询条件格式:*protocol_port=xxx&protocol_port=xxx*。 ProtocolPort *[]int32 `json:"protocol_port,omitempty"` - // 后端云服务器ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 + // 后端服务器ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 Id *[]string `json:"id,omitempty"` - // 后端云服务器的健康状态。 取值: - ONLINE,后端服务器正常运行。 - NO_MONITOR,后端服务器无健康检查。 - OFFLINE,已下线。 支持多值查询,查询条件格式:*operating_status=xxx&operating_status=*。 + // 后端服务器的健康状态。 取值: - ONLINE,后端服务器正常运行。 - NO_MONITOR,后端服务器无健康检查。 - OFFLINE,已下线。 支持多值查询,查询条件格式:*operating_status=xxx&operating_status=*。 OperatingStatus *[]string `json:"operating_status,omitempty"` // 企业项目ID。不传时查询default企业项目\"0\"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。 支持多值查询,查询条件格式: *enterprise_project_id=xxx&enterprise_project_id=xxx*。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) diff --git a/services/elb/v3/model/model_list_availability_zones_request.go b/services/elb/v3/model/model_list_availability_zones_request.go index fe88ec2975..945bc6c172 100644 --- a/services/elb/v3/model/model_list_availability_zones_request.go +++ b/services/elb/v3/model/model_list_availability_zones_request.go @@ -9,7 +9,7 @@ import ( // ListAvailabilityZonesRequest Request Object type ListAvailabilityZonesRequest struct { - // 参数解释:AZ组。 + // 参数解释:可用区组。 PublicBorderGroup *string `json:"public_border_group,omitempty"` } 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 3fedb2dca8..844f17801c 100644 --- a/services/elb/v3/model/model_list_availability_zones_response.go +++ b/services/elb/v3/model/model_list_availability_zones_response.go @@ -15,7 +15,7 @@ type ListAvailabilityZonesResponse struct { // 参数解释:返回创建LB时可使用的可用区集合列表。如:[[az1,az2],[az2,az3]] ,则在创建LB时,只能从其中的一个子列表中选择一个或多个可用区,不能跨列表选择。在上述例子中,不能选择az1和az3。 AvailabilityZones *[][]AvailabilityZone `json:"availability_zones,omitempty"` - // 可用区的产品编码,仅边缘场景有效。 + // 参数解释:可用区的产品编码,仅边缘场景有效。 SpecCode *string `json:"spec_code,omitempty"` HttpStatusCode int `json:"-"` } diff --git a/services/elb/v3/model/model_list_flavors_request.go b/services/elb/v3/model/model_list_flavors_request.go index 424de4b0aa..7d93c53eec 100644 --- a/services/elb/v3/model/model_list_flavors_request.go +++ b/services/elb/v3/model/model_list_flavors_request.go @@ -9,7 +9,7 @@ import ( // ListFlavorsRequest Request Object type ListFlavorsRequest struct { - // 参数解释:上一页最后一条记录的ID。 使用说明: - 必须与limit一起使用。 - 不指定时表示查询第一页。 - 该字段不允许为空或无效的ID。 + // 参数解释:上一页最后一条记录的ID。 约束限制: - 必须与limit一起使用。 - 不指定时表示查询第一页。 - 该字段不允许为空或无效的ID。 Marker *string `json:"marker,omitempty"` // 参数解释:每页返回的个数。 取值范围:0-2000 默认取值:2000 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 1781ff7066..6e816677d4 100644 --- a/services/elb/v3/model/model_list_health_monitors_request.go +++ b/services/elb/v3/model/model_list_health_monitors_request.go @@ -45,10 +45,10 @@ type ListHealthMonitorsRequest struct { // 一次健康检查请求的超时时间。 Timeout *int32 `json:"timeout,omitempty"` - // 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS、TLS和gRPC。 支持多值查询,查询条件格式:*****type=xxx&type=xxx*****。 + // 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS、TLS和GRPC。 支持多值查询,查询条件格式:*****type=xxx&type=xxx*****。 Type *[]string `json:"type,omitempty"` - // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS/gRPC设置该字段,其他协议设置不会生效。 支持多值查询,查询条件格式:****expected_codes=xxx&expected_codes=xxx****。 + // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS/GRPC设置该字段,其他协议设置不会生效。 支持多值查询,查询条件格式:****expected_codes=xxx&expected_codes=xxx****。 ExpectedCodes *[]string `json:"expected_codes,omitempty"` // 健康检查测试member健康时发送的http请求路径。默认为“/”。 使用说明:以“/”开头。当type为HTTP/HTTPS时生效。 支持多值查询,查询条件格式:***url_path=xxx&url_path=xxx***。 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 87f33935eb..d2c593a66b 100644 --- a/services/elb/v3/model/model_list_l7_policies_request.go +++ b/services/elb/v3/model/model_list_l7_policies_request.go @@ -39,7 +39,7 @@ type ListL7PoliciesRequest struct { // 参数解释:转发策略的优先级。 支持多值查询,查询条件格式:****position=xxx&position=xxx****。 不支持该字段,请勿使用。 Position *[]int32 `json:"position,omitempty"` - // 参数解释:转发策略的转发动作。 取值范围: - REDIRECT_TO_POOL:转发到后端云服务器组。 - REDIRECT_TO_LISTENER:重定向到监听器。 - REDIRECT_TO_URL:重定向到URL。 - FIXED_RESPONSE:返回固定响应体。 支持多值查询,查询条件格式:*****action=xxx&action=xxx*****。 [不支持REDIRECT_TO_URL和FIXED_RESPONSE](tag:hcso_dt) + // 参数解释:转发策略的转发动作。 取值范围: - REDIRECT_TO_POOL:转发到后端服务器组。 - REDIRECT_TO_LISTENER:重定向到监听器。 - REDIRECT_TO_URL:重定向到URL。 - FIXED_RESPONSE:返回固定响应体。 支持多值查询,查询条件格式:*****action=xxx&action=xxx*****。 [不支持REDIRECT_TO_URL和FIXED_RESPONSE](tag:hcso_dt) Action *[]string `json:"action,omitempty"` // 参数解释:转发到的url。 支持多值查询,查询条件格式:****redirect_url=xxx&redirect_url=xxx****。 不支持该字段,请勿使用。 diff --git a/services/elb/v3/model/model_list_listeners_request.go b/services/elb/v3/model/model_list_listeners_request.go index 907c66754f..e418bbbe65 100644 --- a/services/elb/v3/model/model_list_listeners_request.go +++ b/services/elb/v3/model/model_list_listeners_request.go @@ -39,7 +39,7 @@ type ListListenersRequest struct { // ​监听器的最大连接数。 取值:-1表示不限制连接数。 支持多值查询,查询条件格式:*connection_limit=xxx&connection_limit=xxx*。 不支持该字段,请勿使用。 ConnectionLimit *[]int32 `json:"connection_limit,omitempty"` - // 监听器的默认后端云服务器组ID。当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。 支持多值查询,查询条件格式:*default_pool_id=xxx&default_pool_id=xxx*。 + // 监听器的默认后端服务器组ID。当请求没有匹配的转发策略时,转发到默认后端服务器上处理。 支持多值查询,查询条件格式:*default_pool_id=xxx&default_pool_id=xxx*。 DefaultPoolId *[]string `json:"default_pool_id,omitempty"` // 监听器ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 @@ -57,10 +57,10 @@ type ListListenersRequest struct { // 监听器使用的安全策略。 支持多值查询,查询条件格式:*tls_ciphers_policy=xxx&tls_ciphers_policy=xxx*。 TlsCiphersPolicy *[]string `json:"tls_ciphers_policy,omitempty"` - // 后端云服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_address=xxx&member_address=xxx*。 + // 后端服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_address=xxx&member_address=xxx*。 MemberAddress *[]string `json:"member_address,omitempty"` - // 后端云服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_device_id=xxx&member_device_id=xxx*。 + // 后端服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_device_id=xxx&member_device_id=xxx*。 MemberDeviceId *[]string `json:"member_device_id,omitempty"` // 企业项目ID。不传时查询default企业项目\"0\"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。 支持多值查询,查询条件格式:*enterprise_project_id=xxx&enterprise_project_id=xxx*。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) @@ -87,7 +87,7 @@ type ListListenersRequest struct { // 是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。 取值:true开启,false不开启。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) EnhanceL7policyEnable *bool `json:"enhance_l7policy_enable,omitempty"` - // 后端云服务器ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_instance_id=xxx&member_instance_id=xxx*。 + // 后端服务器ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_instance_id=xxx&member_instance_id=xxx*。 MemberInstanceId *[]string `json:"member_instance_id,omitempty"` // 修改保护状态, 取值: - nonProtection: 不保护,默认值为nonProtection - consoleProtection: 控制台修改保护 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 591a32f374..0dd1eade1f 100644 --- a/services/elb/v3/model/model_list_load_balancers_request.go +++ b/services/elb/v3/model/model_list_load_balancers_request.go @@ -48,7 +48,7 @@ type ListLoadBalancersRequest struct { // 负载均衡器的IPv4虚拟IP地址。 支持多值查询,查询条件格式:*vip_address=xxx&vip_address=xxx*。 VipAddress *[]string `json:"vip_address,omitempty"` - // 负载均衡器所在子网的IPv4子网ID,也称为该负载均衡器实例的前端子网。 支持多值查询,查询条件格式:*vip_subnet_cidr_id=xxx&vip_subnet_cidr_id=xxx*。 + // 负载均衡器所在子网的IPv4子网ID,也称为该负载均衡器实例的前端子网。 支持多值查询,查询条件格式:*vip_subnet_cidr_id=xxx&vip_subnet_cidr_id=xxx*。 VipSubnetCidrId *[]string `json:"vip_subnet_cidr_id,omitempty"` // 双栈类型负载均衡器的IPv6对应的port ID。 支持多值查询,查询条件格式:*ipv6_vip_port_id=xxx&ipv6_vip_port_id=xxx*。 [不支持IPv6,请勿使用。](tag:dt,dt_test) @@ -84,10 +84,10 @@ type ListLoadBalancersRequest struct { // 资源账单信息。 支持多值查询,查询条件格式:*billing_info=xxx&billing_info=xxx*。 [不支持该字段,请勿使用。](tag:hws_hk,hws_eu,hws_test,hcs,hcs_sm,hcso,hk_vdf,fcs,fcs_vm,mix,hcso_g42,hcso_g42_b,hcso_dt,dt,dt_test,ocb,ctc,cmcc,tm,sbc,g42,hws_ocb,hk_sbc,hk_tm,hk_g42) BillingInfo *[]string `json:"billing_info,omitempty"` - // 负载均衡器中的后端云服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_device_id=xxx&member_device_id=xxx*。 + // 负载均衡器中的后端服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_device_id=xxx&member_device_id=xxx*。 MemberDeviceId *[]string `json:"member_device_id,omitempty"` - // 负载均衡器中的后端云服务器对应的弹性云服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_address=xxx&member_address=xxx*。 + // 负载均衡器中的后端服务器对应的弹性云服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_address=xxx&member_address=xxx*。 MemberAddress *[]string `json:"member_address,omitempty"` // 负载均衡器所属的企业项目ID。 查询时若不传,则查询default企业项目下的资源,鉴权按照default企业项目鉴权。 如果传值,则必须传已存在的企业项目ID(不可为\"0\")或传all_granted_eps表示查询所有企业项目。 支持多值查询,查询条件格式: *enterprise_project_id=xxx&enterprise_project_id=xxx*。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) diff --git a/services/elb/v3/model/model_list_master_slave_pools_request.go b/services/elb/v3/model/model_list_master_slave_pools_request.go index e3abb274f0..2d1b5c3d14 100644 --- a/services/elb/v3/model/model_list_master_slave_pools_request.go +++ b/services/elb/v3/model/model_list_master_slave_pools_request.go @@ -18,46 +18,46 @@ type ListMasterSlavePoolsRequest struct { // 是否反向查询。 取值: - true:查询上一页。 - false:查询下一页,默认。 使用说明: - 必须与limit一起使用。 - 当page_reverse=true时,若要查询上一页,marker取值为当前页返回值的previous_marker。 PageReverse *bool `json:"page_reverse,omitempty"` - // 后端云服务器组的描述信息。 支持多值查询,查询条件格式:*description=xxx&description=xxx*。 + // 后端服务器组的描述信息。 支持多值查询,查询条件格式:*description=xxx&description=xxx*。 Description *[]string `json:"description,omitempty"` - // 后端云服务器组关联的健康检查的ID。 支持多值查询,查询条件格式:*healthmonitor_id=xxx&healthmonitor_id=xxx*。 + // 后端服务器组关联的健康检查的ID。 支持多值查询,查询条件格式:*healthmonitor_id=xxx&healthmonitor_id=xxx*。 HealthmonitorId *[]string `json:"healthmonitor_id,omitempty"` - // 后端云服务器组的ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 + // 后端服务器组的ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 Id *[]string `json:"id,omitempty"` - // 后端云服务器组的名称。 支持多值查询,查询条件格式:*name=xxx&name=xxx*。 + // 后端服务器组的名称。 支持多值查询,查询条件格式:*name=xxx&name=xxx*。 Name *[]string `json:"name,omitempty"` - // 后端云服务器组绑定的负载均衡器ID。 支持多值查询,查询条件格式:*loadbalancer_id=xxx&loadbalancer_id=xxx*。 + // 后端服务器组绑定的负载均衡器ID。 支持多值查询,查询条件格式:*loadbalancer_id=xxx&loadbalancer_id=xxx*。 LoadbalancerId *[]string `json:"loadbalancer_id,omitempty"` - // 后端云服务器组的后端协议。 取值:TCP、UDP、[IP、](tag:hws_eu)TLS、gRPC、HTTP、HTTPS和QUIC。 [IP类型为网关型LB独有的后端服务器组协议。](tag:hws_eu) 支持多值查询,查询条件格式:*protocol=xxx&protocol=xxx*。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 后端服务器组的后端协议。 取值:TCP、UDP、[IP、](tag:hws_eu)TLS、GRPC、HTTP、HTTPS和QUIC。 [IP类型为网关型LB独有的后端服务器组协议。](tag:hws_eu) 支持多值查询,查询条件格式:*protocol=xxx&protocol=xxx*。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Protocol *[]string `json:"protocol,omitempty"` - // 后端云服务器组的负载均衡算法。 取值: 1、ROUND_ROBIN:加权轮询算法。 2、LEAST_CONNECTIONS:加权最少连接算法。 3、SOURCE_IP:源IP算法。 4、QUIC_CID:连接ID算法。 支持多值查询,查询条件格式:*lb_algorithm=xxx&lb_algorithm=xxx*。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) + // 后端服务器组的负载均衡算法。 取值: 1、ROUND_ROBIN:加权轮询算法。 2、LEAST_CONNECTIONS:加权最少连接算法。 3、SOURCE_IP:源IP算法。 4、QUIC_CID:连接ID算法。 支持多值查询,查询条件格式:*lb_algorithm=xxx&lb_algorithm=xxx*。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) LbAlgorithm *[]string `json:"lb_algorithm,omitempty"` // 企业项目ID。不传时查询default企业项目\"0\"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。 支持多值查询,查询条件格式: *enterprise_project_id=xxx&enterprise_project_id=xxx*。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` - // 后端云服务器组支持的IP版本。 支持多值查询,查询条件格式:*ip_version=xxx&ip_version=xxx*。 + // 后端服务器组支持的IP版本。 支持多值查询,查询条件格式:*ip_version=xxx&ip_version=xxx*。 IpVersion *[]string `json:"ip_version,omitempty"` - // 后端云服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_address=xxx&member_address=xxx*。 + // 后端服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_address=xxx&member_address=xxx*。 MemberAddress *[]string `json:"member_address,omitempty"` - // 后端云服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_device_id=xxx&member_device_id=xxx*。 + // 后端服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_device_id=xxx&member_device_id=xxx*。 MemberDeviceId *[]string `json:"member_device_id,omitempty"` // 关联的监听器ID,包括通过l7policy关联的。 支持多值查询,查询条件格式:*listener_id=xxx&listener_id=xxx*。 ListenerId *[]string `json:"listener_id,omitempty"` - // 后端云服务器ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_instance_id=xxx&member_instance_id=xxx*。 + // 后端服务器ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_instance_id=xxx&member_instance_id=xxx*。 MemberInstanceId *[]string `json:"member_instance_id,omitempty"` - // 后端云服务器组关联的虚拟私有云的ID。 + // 后端服务器组关联的虚拟私有云的ID。 VpcId *[]string `json:"vpc_id,omitempty"` // 后端服务器组的类型。 取值: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。 - 空字符串(\"\"):允许任意类型的后端 diff --git a/services/elb/v3/model/model_list_members_request.go b/services/elb/v3/model/model_list_members_request.go index c4c2cdd5fe..d4b27de9ed 100644 --- a/services/elb/v3/model/model_list_members_request.go +++ b/services/elb/v3/model/model_list_members_request.go @@ -21,16 +21,16 @@ type ListMembersRequest struct { // 是否反向查询。 取值: - true:查询上一页。 - false:查询下一页,默认。 使用说明: - 必须与limit一起使用。 - 当page_reverse=true时,若要查询上一页,marker取值为当前页返回值的previous_marker。 PageReverse *bool `json:"page_reverse,omitempty"` - // 后端云服务器名称。 支持多值查询,查询条件格式:*name=xxx&name=xxx*。 + // 后端服务器名称。 支持多值查询,查询条件格式:*name=xxx&name=xxx*。 Name *[]string `json:"name,omitempty"` - // 后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100。 支持多值查询,查询条件格式:*weight=xxx&weight=xxx*。 + // 后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100。 支持多值查询,查询条件格式:*weight=xxx&weight=xxx*。 Weight *[]int32 `json:"weight,omitempty"` - // 后端云服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 + // 后端服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 后端云服务器所在子网的IPv4子网ID或IPv6子网ID。 支持多值查询,查询条件格式:***subnet_cidr_id=xxx&subnet_cidr_id=xxx*。 [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 后端服务器所在子网的IPv4子网ID或IPv6子网ID。 支持多值查询,查询条件格式:***subnet_cidr_id=xxx&subnet_cidr_id=xxx*。 [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId *[]string `json:"subnet_cidr_id,omitempty"` // 后端服务器对应的IPv4或IPv6地址。 支持多值查询,查询条件格式:*address=xxx&address=xxx*。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) @@ -39,10 +39,10 @@ type ListMembersRequest struct { // 后端服务器业务端口号。 支持多值查询,查询条件格式:*protocol_port=xxx&protocol_port=xxx*。 ProtocolPort *[]int32 `json:"protocol_port,omitempty"` - // 后端云服务器ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 + // 后端服务器ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 Id *[]string `json:"id,omitempty"` - // 后端云服务器的健康状态。 取值: - ONLINE:后端云服务器正常。 - NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 - OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 支持多值查询,查询条件格式:*operating_status=xxx&operating_status=xxx*。 + // 后端服务器的健康状态。 取值: - ONLINE:后端服务器正常。 - NO_MONITOR:后端服务器所在的服务器组没有健康检查器。 - OFFLINE:后端服务器关联的ECS服务器不存在或已关机。 支持多值查询,查询条件格式:*operating_status=xxx&operating_status=xxx*。 OperatingStatus *[]string `json:"operating_status,omitempty"` // 企业项目ID。不传时查询default企业项目\"0\"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。 支持多值查询,查询条件格式:*enterprise_project_id=xxx&enterprise_project_id=xxx*。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) @@ -51,7 +51,7 @@ type ListMembersRequest struct { // 当前后端服务器的IP地址版本。取值:v4、v6。 IpVersion *[]string `json:"ip_version,omitempty"` - // 后端云服务器的类型。 取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 支持多值查询,查询条件格式:*member_type=xxx&member_type=xxx*。 + // 后端服务器的类型。 取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 支持多值查询,查询条件格式:*member_type=xxx&member_type=xxx*。 MemberType *[]string `json:"member_type,omitempty"` // member关联的ECS实例ID,空表示跨VPC场景的member。 支持多值查询,查询条件格式:*instance_id=xxx&instance_id=xxx*。 diff --git a/services/elb/v3/model/model_list_pools_request.go b/services/elb/v3/model/model_list_pools_request.go index 154e93f45b..2f61e869e9 100644 --- a/services/elb/v3/model/model_list_pools_request.go +++ b/services/elb/v3/model/model_list_pools_request.go @@ -18,40 +18,40 @@ type ListPoolsRequest struct { // 是否反向查询。 取值: - true:查询上一页。 - false:查询下一页,默认。 使用说明: - 必须与limit一起使用。 - 当page_reverse=true时,若要查询上一页,marker取值为当前页返回值的previous_marker。 PageReverse *bool `json:"page_reverse,omitempty"` - // 后端云服务器组的描述信息。 支持多值查询,查询条件格式:*description=xxx&description=xxx*。 + // 后端服务器组的描述信息。 支持多值查询,查询条件格式:*description=xxx&description=xxx*。 Description *[]string `json:"description,omitempty"` - // 后端云服务器组的管理状态。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) + // 后端服务器组的管理状态。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 后端云服务器组关联的健康检查的ID。 支持多值查询,查询条件格式:*healthmonitor_id=xxx&healthmonitor_id=xxx*。 + // 后端服务器组关联的健康检查的ID。 支持多值查询,查询条件格式:*healthmonitor_id=xxx&healthmonitor_id=xxx*。 HealthmonitorId *[]string `json:"healthmonitor_id,omitempty"` - // 后端云服务器组的ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 + // 后端服务器组的ID。 支持多值查询,查询条件格式:*id=xxx&id=xxx*。 Id *[]string `json:"id,omitempty"` - // 后端云服务器组的名称。 支持多值查询,查询条件格式:*name=xxx&name=xxx*。 + // 后端服务器组的名称。 支持多值查询,查询条件格式:*name=xxx&name=xxx*。 Name *[]string `json:"name,omitempty"` - // 后端云服务器组绑定的负载均衡器ID。 支持多值查询,查询条件格式:*loadbalancer_id=xxx&loadbalancer_id=xxx*。 + // 后端服务器组绑定的负载均衡器ID。 支持多值查询,查询条件格式:*loadbalancer_id=xxx&loadbalancer_id=xxx*。 LoadbalancerId *[]string `json:"loadbalancer_id,omitempty"` - // 后端云服务器组的后端协议。 取值:TCP、UDP、[IP、](tag:hws_eu)TLS、HTTP、HTTPS、QUIC和gRPC。 支持多值查询,查询条件格式:*protocol=xxx&protocol=xxx*。 [不支持QUIC协议。](tag:hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 后端服务器组的后端协议。 取值:TCP、UDP、[IP、](tag:hws_eu)TLS、HTTP、HTTPS、QUIC和GRPC。 支持多值查询,查询条件格式:*protocol=xxx&protocol=xxx*。 [不支持QUIC协议。](tag:hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Protocol *[]string `json:"protocol,omitempty"` - // 后端云服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [- 2_TUPLE_HASH:二元组hash算法,仅IP类型的pool支持。 - 3_TUPLE_HASH:三元组hash算法,仅IP类型的pool支持。 - 4_TUPLE_HASH:五元组hash算法,仅IP类型的pool支持。](tag:hws_eu) 支持多值查询,查询条件格式:*lb_algorithm=xxx&lb_algorithm=xxx*。 [不支持QUIC_CID。](tag:hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) + // 后端服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [- 2_TUPLE_HASH:二元组hash算法,仅IP类型的pool支持。 - 3_TUPLE_HASH:三元组hash算法,仅IP类型的pool支持。 - 5_TUPLE_HASH:五元组hash算法,仅IP类型的pool支持。 - IP型pool不指定该字段时,默认设置为5_TUPLE_HASH。](tag:hws_eu) 支持多值查询,查询条件格式:*lb_algorithm=xxx&lb_algorithm=xxx*。 [不支持QUIC_CID。](tag:hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) LbAlgorithm *[]string `json:"lb_algorithm,omitempty"` // 企业项目ID。不传时查询default企业项目\"0\"下的资源,鉴权按照default企业项目鉴权; 如果传值,则传已存在的企业项目ID或all_granted_eps(表示查询所有企业项目)进行查询。 支持多值查询,查询条件格式:*enterprise_project_id=xxx&enterprise_project_id=xxx*。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) EnterpriseProjectId *[]string `json:"enterprise_project_id,omitempty"` - // 后端云服务器组支持的IP版本。 支持多值查询,查询条件格式:*ip_version=xxx&ip_version=xxx*。 + // 后端服务器组支持的IP版本。 支持多值查询,查询条件格式:*ip_version=xxx&ip_version=xxx*。 IpVersion *[]string `json:"ip_version,omitempty"` - // 后端云服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_address=xxx&member_address=xxx*。 + // 后端服务器的IP地址。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_address=xxx&member_address=xxx*。 MemberAddress *[]string `json:"member_address,omitempty"` - // 后端云服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_device_id=xxx&member_device_id=xxx*。 + // 后端服务器对应的弹性云服务器的ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_device_id=xxx&member_device_id=xxx*。 MemberDeviceId *[]string `json:"member_device_id,omitempty"` // 是否开启删除保护,false不开启,true开启,不传查询全部。 [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) @@ -60,10 +60,10 @@ type ListPoolsRequest struct { // 关联的监听器ID,包括通过l7policy关联的。 支持多值查询,查询条件格式:*listener_id=xxx&listener_id=xxx*。 ListenerId *[]string `json:"listener_id,omitempty"` - // 后端云服务器ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_instance_id=xxx&member_instance_id=xxx*。 + // 后端服务器ID。仅用于查询条件,不作为响应参数字段。 支持多值查询,查询条件格式:*member_instance_id=xxx&member_instance_id=xxx*。 MemberInstanceId *[]string `json:"member_instance_id,omitempty"` - // 后端云服务器组关联的虚拟私有云的ID。 + // 后端服务器组关联的虚拟私有云的ID。 VpcId *[]string `json:"vpc_id,omitempty"` // 后端服务器组的类型。 取值: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。 - 空字符串(\"\"):允许任意类型的后端 diff --git a/services/elb/v3/model/model_listener.go b/services/elb/v3/model/model_listener.go index e1d8683790..d8fc9c4f06 100644 --- a/services/elb/v3/model/model_listener.go +++ b/services/elb/v3/model/model_listener.go @@ -24,7 +24,7 @@ type Listener struct { // 参数解释:监听器的创建时间。 取值范围: 格式:yyyy-MM-dd'T'HH:mm:ss'Z',如:2021-07-30T12:03:44Z CreatedAt string `json:"created_at"` - // 参数解释:监听器的默认后端云服务器组ID。当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。 + // 参数解释:监听器的默认后端服务器组ID。当请求没有匹配的转发策略时,转发到默认后端服务器上处理。 DefaultPoolId string `json:"default_pool_id"` // 参数解释:监听器使用的服务器证书ID。 @@ -50,7 +50,7 @@ type Listener struct { // 参数解释:监听器所在的项目ID。 ProjectId string `json:"project_id"` - // 参数解释:监听器的监听协议。 [取值范围:TCP、UDP、HTTP、HTTPS、TERMINATED_HTTPS、QUIC、TLS。 约束限制: - 共享型LB上的HTTPS监听器只支持设置为TERMINATED_HTTPS, 创建时传入HTTPS将会自动转为TERMINATED_HTTPS。 - 独享型LB上的HTTPS监听器只支持设置为HTTPS,创建时传入TERMINATED_HTTPS将会自动转为HTTPS。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt) [取值:TCP、UDP、HTTP、HTTPS。](tag:hcso_dt) [取值:TCP、UDP、IP、HTTP、HTTPS。IP为网关型LB上的监听器独有的协议。](tag:hws_eu) [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt,dt,dt_test) + // 参数解释:监听器的监听协议。 [取值范围:TCP、UDP、HTTP、HTTPS、TERMINATED_HTTPS、QUIC、TLS。 约束限制: - 共享型LB上的HTTPS监听器只支持设置为TERMINATED_HTTPS, 创建时传入HTTPS将会自动转为TERMINATED_HTTPS。 - 独享型LB上的HTTPS监听器只支持设置为HTTPS,创建时传入TERMINATED_HTTPS将会自动转为HTTPS。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt) [取值:TCP、UDP、HTTP、HTTPS。](tag:hcso_dt) [取值:TCP、UDP、IP、HTTP、HTTPS。IP为网关型LB上的监听器独有的协议。](tag:hws_eu) [不支持QUIC。](tag:tm,g42,hk_g42,dt,dt_test) Protocol string `json:"protocol"` // 参数解释:监听器的监听端口。 约束限制: - QUIC监听器端口不能是4789,且不能和UDP监听器端口重复。 - 传0表示开启监听端口范围的能力,此时port_ranges为必填字段。 [-不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt,dt,dt_test) @@ -68,7 +68,7 @@ type Listener struct { // 参数解释:监听器的更新时间。 取值范围: 格式:yyyy-MM-dd'T'HH:mm:ss'Z',如:2021-07-30T12:03:44Z UpdatedAt string `json:"updated_at"` - // 参数解释:监听器使用的安全策略。 [取值范围:tls-1-0-inherit、tls-1-0、tls-1-1、 tls-1-2、tls-1-2-strict、tls-1-2-fs、tls-1-0-with-1-3、 tls-1-2-fs-with-1-3、 hybrid-policy-1-0、tls-1-2-strict-no-cbc,默认:tls-1-0。 ](tag:hws,hws_hk,ocb,tlf,ctc,hcso,sbc,tm,cmcc,dt) [取值范围:tls-1-0、tls-1-1、tls-1-2、 tls-1-2-strict,默认:tls-1-0。](tag:hws_eu,g42,hk_g42,hcso_dt) [约束限制: - 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 - QUIC监听器不支持该字段。 - 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 - 加密套件的优先顺序为ecc套件、rsa套件、tls1.3协议的套件(即支持ecc又支持rsa) ](tag:hws,hws_hk,hws_eu,ocb,tlf,ctc,hcso,sbc,g42,tm,cmcc,hk-g42,dt) [约束限制: - 仅对HTTPS协议类型的监听器有效](tag:hcso_dt) [不支持tls1.3协议的套件。](tag:tm,hws_eu,g42,hk_g42) [不支持QUIC。](tag:tm,dt,dt_test) + // 参数解释:监听器使用的安全策略。 [取值范围:tls-1-0-inherit、tls-1-0、tls-1-1、 tls-1-2、tls-1-2-strict、tls-1-2-fs、tls-1-0-with-1-3、 tls-1-2-fs-with-1-3、 hybrid-policy-1-0、tls-1-2-strict-no-cbc,默认:tls-1-0。 ](tag:hws,hws_hk,ocb,tlf,ctc,hcso,sbc,tm,cmcc,dt) [取值范围:tls-1-0、tls-1-1、tls-1-2、 tls-1-2-strict,默认:tls-1-0。](tag:hws_eu,g42,hk_g42,hcso_dt) [约束限制: - 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 - QUIC监听器不支持该字段。 - 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 - 加密套件的优先顺序为ecc套件、rsa套件、tls1.3协议的套件(即支持ecc又支持rsa) ](tag:hws,hws_hk,hws_eu,ocb,tlf,ctc,hcso,sbc,g42,tm,cmcc,hk-g42,dt) [约束限制: - 仅对HTTPS协议类型的监听器有效](tag:hcso_dt) [不支持tls1.3协议的套件。](tag:tm,hws_eu,g42,hk_g42) TlsCiphersPolicy string `json:"tls_ciphers_policy"` // 参数解释:自定义安全策略的ID。 [约束限制: - 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 - 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 - 加密套件的优先顺序为ecc套件、rsa套件、tls1.3协议的套件(即支持ecc又支持rsa) ](tag:hws,hws_hk,hws_eu,ocb,ctc,hcso,g42,tm,cmcc,hk-g42,dt) [约束限制: - 仅对HTTPS协议类型的监听器有效](tag:hcso_dt) [不支持tls1.3协议的套件。](tag:tm,hws_eu,g42,hk_g42) @@ -94,7 +94,7 @@ type Listener struct { // 参数解释:是否开启proxy_protocol。仅TLS监听器可指定,其他协议的监听器该字段不生效,proxy_protocol不开启。 ProxyProtocolEnable *bool `json:"proxy_protocol_enable,omitempty"` - // 参数解释:是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。 开启后支持如下场景: - 转发策略的action字段支持指定为REDIRECT_TO_URL, FIXED_RESPONSE,即支持URL重定向和响应固定的内容给客户端。 - 转发策略支持指定priority、redirect_url_config、fixed_response_config字段。 - 转发规则rule的type可以指定METHOD, HEADER, QUERY_STRING, SOURCE_IP这几种取值。 - 转发规则rule的type为HOST_NAME时,转发规则rule的value支持通配符*。 - 转发规则支持指定conditions字段。 取值范围:true开启,false不开启。 默认取值:false。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) + // 参数解释:是否开启高级转发策略功能。开启高级转发策略后,支持更灵活的转发策略和转发规则设置。 开启后支持如下场景: - 转发策略的action字段支持指定为REDIRECT_TO_URL, FIXED_RESPONSE,即支持URL重定向和响应固定的内容给客户端。 - 转发策略支持指定priority、redirect_url_config、fixed_response_config字段。 - 转发规则rule的type可以指定METHOD, HEADER, QUERY_STRING, SOURCE_IP这几种取值。 - 转发规则rule的type为HOST_NAME时,转发规则rule的value支持通配符*。 - 转发规则支持指定conditions字段。 约束限制:开启后不支持关闭 取值范围:true开启,false不开启。 默认取值:false。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) EnhanceL7policyEnable bool `json:"enhance_l7policy_enable"` QuicConfig *ListenerQuicConfig `json:"quic_config,omitempty"` diff --git a/services/elb/v3/model/model_listener_insert_headers.go b/services/elb/v3/model/model_listener_insert_headers.go index f5ac87411b..69e1d18131 100644 --- a/services/elb/v3/model/model_listener_insert_headers.go +++ b/services/elb/v3/model/model_listener_insert_headers.go @@ -6,37 +6,37 @@ import ( "strings" ) -// ListenerInsertHeaders 可选的HTTP头插入,可以将从负载均衡器到后端云服务器的路径中需要被后端云服务器用到的信息写入HTTP中,随报文传递到后端云服务器使。例如可通过X-Forwarded-ELB-IP开关,将负载均衡器的弹性公网IP传到后端云服务器。 +// ListenerInsertHeaders 可选的HTTP头插入,可以将从负载均衡器到后端服务器的路径中需要被后端服务器用到的信息写入HTTP中,随报文传递到后端服务器使。例如可通过X-Forwarded-ELB-IP开关,将负载均衡器的弹性公网IP传到后端服务器。 type ListenerInsertHeaders struct { - // 参数解释:X-Forwarded-ELB-IP设为true可以将ELB实例的eip地址从报文的http头中带到后端云服务器。 + // 参数解释:X-Forwarded-ELB-IP设为true可以将ELB实例的eip地址从报文的http头中带到后端服务器。 XForwardedELBIP *bool `json:"X-Forwarded-ELB-IP,omitempty"` - // 参数解释:X-Forwarded-Port设为true可以将ELB实例的监听端口从报文的http头中带到后端云服务器。 + // 参数解释:X-Forwarded-Port设为true可以将ELB实例的监听端口从报文的http头中带到后端服务器。 XForwardedPort *bool `json:"X-Forwarded-Port,omitempty"` - // X-Forwarded-For-Port设为true可以将客户端的源端口从报文的http头中带到后端云服务器。 + // X-Forwarded-For-Port设为true可以将客户端的源端口从报文的http头中带到后端服务器。 XForwardedForPort *bool `json:"X-Forwarded-For-Port,omitempty"` - // 参数解释:X-Forwarded-Host设为true可以将客户请求头的X-Forwarded-Host设置为请求头的Host带到后端云服务器。 + // 参数解释:X-Forwarded-Host设为true可以将客户请求头的X-Forwarded-Host设置为请求头的Host带到后端服务器。 XForwardedHost *bool `json:"X-Forwarded-Host,omitempty"` - // 参数解释:X-Forwarded-Proto设为true可以将负载均衡器实例的监听协议通过报文的http头带到后端云服务器。 + // 参数解释:X-Forwarded-Proto设为true可以将负载均衡器实例的监听协议通过报文的http头带到后端服务器。 XForwardedProto *bool `json:"X-Forwarded-Proto,omitempty"` - // 参数解释:X-Real-IP设为true可以将客户端的IP通过报文的http头带到后端云服务器。 + // 参数解释:X-Real-IP设为true可以将客户端的IP通过报文的http头带到后端服务器。 XRealIP *bool `json:"X-Real-IP,omitempty"` - // 参数解释:X-Forwarded-ELB-ID设为true可以将负载均衡器实例的ID通过报文的http头带到后端云服务器。 + // 参数解释:X-Forwarded-ELB-ID设为true可以将负载均衡器实例的ID通过报文的http头带到后端服务器。 XForwardedELBID *bool `json:"X-Forwarded-ELB-ID,omitempty"` - // 参数解释:X-Forwarded-TLS-Certificate-ID设为true可以将负载均衡器实例的证书ID通过报文的http头带到后端云服务器。 + // 参数解释:X-Forwarded-TLS-Certificate-ID设为true可以将负载均衡器实例的证书ID通过报文的http头带到后端服务器。 XForwardedTLSCertificateID *bool `json:"X-Forwarded-TLS-Certificate-ID,omitempty"` - // 参数解释:X-Forwarded-TLS-Protocol设为true可以将负载均衡器实例的算法协议通过报文的http头带到后端云服务器。 + // 参数解释:X-Forwarded-TLS-Protocol设为true可以将负载均衡器实例的算法协议通过报文的http头带到后端服务器。 XForwardedTLSProtocol *bool `json:"X-Forwarded-TLS-Protocol,omitempty"` - // 参数解释:X-Forwarded-TLS-Cipher设为true可以将负载均衡器实例的算法套件通过报文的http头带到后端云服务器。 + // 参数解释:X-Forwarded-TLS-Cipher设为true可以将负载均衡器实例的算法套件通过报文的http头带到后端服务器。 XForwardedTLSCipher *bool `json:"X-Forwarded-TLS-Cipher,omitempty"` } diff --git a/services/elb/v3/model/model_listener_member_info.go b/services/elb/v3/model/model_listener_member_info.go index bdb66a4e4e..be9e106e09 100644 --- a/services/elb/v3/model/model_listener_member_info.go +++ b/services/elb/v3/model/model_listener_member_info.go @@ -12,7 +12,7 @@ type ListenerMemberInfo struct { // 后端服务器关联的监听器id。 ListenerId string `json:"listener_id"` - // 后端云服务器的健康状态。 取值: - ONLINE:后端云服务器正常。 - NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 - OFFLINE:后端云服务器关联的ECS服务器不存在或已关机或服务异常。 + // 后端服务器的健康状态。 取值: - ONLINE:后端服务器正常。 - NO_MONITOR:后端服务器所在的服务器组没有健康检查器。 - OFFLINE:后端服务器关联的ECS服务器不存在或已关机或服务异常。 OperatingStatus string `json:"operating_status"` } diff --git a/services/elb/v3/model/model_listener_ref.go b/services/elb/v3/model/model_listener_ref.go index 554b452750..e06070685f 100644 --- a/services/elb/v3/model/model_listener_ref.go +++ b/services/elb/v3/model/model_listener_ref.go @@ -6,7 +6,7 @@ import ( "strings" ) -// ListenerRef 监听器 +// ListenerRef 参数解释:监听器 type ListenerRef struct { // 参数解释:监听器ID。 diff --git a/services/elb/v3/model/model_load_balancer.go b/services/elb/v3/model/model_load_balancer.go index a517e51848..790a7e5a93 100644 --- a/services/elb/v3/model/model_load_balancer.go +++ b/services/elb/v3/model/model_load_balancer.go @@ -27,7 +27,7 @@ type LoadBalancer struct { // 参数解释:负载均衡器的生产者名称。固定为vlb。 Provider string `json:"provider"` - // 参数解释:负载均衡器直接关联的后端云服务器组的ID列表。 + // 参数解释:负载均衡器直接关联的后端服务器组的ID列表。 Pools []PoolRef `json:"pools"` // 参数解释:负载均衡器关联的监听器的ID列表。 @@ -111,7 +111,7 @@ type LoadBalancer struct { // 参数解释:下联面子网类型。 取值范围: - ipv4:ipv4 - dualstack:双栈 ElbVirsubnetType LoadBalancerElbVirsubnetType `json:"elb_virsubnet_type"` - // 参数解释:是否启用跨VPC后端转发。 开启跨VPC后端转发后,后端服务器组不仅支持添加云上VPC内的服务器,还支持添加其他VPC、其他公有云、云下数据中心的服务器。 约束限制: - 开启后不能关闭。 - 使用共享VPC的实例使用此特性时,需确保共享资源所有者已开通VPC对等连接,否则通信异常。 [- 仅独享型负载均衡器支持该特性。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt) 取值范围: - true:开启。 - false:不开启。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) + // 参数解释:是否启用跨VPC后端转发。 开启跨VPC后端转发后,后端服务器组不仅支持添加云上VPC内的服务器,还支持添加其他VPC、其他公有云、云下数据中心的服务器。 约束限制: - 开启后不能关闭。 - 使用共享VPC的实例使用此特性时,需确保共享资源所有者已开通VPC对等连接,否则通信异常。 [- 仅独享型负载均衡器支持该特性。](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt) [- 网关型LB不支持该特性。](tag:hws_eu) 取值范围: - true:开启。 - false:不开启。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) IpTargetEnable bool `json:"ip_target_enable"` // 参数解释:负载均衡器的冻结场景。 [若负载均衡器有多个冻结场景,用逗号分隔。 取值范围: - POLICE:公安冻结场景。 - ILLEGAL:违规冻结场景。 - VERIFY:客户未实名认证冻结场景。 - PARTNER:合作伙伴冻结(合作伙伴冻结子客户资源)。 - AREAR:欠费冻结场景。](tag:hws,hws_hk) [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42,dt,dt_test,hcso_dt,ocb,hws_ocb) @@ -119,7 +119,7 @@ type LoadBalancer struct { Ipv6Bandwidth *BandwidthRef `json:"ipv6_bandwidth"` - // 参数解释:是否开启删除保护。 约束限制: - 仅当前局点启用删除保护特性后才会返回该字段。 - 退场时需要先关闭所有资源的删除保护开关。 取值范围: - false:不开启。 - true:开启。 >退场时需要先关闭所有资源的删除保护开关。 [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) + // 参数解释:是否开启删除保护。 约束限制: - 仅当前局点启用删除保护特性后才会返回该字段。 - 退场时需要先关闭所有资源的删除保护开关。 取值范围: - false:不开启。 - true:开启。 [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) DeletionProtectionEnable *bool `json:"deletion_protection_enable,omitempty"` Autoscaling *AutoscalingRef `json:"autoscaling,omitempty"` diff --git a/services/elb/v3/model/model_load_balancer_ref.go b/services/elb/v3/model/model_load_balancer_ref.go index 56a8cc2c36..1ad517c9bc 100644 --- a/services/elb/v3/model/model_load_balancer_ref.go +++ b/services/elb/v3/model/model_load_balancer_ref.go @@ -6,7 +6,7 @@ import ( "strings" ) -// LoadBalancerRef 负载均衡器信息 +// LoadBalancerRef 参数解释:负载均衡器信息 type LoadBalancerRef struct { // 参数解释:负载均衡器ID。 diff --git a/services/elb/v3/model/model_load_balancer_status.go b/services/elb/v3/model/model_load_balancer_status.go index 6ab0d6b113..fe37cab998 100644 --- a/services/elb/v3/model/model_load_balancer_status.go +++ b/services/elb/v3/model/model_load_balancer_status.go @@ -17,7 +17,7 @@ type LoadBalancerStatus struct { // 负载均衡器关联的监听器列表。 Listeners []LoadBalancerStatusListener `json:"listeners"` - // 负载均衡器关联的后端云服务器组列表。 + // 负载均衡器关联的后端服务器组列表。 Pools []LoadBalancerStatusPool `json:"pools"` // 负载均衡器ID。 diff --git a/services/elb/v3/model/model_master_slave_health_monitor.go b/services/elb/v3/model/model_master_slave_health_monitor.go index 490b59e391..ada30a81ee 100644 --- a/services/elb/v3/model/model_master_slave_health_monitor.go +++ b/services/elb/v3/model/model_master_slave_health_monitor.go @@ -18,7 +18,7 @@ type MasterSlaveHealthMonitor struct { // 发送健康检查请求的域名。 取值:以数字或字母开头,只能包含数字、字母、’-’、’.’。 默认为空,表示使用负载均衡器的vip作为http请求的目的地址。 使用说明:当type为HTTP/HTTPS时生效。 DomainName string `json:"domain_name"` - // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS/gRPC设置该字段,其他协议设置不会生效。 + // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 默认值:200。 仅支持HTTP/HTTPS/GRPC设置该字段,其他协议设置不会生效。 ExpectedCodes string `json:"expected_codes"` // HTTP请求方法。 取值:GET、HEAD、POST,默认GET。 使用说明:当type为HTTP/HTTPS时生效。 @@ -33,7 +33,7 @@ type MasterSlaveHealthMonitor struct { // 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。取值范围:1-10,默认3。 MaxRetriesDown int32 `json:"max_retries_down"` - // 健康检查端口号。取值:1-65535,默认为空,表示使用后端云服务器端口号。 + // 健康检查端口号。取值:1-65535,默认为空,表示使用后端服务器端口号。 MonitorPort int32 `json:"monitor_port"` // 健康检查名称。 diff --git a/services/elb/v3/model/model_master_slave_member.go b/services/elb/v3/model/model_master_slave_member.go index e1467f1a03..fa73eb7c3f 100644 --- a/services/elb/v3/model/model_master_slave_member.go +++ b/services/elb/v3/model/model_master_slave_member.go @@ -15,16 +15,16 @@ type MasterSlaveMember struct { // 后端服务器名称。 Name string `json:"name"` - // 后端云服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 + // 后端服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 AdminStateUp bool `json:"admin_state_up"` - // 后端云服务器所在子网的IPv4子网ID或IPv6子网ID。 若所属的LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 使用说明:该子网和关联的负载均衡器的子网必须在同一VPC下。 [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 后端服务器所在子网的IPv4子网ID或IPv6子网ID。 若所属的LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。此时address必须为IPv4地址,所在的pool的协议必须为UDP/TCP/TLS/HTTP/HTTPS/QUIC/GRPC。 使用说明:该子网和关联的负载均衡器的子网必须在同一VPC下。 [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId string `json:"subnet_cidr_id"` // 后端服务器业务端口。 >在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 ProtocolPort int32 `json:"protocol_port"` - // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡内网IP。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) + // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) Address string `json:"address"` // 当前后端服务器的IP地址版本,由后端系统自动根据传入的address字段确定。取值:v4、v6。 @@ -36,10 +36,10 @@ type MasterSlaveMember struct { // 关联的ECS ID,为空表示后端服务器未关联到ECS。 不支持该字段,请勿使用。 DeviceId string `json:"device_id"` - // 后端云服务器的健康状态。 取值: - ONLINE:后端云服务器正常。 - NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 - OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 + // 后端服务器的健康状态。 取值: - ONLINE:后端服务器正常。 - NO_MONITOR:后端服务器所在的服务器组没有健康检查器。 - OFFLINE:后端服务器关联的ECS服务器不存在或已关机。 OperatingStatus string `json:"operating_status"` - // 后端云服务器的类型。 取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 + // 后端服务器的类型。 取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 MemberType string `json:"member_type"` // member关联的实例ID。空表示member关联的实例为非真实设备 (如:跨VPC场景) @@ -48,7 +48,7 @@ type MasterSlaveMember struct { // 后端服务器的主备状态。 Role string `json:"role"` - // 后端云服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_status为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 + // 后端服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_status为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 Status []ListenerMemberInfo `json:"status"` } diff --git a/services/elb/v3/model/model_master_slave_pool.go b/services/elb/v3/model/model_master_slave_pool.go index 97b948f5bc..566d09fe14 100644 --- a/services/elb/v3/model/model_master_slave_pool.go +++ b/services/elb/v3/model/model_master_slave_pool.go @@ -6,39 +6,39 @@ import ( "strings" ) -// MasterSlavePool 创建云服务器组请求返回对象 +// MasterSlavePool 创建后端服务器组请求返回对象 type MasterSlavePool struct { - // 后端云服务器组的描述信息。 + // 后端服务器组的描述信息。 Description string `json:"description"` - // 后端云服务器组的ID。 + // 后端服务器组的ID。 Id string `json:"id"` - // 后端云服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 使用说明: - 当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。 - 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) + // 后端服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 使用说明: - 当该字段的取值为SOURCE_IP或QUIC_CID时,后端服务器组绑定的后端服务器的weight字段无效。 - 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) LbAlgorithm string `json:"lb_algorithm"` - // 后端云服务器组关联的监听器ID列表。 + // 后端服务器组关联的监听器ID列表。 Listeners []ListenerRef `json:"listeners"` - // 后端云服务器组关联的负载均衡器ID列表。 + // 后端服务器组关联的负载均衡器ID列表。 Loadbalancers []LoadBalancerRef `json:"loadbalancers"` - // 后端云服务器组中的后端云服务器列表。 + // 后端服务器组中的后端服务器列表。 Members []MasterSlaveMember `json:"members"` - // 后端云服务器组的名称。 + // 后端服务器组的名称。 Name string `json:"name"` - // 后端云服务器组所在的项目ID。 + // 后端服务器组所在的项目ID。 ProjectId string `json:"project_id"` - // 后端云服务器组的后端协议。 取值:TCP、UDP、QUIC、TLS。 使用说明: - listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 - listener的protocol为TCP时,pool的protocol必须为TCP。 - listener的protocol为TLS时,pool的protocol必须为TLS或TCP。 - 其他协议监听器不支持主备后端服务器组。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 后端服务器组的后端协议。 取值:TCP、UDP、QUIC、TLS。 使用说明: - listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 - listener的protocol为TCP时,pool的protocol必须为TCP。 - listener的protocol为TLS时,pool的protocol必须为TLS或TCP。 - 其他协议监听器不支持主备后端服务器组。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Protocol string `json:"protocol"` SessionPersistence *SessionPersistence `json:"session_persistence"` - // 后端云服务器组支持的IP版本。 [取值: - 共享型:固定为v4; - 独享型:取值dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs) [取值:dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。](tag:hcso_dt) [不支持IPv6,只会返回v4。](tag:dt,dt_test) + // 后端服务器组支持的IP版本。 [取值: - 共享型:固定为v4; - 独享型:取值dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs) [取值:dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。](tag:hcso_dt) [不支持IPv6,只会返回v4。](tag:dt,dt_test) IpVersion string `json:"ip_version"` // 创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) @@ -47,7 +47,7 @@ type MasterSlavePool struct { // 更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) UpdatedAt string `json:"updated_at"` - // 后端云服务器组关联的虚拟私有云的ID。 + // 后端服务器组关联的虚拟私有云的ID。 VpcId string `json:"vpc_id"` // 后端服务器组的类型。 取值: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。 - 空字符串(\"\"):允许任意类型的后端 diff --git a/services/elb/v3/model/model_member.go b/services/elb/v3/model/model_member.go index 48c911fb46..6bfab69593 100644 --- a/services/elb/v3/model/model_member.go +++ b/services/elb/v3/model/model_member.go @@ -18,28 +18,28 @@ type Member struct { // 参数解释:后端服务器所在的项目ID。 ProjectId string `json:"project_id"` - // 参数解释:后端云服务器的管理状态。 约束限制:虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 取值范围:true、false。 + // 参数解释:后端服务器的管理状态。 约束限制:虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 取值范围:true、false。 AdminStateUp bool `json:"admin_state_up"` - // 参数解释:后端云服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 约束限制: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 参数解释:后端服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 约束限制: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。此时address必须为IPv4地址,所在的pool的协议必须为UDP/TCP/TLS/HTTP/HTTPS/QUIC/GRPC。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId *string `json:"subnet_cidr_id,omitempty"` // 参数解释:后端服务器业务端口。 [约束限制:网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) >在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 ProtocolPort int32 `json:"protocol_port"` - // 参数解释:后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 约束限制:若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。 取值范围:0-100 默认取值:1。 + // 参数解释:后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 约束限制:若所在pool的lb_algorithm取值为SOURCE_IP或QUIC_CID,该字段无效。 取值范围:0-100 默认取值:1。 Weight int32 `json:"weight"` - // 参数解释:后端服务器对应的IP地址。 约束限制: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡内网IP。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) + // 参数解释:后端服务器对应的IP地址。 约束限制: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) Address string `json:"address"` // 参数解释:当前后端服务器的IP地址版本,由后端系统自动根据传入的address字段确定。 取值范围:v4、v6。 IpVersion string `json:"ip_version"` - // 参数解释:后端云服务器的健康状态。当status非空时,以status字段中监听器粒度的健康检查状态优先。 取值范围: - ONLINE:后端云服务器正常。 - NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 - OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 + // 参数解释:后端服务器的健康状态。当status非空时,以status字段中监听器粒度的健康检查状态优先。 取值范围: - ONLINE:后端服务器正常。 - NO_MONITOR:后端服务器所在的服务器组没有健康检查器。 - OFFLINE:后端服务器关联的ECS服务器不存在或已关机。 OperatingStatus string `json:"operating_status"` - // 参数解释:后端云服务器监听器粒度的的健康状态。 约束限制: - 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 - 若绑定的监听器不在该字段中,则以外层的operating_status为准。 + // 参数解释:后端服务器监听器粒度的的健康状态。 约束限制: - 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 - 若绑定的监听器不在该字段中,则以外层的operating_status为准。 Status []MemberStatus `json:"status"` // 参数解释:创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) @@ -48,7 +48,7 @@ type Member struct { // 参数解释:更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) UpdatedAt *string `json:"updated_at,omitempty"` - // 参数解释:后端云服务器的类型。 取值范围: - ip:跨VPC的member。 - instance:关联到ECS的member。 + // 参数解释:后端服务器的类型。 取值范围: - ip:跨VPC的member。 - instance:关联到ECS的member。 MemberType *string `json:"member_type,omitempty"` // 参数解释:member关联的实例ID。空表示member关联的实例为非真实设备 (如:跨VPC场景) diff --git a/services/elb/v3/model/model_member_info.go b/services/elb/v3/model/model_member_info.go index ba40c4ade7..9897bf0d5c 100644 --- a/services/elb/v3/model/model_member_info.go +++ b/services/elb/v3/model/model_member_info.go @@ -21,19 +21,19 @@ type MemberInfo struct { // 所在后端服务器组ID。 不支持该字段,请勿使用。 PoolId *string `json:"pool_id,omitempty"` - // 后端云服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 + // 后端服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 AdminStateUp bool `json:"admin_state_up"` - // 后端云服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。 此时address必须为IPv4地址,所在的pool的协议必须为TCP/HTTP/HTTPS。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) + // 后端服务器所在的子网,可以是IPv4或IPv6子网。若是IPv4子网,使用对应子网的子网ID(neutron_subnet_id);若是IPv6子网,使用对应子网的网络ID(neutron_network_id)。 ipv4子网的子网ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到 ipv6子网的网络ID可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到 使用说明: - 该子网和关联的负载均衡器的子网必须在同一VPC下。 - 若所属LB的跨VPC后端转发特性已开启,则该字段可以不传,表示添加跨VPC的后端服务器。此时address必须为IPv4地址,所在的pool的协议必须为UDP/TCP/TLS/HTTP/HTTPS/QUIC/GRPC。 [- 网关型LB,即pool协议为IP时,必须指定该子网,且必须和负载均衡器的子网在同一个VPC下,但不能相同。](tag:hws_eu) [不支持IPv6,请勿设置为IPv6子网ID。](tag:dt,dt_test) SubnetCidrId *string `json:"subnet_cidr_id,omitempty"` // 后端服务器业务端口。 [网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) >在开启端口透传的pool下创建member传该字段不生效,可不传该字段。 ProtocolPort int32 `json:"protocol_port"` - // 后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明:若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。 + // 后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明:若所在pool的lb_algorithm取值为SOURCE_IP或QUIC_CID,该字段无效。 Weight int32 `json:"weight"` - // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。且只能指定为关联ECS的主网卡内网IP。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) + // 后端服务器对应的IP地址。 使用说明: - 若subnet_cidr_id为空,表示添加跨VPC后端,此时address必须为IPv4地址。 - 若subnet_cidr_id不为空,表示是一个关联到ECS的后端服务器。该IP地址可以是私网IPv4或IPv6。 但必须在subnet_cidr_id对应的子网网段中。 [不支持IPv6,请勿设置为IPv6地址。](tag:dt,dt_test) Address string `json:"address"` // 当前后端服务器的IP地址版本,由后端系统自动根据传入的address字段确定。取值:v4、v6。 @@ -45,16 +45,16 @@ type MemberInfo struct { // 关联的ECS ID,为空表示后端服务器未关联到ECS。 不支持该字段,请勿使用。 DeviceId *string `json:"device_id,omitempty"` - // 后端云服务器的健康状态。当status非空时,以status字段中监听器粒度的健康检查状态优先。 取值: - ONLINE:后端云服务器正常。 - NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 - OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 + // 后端服务器的健康状态。当status非空时,以status字段中监听器粒度的健康检查状态优先。 取值: - ONLINE:后端服务器正常。 - NO_MONITOR:后端服务器所在的服务器组没有健康检查器。 - OFFLINE:后端服务器关联的ECS服务器不存在或已关机。 OperatingStatus string `json:"operating_status"` - // 后端云服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 + // 后端服务器监听器粒度的的健康状态。 若绑定的监听器在该字段中,则以该字段中监听器对应的operating_stauts为准。 若绑定的监听器不在该字段中,则以外层的operating_status为准。 Status []MemberStatus `json:"status"` // 所属负载均衡器ID。 不支持该字段,请勿使用。 LoadbalancerId *string `json:"loadbalancer_id,omitempty"` - // 后端云服务器关联的负载均衡器ID列表。 不支持该字段,请勿使用。 + // 后端服务器关联的负载均衡器ID列表。 不支持该字段,请勿使用。 Loadbalancers *[]ResourceId `json:"loadbalancers,omitempty"` // 创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) @@ -63,7 +63,7 @@ type MemberInfo struct { // 更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) UpdatedAt *string `json:"updated_at,omitempty"` - // 后端云服务器的类型。 取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 + // 后端服务器的类型。 取值: - ip:跨VPC的member。 - instance:关联到ECS的member。 MemberType *string `json:"member_type,omitempty"` // member关联的实例ID。空表示member关联的实例为非真实设备 (如:跨VPC场景) diff --git a/services/elb/v3/model/model_member_ref.go b/services/elb/v3/model/model_member_ref.go index 19136054db..c137ea5180 100644 --- a/services/elb/v3/model/model_member_ref.go +++ b/services/elb/v3/model/model_member_ref.go @@ -9,7 +9,7 @@ import ( // MemberRef type MemberRef struct { - // 后端服务器ID。 + // 参数解释:后端服务器ID。 Id string `json:"id"` } diff --git a/services/elb/v3/model/model_member_status.go b/services/elb/v3/model/model_member_status.go index e78d2750e7..f6f9f266d4 100644 --- a/services/elb/v3/model/model_member_status.go +++ b/services/elb/v3/model/model_member_status.go @@ -12,7 +12,7 @@ type MemberStatus struct { // 参数解释:监听器ID ListenerId string `json:"listener_id"` - // 参数解释:后端云服务器的健康状态。 取值范围: - ONLINE:后端云服务器正常。 - NO_MONITOR:后端云服务器所在的服务器组没有健康检查器。 - OFFLINE:后端云服务器关联的ECS服务器不存在或已关机。 + // 参数解释:后端服务器的健康状态。 取值范围: - ONLINE:后端服务器正常。 - NO_MONITOR:后端服务器所在的服务器组没有健康检查器。 - OFFLINE:后端服务器关联的ECS服务器不存在或已关机。 OperatingStatus string `json:"operating_status"` } diff --git a/services/elb/v3/model/model_pool.go b/services/elb/v3/model/model_pool.go index 42ad3fc0cb..534c5cfbc4 100644 --- a/services/elb/v3/model/model_pool.go +++ b/services/elb/v3/model/model_pool.go @@ -9,81 +9,81 @@ import ( "strings" ) -// Pool 创建云服务器组请求返回对象 +// Pool 参数解释:创建后端服务器组请求返回对象。 type Pool struct { - // 后端云服务器组的管理状态。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) + // 参数解释:后端服务器组的管理状态。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) AdminStateUp bool `json:"admin_state_up"` - // 后端云服务器组的描述信息。 + // 参数解释:后端服务器组的描述信息。 Description string `json:"description"` - // 后端云服务器组关联的健康检查的ID。 + // 参数解释:后端服务器组关联的健康检查的ID。 HealthmonitorId string `json:"healthmonitor_id"` - // 后端云服务器组的ID。 + // 参数解释:后端服务器组的ID。 Id string `json:"id"` - // 后端云服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [- 2_TUPLE_HASH:二元组hash算法,仅IP类型的pool支持。 - 3_TUPLE_HASH:三元组hash算法,仅IP类型的pool支持。 - 5_TUPLE_HASH:五元组hash算法,仅IP类型的pool支持。 - IP型pool不指定该字段时,默认设置为5_TUPLE_HASH。](tag:hws_eu) 使用说明: - 当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。 - 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 [不支持QUIC_CID算法。](tag:hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) + // 参数解释:后端服务器组的负载均衡算法。 约束限制: - 当该字段的取值为SOURCE_IP或QUIC_CID时,后端服务器组绑定的后端服务器的weight字段无效。 - 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 取值范围: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [- 2_TUPLE_HASH:二元组hash算法,仅IP类型的pool支持。 - 3_TUPLE_HASH:三元组hash算法,仅IP类型的pool支持。 - 5_TUPLE_HASH:五元组hash算法,仅IP类型的pool支持。 - IP型pool不指定该字段时,默认设置为5_TUPLE_HASH。](tag:hws_eu) [不支持QUIC_CID算法。](tag:hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) LbAlgorithm string `json:"lb_algorithm"` - // 后端云服务器组关联的监听器ID列表。 + // 参数解释:后端服务器组关联的监听器ID列表。 Listeners []ListenerRef `json:"listeners"` - // 后端云服务器组关联的负载均衡器ID列表。 + // 参数解释:后端服务器组关联的负载均衡器ID列表。 Loadbalancers []LoadBalancerRef `json:"loadbalancers"` - // 后端云服务器组中的后端云服务器ID列表。 + // 参数解释:后端服务器组中的后端服务器ID列表。 Members []MemberRef `json:"members"` - // 后端云服务器组的名称。 + // 参数解释:后端服务器组的名称。 Name string `json:"name"` - // 后端云服务器组所在的项目ID。 + // 参数解释:后端服务器组所在的项目ID。 ProjectId string `json:"project_id"` - // 后端云服务器组的后端协议。 取值:TCP、UDP、[IP、](tag:hws_eu)TLS、gRPC、HTTP、HTTPS和QUIC。 使用说明: - listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 - listener的protocol为TCP时pool的protocol必须为TCP。 [- listener的protocol为IP时,pool的protocol必须为IP。](tag:hws_eu) - listener的protocol为HTTP时,pool的protocol必须为HTTP。 - listener的protocol为HTTPS时,pool的protocol必须为HTTP、HTTPS或gRPC。 - listener的protocol为TERMINATED_HTTPS时,pool的protocol必须为HTTP。 - listener的protocol为QUIC时,pool的protocol必须为HTTP、HTTPS或gRPC。 - listener的protocol为TLS时,pool的protocol必须为TLS或TCP。 - 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 - 若pool的protocol为gRPC,关联监听器必须开启HTTP2。 - 若pool的protocol为TCP,则pool的ip_version字段取值必须是4。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 参数解释:后端服务器组的后端协议。 约束限制: - listener的protocol为UDP时,pool的protocol必须为UDP或QUIC。 - listener的protocol为TCP时pool的protocol必须为TCP。 [- listener的protocol为IP时,pool的protocol必须为IP。](tag:hws_eu) - listener的protocol为HTTP时,pool的protocol必须为HTTP。 - listener的protocol为HTTPS时,pool的protocol必须为HTTP、HTTPS或GRPC。 - listener的protocol为TERMINATED_HTTPS时,pool的protocol必须为HTTP。 - listener的protocol为QUIC时,pool的protocol必须为HTTP、HTTPS或GRPC。 - listener的protocol为TLS时,pool的protocol必须为TLS或TCP。 - 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 - 若pool的protocol为GRPC,关联监听器必须开启HTTP2。 - 若pool的protocol为TCP,则pool的ip_version字段取值必须是4。 取值范围:TCP、UDP、[IP、](tag:hws_eu)TLS、GRPC、HTTP、HTTPS和QUIC。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Protocol string `json:"protocol"` SessionPersistence *SessionPersistence `json:"session_persistence"` - // 后端云服务器组支持的IP版本。 [取值: - 共享型:固定为v4; - 独享型:取值dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs) [取值:dualstack、v4、v6。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。 当协议为HTTP时,ip_version为v4。](tag:hcso_dt) [不支持IPv6,只会返回v4。](tag:dt,dt_test) + // 参数解释:后端服务器组支持的IP版本。 [取值范围: - 共享型:固定为v4; - 独享型:取值dualstack、v4。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。当协议为HTTP时,ip_version为v4。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs) [取值范围:dualstack、v4。当协议为TCP/UDP时,ip_version为dualstack,表示双栈。当协议为HTTP时,ip_version为v4。](tag:hcso_dt) [不支持IPv6,只会返回v4。](tag:dt,dt_test) IpVersion string `json:"ip_version"` SlowStart *SlowStart `json:"slow_start"` - // 是否开启误删保护。 取值:false不开启,true开启。 > 退场时需要先关闭所有资源的删除保护开关。 [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) + // 参数解释:是否开启误删保护。 取值范围:false不开启,true开启。 > 退场时需要先关闭所有资源的删除保护开关。 [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) MemberDeletionProtectionEnable bool `json:"member_deletion_protection_enable"` - // 创建时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) + // 参数解释:创建时间。 取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) CreatedAt *string `json:"created_at,omitempty"` - // 更新时间。格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) + // 参数解释:更新时间。 取值范围:格式:yyyy-MM-dd'T'HH:mm:ss'Z',UTC时区。 [注意:独享型实例的历史数据以及共享型实例下的资源,不返回该字段。 ](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) UpdatedAt *string `json:"updated_at,omitempty"` - // 后端云服务器组关联的虚拟私有云的ID。 + // 参数解释:后端服务器组关联的虚拟私有云的ID。 VpcId string `json:"vpc_id"` - // 后端服务器组的类型。 取值: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。 - 空字符串(\"\"):允许任意类型的后端 + // 参数解释:后端服务器组的类型。 取值范围: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。[pool的protocol为IP时,type不允许设置为ip。](tag:hws_eu)] - 空字符串(\"\"):允许任意类型的后端 Type string `json:"type"` - // 修改保护状态, 取值: - nonProtection: 不保护,默认值为nonProtection - consoleProtection: 控制台修改保护 + // 参数解释:修改保护状态,。 取值范围: - nonProtection: 不保护。 - consoleProtection: 控制台修改保护。 默认取值:nonProtection ProtectionStatus *PoolProtectionStatus `json:"protection_status,omitempty"` - // 设置保护的原因 >仅当protection_status为consoleProtection时有效。 + // 参数解释:设置保护的原因。 参数限制:仅当protection_status为consoleProtection时有效。 ProtectionReason *string `json:"protection_reason,omitempty"` - // 后端是否开启端口透传。开启后,后端服务器端口与前端监听器端口保持一致。关闭后,请求会转发给后端服务器protocol_port字段指定端口。取值:false不开启,true开启。 使用说明: - 仅QUIC,TCP,UDP的pool支持。 + // 参数解释:后端是否开启端口透传。开启后,后端服务器端口与前端监听器端口保持一致。关闭后,请求会转发给后端服务器protocol_port字段指定端口。取值:false不开启,true开启。 约束限制: - 仅QUIC,TCP,UDP的pool支持。 AnyPortEnable *bool `json:"any_port_enable,omitempty"` ConnectionDrain *ConnectionDrain `json:"connection_drain,omitempty"` - // IP地址组所在的企业项目ID。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) + // 参数解释:IP地址组所在的企业项目ID。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) EnterpriseProjectId *string `json:"enterprise_project_id,omitempty"` PoolHealth *PoolHealth `json:"pool_health,omitempty"` - // 可用区组,如:center + // 参数解释:可用区组,如:center PublicBorderGroup *string `json:"public_border_group,omitempty"` } diff --git a/services/elb/v3/model/model_pool_health.go b/services/elb/v3/model/model_pool_health.go index 3d8ce11093..3311f3e450 100644 --- a/services/elb/v3/model/model_pool_health.go +++ b/services/elb/v3/model/model_pool_health.go @@ -6,10 +6,10 @@ import ( "strings" ) -// PoolHealth 后端全下线转发配置 +// PoolHealth 参数解释:后端全下线转发配置。 type PoolHealth struct { - // 当健康检查在线的member个数小于该个数,判定pool的state为不健康; 取值范围:0或者1; 0:默认值,不生效; 1:全下线转发生效; + // 参数解释:当健康检查在线的member个数小于该个数,判定pool的state为不健康。 取值范围: - 0:默认值,不生效。 - 1:全下线转发生效。 MinimumHealthyMemberCount *int32 `json:"minimum_healthy_member_count,omitempty"` } diff --git a/services/elb/v3/model/model_quota.go b/services/elb/v3/model/model_quota.go index c16a12b665..6caab86951 100644 --- a/services/elb/v3/model/model_quota.go +++ b/services/elb/v3/model/model_quota.go @@ -27,13 +27,13 @@ type Quota struct { // 单个转发策略下所有转发规则的condition总数配额。 取值: - 大于等于0:表示当前配额数量。 - -1:表示无配额限制。 ConditionPerPolicy int32 `json:"condition_per_policy"` - // 后端云服务器组配额。 取值: - 大于等于0:表示当前配额数量。 - -1:表示无配额限制。 + // 后端服务器组配额。 取值: - 大于等于0:表示当前配额数量。 - -1:表示无配额限制。 Pool int32 `json:"pool"` // 健康检查配额。 取值: - 大于等于0:表示当前配额数量。 - -1:表示无配额限制。 Healthmonitor int32 `json:"healthmonitor"` - // 后端云服务器配额。 取值: - 大于等于0:表示当前配额数量。 - -1:表示无配额限制。 + // 后端服务器配额。 取值: - 大于等于0:表示当前配额数量。 - -1:表示无配额限制。 Member int32 `json:"member"` // 单个pool下的member的配额。 取值: - 大于等于0:表示当前配额数量。 - -1:表示无配额限制。 diff --git a/services/elb/v3/model/model_session_persistence.go b/services/elb/v3/model/model_session_persistence.go index 15a4fd6754..c01436cf1e 100644 --- a/services/elb/v3/model/model_session_persistence.go +++ b/services/elb/v3/model/model_session_persistence.go @@ -6,16 +6,16 @@ import ( "strings" ) -// SessionPersistence 会话持久性对象。 +// SessionPersistence 参数解释:会话持久性对象。 type SessionPersistence struct { - // cookie名称。 [共享型LB,支持字母、数字、中划线(-)和下划线(_),最大长度64个字符。 独享型LB,支持字母、数字、中划线(-)、下划线(_)和点号(.),最大长度255个字符。](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) [支持字母、数字、中划线(-)、下划线(_)和点号(.),最大长度255个字符。](tag:hws_eu,hcso_dt) 使用说明: - 只有当type为APP_COOKIE时才有效。其他情况下传该字段会报错。 [不支持该字段,请勿使用。](tag:hws_eu,hcso_dt) + // 参数解释:cookie名称。 约束限制: - 只有当type为APP_COOKIE时才有效。其他情况下传该字段会报错。 [取值范围: - 共享型LB,支持字母、数字、中划线(-)和下划线(_),最大长度64个字符。 - 独享型LB,支持字母、数字、中划线(-)、下划线(_)和点号(.),最大长度255个字符。](tag:hws,hws_hk,ocb,ctc,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt,hk_tm) [取值范围:支持字母、数字、中划线(-)、下划线(_)和点号(.),最大长度255个字符。](tag:hws_eu,hcso_dt) [不支持该字段,请勿使用。](tag:hws_eu,hcso_dt) CookieName *string `json:"cookie_name,omitempty"` - // 会话保持类型。 取值范围:SOURCE_IP、HTTP_COOKIE、APP_COOKIE。 [使用说明: - 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效。 - 当pool的protocol为HTTP、HTTPS时。如果是独享型负载均衡器的pool, 则type只能为HTTP_COOKIE,其他取值会话保持失效。 如果是共享型负载均衡器的pool,则type可以为HTTP_COOKIE和APP_COOKIE,其他取值会话保持失效。 - 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt) [使用说明: - 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效。 - 当pool的protocol为HTTP、HTTPS时。type只能为HTTP_COOKIE, 其他取值会话保持失效。](tag:hws_eu,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) [不支持QUIC。](tag:tm) + // 参数解释:会话保持类型。 [约束限制: - 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效。 - 当pool的protocol为HTTP、HTTPS时。如果是独享型负载均衡器的pool,则type只能为HTTP_COOKIE,其他取值会话保持失效。如果是共享型负载均衡器的pool,则type可以为HTTP_COOKIE和APP_COOKIE,其他取值会话保持失效。 - 若pool的protocol为QUIC,则必须开启session_persistence且type为SOURCE_IP。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt) [约束限制: - 当pool的protocol为TCP、UDP,无论type取值如何,都会被忽略,会话保持只按SOURCE_IP生效。 - 当pool的protocol为HTTP、HTTPS时。type只能为HTTP_COOKIE,其他取值会话保持失效。](tag:hws_eu,hcso_dt) 取值范围:SOURCE_IP、HTTP_COOKIE、APP_COOKIE。 [荷兰region不支持QUIC。](tag:dt,dt_test) [不支持QUIC。](tag:tm) Type string `json:"type"` - // 会话保持的时间。当type为APP_COOKIE时不生效。 适用范围:如果pool的protocol为TCP、UDP和QUIC则范围为[1,60](分钟),默认值1; 如果pool的protocol为HTTP和HTTPS则范围为[1,1440](分钟),默认值1440。 [荷兰region不支持QUIC。](tag:dt,dt_test) + // 参数解释:会话保持的时间。当type为APP_COOKIE时不生效。 取值范围: - 若pool的protocol为TCP、UDP和QUIC则范围为[1,60](分钟),默认值1; - 若pool的protocol为HTTP和HTTPS则范围为[1,1440](分钟),默认值1440。 [荷兰region不支持QUIC。](tag:dt,dt_test) PersistenceTimeout *int32 `json:"persistence_timeout,omitempty"` } diff --git a/services/elb/v3/model/model_slow_start.go b/services/elb/v3/model/model_slow_start.go index e43ea11894..3db470bf88 100644 --- a/services/elb/v3/model/model_slow_start.go +++ b/services/elb/v3/model/model_slow_start.go @@ -6,13 +6,13 @@ import ( "strings" ) -// SlowStart 慢启动信息。开启慢启动后,将会在设定的时间段(duration)内对新添加到后端服务器组的后端服务器进行预热,转发到该服务器的请求数量线性增加。 当后端服务器组的协议为HTTP/HTTPS时有效,其他协议传入该字段将报错。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) +// SlowStart 参数解释:慢启动信息。开启慢启动后,将会在设定的时间段(duration)内对新添加到后端服务器组的后端服务器进行预热,转发到该服务器的请求数量线性增加。 约束限制:当后端服务器组的协议为HTTP/HTTPS时有效,其他协议传入该字段将报错。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) type SlowStart struct { - // 慢启动的开关,默认值:false; true:开启; false:关闭 + // 参数解释:慢启动的开关。 取值范围: - true:开启。 - false:关闭。 默认取值:false Enable bool `json:"enable"` - // 慢启动的持续时间。取值:30~1200s,默认30s; + // 参数解释:慢启动的持续时间。 取值范围:30-1200,单位:秒。 默认取值:30 Duration int32 `json:"duration"` } 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 2d5b51176a..0e68d91fc1 100644 --- a/services/elb/v3/model/model_update_health_monitor_option.go +++ b/services/elb/v3/model/model_update_health_monitor_option.go @@ -21,7 +21,7 @@ type UpdateHealthMonitorOption struct { // 发送健康检查请求的域名。 取值:以数字或字母开头,只能包含数字、字母、’-’、’.’。 不能传空,但可传null或不传,表示使用负载均衡器的vip作为http请求的目的地址。 使用说明:当type为HTTP/HTTPS时生效。 DomainName *string `json:"domain_name,omitempty"` - // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 仅支持HTTP/HTTPS/gRPC设置该字段,其他协议设置不会生效。 + // 期望响应状态码。 取值: - 单值:单个返回码,例如200。 - 列表:多个特定返回码,例如200,202。 - 区间:一个返回码区间,例如200-204。 仅支持HTTP/HTTPS/GRPC设置该字段,其他协议设置不会生效。 ExpectedCodes *string `json:"expected_codes,omitempty"` // HTTP请求方法。 取值:GET、HEAD、POST,默认GET。 使用说明:当type为HTTP/HTTPS时生效。 @@ -33,7 +33,7 @@ type UpdateHealthMonitorOption struct { // 健康检查连续失败多少次后,将后端服务器的健康检查状态由ONLINE判定为OFFLINE。取值范围:1-10。 MaxRetriesDown *int32 `json:"max_retries_down,omitempty"` - // 健康检查端口号。取值:1-65535,不可传入空,但可传入null,表示使用后端云服务器端口号。[当pool协议为IP时,monitor_port必须指定为非0值。](tag:hws_eu) + // 健康检查端口号。取值:1-65535,不可传入空,但可传入null,表示使用后端服务器端口号。[当pool协议为IP时,monitor_port必须指定为非0值。](tag:hws_eu) MonitorPort *int32 `json:"monitor_port,omitempty"` // 健康检查名称。 @@ -45,7 +45,7 @@ type UpdateHealthMonitorOption struct { // 健康检查请求的请求路径。以\"/\"开头,默认为\"/\"。 支持使用字母、数字和短划线(-)、正斜线(/)、半角句号(.)、百分号(%)、半角问号(?)、井号(#)和and(&)以及扩展字符集_;~!()*[]@$^:',+ 使用说明:当type为HTTP/HTTPS时生效。 UrlPath *string `json:"url_path,omitempty"` - // 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS、TLS和gRPC。 使用说明: - 若pool的protocol为QUIC,则type只能是UDP_CONNECT。 - 若pool的protocol为UDP,则type只能UDP_CONNECT。 - 若pool的protocol为TCP,则type可以是TCP、HTTP、HTTPS。 [- 若pool的protocol为IP,则type可以是TCP、HTTP、HTTPS。](tag:hws_eu) - 若pool的protocol为HTTP,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为HTTPS,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为gRPC,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 - 若pool的protocol为TLS,则type可以是TCP、HTTP、HTTPS、TLS、gRPC。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) + // 健康检查请求协议。 取值:TCP、UDP_CONNECT、HTTP、HTTPS、TLS和GRPC。 使用说明: - 若pool的protocol为QUIC,则type只能是UDP_CONNECT。 - 若pool的protocol为UDP,则type只能UDP_CONNECT。 - 若pool的protocol为TCP,则type可以是TCP、HTTP、HTTPS。 [- 若pool的protocol为IP,则type可以是TCP、HTTP、HTTPS。](tag:hws_eu) - 若pool的protocol为HTTP,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为HTTPS,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为GRPC,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 - 若pool的protocol为TLS,则type可以是TCP、HTTP、HTTPS、TLS、GRPC。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC。](tag:dt,dt_test) Type *string `json:"type,omitempty"` } diff --git a/services/elb/v3/model/model_update_listener_option.go b/services/elb/v3/model/model_update_listener_option.go index 8625e2bc66..ef1b1378d6 100644 --- a/services/elb/v3/model/model_update_listener_option.go +++ b/services/elb/v3/model/model_update_listener_option.go @@ -18,7 +18,7 @@ type UpdateListenerOption struct { // 参数解释:监听器使用的CA证书ID。 约束限制: - 当且仅当type=client时,才会使用该字段对应的证书。 - 监听器协议为QUIC时不支持该字段。 [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt,dt,dt_test) ClientCaTlsContainerRef *string `json:"client_ca_tls_container_ref,omitempty"` - // 参数解释:监听器的默认后端云服务器组ID。当请求没有匹配的转发策略时,转发到默认后端云服务器上处理。 + // 参数解释:监听器的默认后端服务器组ID。当请求没有匹配的转发策略时,转发到默认后端服务器上处理。 DefaultPoolId *string `json:"default_pool_id,omitempty"` // 参数解释:监听器使用的服务器证书ID。 约束限制:当监听器协议为HTTPS时,该字段必传,且对应的证书的type必须是server类型。 @@ -41,7 +41,7 @@ type UpdateListenerOption struct { // 参数解释:监听器使用的SNI证书泛域名匹配方式。 取值范围: - longest_suffix表示最长尾缀匹配。 - wildcard表示标准域名分级匹配。 默认取值:wildcard。 SniMatchAlgo *string `json:"sni_match_algo,omitempty"` - // 参数解释:监听器使用的安全策略。 [约束限制: - 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 - QUIC监听器不支持该字段。 - 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 - 加密套件的优先顺序为ecc套件、rsa套件、tls1.3协议的套件(即支持ecc又支持rsa) ](tag:hws,hws_hk,hws_eu,ocb,tlf,ctc,hcso,sbc,g42,tm,cmcc,hk-g42,dt) [约束限制: - 仅对HTTPS协议类型的监听器有效](tag:hcso_dt) [取值范围:tls-1-0-inherit、tls-1-0、tls-1-1、 tls-1-2、tls-1-2-strict、tls-1-2-fs、tls-1-0-with-1-3、 tls-1-2-fs-with-1-3、 hybrid-policy-1-0、tls-1-2-strict-no-cbc,默认:tls-1-0。 ](tag:hws,hws_hk,ocb,tlf,ctc,hcso,sbc,tm,cmcc,dt) [取值范围:tls-1-0、tls-1-1、tls-1-2、 tls-1-2-strict,默认:tls-1-0。](tag:hws_eu,g42,hk_g42,hcso_dt) [不支持tls1.3协议的套件。](tag:tm,hws_eu,g42,hk_g42) [不支持QUIC。](tag:tm,hws_eu,g42,hk_g42,hcso_dt,dt,dt_test) + // 参数解释:监听器使用的安全策略。 [约束限制: - 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 - QUIC监听器不支持该字段。 - 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 - 加密套件的优先顺序为ecc套件、rsa套件、tls1.3协议的套件(即支持ecc又支持rsa) ](tag:hws,hws_hk,hws_eu,ocb,tlf,ctc,hcso,sbc,g42,tm,cmcc,hk-g42,dt) [约束限制: - 仅对HTTPS协议类型的监听器有效](tag:hcso_dt) [取值范围:tls-1-0-inherit、tls-1-0、tls-1-1、 tls-1-2、tls-1-2-strict、tls-1-2-fs、tls-1-0-with-1-3、 tls-1-2-fs-with-1-3、 hybrid-policy-1-0、tls-1-2-strict-no-cbc,默认:tls-1-0。 ](tag:hws,hws_hk,ocb,tlf,ctc,hcso,sbc,tm,cmcc,dt) [取值范围:tls-1-0、tls-1-1、tls-1-2、 tls-1-2-strict,默认:tls-1-0。](tag:hws_eu,g42,hk_g42,hcso_dt) [不支持tls1.3协议的套件。](tag:tm,hws_eu,g42,hk_g42) TlsCiphersPolicy *string `json:"tls_ciphers_policy,omitempty"` // 参数解释:自定义安全策略的ID。 [约束限制: - 仅对HTTPS协议类型的监听器且关联LB为独享型时有效。 - 若同时设置了security_policy_id和tls_ciphers_policy,则仅security_policy_id生效。 - 加密套件的优先顺序为ecc套件、rsa套件、tls1.3协议的套件(即支持ecc又支持rsa) ](tag:hws,hws_hk,hws_eu,ocb,ctc,hcso,g42,tm,cmcc,hk-g42,dt) [约束限制: - 仅对HTTPS协议类型的监听器有效](tag:hcso_dt) [不支持tls1.3协议的套件。](tag:hws_eu,g42,hk_g42) diff --git a/services/elb/v3/model/model_update_load_balancer_option.go b/services/elb/v3/model/model_update_load_balancer_option.go index 4f9eacb9dd..5e23cbc0a3 100644 --- a/services/elb/v3/model/model_update_load_balancer_option.go +++ b/services/elb/v3/model/model_update_load_balancer_option.go @@ -24,21 +24,21 @@ type UpdateLoadBalancerOption struct { // 参数解释:双栈类型负载均衡器所在子网的IPv6网络ID,也称为该负载均衡器实例的前端子网。可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到。 通过更新ipv6_vip_virsubnet_id可以更新负载均衡器所在IPv6子网,且负载均衡器的内网IPv6地址将发生变化。 约束限制: - ipv6_vip_virsubnet_id 对应的子网必须属于当前负载均衡器所在VPC,且子网需开启支持IPv6。 - 只有guaranteed是true的负载均衡器才支持更新ipv6_vip_virsubnet_id。 - *传入为null表示解绑IPv6子网。* - 更新IPv6子网不会导致IPv4子网发生变化。 [不支持IPv6,请勿使用。](tag:dt,dt_test) Ipv6VipVirsubnetId *string `json:"ipv6_vip_virsubnet_id,omitempty"` - // 参数解释:负载均衡器所在的IPv4子网ID,也称为该负载均衡器实例的前端子网。可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到。 通过更新vip_subnet_cidr_id可以更新负载均衡器所在IPv4子网,并且负载均衡器的内网IPv4地址将发生变化。 约束限制: - 若同时设置了vip_address,则必须保证vip_address对应的IP在vip_subnet_cidr_id的子网网段中。 - vip_subnet_cidr_id对应的子网必须属于当前负载均衡器vpc_id对应的VPC。 - 只有guaranteed是true的负载均衡器才支持更新vip_subnet_cidr_id。 - *传入null表示解绑IPv4子网。* - 更新IPv子网不会导致IPv4子网发生变化。 + // 参数解释:负载均衡器所在的IPv4子网ID,也称为该负载均衡器实例的前端子网。可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_subnet_id得到。 通过更新vip_subnet_cidr_id可以更新负载均衡器所在IPv4子网,并且负载均衡器的内网IPv4地址将发生变化。 约束限制: - 若同时设置了vip_address,则必须保证vip_address对应的IP在vip_subnet_cidr_id的子网网段中。 - vip_subnet_cidr_id对应的子网必须属于当前负载均衡器vpc_id对应的VPC。 - 只有guaranteed是true的负载均衡器才支持更新vip_subnet_cidr_id。 - *传入null表示解绑IPv4子网。* - 更新IPv6子网不会导致IPv4子网发生变化。 VipSubnetCidrId *string `json:"vip_subnet_cidr_id,omitempty"` // 参数解释:负载均衡器的IPv4虚拟IP。 约束限制:该地址必须包含在所在子网的IPv4网段内,且未被占用。 注:仅当guaranteed是true的场合,才支持更新。 VipAddress *string `json:"vip_address,omitempty"` - // 参数解释:网络型规格ID。 [约束限制: - 可以通过GET https://{ELB_Endpoint}/v3/{project_id}/elb/flavors?type=L4 响应参数中的id得到。 - 仅当guaranteed是true的场合,才支持更新。 - 可以支持规格改大改小,注意改小过程中可能会造成部分长连接中断,影响部分链接的新建, - autoscaling.enable=true时,修改无意义,不生效。 - 当传入的规格类型为L4,表示该实例为固定规格实例,按规格计费。 - 当传入的规格类型为L4_elastic_max,表示该实例为弹性实例,按LCU计费。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,dt) [只支持设置为l4_flavor.elb.shared。](tag:hcso_dt) [hcso场景下所有LB实例共享带宽,该字段无效,请勿使用。](tag:hcso,hk_vdf,fcs,fcs_vm,mix,hcso_g42,hcso_g42_b) + // 参数解释:网络型规格ID。 [约束限制: - 可以通过GET https://{ELB_Endpoint}/v3/{project_id}/elb/flavors?type=L4 响应参数中的id得到。 - 仅当guaranteed是true的场合,才支持更新。 - 可以支持规格改大改小,注意改小过程中可能会造成部分长连接中断,影响部分链接的新建, - autoscaling.enable=true时,修改无意义,不生效。 - 当传入的规格类型为L4,表示该实例为固定规格实例,按规格计费。 - 当传入的规格类型为L4_elastic_max,表示该实例为弹性实例,按LCU计费。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,dt) [网关型LB不支持指定l4_flavor_id。](tag:hws_eu) [只支持设置为l4_flavor.elb.shared。](tag:hcso_dt) [hcso场景下所有LB实例共享带宽,该字段无效,请勿使用。](tag:hcso,hk_vdf,fcs,fcs_vm,mix,hcso_g42,hcso_g42_b) L4FlavorId *string `json:"l4_flavor_id,omitempty"` - // 参数解释:应用型ID。 [约束限制: - 可以通过GET https://{ELB_Endpoint}/v3/{project_id}/elb/flavors?type=L7 响应参数中的id得到。 - 仅当guaranteed是true的场合,才支持更新。 - 可以支持规格改大改小,注意改小过程中可能会造成部分长连接中断,影响部分链接的新建, - autoscaling.enable=true时,修改无意义,不生效。 - 当传入的规格类型为L7,表示该实例为固定规格实例,按规格计费。 - 当传入的规格类型为L7_elastic_max,表示该实例为弹性实例,按LCU计费。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,dt) [网关型LB不支持l7_flavor_id。](tag:hws_eu) [只支持设置为l7_flavor.elb.shared。](tag:hcso_dt) [所有LB实例共享带宽,该字段无效,请勿使用。](tag:hcso,hk_vdf,fcs,fcs_vm,mix,hcso_g42,hcso_g42_b) + // 参数解释:应用型ID。 [约束限制: - 可以通过GET https://{ELB_Endpoint}/v3/{project_id}/elb/flavors?type=L7 响应参数中的id得到。 - 仅当guaranteed是true的场合,才支持更新。 - 可以支持规格改大改小,注意改小过程中可能会造成部分长连接中断,影响部分链接的新建, - autoscaling.enable=true时,修改无意义,不生效。 - 当传入的规格类型为L7,表示该实例为固定规格实例,按规格计费。 - 当传入的规格类型为L7_elastic_max,表示该实例为弹性实例,按LCU计费。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,dt) [网关型LB不支持指定l7_flavor_id。](tag:hws_eu) [只支持设置为l7_flavor.elb.shared。](tag:hcso_dt) [所有LB实例共享带宽,该字段无效,请勿使用。](tag:hcso,hk_vdf,fcs,fcs_vm,mix,hcso_g42,hcso_g42_b) L7FlavorId *string `json:"l7_flavor_id,omitempty"` Ipv6Bandwidth *BandwidthRef `json:"ipv6_bandwidth,omitempty"` - // 参数解释:是否启用跨VPC后端转发。 开启跨VPC后端转发后,后端服务器组不仅支持添加云上VPC内的服务器,还支持添加其他VPC、其他公有云、云下数据中心的服务器。 约束限制: - 使用共享VPC的实例使用此特性时,需确保共享资源所有者已开通VPC对等连接,否则通信异常。 - 开启后不能关闭。 [- 仅独享型负载均衡器支持该特性。 ](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt) 取值范围: - true:开启。 - false:不开启。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) + // 参数解释:是否启用跨VPC后端转发。 开启跨VPC后端转发后,后端服务器组不仅支持添加云上VPC内的服务器,还支持添加其他VPC、其他公有云、云下数据中心的服务器。 约束限制: - 开启后不能关闭。 - 使用共享VPC的实例使用此特性时,需确保共享资源所有者已开通VPC对等连接,否则通信异常。 [- 仅独享型负载均衡器支持该特性。](tag:hws,hws_hk,ocb,ctc,hcs,g42,tm,cmcc,hk_g42,hws_ocb,hk_vdf,fcs,dt) [- 网关型LB不支持该特性。](tag:hws_eu) 取值范围: - true:开启。 - false:不开启。 [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) IpTargetEnable *bool `json:"ip_target_enable,omitempty"` // 参数解释:下联面子网的网络ID列表。 可以通过GET https://{VPC_Endpoint}/v1/{project_id}/subnets 响应参数中的neutron_network_id得到。 约束限制: - 已绑定的下联面子网也在传参elb_virsubnet_ids列表中,则绑定关系保留。 - 已绑定的下联面子网若不在传参elb_virsubnet_ids列表中, 则将移除LB与该下联面子网的关联关系。但不允许移除已被ELB使用的子网,否则将报错,不做任何修改。 - 在传参elb_virsubnet_ids列表中但不在已绑定的下联面子网列表中,则将新增LB与下联面的绑定关系。 - 所有elb_virsubnet_ids中的ID同属于该LB所在的VPC。 - 不支持边缘云子网。 diff --git a/services/elb/v3/model/model_update_member_option.go b/services/elb/v3/model/model_update_member_option.go index 9998c993f9..a8ec133ba3 100644 --- a/services/elb/v3/model/model_update_member_option.go +++ b/services/elb/v3/model/model_update_member_option.go @@ -9,13 +9,13 @@ import ( // UpdateMemberOption 更新后端服务器请求参数。 type UpdateMemberOption struct { - // 后端云服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端云服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 请勿传入该字段。 + // 后端服务器的管理状态。 取值:true、false。 虽然创建、更新请求支持该字段,但实际取值决定于后端服务器对应的弹性云服务器是否存在。若存在,该值为true,否则,该值为false。 请勿传入该字段。 AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 后端云服务器名称。 + // 后端服务器名称。 Name *string `json:"name,omitempty"` - // 后端云服务器的权重,请求将根据pool配置的负载均衡算法和后端云服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明:若所在pool的lb_algorithm取值为SOURCE_IP,该字段无效。 + // 后端服务器的权重,请求将根据pool配置的负载均衡算法和后端服务器的权重进行负载分发。 权重值越大,分发的请求越多。权重为0的后端不再接受新的请求。 取值:0-100,默认1。 使用说明:若所在pool的lb_algorithm取值为SOURCE_IP或QUIC_CID,该字段无效。 Weight *int32 `json:"weight,omitempty"` // 后端服务器端口。 在开启端口透传的pool下的member,该字段无法更新。 [网关型LB,即pool协议为IP时,protocol_port必须设置为0。](tag:hws_eu) diff --git a/services/elb/v3/model/model_update_pool_option.go b/services/elb/v3/model/model_update_pool_option.go index d070bd765b..bb32ef44e9 100644 --- a/services/elb/v3/model/model_update_pool_option.go +++ b/services/elb/v3/model/model_update_pool_option.go @@ -12,16 +12,16 @@ import ( // UpdatePoolOption 更新后端服务器组请求参数。 type UpdatePoolOption struct { - // 后端云服务器组的管理状态,只支持更新为true。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) + // 后端服务器组的管理状态,只支持更新为true。 [不支持该字段,请勿使用。](tag:dt,dt_test,hcso_dt) AdminStateUp *bool `json:"admin_state_up,omitempty"` - // 后端云服务器组的描述信息。 + // 后端服务器组的描述信息。 Description *string `json:"description,omitempty"` - // 后端云服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [- 2_TUPLE_HASH:二元组hash算法,仅IP类型的pool支持。 - 3_TUPLE_HASH:三元组hash算法,仅IP类型的pool支持。 - 5_TUPLE_HASH:五元组hash算法,仅IP类型的pool支持。 - IP型pool不指定该字段时,默认设置为5_TUPLE_HASH。](tag:hws_eu) 使用说明: - 当该字段的取值为SOURCE_IP时,后端云服务器组绑定的后端云服务器的weight字段无效。 - 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) + // 后端服务器组的负载均衡算法。 取值: - ROUND_ROBIN:加权轮询算法。 - LEAST_CONNECTIONS:加权最少连接算法。 - SOURCE_IP:源IP算法。 - QUIC_CID:连接ID算法。 [- 2_TUPLE_HASH:二元组hash算法,仅IP类型的pool支持。 - 3_TUPLE_HASH:三元组hash算法,仅IP类型的pool支持。 - 5_TUPLE_HASH:五元组hash算法,仅IP类型的pool支持。 - IP型pool不指定该字段时,默认设置为5_TUPLE_HASH。](tag:hws_eu) 使用说明: - 当该字段的取值为SOURCE_IP或QUIC_CID时,后端服务器组绑定的后端服务器的weight字段无效。 - 只有pool的protocol为QUIC时,才支持QUIC_CID算法。 [不支持QUIC_CID。](tag:tm,hws_eu,g42,hk_g42,hcso_dt) [荷兰region不支持QUIC_CID。](tag:dt,dt_test) LbAlgorithm *string `json:"lb_algorithm,omitempty"` - // 后端云服务器组的名称。 + // 后端服务器组的名称。 Name *string `json:"name,omitempty"` SessionPersistence *UpdatePoolSessionPersistenceOption `json:"session_persistence,omitempty"` @@ -31,7 +31,7 @@ type UpdatePoolOption struct { // 是否开启删除保护。 取值:false不开启,true开启。 > 退场时需要先关闭所有资源的删除保护开关。 [不支持该字段,请勿使用。](tag:hws_eu,g42,hk_g42) [荷兰region不支持该字段,请勿使用。](tag:dt,dt_test) MemberDeletionProtectionEnable *bool `json:"member_deletion_protection_enable,omitempty"` - // 后端云服务器组关联的虚拟私有云的ID。 [- pool的protocol为IP时,必须指定vpc_id,且与LB的vpc_id相同。](tag:hws_eu) 只有vpc_id为空时允许更新。 + // 后端服务器组关联的虚拟私有云的ID。 [- pool的protocol为IP时,必须指定vpc_id,且与LB的vpc_id相同。](tag:hws_eu) 只有vpc_id为空时允许更新。 VpcId *string `json:"vpc_id,omitempty"` // 后端服务器组的类型。 取值: - instance:允许任意类型的后端,type指定为该类型时,vpc_id是必选字段。 - ip:只能添加跨VPC后端,type指定为该类型时,vpc_id不允许指定。[pool的protocol为IP时,type不允许设置为ip。](tag:hws_eu)] - 空字符串(\"\"):允许任意类型的后端 使用说明: - 只有type为空时允许更新,不允许从非空更新为空。 diff --git a/services/elb/v3/model/model_update_redirect_pools_extend_config.go b/services/elb/v3/model/model_update_redirect_pools_extend_config.go index 29f7f184ac..78a02289f7 100644 --- a/services/elb/v3/model/model_update_redirect_pools_extend_config.go +++ b/services/elb/v3/model/model_update_redirect_pools_extend_config.go @@ -6,7 +6,7 @@ import ( "strings" ) -// UpdateRedirectPoolsExtendConfig 转发到的后端主机组的URL配置。 +// UpdateRedirectPoolsExtendConfig 参数解释:转发到的后端主机组的URL配置。 type UpdateRedirectPoolsExtendConfig struct { // 参数解释:是否开启url重定向 diff --git a/services/elb/v3/model/model_update_rule_condition.go b/services/elb/v3/model/model_update_rule_condition.go index 7d61ec02a5..7240bdf06c 100644 --- a/services/elb/v3/model/model_update_rule_condition.go +++ b/services/elb/v3/model/model_update_rule_condition.go @@ -12,7 +12,7 @@ type UpdateRuleCondition struct { // 参数解释:匹配项的名称。 约束限制:同一个rule内的conditions列表中所有key必须相同。 取值范围: - 当转发规则类别type为HOST_NAME、PATH、METHOD、SOURCE_IP时,该字段固定为空字符串。 - 当转发规则类别type为HEADER时,key表示请求头参数的名称,value表示请求头参数的值。 key的长度限制1-40字符,只允许包含字母、数字和-_。 - 当转发规则类别type为QUERY_STRING时,key表示查询参数的名称,value表示查询参数的值。 key的长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号, '#','&','|',‘%’,‘~’,字母区分大小写。 Key *string `json:"key,omitempty"` - // 参数解释:匹配项的值。 约束限制: - 同一个rule内的conditions列表中所有value不允许重复。 - 同一个rule内的conditions列表中所有value不允许重复。 取值范围: - 当转发规则类别type为HOST_NAME时,key固定为空字符串,value表示域名的值。 value长度1-128字符,字符串只能包含英文字母、数字、-.\\*, 必须以字母、数字或\\*开头,\\*只能出现在开头且必须以\\*.开始。 - 当转发规则类别type为PATH时,key固定为空字符串,value表示请求路径的值。 value长度1-128字符。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时, 字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:|\\/()\\[\\]{},且必须以\"/\"开头。 - 当转发规则类别type为HEADER时,key表示请求头参数的名称,value表示请求头参数的值。 value长度限制1-128字符,不支持空格, 双引号,支持以下通配符:*(匹配0个或更多字符)和?(正好匹配1个字符)。 - 当转发规则类别type为QUERY_STRING时,key表示查询参数的名称,value表示查询参数的值。 value长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号, '#','&','|',‘%’,‘~’,字母区分大小写,支持通配符:*(匹配0个或更多字符)和?(正好匹配1个字符) - 当转发规则类别type为METHOD时,key固定为空字符串,value表示请求方式。value取值范围为:GET, PUT, POST,DELETE, PATCH, HEAD, OPTIONS。 - 当转发规则类别type为SOURCE_IP时,key固定为空字符串,value表示请求源地址。 value为CIDR格式,支持ipv4,ipv6。例如192.168.0.2/32,2049::49/64。 + // 参数解释:匹配项的值。 约束限制: - 同一个rule内的conditions列表中所有key必须相同。 - 同一个rule内的conditions列表中所有value不允许重复。 取值范围: - 当转发规则类别type为HOST_NAME时,key固定为空字符串,value表示域名的值。 value长度1-128字符,字符串只能包含英文字母、数字、-.\\*, 必须以字母、数字或\\*开头,\\*只能出现在开头且必须以\\*.开始。 - 当转发规则类别type为PATH时,key固定为空字符串,value表示请求路径的值。 value长度1-128字符。当转发规则的compare_type为STARTS_WITH、EQUAL_TO时, 字符串只能包含英文字母、数字、_~';@^-%#&$.*+?,=!:|\\/()\\[\\]{},且必须以\"/\"开头。 - 当转发规则类别type为HEADER时,key表示请求头参数的名称,value表示请求头参数的值。 value长度限制1-128字符,不支持空格, 双引号,支持以下通配符:*(匹配0个或更多字符)和?(正好匹配1个字符)。 - 当转发规则类别type为QUERY_STRING时,key表示查询参数的名称,value表示查询参数的值。 value长度限制为1-128字符,不支持空格,中括号,大括号,尖括号,反斜杠,双引号, '#','&','|',‘%’,‘~’,字母区分大小写,支持通配符:*(匹配0个或更多字符)和?(正好匹配1个字符) - 当转发规则类别type为METHOD时,key固定为空字符串,value表示请求方式。value取值范围为:GET, PUT, POST,DELETE, PATCH, HEAD, OPTIONS。 - 当转发规则类别type为SOURCE_IP时,key固定为空字符串,value表示请求源地址。 value为CIDR格式,支持ipv4,ipv6。例如192.168.0.2/32,2049::49/64。 Value *string `json:"value,omitempty"` } diff --git a/services/evs/v2/evs_meta.go b/services/evs/v2/evs_meta.go index a5a680acef..e1cd5e1a48 100644 --- a/services/evs/v2/evs_meta.go +++ b/services/evs/v2/evs_meta.go @@ -404,10 +404,6 @@ func GenReqDefForListVolumes() *def.HttpRequestDef { WithName("ServerId"). WithJsonTag("server_id"). WithLocationType(def.Query)) - reqDefBuilder.WithRequestField(def.NewFieldDef(). - WithName("SnapshotPolicyId"). - WithJsonTag("snapshot_policy_id"). - WithLocationType(def.Query)) requestDef := reqDefBuilder.Build() return requestDef diff --git a/services/evs/v2/model/model_list_volumes_request.go b/services/evs/v2/model/model_list_volumes_request.go index a906f338c9..fa81516f12 100644 --- a/services/evs/v2/model/model_list_volumes_request.go +++ b/services/evs/v2/model/model_list_volumes_request.go @@ -62,9 +62,6 @@ type ListVolumesRequest struct { // 云服务器id。 ServerId *string `json:"server_id,omitempty"` - - // 自动快照策略ID - SnapshotPolicyId *string `json:"snapshot_policy_id,omitempty"` } func (o ListVolumesRequest) String() string { diff --git a/services/evs/v2/model/model_volume_detail.go b/services/evs/v2/model/model_volume_detail.go index 3e34e96bbd..779372e84b 100644 --- a/services/evs/v2/model/model_volume_detail.go +++ b/services/evs/v2/model/model_volume_detail.go @@ -114,9 +114,6 @@ type VolumeDetail struct { Iops *Iops `json:"iops,omitempty"` Throughput *Throughput `json:"throughput,omitempty"` - - // 云硬盘关联的自动快照策略ID - SnapshotPolicyId *string `json:"snapshot_policy_id,omitempty"` } func (o VolumeDetail) String() string { diff --git a/services/gaussdb/v3/model/model_check_starrocks_params_response.go b/services/gaussdb/v3/model/model_check_starrocks_params_response.go index 15ada2115d..ebf31589f9 100644 --- a/services/gaussdb/v3/model/model_check_starrocks_params_response.go +++ b/services/gaussdb/v3/model/model_check_starrocks_params_response.go @@ -10,8 +10,8 @@ import ( type CheckStarrocksParamsResponse struct { // 参数之间区别的集合。 - CheckStarrocksParamsResponce *[]ParamGroupParameterDifferences `json:"check_starrocks_params_responce,omitempty"` - HttpStatusCode int `json:"-"` + Differences *[]ParamGroupParameterDifferences `json:"differences,omitempty"` + HttpStatusCode int `json:"-"` } func (o CheckStarrocksParamsResponse) String() string { diff --git a/services/gaussdb/v3/model/model_star_rocks_create_request.go b/services/gaussdb/v3/model/model_star_rocks_create_request.go index a32e201643..69a64b84ec 100644 --- a/services/gaussdb/v3/model/model_star_rocks_create_request.go +++ b/services/gaussdb/v3/model/model_star_rocks_create_request.go @@ -47,6 +47,9 @@ type StarRocksCreateRequest struct { TimeZone *string `json:"time_zone,omitempty"` TagsInfo *StarRocksCreateRequestTagsInfo `json:"tags_info"` + + // 实例安全组ID。默认与Taurus安全组ID一致。 + SecurityGroupId *string `json:"security_group_id,omitempty"` } func (o StarRocksCreateRequest) String() string { diff --git a/services/gaussdbforopengauss/v3/model/model_delete_manual_backup_response.go b/services/gaussdbforopengauss/v3/model/model_delete_manual_backup_response.go index 11c397f5f6..1b3463c71b 100644 --- a/services/gaussdbforopengauss/v3/model/model_delete_manual_backup_response.go +++ b/services/gaussdbforopengauss/v3/model/model_delete_manual_backup_response.go @@ -8,7 +8,13 @@ import ( // DeleteManualBackupResponse Response Object type DeleteManualBackupResponse struct { - HttpStatusCode int `json:"-"` + + // 备份ID。 + BackupId *string `json:"backup_id,omitempty"` + + // 备份名称。 + BackupName *string `json:"backup_name,omitempty"` + HttpStatusCode int `json:"-"` } func (o DeleteManualBackupResponse) String() string { diff --git a/services/kvs/v1/model/model_create_table_request_body.go b/services/kvs/v1/model/model_create_table_request_body.go index eadd794055..37946219ff 100644 --- a/services/kvs/v1/model/model_create_table_request_body.go +++ b/services/kvs/v1/model/model_create_table_request_body.go @@ -11,6 +11,11 @@ type CreateTableRequestBody struct { // 表名,仓内唯一。 TableName string `bson:"table_name"` + // 表计费模式,可为\"provisioned\"或\"on_demand\" - 预置模式:provisioned - 按需模式:on_demand + BillMode *string `bson:"bill_mode,omitempty"` + + ProvisionedThroughput *ProvisionedThroughput `bson:"provisioned_throughput,omitempty"` + PrimaryKeySchema *PrimaryKeySchema `bson:"primary_key_schema"` // 本地二级索引模板,可以多个。 diff --git a/services/kvs/v1/model/model_create_table_response.go b/services/kvs/v1/model/model_create_table_response.go index efd2141cbc..e3e93cfb6a 100644 --- a/services/kvs/v1/model/model_create_table_response.go +++ b/services/kvs/v1/model/model_create_table_response.go @@ -12,6 +12,11 @@ type CreateTableResponse struct { // 表名,仓内唯一。 TableName *string `bson:"table_name,omitempty"` + // 计费模式,可为\"provisioned\"或\"on_demand\" + BillMode *string `bson:"bill_mode,omitempty"` + + ProvisionedThroughput *ProvisionedThroughput `bson:"provisioned_throughput,omitempty"` + PrimaryKeySchema *PrimaryKeySchema `bson:"primary_key_schema,omitempty"` // 本地二级索引模板,可以多个。 diff --git a/services/kvs/v1/model/model_global_secondary_index.go b/services/kvs/v1/model/model_global_secondary_index.go index e8fb9b11c3..b28dec04d5 100644 --- a/services/kvs/v1/model/model_global_secondary_index.go +++ b/services/kvs/v1/model/model_global_secondary_index.go @@ -6,7 +6,6 @@ import ( "strings" ) -// GlobalSecondaryIndex 全局二级索引定义,元素key为数组下标 type GlobalSecondaryIndex struct { // 二级索引名称,表内唯一。 @@ -23,6 +22,8 @@ type GlobalSecondaryIndex struct { // 摘要字段名数组。 AbstractFields *[]string `bson:"abstract_fields,omitempty"` + + ProvisionedThroughput *ProvisionedThroughput `bson:"provisioned_throughput,omitempty"` } func (o GlobalSecondaryIndex) String() string { diff --git a/services/kvs/v1/model/model_pre_split_key_options.go b/services/kvs/v1/model/model_pre_split_key_options.go index d7d98d11aa..a97fbeec15 100644 --- a/services/kvs/v1/model/model_pre_split_key_options.go +++ b/services/kvs/v1/model/model_pre_split_key_options.go @@ -7,13 +7,10 @@ import ( "strings" ) -// PreSplitKeyOptions 在hash分区时,预分裂分区数量。 +// PreSplitKeyOptions 按照设定的键值前缀进行预分裂。 type PreSplitKeyOptions struct { - // 在hash分区时,预分裂分区数量。 - HashCount *int32 `bson:"hash_count,omitempty"` - - // 在range分区模式有效,最大1000个,与\"hash_count\"二选一。 + // 在range分区模式有效,最大10个。 RangeSplitPoints *[]bson.D `bson:"range_split_points,omitempty"` } diff --git a/services/kvs/v1/model/model_provisioned_throughput.go b/services/kvs/v1/model/model_provisioned_throughput.go new file mode 100644 index 0000000000..78dd00813c --- /dev/null +++ b/services/kvs/v1/model/model_provisioned_throughput.go @@ -0,0 +1,25 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +type ProvisionedThroughput struct { + + // 预置表级读请求单元数 + Rcu int64 `bson:"rcu"` + + // 预置表级写请求单元数 + Wcu int64 `bson:"wcu"` +} + +func (o ProvisionedThroughput) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ProvisionedThroughput struct{}" + } + + return strings.Join([]string{"ProvisionedThroughput", string(data)}, " ") +} diff --git a/services/metastudio/v1/metaStudio_client.go b/services/metastudio/v1/metaStudio_client.go index 5db68064fe..5f76c3ba96 100644 --- a/services/metastudio/v1/metaStudio_client.go +++ b/services/metastudio/v1/metaStudio_client.go @@ -2836,7 +2836,11 @@ func (c *MetaStudioClient) ListTtsaJobsInvoker(request *model.ListTtsaJobsReques // CreateTtsAudition 创建TTS试听任务 // -// 该接口用于创建生成播报内容的语音试听文件任务。第三方音色试听需要收费,收费标准参考:https://marketplace.huaweicloud.com/product/OFFI919400645308506112#productid=OFFI919400645308506112 +// 该接口用于创建生成播报内容的语音试听文件任务。 +// +// [第三方音色试听需要收费,收费标准参考:https://marketplace.huaweicloud.com/product/OFFI919400645308506112#productid=OFFI919400645308506112](tag:hc) +// +// [第三方音色试听需要收费,收费标准参考:https://marketplace.huaweicloud.com/intl/contents/939bf377-3005-472b-a4e2-383911e6102f](tag:hk) // // Please refer to HUAWEI cloud API Explorer for details. func (c *MetaStudioClient) CreateTtsAudition(request *model.CreateTtsAuditionRequest) (*model.CreateTtsAuditionResponse, error) { diff --git a/services/metastudio/v1/model/model_control_smart_live_req.go b/services/metastudio/v1/model/model_control_smart_live_req.go index 38db3d305e..afabd104d9 100644 --- a/services/metastudio/v1/model/model_control_smart_live_req.go +++ b/services/metastudio/v1/model/model_control_smart_live_req.go @@ -12,7 +12,7 @@ import ( // ControlSmartLiveReq 控制命令。 type ControlSmartLiveReq struct { - // **参数解释**: 命令名称。 **约束限制**: 不限制 **取值范围**: * INSERT_PLAY_SCRIPT:插入表演脚本。用于互动回复。数字人不变,背景不变。params结构定义:[PlayTextInfo](metastudio_02_0014.html#section0)。 * INSERT_PLAY_AUDIO:插入驱动音频。用于音频直接驱动。数字人不变,背景不变。params结构定义:[PlayAudioInfo](metastudio_02_0014.html#section1)。 * REWRITE_PLAY_SCRIPT:动态编辑未播放剧本。params结构定义:[scene_scripts](CreateSmartLiveRoom.html)。 * REWRITE_INTERACTION_RULES:动态修改互动规则。params结构定义:[interaction_rules](CreateSmartLiveRoom.html)。 * GET_CURRENT_PLAYING_SCRIPTS:查询本轮剧本列表。响应为:[LivePlayingScriptList](metastudio_02_0014.html#section2)结构。 * SHOW_LAYER:显示导播素材,用于直播导播。params结构定义:LiveGuideRuleInfo。 * REFRESH_OUTPUT_URL:更新当前任务的rtmp推流信息。params结构定义: RefreshOutputUrlConfig。 * GET_LIVE_JOB_CONFIG_INFO:获取任务中的房间信息。params结构定义:与[直播间详情响应体](ShowSmartLiveRoom.html)一致。 **默认取值**: 不涉及 + // **参数解释**: 命令名称。 **约束限制**: 不限制 **取值范围**: * INSERT_PLAY_SCRIPT:插入表演脚本。用于互动回复。数字人不变,背景不变。params结构定义:[PlayTextInfo](metastudio_02_0014.xml#section0)。 * INSERT_PLAY_AUDIO:插入驱动音频。用于音频直接驱动。数字人不变,背景不变。params结构定义:[PlayAudioInfo](metastudio_02_0014.xml#section1)。 * REWRITE_PLAY_SCRIPT:动态编辑未播放剧本。params结构定义:[scene_scripts](CreateSmartLiveRoom.xml)。 * REWRITE_INTERACTION_RULES:动态修改互动规则。params结构定义:[interaction_rules](CreateSmartLiveRoom.xml)。 * GET_CURRENT_PLAYING_SCRIPTS:查询本轮剧本列表。响应为:[LivePlayingScriptList](metastudio_02_0014.xml#section2)结构。 * SHOW_LAYER:显示导播素材,用于直播导播。params结构定义:LiveGuideRuleInfo。 * REFRESH_OUTPUT_URL:更新当前任务的rtmp推流信息。params结构定义: RefreshOutputUrlConfig。 * GET_LIVE_JOB_CONFIG_INFO:获取任务中的房间信息。params结构定义:与[直播间详情响应体](ShowSmartLiveRoom.xml)一致。 * CLEAN_UP_INSERT_COMMAND:清理未播放的插入命令。params结构定义:[CleanUpInsertCommand](metastudio_02_0014.xml#section3) **默认取值**: 不涉及 Command ControlSmartLiveReqCommand `json:"command"` // **参数解释**: 命令参数。 **约束限制**: 不限制 **取值范围**: 参考COMMNAD说明。 **默认取值**: 不涉及 @@ -42,6 +42,7 @@ type ControlSmartLiveReqCommandEnum struct { GET_CURRENT_PLAYING_SCRIPTS ControlSmartLiveReqCommand REFRESH_OUTPUT_URL ControlSmartLiveReqCommand GET_LIVE_JOB_CONFIG_INFO ControlSmartLiveReqCommand + CLEAN_UP_INSERT_COMMAND ControlSmartLiveReqCommand } func GetControlSmartLiveReqCommandEnum() ControlSmartLiveReqCommandEnum { @@ -67,6 +68,9 @@ func GetControlSmartLiveReqCommandEnum() ControlSmartLiveReqCommandEnum { GET_LIVE_JOB_CONFIG_INFO: ControlSmartLiveReqCommand{ value: "GET_LIVE_JOB_CONFIG_INFO", }, + CLEAN_UP_INSERT_COMMAND: ControlSmartLiveReqCommand{ + value: "CLEAN_UP_INSERT_COMMAND", + }, } } diff --git a/services/metastudio/v1/model/model_create_digital_asset_request_body.go b/services/metastudio/v1/model/model_create_digital_asset_request_body.go index c8c0c3768c..d6a6290d9a 100644 --- a/services/metastudio/v1/model/model_create_digital_asset_request_body.go +++ b/services/metastudio/v1/model/model_create_digital_asset_request_body.go @@ -28,6 +28,9 @@ type CreateDigitalAssetRequestBody struct { AssetExtraMeta *AssetExtraMeta `json:"asset_extra_meta,omitempty"` + // **参数解释**: 设置系统属性。内部参数,普通用户无需设置。 **约束限制**: 不涉及 **取值范围**: 个数最大为50个。 **默认取值**: 不涉及 + SystemProperties *[]SystemProperty `json:"system_properties,omitempty"` + SharedConfig *AssetSharedConfig `json:"shared_config,omitempty"` // **参数解释**: 是否需要生成封面。 **约束限制**: 仅用于视频类资产。 **取值范围**: * true:自动生成封面。 * false:不自动生成封面。 diff --git a/services/metastudio/v1/model/model_create_smart_live_room_req.go b/services/metastudio/v1/model/model_create_smart_live_room_req.go index 2ce684ed2e..0cd915ad3a 100644 --- a/services/metastudio/v1/model/model_create_smart_live_room_req.go +++ b/services/metastudio/v1/model/model_create_smart_live_room_req.go @@ -24,6 +24,8 @@ type CreateSmartLiveRoomReq struct { // 默认直播剧本列表。 SceneScripts *[]LiveVideoScriptInfo `json:"scene_scripts,omitempty"` + InteractionConfig *LiveRoomInteractionConfig `json:"interaction_config,omitempty"` + // 互动规则列表 InteractionRules *[]LiveRoomInteractionRuleInfo `json:"interaction_rules,omitempty"` diff --git a/services/metastudio/v1/model/model_execute_smart_live_command_response.go b/services/metastudio/v1/model/model_execute_smart_live_command_response.go index b5cf4e4b91..2256393825 100644 --- a/services/metastudio/v1/model/model_execute_smart_live_command_response.go +++ b/services/metastudio/v1/model/model_execute_smart_live_command_response.go @@ -15,7 +15,7 @@ type ExecuteSmartLiveCommandResponse struct { // 控制命令ID CommandId *string `json:"command_id,omitempty"` - // 命令名称。 - INSERT_PLAY_SCRIPT:插入表演脚本。用于互动回复。数字人不变,背景不变。params结构定义:ShootScript。 - REWRITE_PLAY_SCRIPT:动态编辑未播放剧本。params结构定义:scene_scripts。 - INSERT_PLAY_AUDIO:插入驱动音频。用于音频直接驱动。数字人不变,背景不变。params结构定义:PlayAudioInfo。 - GET_CURRENT_PLAYING_SCRIPTS:查询本轮剧本列表。响应为LivePlayingScriptList结构。 - REFRESH_OUTPUT_URL:更新当前任务的rtmp推流信息。params结构定义: RefreshOutputUrlConfig。 - REWRITE_INTERACTION_RULES:动态修改互动规则。params结构定义:interaction_rules。 - GET_LIVE_JOB_CONFIG_INFO:获取任务中的房间信息。params结构定义:SmartLiveRoomInfo。 + // 命令名称。 - INSERT_PLAY_SCRIPT:插入表演脚本。用于互动回复。数字人不变,背景不变。params结构定义:ShootScript。 - REWRITE_PLAY_SCRIPT:动态编辑未播放剧本。params结构定义:scene_scripts。 - INSERT_PLAY_AUDIO:插入驱动音频。用于音频直接驱动。数字人不变,背景不变。params结构定义:PlayAudioInfo。 - GET_CURRENT_PLAYING_SCRIPTS:查询本轮剧本列表。响应为LivePlayingScriptList结构。 - REFRESH_OUTPUT_URL:更新当前任务的rtmp推流信息。params结构定义: RefreshOutputUrlConfig。 - REWRITE_INTERACTION_RULES:动态修改互动规则。params结构定义:interaction_rules。 - GET_LIVE_JOB_CONFIG_INFO:获取任务中的房间信息。params结构定义:SmartLiveRoomInfo。 - CLEAN_UP_INSERT_COMMAND:清理未播放的插入命令。params结构定义:[CleanUpInsertCommand](metastudio_02_0014.html#section3) Command *ExecuteSmartLiveCommandResponseCommand `json:"command,omitempty"` // 命令执行结果 @@ -46,6 +46,7 @@ type ExecuteSmartLiveCommandResponseCommandEnum struct { REFRESH_OUTPUT_URL ExecuteSmartLiveCommandResponseCommand REWRITE_INTERACTION_RULES ExecuteSmartLiveCommandResponseCommand GET_LIVE_JOB_CONFIG_INFO ExecuteSmartLiveCommandResponseCommand + CLEAN_UP_INSERT_COMMAND ExecuteSmartLiveCommandResponseCommand } func GetExecuteSmartLiveCommandResponseCommandEnum() ExecuteSmartLiveCommandResponseCommandEnum { @@ -71,6 +72,9 @@ func GetExecuteSmartLiveCommandResponseCommandEnum() ExecuteSmartLiveCommandResp GET_LIVE_JOB_CONFIG_INFO: ExecuteSmartLiveCommandResponseCommand{ value: "GET_LIVE_JOB_CONFIG_INFO", }, + CLEAN_UP_INSERT_COMMAND: ExecuteSmartLiveCommandResponseCommand{ + value: "CLEAN_UP_INSERT_COMMAND", + }, } } diff --git a/services/metastudio/v1/model/model_live_room_interaction_config.go b/services/metastudio/v1/model/model_live_room_interaction_config.go new file mode 100644 index 0000000000..ad3c682fc5 --- /dev/null +++ b/services/metastudio/v1/model/model_live_room_interaction_config.go @@ -0,0 +1,80 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "errors" + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/converter" + + "strings" +) + +// LiveRoomInteractionConfig 直播使用互动配置信息 +type LiveRoomInteractionConfig struct { + + // 播放类型。 - APPEND:追加,放置在场景播放队列尾部 - INSERT: 插入,在两个音频文件,或者文本句末添加。 - PLAY_NOW : 立即插入,收到指令后,立即播放,无需等待句末。 + PlayType *LiveRoomInteractionConfigPlayType `json:"play_type,omitempty"` + + // 忽略互动回复中断句子后半句不再播放。用于立即中断场景。默认不忽略。 + IgnoreCurrentSentence *bool `json:"ignore_current_sentence,omitempty"` +} + +func (o LiveRoomInteractionConfig) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "LiveRoomInteractionConfig struct{}" + } + + return strings.Join([]string{"LiveRoomInteractionConfig", string(data)}, " ") +} + +type LiveRoomInteractionConfigPlayType struct { + value string +} + +type LiveRoomInteractionConfigPlayTypeEnum struct { + APPEND LiveRoomInteractionConfigPlayType + INSERT LiveRoomInteractionConfigPlayType + PLAY_NOW LiveRoomInteractionConfigPlayType +} + +func GetLiveRoomInteractionConfigPlayTypeEnum() LiveRoomInteractionConfigPlayTypeEnum { + return LiveRoomInteractionConfigPlayTypeEnum{ + APPEND: LiveRoomInteractionConfigPlayType{ + value: "APPEND", + }, + INSERT: LiveRoomInteractionConfigPlayType{ + value: "INSERT", + }, + PLAY_NOW: LiveRoomInteractionConfigPlayType{ + value: "PLAY_NOW", + }, + } +} + +func (c LiveRoomInteractionConfigPlayType) Value() string { + return c.value +} + +func (c LiveRoomInteractionConfigPlayType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *LiveRoomInteractionConfigPlayType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/metastudio/v1/model/model_show_smart_live_room_response.go b/services/metastudio/v1/model/model_show_smart_live_room_response.go index f9d7eebb7f..0c725c60c2 100644 --- a/services/metastudio/v1/model/model_show_smart_live_room_response.go +++ b/services/metastudio/v1/model/model_show_smart_live_room_response.go @@ -24,6 +24,8 @@ type ShowSmartLiveRoomResponse struct { // 默认直播剧本列表。 SceneScripts *[]LiveVideoScriptInfo `json:"scene_scripts,omitempty"` + InteractionConfig *LiveRoomInteractionConfig `json:"interaction_config,omitempty"` + // 互动规则列表 InteractionRules *[]LiveRoomInteractionRuleInfo `json:"interaction_rules,omitempty"` diff --git a/services/metastudio/v1/model/model_system_property.go b/services/metastudio/v1/model/model_system_property.go index 17b0ebc63d..1baa5f63d8 100644 --- a/services/metastudio/v1/model/model_system_property.go +++ b/services/metastudio/v1/model/model_system_property.go @@ -14,7 +14,7 @@ type SystemProperty struct { // **参数解释**: 操作。 **约束限制**: 系统属性仅为系统设置,普通用户无法修改。 **取值范围**: * ADD:增加 * DELETE:删除 **默认取值**: 不涉及 Action *SystemPropertyAction `json:"action,omitempty"` - // **参数解释**: 系统属性条目。 **约束限制**: 系统属性仅为系统设置,普通用户无法修改。 **取值范围**: 公共资产属性: * BACKGROUND_IMG:视频制作的背景图片。value设置成Yes * CREATED_BY_PLATFORM: 是否平台生成。 分身数字人资产属性: * MATERIAL_IMG:素材图片,用作前景。value设置成Yes。 * MATERIAL_VIDEO:素材视频,用作前景。value设置成Yes。 * BUSSINESS_CARD_VIDEO:名片视频。 * TO_BE_TRANSLATED_VIDEO: 视频翻译的源视频。可取值Yes。 3D数字人资产属性: * STYLE_ID:风格Id。 * DH_ID:数字人ID(尚未启用)。 * PLATFORM_AVAILABLE:是否平台可用(尚未启用)。 * RENDER_ENGINE:引擎类型。value可选UE或MetaEngine。 * BACKGROUND_IMG:视频制作的2D背景图片。value设置成Yes * BACKGROUND_SCENE:视频制作的2D背景场景。value可选Horizontal(横屏)或者Vertical(竖屏) * CREATED_BY_PLATFORM: 是否平台生成 * MATERIAL_IMG:素材图片,用作前景。value设置成Yes。 * MATERIAL_VIDEO:素材视频,用作前景。value设置成Yes。 * BUSSINESS_CARD_VIDEO:名片视频(过期) * BUSINESS_CARD_VIDEO:名片视频 * TO_BE_TRANSLATED_VIDEO: 视频翻译的源视频。可取值Yes * LAYER_CONFIG_ENABLE: 可用前景图层配置 **默认取值**: 不涉及 + // **参数解释**: 系统属性条目。 **约束限制**: 系统属性仅为系统设置,普通用户无法修改。 **取值范围**: 公共资产属性: * BACKGROUND_IMG:视频制作的背景图片。value设置成Yes * CREATED_BY_PLATFORM: 是否平台生成。 分身数字人资产属性: * MATERIAL_IMG:素材图片,用作图片图层。value设置成Yes。 * MATERIAL_VIDEO:素材视频,用作视频图层。value设置成Yes。 * DIGITAL_HUMAN_2D_VIDEO:分身数字人视频。 * DIGITAL_HUMAN_3D_VIDEO:3D数字人视频。 * BUSINESS_CARD_VIDEO:名片视频。 * BUSSINESS_CARD_VIDEO:名片视频(过期) * PHOTO_VIDEO:照片数字人视频。 视频翻译资产属性: * TO_BE_TRANSLATED_VIDEO: 视频翻译的源视频。可取值Yes。 * TRANSLATED_VIDEO: 视频翻译后的视频 3D数字人资产属性: * STYLE_ID:风格Id。 * DH_ID:数字人ID(尚未启用)。 * PLATFORM_AVAILABLE:是否平台可用(尚未启用)。 * RENDER_ENGINE:引擎类型。value可选UE或MetaEngine。 * BACKGROUND_SCENE:视频制作的2D背景场景。value可选Horizontal(横屏)或者Vertical(竖屏)。 * LAYER_CONFIG_ENABLE: 可用前景图层配置 **默认取值**: 不涉及 Key *SystemPropertyKey `json:"key,omitempty"` // **参数解释**: 系统属性属性值。 **约束限制**: 系统属性仅为系统设置,普通用户无法修改。 **取值范围**: 字符长度1-1024位 **默认取值** 不涉及 @@ -82,19 +82,23 @@ type SystemPropertyKey struct { } type SystemPropertyKeyEnum struct { - STYLE_ID SystemPropertyKey - DH_ID SystemPropertyKey - PLATFORM_AVAILABLE SystemPropertyKey - RENDER_ENGINE SystemPropertyKey - BACKGROUND_IMG SystemPropertyKey - BACKGROUND_SCENE SystemPropertyKey - CREATED_BY_PLATFORM SystemPropertyKey - MATERIAL_IMG SystemPropertyKey - MATERIAL_VIDEO SystemPropertyKey - BUSSINESS_CARD_VIDEO SystemPropertyKey - BUSINESS_CARD_VIDEO SystemPropertyKey - TO_BE_TRANSLATED_VIDEO SystemPropertyKey - LAYER_CONFIG_ENABLE SystemPropertyKey + STYLE_ID SystemPropertyKey + DH_ID SystemPropertyKey + PLATFORM_AVAILABLE SystemPropertyKey + RENDER_ENGINE SystemPropertyKey + BACKGROUND_IMG SystemPropertyKey + BACKGROUND_SCENE SystemPropertyKey + CREATED_BY_PLATFORM SystemPropertyKey + MATERIAL_IMG SystemPropertyKey + MATERIAL_VIDEO SystemPropertyKey + DIGITAL_HUMAN_2_D_VIDEO SystemPropertyKey + DIGITAL_HUMAN_3_D_VIDEO SystemPropertyKey + BUSSINESS_CARD_VIDEO SystemPropertyKey + BUSINESS_CARD_VIDEO SystemPropertyKey + PHOTO_VIDEO SystemPropertyKey + TO_BE_TRANSLATED_VIDEO SystemPropertyKey + TRANSLATED_VIDEO SystemPropertyKey + LAYER_CONFIG_ENABLE SystemPropertyKey } func GetSystemPropertyKeyEnum() SystemPropertyKeyEnum { @@ -126,15 +130,27 @@ func GetSystemPropertyKeyEnum() SystemPropertyKeyEnum { MATERIAL_VIDEO: SystemPropertyKey{ value: "MATERIAL_VIDEO", }, + DIGITAL_HUMAN_2_D_VIDEO: SystemPropertyKey{ + value: "DIGITAL_HUMAN_2D_VIDEO", + }, + DIGITAL_HUMAN_3_D_VIDEO: SystemPropertyKey{ + value: "DIGITAL_HUMAN_3D_VIDEO", + }, BUSSINESS_CARD_VIDEO: SystemPropertyKey{ value: "BUSSINESS_CARD_VIDEO", }, BUSINESS_CARD_VIDEO: SystemPropertyKey{ value: "BUSINESS_CARD_VIDEO", }, + PHOTO_VIDEO: SystemPropertyKey{ + value: "PHOTO_VIDEO", + }, TO_BE_TRANSLATED_VIDEO: SystemPropertyKey{ value: "TO_BE_TRANSLATED_VIDEO", }, + TRANSLATED_VIDEO: SystemPropertyKey{ + value: "TRANSLATED_VIDEO", + }, LAYER_CONFIG_ENABLE: SystemPropertyKey{ value: "LAYER_CONFIG_ENABLE", }, diff --git a/services/metastudio/v1/model/model_trigger_process.go b/services/metastudio/v1/model/model_trigger_process.go index b59852d1f3..350d7472a8 100644 --- a/services/metastudio/v1/model/model_trigger_process.go +++ b/services/metastudio/v1/model/model_trigger_process.go @@ -36,6 +36,9 @@ type TriggerProcess struct { // **参数解释**: 机器人ID。 **约束限制**: reply_mode为INTELLIGENT_REPLY时必填,智能交互配置的大模型机器人ID。 获取方法请参考[创建应用](CreateRobot.xml)。 **取值范围**: 字符长度0-64位。 **默认取值**: 不涉及 RobotId *string `json:"robot_id,omitempty"` + + // 回复播放类型。 - APPEND:追加,放置在场景播放队列尾部 - INSERT: 插入,在两个音频文件,或者文本句末添加。 - PLAY_NOW : 立即插入,收到指令后,立即播放,无需等待句末。 + PlayType *TriggerProcessPlayType `json:"play_type,omitempty"` } func (o TriggerProcess) String() string { @@ -195,3 +198,54 @@ func (c *TriggerProcessReplyRole) UnmarshalJSON(b []byte) error { return errors.New("convert enum data to string error") } } + +type TriggerProcessPlayType struct { + value string +} + +type TriggerProcessPlayTypeEnum struct { + APPEND TriggerProcessPlayType + INSERT TriggerProcessPlayType + PLAY_NOW TriggerProcessPlayType +} + +func GetTriggerProcessPlayTypeEnum() TriggerProcessPlayTypeEnum { + return TriggerProcessPlayTypeEnum{ + APPEND: TriggerProcessPlayType{ + value: "APPEND", + }, + INSERT: TriggerProcessPlayType{ + value: "INSERT", + }, + PLAY_NOW: TriggerProcessPlayType{ + value: "PLAY_NOW", + }, + } +} + +func (c TriggerProcessPlayType) Value() string { + return c.value +} + +func (c TriggerProcessPlayType) MarshalJSON() ([]byte, error) { + return utils.Marshal(c.value) +} + +func (c *TriggerProcessPlayType) UnmarshalJSON(b []byte) error { + myConverter := converter.StringConverterFactory("string") + if myConverter == nil { + return errors.New("unsupported StringConverter type: string") + } + + interf, err := myConverter.CovertStringToInterface(strings.Trim(string(b[:]), "\"")) + if err != nil { + return err + } + + if val, ok := interf.(string); ok { + c.value = val + return nil + } else { + return errors.New("convert enum data to string error") + } +} diff --git a/services/metastudio/v1/model/model_update_smart_live_room_response.go b/services/metastudio/v1/model/model_update_smart_live_room_response.go index a9605a8d77..3616c277a0 100644 --- a/services/metastudio/v1/model/model_update_smart_live_room_response.go +++ b/services/metastudio/v1/model/model_update_smart_live_room_response.go @@ -24,6 +24,8 @@ type UpdateSmartLiveRoomResponse struct { // 默认直播剧本列表。 SceneScripts *[]LiveVideoScriptInfo `json:"scene_scripts,omitempty"` + InteractionConfig *LiveRoomInteractionConfig `json:"interaction_config,omitempty"` + // 互动规则列表 InteractionRules *[]LiveRoomInteractionRuleInfo `json:"interaction_rules,omitempty"` diff --git a/services/metastudio/v1/model/model_voice_capability.go b/services/metastudio/v1/model/model_voice_capability.go index beb225d1ce..61b9fa9e38 100644 --- a/services/metastudio/v1/model/model_voice_capability.go +++ b/services/metastudio/v1/model/model_voice_capability.go @@ -38,6 +38,12 @@ type VoiceCapability struct { // 是否支持缓存。 IsSupportVoiceCache *bool `json:"is_support_voice_cache,omitempty"` + + // **参数解释**: 合成率。 **约束限制**: 不涉及 **取值范围**: * 0-50 + ConversionRate *float32 `json:"conversion_rate,omitempty"` + + // **参数解释**: 英语的合成率。 **约束限制**: 不涉及 **取值范围**: * 0-50 + ConversionRateEn *float32 `json:"conversion_rate_en,omitempty"` } func (o VoiceCapability) String() string { diff --git a/services/rds/v3/model/model_show_recovery_time_window_request.go b/services/rds/v3/model/model_show_recovery_time_window_request.go new file mode 100644 index 0000000000..10b3a9c07e --- /dev/null +++ b/services/rds/v3/model/model_show_recovery_time_window_request.go @@ -0,0 +1,26 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowRecoveryTimeWindowRequest Request Object +type ShowRecoveryTimeWindowRequest struct { + + // 操作的实例ID + InstanceId string `json:"instance_id"` + + // 语言 + XLanguage *string `json:"X-Language,omitempty"` +} + +func (o ShowRecoveryTimeWindowRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowRecoveryTimeWindowRequest struct{}" + } + + return strings.Join([]string{"ShowRecoveryTimeWindowRequest", string(data)}, " ") +} diff --git a/services/rds/v3/model/model_show_recovery_time_window_response.go b/services/rds/v3/model/model_show_recovery_time_window_response.go new file mode 100644 index 0000000000..3bf03ae28a --- /dev/null +++ b/services/rds/v3/model/model_show_recovery_time_window_response.go @@ -0,0 +1,27 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ShowRecoveryTimeWindowResponse Response Object +type ShowRecoveryTimeWindowResponse struct { + + // 恢复时间窗左边界(不包含) + RecoveryMinTime *string `json:"recovery_min_time,omitempty"` + + // 恢复时间窗右边界(包含) + RecoveryMaxTime *string `json:"recovery_max_time,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o ShowRecoveryTimeWindowResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ShowRecoveryTimeWindowResponse struct{}" + } + + return strings.Join([]string{"ShowRecoveryTimeWindowResponse", string(data)}, " ") +} diff --git a/services/rds/v3/model/model_to_period_req.go b/services/rds/v3/model/model_to_period_req.go new file mode 100644 index 0000000000..de0acfc838 --- /dev/null +++ b/services/rds/v3/model/model_to_period_req.go @@ -0,0 +1,32 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// ToPeriodReq RDS实例按需转包周期请求 +type ToPeriodReq struct { + + // 周期类型。MONTH:月;YEAR:年 + PeriodType string `json:"period_type"` + + // 周期数。 + PeriodNum int32 `json:"period_num"` + + // 是否自动支付。YES:自动扣费;NO:手动支付(默认) + AutoPayPolicy *string `json:"auto_pay_policy,omitempty"` + + // 是否到期自动续期。YES:自动续费;NO:不自动续费(默认) + AutoRenewPolicy *string `json:"auto_renew_policy,omitempty"` +} + +func (o ToPeriodReq) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "ToPeriodReq struct{}" + } + + return strings.Join([]string{"ToPeriodReq", string(data)}, " ") +} diff --git a/services/rds/v3/model/model_update_to_period_request.go b/services/rds/v3/model/model_update_to_period_request.go new file mode 100644 index 0000000000..41c68d3962 --- /dev/null +++ b/services/rds/v3/model/model_update_to_period_request.go @@ -0,0 +1,28 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// UpdateToPeriodRequest Request Object +type UpdateToPeriodRequest struct { + + // 操作的实例ID + InstanceId string `json:"instance_id"` + + // 语言 + XLanguage string `json:"X-Language"` + + Body *ToPeriodReq `json:"body,omitempty"` +} + +func (o UpdateToPeriodRequest) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateToPeriodRequest struct{}" + } + + return strings.Join([]string{"UpdateToPeriodRequest", string(data)}, " ") +} diff --git a/services/rds/v3/model/model_update_to_period_response.go b/services/rds/v3/model/model_update_to_period_response.go new file mode 100644 index 0000000000..e154f8b9e0 --- /dev/null +++ b/services/rds/v3/model/model_update_to_period_response.go @@ -0,0 +1,24 @@ +package model + +import ( + "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/utils" + + "strings" +) + +// UpdateToPeriodResponse Response Object +type UpdateToPeriodResponse struct { + + // 转包周期订单ID + OrderId *string `json:"order_id,omitempty"` + HttpStatusCode int `json:"-"` +} + +func (o UpdateToPeriodResponse) String() string { + data, err := utils.Marshal(o) + if err != nil { + return "UpdateToPeriodResponse struct{}" + } + + return strings.Join([]string{"UpdateToPeriodResponse", string(data)}, " ") +} diff --git a/services/rds/v3/rds_client.go b/services/rds/v3/rds_client.go index 2c4be0f996..55aa03c955 100644 --- a/services/rds/v3/rds_client.go +++ b/services/rds/v3/rds_client.go @@ -3051,6 +3051,27 @@ func (c *RdsClient) UpdateTdeStatusInvoker(request *model.UpdateTdeStatusRequest return &UpdateTdeStatusInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// UpdateToPeriod RDS实例按需转包周期 +// +// # RDS实例按需转包周期 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *RdsClient) UpdateToPeriod(request *model.UpdateToPeriodRequest) (*model.UpdateToPeriodResponse, error) { + requestDef := GenReqDefForUpdateToPeriod() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.UpdateToPeriodResponse), nil + } +} + +// UpdateToPeriodInvoker RDS实例按需转包周期 +func (c *RdsClient) UpdateToPeriodInvoker(request *model.UpdateToPeriodRequest) *UpdateToPeriodInvoker { + requestDef := GenReqDefForUpdateToPeriod() + return &UpdateToPeriodInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // UpgradeDbMajorVersion // // PostgreSQL数据库升级大版本。 @@ -4044,6 +4065,27 @@ func (c *RdsClient) ShowPostgresqlParamValueInvoker(request *model.ShowPostgresq return &ShowPostgresqlParamValueInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} } +// ShowRecoveryTimeWindow 查询wal日志恢复时间窗 +// +// 查询wal日志恢复时间窗 +// +// Please refer to HUAWEI cloud API Explorer for details. +func (c *RdsClient) ShowRecoveryTimeWindow(request *model.ShowRecoveryTimeWindowRequest) (*model.ShowRecoveryTimeWindowResponse, error) { + requestDef := GenReqDefForShowRecoveryTimeWindow() + + if resp, err := c.HcClient.Sync(request, requestDef); err != nil { + return nil, err + } else { + return resp.(*model.ShowRecoveryTimeWindowResponse), nil + } +} + +// ShowRecoveryTimeWindowInvoker 查询wal日志恢复时间窗 +func (c *RdsClient) ShowRecoveryTimeWindowInvoker(request *model.ShowRecoveryTimeWindowRequest) *ShowRecoveryTimeWindowInvoker { + requestDef := GenReqDefForShowRecoveryTimeWindow() + return &ShowRecoveryTimeWindowInvoker{invoker.NewBaseInvoker(c.HcClient, request, requestDef)} +} + // ShowReplayDelayStatus 获取wal日志延迟回放状态 // // 获取wal日志延迟回放状态 diff --git a/services/rds/v3/rds_invoker.go b/services/rds/v3/rds_invoker.go index 2beee23eab..93ac9ab022 100644 --- a/services/rds/v3/rds_invoker.go +++ b/services/rds/v3/rds_invoker.go @@ -1733,6 +1733,18 @@ func (i *UpdateTdeStatusInvoker) Invoke() (*model.UpdateTdeStatusResponse, error } } +type UpdateToPeriodInvoker struct { + *invoker.BaseInvoker +} + +func (i *UpdateToPeriodInvoker) Invoke() (*model.UpdateToPeriodResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.UpdateToPeriodResponse), nil + } +} + type UpgradeDbMajorVersionInvoker struct { *invoker.BaseInvoker } @@ -2297,6 +2309,18 @@ func (i *ShowPostgresqlParamValueInvoker) Invoke() (*model.ShowPostgresqlParamVa } } +type ShowRecoveryTimeWindowInvoker struct { + *invoker.BaseInvoker +} + +func (i *ShowRecoveryTimeWindowInvoker) Invoke() (*model.ShowRecoveryTimeWindowResponse, error) { + if result, err := i.BaseInvoker.Invoke(); err != nil { + return nil, err + } else { + return result.(*model.ShowRecoveryTimeWindowResponse), nil + } +} + type ShowReplayDelayStatusInvoker struct { *invoker.BaseInvoker } diff --git a/services/rds/v3/rds_meta.go b/services/rds/v3/rds_meta.go index 8b62be4b3b..ed0457560c 100644 --- a/services/rds/v3/rds_meta.go +++ b/services/rds/v3/rds_meta.go @@ -3647,6 +3647,31 @@ func GenReqDefForUpdateTdeStatus() *def.HttpRequestDef { return requestDef } +func GenReqDefForUpdateToPeriod() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodPost). + WithPath("/v3/{project_id}/instances/{instance_id}/to-period"). + WithResponse(new(model.UpdateToPeriodResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("Body"). + WithLocationType(def.Body)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForUpgradeDbMajorVersion() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodPost). @@ -4820,6 +4845,27 @@ func GenReqDefForShowPostgresqlParamValue() *def.HttpRequestDef { return requestDef } +func GenReqDefForShowRecoveryTimeWindow() *def.HttpRequestDef { + reqDefBuilder := def.NewHttpRequestDefBuilder(). + WithMethod(http.MethodGet). + WithPath("/v3/{project_id}/instances/{instance_id}/recovery-time"). + WithResponse(new(model.ShowRecoveryTimeWindowResponse)). + WithContentType("application/json") + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("InstanceId"). + WithJsonTag("instance_id"). + WithLocationType(def.Path)) + + reqDefBuilder.WithRequestField(def.NewFieldDef(). + WithName("XLanguage"). + WithJsonTag("X-Language"). + WithLocationType(def.Header)) + + requestDef := reqDefBuilder.Build() + return requestDef +} + func GenReqDefForShowReplayDelayStatus() *def.HttpRequestDef { reqDefBuilder := def.NewHttpRequestDefBuilder(). WithMethod(http.MethodGet). diff --git a/services/rds/v3/region/region.go b/services/rds/v3/region/region.go index f7c9c73d4e..6a6f44195b 100644 --- a/services/rds/v3/region/region.go +++ b/services/rds/v3/region/region.go @@ -62,6 +62,10 @@ var ( "https://rds.my-kualalumpur-1.myhuaweicloud.com") RU_MOSCOW_1 = region.NewRegion("ru-moscow-1", "https://rds.ru-moscow-1.myhuaweicloud.com") + ME_EAST_1 = region.NewRegion("me-east-1", + "https://rds.me-east-1.myhuaweicloud.com") + AF_NORTH_1 = region.NewRegion("af-north-1", + "https://rds.af-north-1.myhuaweicloud.com") ) var staticFields = map[string]*region.Region{ @@ -92,6 +96,8 @@ var staticFields = map[string]*region.Region{ "eu-west-0": EU_WEST_0, "my-kualalumpur-1": MY_KUALALUMPUR_1, "ru-moscow-1": RU_MOSCOW_1, + "me-east-1": ME_EAST_1, + "af-north-1": AF_NORTH_1, } var provider = region.DefaultProviderChain("RDS") diff --git a/services/waf/v1/model/model_create_white_black_ip_rule_request_body.go b/services/waf/v1/model/model_create_white_black_ip_rule_request_body.go index 2331d64f17..a6af0e248f 100644 --- a/services/waf/v1/model/model_create_white_black_ip_rule_request_body.go +++ b/services/waf/v1/model/model_create_white_black_ip_rule_request_body.go @@ -23,6 +23,15 @@ type CreateWhiteBlackIpRuleRequestBody struct { // 创建的Ip地址组id,该参数与addr参数只能使用一个;Ip地址组可在控制台中对象管理->地址组管理中添加。 IpGroupId *string `json:"ip_group_id,omitempty"` + + // 生效模式,默认为permanent(立即生效),创建自定义生效规则时请输入:customize + TimeMode *string `json:"time_mode,omitempty"` + + // 规则生效开始时间,生效模式为自定义时,此字段才有效,请输入时间戳 + Start *int32 `json:"start,omitempty"` + + // 规则生效结束时间,生效模式为自定义时,此字段才有效,请输入时间戳 + Terminal *int32 `json:"terminal,omitempty"` } func (o CreateWhiteBlackIpRuleRequestBody) String() string { diff --git a/services/waf/v1/model/model_create_whiteblackip_rule_response.go b/services/waf/v1/model/model_create_whiteblackip_rule_response.go index 1688652bdd..b89c23a4c3 100644 --- a/services/waf/v1/model/model_create_whiteblackip_rule_response.go +++ b/services/waf/v1/model/model_create_whiteblackip_rule_response.go @@ -27,6 +27,12 @@ type CreateWhiteblackipRuleResponse struct { // 生效模式,默认为permanent(立即生效) TimeMode *string `json:"time_mode,omitempty"` + // 规则生效开始时间,生效模式为自定义时,此字段才有效 + Start *int64 `json:"start,omitempty"` + + // 规则生效结束时间,生效模式为自定义时,此字段才有效 + Terminal *int64 `json:"terminal,omitempty"` + IpGroup *IpGroup `json:"ip_group,omitempty"` // 规则状态,0:关闭,1:开启 diff --git a/services/waf/v1/model/model_delete_white_black_ip_rule_response.go b/services/waf/v1/model/model_delete_white_black_ip_rule_response.go index 7cdc667523..2e3f5c2bb7 100644 --- a/services/waf/v1/model/model_delete_white_black_ip_rule_response.go +++ b/services/waf/v1/model/model_delete_white_black_ip_rule_response.go @@ -36,6 +36,12 @@ type DeleteWhiteBlackIpRuleResponse struct { // 生效模式,默认为permanent(立即生效) TimeMode *string `json:"time_mode,omitempty"` + // 规则生效开始时间,生效模式为自定义时,此字段才有效 + Start *int64 `json:"start,omitempty"` + + // 规则生效结束时间,生效模式为自定义时,此字段才有效 + Terminal *int64 `json:"terminal,omitempty"` + IpGroup *IpGroup `json:"ip_group,omitempty"` HttpStatusCode int `json:"-"` } diff --git a/services/waf/v1/model/model_show_white_black_ip_rule_response.go b/services/waf/v1/model/model_show_white_black_ip_rule_response.go index 6eedd7bb1f..f11adfdca3 100644 --- a/services/waf/v1/model/model_show_white_black_ip_rule_response.go +++ b/services/waf/v1/model/model_show_white_black_ip_rule_response.go @@ -27,6 +27,12 @@ type ShowWhiteBlackIpRuleResponse struct { // 生效模式,默认为permanent(立即生效) TimeMode *string `json:"time_mode,omitempty"` + // 规则生效开始时间,生效模式为自定义时,此字段才有效 + Start *int64 `json:"start,omitempty"` + + // 规则生效结束时间,生效模式为自定义时,此字段才有效 + Terminal *int64 `json:"terminal,omitempty"` + IpGroup *IpGroup `json:"ip_group,omitempty"` // 规则状态,0:关闭,1:开启 diff --git a/services/waf/v1/model/model_update_white_black_ip_rule_request_body.go b/services/waf/v1/model/model_update_white_black_ip_rule_request_body.go index d62007ed39..c9a4169aff 100644 --- a/services/waf/v1/model/model_update_white_black_ip_rule_request_body.go +++ b/services/waf/v1/model/model_update_white_black_ip_rule_request_body.go @@ -23,6 +23,15 @@ type UpdateWhiteBlackIpRuleRequestBody struct { // 创建的Ip地址组id,该参数与addr参数使用一个即可;Ip地址组可在控制台中对象管理->地址组管理中添加。 IpGroupId *string `json:"ip_group_id,omitempty"` + + // 生效模式,默认为permanent(立即生效),创建自定义生效规则时请输入:customize + TimeMode *string `json:"time_mode,omitempty"` + + // 规则生效开始时间,生效模式为自定义时,此字段才有效,请输入时间戳 + Start *int32 `json:"start,omitempty"` + + // 规则生效结束时间,生效模式为自定义时,此字段才有效,请输入时间戳 + Terminal *int32 `json:"terminal,omitempty"` } func (o UpdateWhiteBlackIpRuleRequestBody) String() string { diff --git a/services/waf/v1/model/model_update_whiteblackip_rule_response.go b/services/waf/v1/model/model_update_whiteblackip_rule_response.go index 7db555de2c..b7a58a21ac 100644 --- a/services/waf/v1/model/model_update_whiteblackip_rule_response.go +++ b/services/waf/v1/model/model_update_whiteblackip_rule_response.go @@ -30,6 +30,12 @@ type UpdateWhiteblackipRuleResponse struct { // 生效模式,默认为permanent(立即生效) TimeMode *string `json:"time_mode,omitempty"` + // 规则生效开始时间,生效模式为自定义时,此字段才有效 + Start *int64 `json:"start,omitempty"` + + // 规则生效结束时间,生效模式为自定义时,此字段才有效 + Terminal *int64 `json:"terminal,omitempty"` + IpGroup *IpGroup `json:"ip_group,omitempty"` HttpStatusCode int `json:"-"` } diff --git a/services/waf/v1/model/model_white_black_ip_response_body.go b/services/waf/v1/model/model_white_black_ip_response_body.go index c78793802f..55026f79de 100644 --- a/services/waf/v1/model/model_white_black_ip_response_body.go +++ b/services/waf/v1/model/model_white_black_ip_response_body.go @@ -36,6 +36,12 @@ type WhiteBlackIpResponseBody struct { // 生效模式,默认为permanent(立即生效) TimeMode *string `json:"time_mode,omitempty"` + + // 规则生效的开始时间,生效模式为自定义时,此字段才有效 + Start *int64 `json:"start,omitempty"` + + // 规则生效的结束时间,生效模式为自定义时,此字段才有效 + Terminal *int64 `json:"terminal,omitempty"` } func (o WhiteBlackIpResponseBody) String() string {