From c66bdc25cd6ff856c348fbb17e8804533c47907d Mon Sep 17 00:00:00 2001 From: nirav-rafay <93963752+nirav-rafay@users.noreply.github.com> Date: Thu, 3 Mar 2022 17:59:06 +0530 Subject: [PATCH] restructure rcloud-base as a single base controller (#37) * restructure rcloud-base as a single base controller * updated master.rest * moved sentry from internal to pkg as it is used by relay * removing unused rpc and it's dependencies * Fix usermgmt tests * Don't redefine variables in rest file Co-authored-by: Abin Simon --- Makefile | 28 +- README.md | 2 +- .../usermgmt/_kratos => _kratos}/README.md | 0 .../development/pkg/common.go | 0 .../development/pkg/resources.go | 0 .../development/session_main.go | 2 +- .../usermgmt/_kratos => _kratos}/go.mod | 2 +- .../usermgmt/_kratos => _kratos}/go.sum | 0 .../_kratos => _kratos}/identity.schema.json | 0 .../usermgmt/_kratos => _kratos}/kratos.yml | 2 +- .../oidc_providers_example.yml | 0 .../quickstart-selinux.yml | 0 .../quickstart-standalone.yml | 0 .../_kratos => _kratos}/quickstart.yml | 0 .../sync_providers_from_db.go | 0 .../audit_information_client.go | 117 + ...t_information_lookup_cluster_parameters.go | 158 + ...it_information_lookup_cluster_responses.go | 187 + ...udit_information_lookup_user_parameters.go | 158 + ...audit_information_lookup_user_responses.go | 187 + .../client/bootstrap/bootstrap_client.go | 280 -- ...strap_create_bootstrap_agent_parameters.go | 2 +- ...tstrap_create_bootstrap_agent_responses.go | 2 +- ...strap_delete_bootstrap_agent_parameters.go | 34 + ...tstrap_delete_bootstrap_agent_responses.go | 2 +- ...p_get_bootstrap_agent_config_parameters.go | 34 + ...ap_get_bootstrap_agent_config_responses.go | 2 +- ...ootstrap_get_bootstrap_agent_parameters.go | 34 + ...bootstrap_get_bootstrap_agent_responses.go | 2 +- ...get_bootstrap_agent_template_parameters.go | 34 + ..._get_bootstrap_agent_template_responses.go | 2 +- ...et_bootstrap_agent_templates_parameters.go | 127 +- ...get_bootstrap_agent_templates_responses.go | 2 +- ...otstrap_get_bootstrap_agents_parameters.go | 127 +- ...ootstrap_get_bootstrap_agents_responses.go | 2 +- ...ootstrap_get_bootstrap_infra_parameters.go | 34 + ...bootstrap_get_bootstrap_infra_responses.go | 2 +- ...tch_bootstrap_agent_template_parameters.go | 2 +- ...atch_bootstrap_agent_template_responses.go | 2 +- ...tstrap_patch_bootstrap_infra_parameters.go | 2 +- ...otstrap_patch_bootstrap_infra_responses.go | 2 +- ...rap_register_bootstrap_agent_parameters.go | 0 ...trap_register_bootstrap_agent_responses.go | 2 +- ...strap_update_bootstrap_agent_parameters.go | 2 +- ...tstrap_update_bootstrap_agent_responses.go | 2 +- .../cluster_authorization_client.go | 0 ...ation_get_user_authorization_parameters.go | 0 ...zation_get_user_authorization_responses.go | 2 +- .../kubectl_cluster_settings_client.go | 0 ...get_kubectl_cluster_settings_parameters.go | 127 +- ..._get_kubectl_cluster_settings_responses.go | 2 +- ...ate_kubectl_cluster_settings_parameters.go | 2 +- ...date_kubectl_cluster_settings_responses.go | 2 +- .../client/sentry_bootstrap_service_client.go | 2 +- .../sentry}/models/controller_step_object.go | 46 + .../sentry}/models/googlerpc_status.go | 0 .../sentry}/models/metav1_type_meta.go | 0 .../clients/sentry}/models/protobuf_any.go | 0 .../rpc_delete_bootstrap_agent_response.go | 0 ...c_get_kubectl_cluster_settings_response.go | 0 .../rpc_get_user_authorization_response.go | 0 .../models/rpc_lookup_cluster_response.go | 53 + .../sentry/models/rpc_lookup_user_response.go | 65 + .../models/rpc_register_agent_response.go | 0 ...update_kubectl_cluster_settings_request.go | 0 ...pdate_kubectl_cluster_settings_response.go | 0 .../models/sentry_boot_strap_agent_status.go | 0 .../sentry/models/sentry_bootstrap_agent.go | 0 .../models/sentry_bootstrap_agent_list.go | 0 .../models/sentry_bootstrap_agent_mode.go | 0 .../models/sentry_bootstrap_agent_spec.go | 0 .../models/sentry_bootstrap_agent_state.go | 0 .../models/sentry_bootstrap_agent_template.go | 0 .../sentry_bootstrap_agent_template_list.go | 0 .../sentry_bootstrap_agent_template_spec.go | 0 .../sentry_bootstrap_agent_template_status.go | 0 .../sentry_bootstrap_agent_template_type.go | 0 .../sentry/models/sentry_bootstrap_infra.go | 0 .../models/sentry_bootstrap_infra_spec.go | 0 .../models/sentry_bootstrap_infra_status.go | 0 .../models/sentry_bootstrap_template_host.go | 0 .../sentry_bootstrap_template_host_type.go | 0 .../clients/sentry}/models/v1_fields_v1.go | 0 .../sentry}/models/v1_managed_fields_entry.go | 0 .../clients/sentry}/models/v1_object_meta.go | 0 .../sentry}/models/v1_owner_reference.go | 0 .../def/clients/sentry}/models/v1_time.go | 0 .../clients/sentry}/models/v3_http_body.go | 0 .../sentry}/models/v3_list_metadata.go | 0 .../def/clients/sentry}/models/v3_metadata.go | 5 + .../clients/sentry/models/v3_query_options.go | 15 +- .../common/buf.gen.yaml => buf.gen.yaml | 4 +- components/common/buf.lock => buf.lock | 13 +- components/common/buf.yaml => buf.yaml | 1 - {components/common/build => build}/swagger.sh | 0 {components/common => cmd}/fix.go | 0 .../common/cmd => cmd}/generate-enum/main.go | 0 components/adminsrv/go.mod | 129 - components/adminsrv/go.sum | 1455 -------- .../adminsrv/internal/models/groupaccount.go | 22 - components/adminsrv/master.rest | 115 - .../adminsrv/pkg/sentry/util/peering.go | 93 - components/authz/buf.gen.yaml | 16 - components/authz/buf.lock | 10 - components/authz/buf.yaml | 10 - components/authz/go.mod | 63 - components/authz/go.sum | 396 --- components/authz/main.go | 61 - components/authz/pkg/server/authz.go | 57 - components/authz/proto/rpc/v1/authz.pb.go | 179 - components/buf.work.yaml | 4 - components/cluster-scheduler/README.md | 11 - components/cluster-scheduler/go.mod | 106 - components/cluster-scheduler/go.sum | 1442 -------- .../cluster/operator/clusterscheduler.go | 64 - .../internal/models/metro.go | 27 - .../cluster-scheduler/internal/testutil/db.go | 40 - .../internal/testutil/models.go | 12 - components/cluster-scheduler/main.go | 375 -- components/cluster-scheduler/master.rest | 110 - .../pkg/bootstrapper/agent/create.go | 197 -- .../pkg/bootstrapper/agent/delete.go | 66 - .../pkg/bootstrapper/agent/get.go | 73 - .../pkg/bootstrapper/agent/projects.go | 75 - .../pkg/bootstrapper/download.go | 7 - .../pkg/credentials/signer.go | 132 - ...erride_add_default_overrides_parameters.go | 148 - ...verride_add_default_overrides_responses.go | 185 - .../override_apply_override_parameters.go | 148 - .../override_apply_override_responses.go | 187 - .../config/client/override/override_client.go | 321 -- .../override_create_override_parameters.go | 170 - .../override_create_override_responses.go | 223 -- .../override_delete_override_parameters.go | 1502 -------- .../override_delete_override_responses.go | 221 -- .../override_get_override_parameters.go | 1502 -------- .../override_get_override_responses.go | 187 - .../override_get_overrides_parameters.go | 866 ----- .../override_get_overrides_responses.go | 187 - .../override_update_override_parameters.go | 192 -- .../override_update_override_responses.go | 187 - .../config/client/override_service_client.go | 112 - .../clients/config/models/commonv3_status.go | 221 -- .../config_drift_reconcillation_action.go | 81 - .../clients/config/models/config_file_type.go | 87 - .../config/models/config_git_options.go | 119 - .../config/models/config_helm_options.go | 53 - .../models/config_namespace_template.go | 346 -- .../clients/config/models/config_override.go | 274 -- .../config/models/config_override_list.go | 204 -- .../config/models/config_override_spec.go | 267 -- .../config/models/config_placement_type.go | 84 - .../models/config_repo_artifact_meta.go | 153 - .../clients/config/models/config_repo_file.go | 110 - .../models/config_template_overrides.go | 98 - .../config/models/controller_step_template.go | 157 - .../models/corev1_resource_requirements.go | 169 - .../config/models/corev1_volume_mount.go | 78 - .../config/models/intstr_int_or_string.go | 64 - .../config/models/resource_quantity.go | 107 - .../rpc_add_default_overrides_request.go | 230 -- .../rpc_add_default_overrides_response.go | 11 - .../models/rpc_apply_override_request.go | 125 - .../models/rpc_apply_override_response.go | 104 - .../models/rpc_delete_override_response.go | 11 - .../clients/config/models/rpc_proxy_config.go | 68 - .../config/models/typesconfig_limit_range.go | 150 - .../models/typesconfig_limit_range_item.go | 77 - .../models/typesconfig_placement_label.go | 53 - .../models/typesconfig_placement_spec.go | 214 -- .../models/typesconfig_resource_quota.go | 59 - .../models/typescontroller_namespace_spec.go | 277 -- ...a_w_s_elastic_block_store_volume_source.go | 77 - .../def/clients/config/models/v1_affinity.go | 199 -- .../models/v1_azure_disk_volume_source.go | 71 - .../models/v1_azure_file_volume_source.go | 58 - .../config/models/v1_c_s_i_volume_source.go | 129 - .../clients/config/models/v1_capabilities.go | 55 - .../models/v1_ceph_f_s_volume_source.go | 131 - .../config/models/v1_cinder_volume_source.go | 126 - .../config/models/v1_config_map_env_source.go | 112 - .../models/v1_config_map_key_selector.go | 111 - .../config/models/v1_config_map_projection.go | 179 - .../models/v1_config_map_volume_source.go | 188 - .../def/clients/config/models/v1_container.go | 762 ----- .../config/models/v1_container_port.go | 74 - .../models/v1_downward_api_projection.go | 119 - .../models/v1_downward_api_volume_file.go | 165 - .../models/v1_downward_api_volume_source.go | 129 - .../models/v1_empty_dir_volume_source.go | 118 - .../config/models/v1_env_from_source.go | 156 - .../def/clients/config/models/v1_env_var.go | 119 - .../config/models/v1_env_var_source.go | 248 -- .../config/models/v1_ephemeral_container.go | 122 - .../models/v1_ephemeral_container_common.go | 733 ---- .../models/v1_ephemeral_volume_source.go | 129 - .../clients/config/models/v1_exec_action.go | 55 - .../config/models/v1_f_c_volume_source.go | 74 - .../config/models/v1_flex_volume_source.go | 128 - .../config/models/v1_flocker_volume_source.go | 58 - .../v1_g_c_e_persistent_disk_volume_source.go | 78 - .../models/v1_git_repo_volume_source.go | 67 - .../models/v1_glusterfs_volume_source.go | 62 - .../def/clients/config/models/v1_handler.go | 203 -- .../clients/config/models/v1_host_alias.go | 54 - .../models/v1_host_path_volume_source.go | 59 - .../config/models/v1_http_get_action.go | 179 - .../clients/config/models/v1_http_header.go | 53 - .../models/v1_i_s_c_s_i_volume_source.go | 154 - .../def/clients/config/models/v1_job_spec.go | 206 -- .../clients/config/models/v1_key_to_path.go | 65 - .../config/models/v1_label_selector.go | 125 - .../models/v1_label_selector_requirement.go | 64 - .../def/clients/config/models/v1_lifecycle.go | 166 - .../models/v1_local_object_reference.go | 54 - .../config/models/v1_n_f_s_volume_source.go | 63 - .../clients/config/models/v1_node_affinity.go | 176 - .../clients/config/models/v1_node_selector.go | 118 - .../models/v1_node_selector_requirement.go | 63 - .../config/models/v1_node_selector_term.go | 177 - .../config/models/v1_object_field_selector.go | 54 - .../models/v1_persistent_volume_claim_spec.go | 227 -- .../v1_persistent_volume_claim_template.go | 158 - ...1_persistent_volume_claim_volume_source.go | 59 - ...v1_photon_persistent_disk_volume_source.go | 55 - .../clients/config/models/v1_pod_affinity.go | 189 -- .../config/models/v1_pod_affinity_term.go | 122 - .../config/models/v1_pod_anti_affinity.go | 189 -- .../config/models/v1_pod_dns_config.go | 133 - .../config/models/v1_pod_dns_config_option.go | 53 - .../config/models/v1_pod_readiness_gate.go | 50 - .../config/models/v1_pod_security_context.go | 319 -- .../def/clients/config/models/v1_pod_spec.go | 979 ------ .../config/models/v1_pod_template_spec.go | 154 - .../models/v1_portworx_volume_source.go | 60 - .../models/v1_preferred_scheduling_term.go | 108 - .../api/def/clients/config/models/v1_probe.go | 131 - .../models/v1_projected_volume_source.go | 126 - .../config/models/v1_quobyte_volume_source.go | 76 - .../config/models/v1_r_b_d_volume_source.go | 149 - .../models/v1_resource_field_selector.go | 112 - .../config/models/v1_s_e_linux_options.go | 63 - .../models/v1_scale_i_o_volume_source.go | 144 - .../config/models/v1_seccomp_profile.go | 65 - .../config/models/v1_secret_env_source.go | 112 - .../config/models/v1_secret_key_selector.go | 111 - .../config/models/v1_secret_projection.go | 178 - .../config/models/v1_secret_volume_source.go | 146 - .../config/models/v1_security_context.go | 306 -- .../v1_service_account_token_projection.go | 70 - .../models/v1_storage_o_s_volume_source.go | 130 - .../def/clients/config/models/v1_sysctl.go | 53 - .../config/models/v1_tcp_socket_action.go | 110 - .../clients/config/models/v1_toleration.go | 77 - .../models/v1_topology_spread_constraint.go | 156 - .../models/v1_typed_local_object_reference.go | 60 - .../def/clients/config/models/v1_volume.go | 111 - .../clients/config/models/v1_volume_device.go | 53 - .../config/models/v1_volume_projection.go | 246 -- .../clients/config/models/v1_volume_source.go | 1469 -------- .../v1_vsphere_virtual_disk_volume_source.go | 64 - .../models/v1_weighted_pod_affinity_term.go | 108 - .../v1_windows_security_context_options.go | 64 - .../models/v1beta1_job_template_spec.go | 154 - .../config/models/v3_condition_status.go | 85 - .../client/cluster/cluster_client.go | 321 -- .../cluster_create_cluster_parameters.go | 170 - .../cluster_create_cluster_responses.go | 223 -- .../cluster_delete_cluster_parameters.go | 1914 ----------- .../cluster_delete_cluster_responses.go | 221 -- .../cluster_download_cluster_parameters.go | 1914 ----------- .../cluster_download_cluster_responses.go | 187 - .../cluster/cluster_get_cluster_parameters.go | 1914 ----------- .../cluster/cluster_get_cluster_responses.go | 187 - .../cluster_get_clusters_parameters.go | 866 ----- .../cluster/cluster_get_clusters_responses.go | 187 - .../cluster_register_cluster_parameters.go | 148 - .../cluster_register_cluster_responses.go | 187 - .../cluster_update_cluster_parameters.go | 192 -- .../cluster_update_cluster_responses.go | 187 - .../client/cluster_service_client.go | 112 - .../models/commonv3_node_condition.go | 166 - .../models/commonv3_node_system_info.go | 83 - .../scheduler/models/commonv3_status.go | 221 -- .../scheduler/models/commonv3_taint.go | 118 - .../clients/scheduler/models/commonv3_time.go | 60 - .../scheduler/models/googlerpc_status.go | 122 - .../clients/scheduler/models/protobuf_any.go | 50 - .../models/rpc_delete_cluster_response.go | 11 - .../models/rpc_register_cluster_request.go | 54 - .../models/rpc_register_cluster_response.go | 55 - .../scheduler/models/v1_node_condition.go | 166 - .../scheduler/models/v1_node_system_info.go | 81 - .../def/clients/scheduler/models/v1_taint.go | 119 - .../def/clients/scheduler/models/v1_time.go | 64 - .../clients/scheduler/models/v3_cluster.go | 276 -- .../scheduler/models/v3_cluster_condition.go | 182 - .../models/v3_cluster_condition_type.go | 102 - .../scheduler/models/v3_cluster_data.go | 409 --- .../scheduler/models/v3_cluster_list.go | 211 -- .../scheduler/models/v3_cluster_node.go | 196 -- .../scheduler/models/v3_cluster_node_ip.go | 53 - .../scheduler/models/v3_cluster_node_spec.go | 119 - .../scheduler/models/v3_cluster_node_state.go | 81 - .../models/v3_cluster_node_status.go | 403 --- .../scheduler/models/v3_cluster_share_mode.go | 81 - .../scheduler/models/v3_cluster_spec.go | 309 -- .../scheduler/models/v3_cluster_status.go | 143 - .../scheduler/models/v3_condition_status.go | 85 - .../def/clients/scheduler/models/v3_health.go | 84 - .../scheduler/models/v3_list_metadata.go | 58 - .../clients/scheduler/models/v3_metadata.go | 176 - .../def/clients/scheduler/models/v3_metro.go | 216 -- .../scheduler/models/v3_project_cluster.go | 57 - .../scheduler/models/v3_provision_params.go | 77 - .../scheduler/models/v3_proxy_config.go | 82 - .../models/v3_rafay_condition_status.go | 105 - .../clients/scheduler/models/v3_resources.go | 62 - ...otstrap_create_relay_network_parameters.go | 148 - ...ootstrap_create_relay_network_responses.go | 223 -- ...otstrap_delete_relay_network_parameters.go | 956 ------ ...ootstrap_delete_relay_network_responses.go | 221 -- ...download_relay_network_agent_parameters.go | 368 -- ..._download_relay_network_agent_responses.go | 223 -- ...strap_download_relay_network_parameters.go | 956 ------ ...tstrap_download_relay_network_responses.go | 223 -- .../bootstrap_get_relay_network_parameters.go | 956 ------ .../bootstrap_get_relay_network_responses.go | 223 -- ...bootstrap_get_relay_networks_parameters.go | 878 ----- .../bootstrap_get_relay_networks_responses.go | 223 -- ...ootstrap_patch_relay_network_parameters.go | 170 - ...bootstrap_patch_relay_network_responses.go | 223 -- .../config_drift_reconcillation_action.go | 81 - .../sentry/models/config_placement_type.go | 84 - .../sentry/models/controller_step_object.go | 112 - .../clients/sentry/models/googlerpc_status.go | 122 - .../clients/sentry/models/metav1_type_meta.go | 66 - .../def/clients/sentry/models/protobuf_any.go | 50 - .../rpc_delete_relay_network_response.go | 11 - .../sentry/models/sentry_relay_network.go | 194 -- .../models/sentry_relay_network_list.go | 204 -- .../models/sentry_relay_network_spec.go | 140 - .../models/sentry_relay_network_status.go | 11 - .../models/typesconfig_placement_label.go | 53 - .../models/typesconfig_placement_spec.go | 214 -- .../def/clients/sentry/models/v3_http_body.go | 55 - .../clients/sentry/models/v3_list_metadata.go | 58 - .../def/clients/sentry/models/v3_metadata.go | 176 - components/common/go.mod | 120 - components/common/go.sum | 1338 -------- .../common/pkg/gateway/testdata/test.proto | 58 - components/common/pkg/models/group.go | 22 - components/common/pkg/models/groupaccount.go | 22 - components/common/pkg/models/metro.go | 27 - components/common/pkg/models/organization.go | 41 - components/common/pkg/models/partner.go | 34 - components/common/pkg/models/project.go | 22 - .../common/proto/rpc/config/internal.go | 57 - .../common/proto/rpc/config/override.pb.go | 1178 ------- .../common/proto/rpc/config/override.pb.gw.go | 891 ----- .../common/proto/rpc/config/override.proto | 212 -- .../proto/rpc/config/override_grpc.pb.go | 321 -- .../common/proto/types/config/config.pb.go | 3024 ----------------- .../common/proto/types/config/config.proto | 313 -- .../common/proto/types/config/constants.go | 22 - .../common/proto/types/config/namespace.pb.go | 1243 ------- .../common/proto/types/config/namespace.proto | 211 -- .../common/proto/types/config/override.pb.go | 1215 ------- .../common/proto/types/config/override.proto | 206 -- .../common/proto/types/config/placement.pb.go | 755 ---- .../common/proto/types/config/placement.proto | 127 - .../proto/types/config/repository.pb.go | 1049 ------ .../proto/types/config/repository.proto | 161 - .../common/proto/types/config/workload.pb.go | 2615 -------------- .../common/proto/types/config/workload.proto | 409 --- .../types/controller/cluster_controller.proto | 376 -- .../proto/types/scheduler/namespace.pb.go | 740 ---- .../proto/types/scheduler/namespace.proto | 87 - components/relay/Dockerfile | 50 - components/relay/Dockerfile.agent | 65 - components/relay/Dockerfile.dev | 8 - components/relay/Makefile | 33 - components/relay/README.md | 137 - components/relay/go.mod | 114 - components/relay/go.sum | 1311 ------- components/relay/main.go | 148 - components/relay/pkg/agent/agent.go | 595 ---- components/relay/pkg/agent/lib.go | 36 - components/relay/pkg/audit/audit.go | 97 - components/relay/pkg/audit/logger.go | 30 - components/relay/pkg/cleanup/authz.go | 150 - components/relay/pkg/profile/profile.go | 31 - components/relay/pkg/proxy/kube_proxy.go | 299 -- components/relay/pkg/proxy/proxy.go | 12 - components/relay/pkg/proxy/round_tripper.go | 214 -- components/relay/pkg/proxy/service_account.go | 157 - components/relay/pkg/proxy/tcpproxy.go | 244 -- components/relay/pkg/proxy/testdata/role.yaml | 34 - components/relay/pkg/relay/relay.go | 888 ----- .../relay/pkg/relaylogger/relaylogger.go | 145 - components/relay/pkg/sessions/usersession.go | 161 - .../relay/pkg/tail/follower/follower.go | 322 -- components/relay/pkg/tail/register.go | 109 - components/relay/pkg/tail/run.go | 213 -- components/relay/pkg/tail/tail.go | 241 -- components/relay/pkg/tail/transform.go | 217 -- components/relay/pkg/tail/types.go | 80 - components/relay/pkg/tail/url_test.go | 76 - components/relay/pkg/tunnel/authz.go | 397 --- components/relay/pkg/tunnel/backoff.go | 15 - components/relay/pkg/tunnel/client.go | 651 ---- components/relay/pkg/tunnel/client_config.go | 38 - components/relay/pkg/tunnel/client_test.go | 70 - components/relay/pkg/tunnel/common.go | 189 -- components/relay/pkg/tunnel/dialin_pool.go | 381 --- components/relay/pkg/tunnel/errors.go | 11 - components/relay/pkg/tunnel/peer.go | 168 - components/relay/pkg/tunnel/server.go | 2052 ----------- components/relay/pkg/tunnel/server_config.go | 43 - components/relay/pkg/utils/utils.go | 713 ---- components/relay/testdata/README.md | 89 - ...layserver1-ABCD-123456.relay.rafay.dev.crt | 26 - ...layserver1-ABCD-123456.relay.rafay.dev.csr | 17 - ...layserver1-ABCD-123456.relay.rafay.dev.key | 27 - .../testdata/certs/clientcerts/star.admin.crt | 25 - .../testdata/certs/clientcerts/star.admin.csr | 16 - .../testdata/certs/clientcerts/star.admin.key | 27 - .../certs/clientcerts/star.default.crt | 26 - .../certs/clientcerts/star.default.csr | 17 - .../certs/clientcerts/star.default.key | 27 - .../clientcerts/star.namespace-admin-sa.crt | 25 - .../clientcerts/star.namespace-admin-sa.csr | 17 - .../clientcerts/star.namespace-admin-sa.key | 27 - components/relay/testdata/certs/gencert.sh | 15 - components/relay/testdata/certs/rootCA.crt | 30 - components/relay/testdata/certs/rootCA.key | 51 - components/relay/testdata/certs/rootCA.srl | 1 - components/relay/testdata/certs/run.sh | 53 - .../relay/testdata/certs/servercerts/.srl | 1 - .../certs/servercerts/relay.rafay.dev.crt | 25 - .../certs/servercerts/relay.rafay.dev.csr | 17 - .../certs/servercerts/relay.rafay.dev.key | 27 - .../star.kubectl.relay.rafay.dev.crt | 25 - .../star.kubectl.relay.rafay.dev.csr | 17 - .../star.kubectl.relay.rafay.dev.key | 27 - .../star.kubectldialin.relay.rafay.dev.crt | 25 - .../star.kubectldialin.relay.rafay.dev.csr | 17 - .../star.kubectldialin.relay.rafay.dev.key | 27 - .../star.kubeweb.relay.rafay.dev.crt | 25 - .../star.kubeweb.relay.rafay.dev.csr | 17 - .../star.kubeweb.relay.rafay.dev.key | 27 - .../star.kubewebdialin.relay.rafay.dev.crt | 25 - .../star.kubewebdialin.relay.rafay.dev.csr | 17 - .../star.kubewebdialin.relay.rafay.dev.key | 27 - .../star.kubectl.peer.relay.rafay.dev.crt | 26 - .../star.kubectl.peer.relay.rafay.dev.csr | 17 - .../star.kubectl.peer.relay.rafay.dev.key | 27 - .../star-probe/star.probe.relay.rafay.dev.crt | 25 - .../star-probe/star.probe.relay.rafay.dev.csr | 17 - .../star-probe/star.probe.relay.rafay.dev.key | 27 - .../star.kubectl.peer.relay.rafay.dev.crt | 26 - .../star.kubectl.peer.relay.rafay.dev.csr | 17 - .../star.kubectl.peer.relay.rafay.dev.key | 27 - .../relay/testdata/client-cluster1.yaml | 16 - .../relay/testdata/client-cluster2.yaml | 16 - .../relay/testdata/images/testsetup.png | Bin 185566 -> 0 bytes .../relay/testdata/kubectlconfigs/kubeconfig | 19 - .../testdata/kubectlconfigs/kubeconfig-c-5 | 20 - .../testdata/kubectlconfigs/kubeconfig-sa | 19 - ...configproxy-123abcd.user.relay.rafay.local | 19 - .../kubectlconfigs/kubeconfigproxy-cluster1 | 24 - .../kubectlconfigs/kubeconfigproxy-cluster2 | 21 - .../testdata/kubectlconfigs/kubeproxyconfig | 23 - components/relay/testdata/pod.yaml | 17 - .../relay/testdata/relay-agent-config.yaml | 8 - components/relay/testdata/role.yaml | 70 - .../relay/testdata/sample-kubeconfig.yaml | 19 - .../relay/testdata/scripts/dialinclient.sh | 1 - components/relay/testdata/scripts/loop.sh | 4 - .../relay/testdata/scripts/relayclient.sh | 16 - components/relay/testdata/server.yaml | 33 - components/relay/testdata/server2.yaml | 33 - .../relay/testdata/testclients/loadtest.go | 85 - .../relay/testdata/testclients/testclient.go | 78 - components/usermgmt/README.md | 28 - components/usermgmt/go.mod | 111 - components/usermgmt/go.sum | 1554 --------- components/usermgmt/internal/models/group.go | 22 - components/usermgmt/main.go | 288 -- components/usermgmt/master.rest | 194 -- components/usermgmt/pkg/service/const.go | 3 - .../usermgmt/env.example => env.example | 0 .../pkg/gateway/testdata/test.swagger.json | 0 .../proto/rpc/authz/authz.swagger.json | 143 + .../proto/rpc/config/override.swagger.json | 0 .../openapi/proto/rpc/role/role.swagger.json | 0 .../rpc/role/rolepermission.swagger.json | 0 .../proto/rpc/scheduler/cluster.swagger.json | 125 - .../proto/rpc/sentry/audit_info.swagger.json | 0 .../proto/rpc/sentry/bootstrap.swagger.json | 0 .../rpc/sentry/cluster_authz.swagger.json | 0 .../proto/rpc/sentry/kubeconfig.swagger.json | 0 .../rpc/sentry/kubectl_cluster.swagger.json | 0 .../proto/rpc/sentry/relaypeer.swagger.json | 0 .../openapi/proto/rpc/system/idp.swagger.json | 0 .../proto/rpc/system/metro.swagger.json | 0 .../rpc/system/oidc_provider.swagger.json | 0 .../rpc/system/organization.swagger.json | 0 .../proto/rpc/system/partner.swagger.json | 0 .../proto/rpc/system/project.swagger.json | 0 .../openapi/proto/rpc/user/group.swagger.json | 0 .../openapi/proto/rpc/user/user.swagger.json | 0 .../openapi/proto/rpc/v3/auth.swagger.json | 0 .../proto/types/authz/authz.swagger.json | 43 + .../types/commonpb/v3/artifacts.swagger.json | 0 .../proto/types/commonpb/v3/auth.swagger.json | 0 .../types/commonpb/v3/common.swagger.json | 0 .../proto/types/config/config.swagger.json | 0 .../proto/types/config/namespace.swagger.json | 0 .../proto/types/config/override.swagger.json | 0 .../proto/types/config/placement.swagger.json | 0 .../types/config/repository.swagger.json | 0 .../proto/types/config/workload.swagger.json | 0 .../cluster_controller.swagger.json | 0 .../types/infrapb/v3/cluster.swagger.json | 0 .../proto/types/rolepb/v3/role.swagger.json | 0 .../rolepb/v3/rolepermission.swagger.json | 0 .../types/scheduler/namespace.swagger.json | 0 .../sentry/account_permission.swagger.json | 0 .../sentry/group_permission.swagger.json | 0 .../sentry/kubeconfig_setting.swagger.json | 0 .../kubectl_cluster_setting.swagger.json | 0 .../proto/types/sentry/sentry.swagger.json | 0 .../proto/types/systempb/v3/idp.swagger.json | 0 .../systempb/v3/oidc_provider.swagger.json | 0 .../systempb/v3/organization.swagger.json | 0 .../types/systempb/v3/partner.swagger.json | 0 .../types/systempb/v3/project.swagger.json | 0 .../proto/types/userpb/v3/group.swagger.json | 0 .../proto/types/userpb/v3/user.swagger.json | 0 go.mod | 202 +- go.sum | 1518 +++++++++ .../internal => internal}/cluster/cluster.go | 16 +- .../cluster/clusterproxy.go | 2 +- .../cluster/conditions.go | 8 +- .../cluster/constants/constants.go | 2 +- .../cluster/dao/cluster.go | 8 +- .../cluster/dao/clusteroperatorbootstrap.go | 6 +- .../cluster/dao/clustertoken.go | 6 +- .../cluster/dao/const.go | 0 .../cluster/dao/namespaces.go | 10 +- .../cluster/dao/projectcluster.go | 8 +- .../internal => internal/cluster}/fix.go | 2 +- .../cluster}/fixtures/data/download.yaml | 0 .../cluster}/fixtures/download.go | 0 .../cluster}/fixtures/fixtures.go | 0 .../generate/fixtures/fixtures_generate.go | 0 .../cluster/hash/hash.go | 0 .../cluster/util/labels.go | 2 +- .../cluster/util/taints.go | 0 .../internal => internal}/constants/error.go | 0 .../internal => internal}/dao/bootstrap.go | 12 +- .../internal/group => internal}/dao/group.go | 4 +- .../internal => internal}/dao/kubeconfig.go | 6 +- .../internal => internal}/dao/permission.go | 6 +- .../internal/role => internal}/dao/role.go | 2 +- .../internal/user => internal}/dao/user.go | 4 +- .../adminsrv/internal => internal}/fix.go | 0 .../fixtures/data/agent_templates.yaml | 0 .../fixtures/data/relay_agent_template.yaml | 0 .../fixtures/data/relay_template.yaml | 0 .../fixtures/fixtures.go | 0 .../internal => internal}/fixtures/load.go | 10 +- .../generate/generate.go | 0 .../internal => internal}/models/account.go | 0 .../models/accountpermission.go | 0 .../models/accountresourcerole.go | 0 .../models/bootstrapagent.go | 0 .../models/bootstrapagenttemplate.go | 0 .../models/bootstrapinfra.go | 0 .../internal => internal}/models/cluster.go | 0 .../models/clusternamespaces.go | 0 .../models/clusteroperatorbootstrap.go | 0 .../models/clustertoken.go | 0 .../internal => internal}/models/group.go | 0 .../models/groupaccount.go | 0 .../models/grouppermission.go | 0 .../internal => internal}/models/grouprole.go | 0 .../internal => internal}/models/idp.go | 0 .../models/kratosidentities.go | 0 .../models/kubeconfig_revocation.go | 0 .../models/kubeconfig_setting.go | 0 .../models/kubectl_cluster_setting.go | 0 .../internal => internal}/models/metro.go | 0 .../models/oidc_provider.go | 0 .../models/organization.go | 0 .../internal => internal}/models/partner.go | 0 .../internal => internal}/models/project.go | 0 .../models/projectaccountnamespacerole.go | 0 .../models/projectaccountresourcerole.go | 0 .../models/projectcluster.go | 0 .../models/projectgroupnamespacerole.go | 0 .../models/projectgrouprole.go | 0 .../models/resourcepermission.go | 0 .../models/resourcerolepermission.go | 0 .../internal => internal}/models/role.go | 0 .../models/ssoaccount_group_project_roles.go | 0 .../persistence/provider/kratos}/kratos.go | 0 .../persistence/provider/pg/entity_dao.go | 0 .../common/pkg => internal}/random/string.go | 0 .../common/pkg => internal}/utils/lookup.go | 7 +- components/adminsrv/main.go => main.go | 224 +- master.rest | 412 +++ .../000030_pg_oidc_provider_triggers.down.sql | 2 +- .../000031_cluster_metro.down.sql} | 0 .../000031_cluster_metro.up.sql} | 2 +- ...00032_cluster_operator_bootstrap.down.sql} | 0 .../000032_cluster_operator_bootstrap.up.sql} | 2 +- .../000033_cluster_tokens.down.sql} | 0 .../000033_cluster_tokens.up.sql} | 2 +- .../000034_cluster_clusters.down.sql} | 0 .../000034_cluster_clusters.up.sql} | 2 +- .../000035_cluster_project_cluster.down.sql} | 0 .../000035_cluster_project_cluster.up.sql} | 2 +- .../000036_cluster_namespaces.down.sql} | 0 .../000036_cluster_namespaces.up.sql} | 2 +- .../common/pkg => pkg}/audit/events.go | 4 +- .../common/pkg => pkg}/audit/producer.go | 0 .../common/pkg => pkg}/auth/v3/auth.go | 2 +- .../common/pkg => pkg}/auth/v3/interceptor.go | 4 +- .../common/pkg => pkg}/auth/v3/middleware.go | 5 +- .../common/pkg => pkg}/auth/v3/pool.go | 4 +- .../common/pkg => pkg}/auth/v3/service.go | 2 +- .../common/pkg => pkg}/auth/v3/session.go | 2 +- .../common/pkg => pkg}/common/constants.go | 4 + pkg/common/types.go | 15 + .../pkg => pkg}/controller/apply/apply.go | 8 +- .../controller/apply/apply_test.go | 4 +- .../controller/apply/appy_bench_test.go | 0 .../pkg => pkg}/controller/apply/patch.go | 4 +- .../controller/apply/patch_large_test.go | 0 .../controller/apply/patch_test.go | 0 .../controller/apply/testdata/cr1.yaml | 0 .../apply/testdata/crd1-modified.yaml | 0 .../controller/apply/testdata/crd1.yaml | 0 .../apply/testdata/deployment-patch.yaml | 0 .../controller/apply/testdata/deployment.yaml | 0 .../apply/testdata/invalid-deployment.yaml | 0 .../controller/apply/testdata/pod1.yaml | 0 .../controller/apply/testdata/pod2.yaml | 0 .../controller/apply/testdata/prometheus.yaml | 0 .../apply/testdata/rafay-system-ns.yaml | 0 .../apply/testdata/service1-current.yaml | 0 .../apply/testdata/service1-modified.yaml | 0 .../apply/testdata/service2-current.yaml | 0 .../apply/testdata/service2-modified.yaml | 0 .../apply/testdata/statefulset-patch.yaml | 0 .../apply/testdata/statefulset.yaml | 0 .../pkg => pkg}/controller/apply/util.go | 6 +- .../pkg => pkg}/controller/apply/util_test.go | 2 +- .../pkg => pkg}/controller/client/client.go | 2 +- .../controller/client/client_test.go | 0 .../pkg => pkg}/controller/runtime/object.go | 6 +- .../controller/runtime/object_test.go | 2 +- .../runtime/testdata/configmap.yaml | 0 .../controller/runtime/testdata/crd.yaml | 0 .../runtime/testdata/daemonset.yaml | 0 .../runtime/testdata/deployment1.yaml | 0 .../runtime/testdata/deployment2.yaml | 0 .../runtime/testdata/etcd-patch.yaml | 0 .../controller/runtime/testdata/etcd.yaml | 0 .../controller/runtime/testdata/job.yaml | 0 .../controller/runtime/testdata/secret.yaml | 0 .../runtime/testdata/statefulset-patch.yaml | 0 .../runtime/testdata/statefulset.yaml | 0 .../runtime/testdata/unstructured1.yaml | 0 .../runtime/testdata/unstructured2.yaml | 0 .../pkg => pkg}/controller/scheme/scheme.go | 2 +- .../pkg => pkg}/controller/step/state.go | 2 +- .../pkg => pkg}/controller/step/step.go | 12 +- .../pkg => pkg}/controller/step/util.go | 0 .../controller/strategicpatch/errors.go | 0 .../controller/strategicpatch/meta.go | 0 .../controller/strategicpatch/patch.go | 0 .../controller/strategicpatch/types.go | 0 .../common/pkg => pkg}/controller/util/gvk.go | 0 .../pkg => pkg}/controller/util/object.go | 2 +- .../pkg => pkg}/controller/util/owner.go | 4 +- .../pkg => pkg}/controller/util/owner_test.go | 0 .../pkg => pkg}/controller/util/patch.go | 4 +- .../pkg => pkg}/controller/util/patch_test.go | 4 +- .../pkg => pkg}/controller/util/step.go | 2 +- .../pkg => pkg}/controller/util/string.go | 0 .../controller/util/testdata/kong.yaml | 0 .../controller/util/testdata/owner1.yaml | 0 .../controller/util/testdata/owner2.yaml | 0 .../util/testdata/service_with_owner.yaml | 0 .../util/testdata/service_without_owner.yaml | 0 .../common/pkg => pkg}/converter/import.go | 161 +- .../common/pkg => pkg}/converter/phase.go | 0 .../common/pkg => pkg}/converter/util.go | 2 +- .../authz/pkg => pkg}/enforcer/enforcer.go | 0 {components/common/pkg => pkg}/event/event.go | 0 {components/common/pkg => pkg}/event/queue.go | 2 +- .../common/pkg => pkg}/event/queue_test.go | 0 .../common/pkg => pkg}/event/rate_limiting.go | 0 .../pkg => pkg}/event/rate_limiting_test.go | 0 .../common/pkg => pkg}/gateway/annotator.go | 0 .../common/pkg => pkg}/gateway/error.go | 0 .../common/pkg => pkg}/gateway/gateway.go | 0 .../common/pkg => pkg}/gateway/httpbody.go | 2 +- .../common/pkg => pkg}/gateway/json.go | 0 .../common/pkg => pkg}/gateway/json_test.go | 4 +- .../gateway/testdata/gateway_test.go | 4 +- .../pkg => pkg}/gateway/testdata/test.pb.go | 109 +- .../gateway/testdata/test.pb.gw.go | 0 pkg/gateway/testdata/test.proto | 39 + .../gateway/testdata/test_grpc.pb.go | 0 .../common/pkg => pkg}/gateway/util.go | 0 .../common/pkg => pkg}/gateway/yaml.go | 0 .../common/pkg => pkg}/gateway/yaml_test.go | 4 +- {components/common/pkg => pkg}/grpc/client.go | 0 {components/common/pkg => pkg}/grpc/server.go | 0 {components/common/pkg => pkg}/hasher/hash.go | 0 .../pkg => pkg}/hasher/test/hashid_test.go | 2 +- .../pkg => pkg}/leaderelection/config.go | 0 .../pkg => pkg}/leaderelection/const.go | 0 .../pkg => pkg}/leaderelection/election.go | 2 +- .../leaderelection/election_test.go | 0 .../common/pkg => pkg}/leaderelection/lock.go | 0 {components/common/pkg => pkg}/log/log.go | 0 .../common/pkg => pkg}/log/log_test.go | 0 {components/common/pkg => pkg}/match/match.go | 4 +- .../pkg => pkg}/notify/notify.go | 12 +- .../pkg => pkg}/patch/status.go | 6 +- {components/common/pkg => pkg}/pool/pool.go | 0 .../common/pkg => pkg}/query/options.go | 4 +- .../common/pkg => pkg}/query/selector.go | 2 +- .../cluster_conditions_reconciler.go | 10 +- .../pkg => pkg}/reconcile/cluster_handler.go | 20 +- .../reconcile/cluster_reconciler.go | 23 +- .../pkg => pkg}/reconcile/utils.go | 2 +- .../pkg => pkg}/sentry/authz/authz.go | 23 +- .../authz/data/cluster_role_cluster_read.yaml | 0 .../data/cluster_role_cluster_write.yaml | 0 .../authz/data/cluster_role_full_access.yaml | 0 .../data/cluster_role_namespace_read.yaml | 0 .../data/cluster_role_namespace_write.yaml | 0 .../sentry/authz/data/namespace.yaml | 0 .../data/relay_default_cluster_role.yaml | 0 .../sentry/authz/data/relay_default_role.yaml | 0 .../sentry/authz/data/role_read_access.yaml | 0 .../sentry/authz/data/role_write_access.yaml | 0 .../pkg => pkg}/sentry/authz/defaults.go | 0 .../adminsrv/pkg => pkg}/sentry/authz/fix.go | 0 .../sentry/authz/generate/generate.go | 0 .../adminsrv/pkg => pkg}/sentry/authz/util.go | 0 .../pkg => pkg}/sentry/authz/util_test.go | 0 .../pkg => pkg}/sentry/cryptoutil/ca.go | 0 .../pkg => pkg}/sentry/cryptoutil/ca_test.go | 0 .../pkg => pkg}/sentry/cryptoutil/cert.go | 0 .../sentry/cryptoutil/cert_test.go | 0 .../pkg => pkg}/sentry/cryptoutil/common.go | 0 .../pkg => pkg}/sentry/cryptoutil/csr.go | 0 .../pkg => pkg}/sentry/cryptoutil/csr_test.go | 0 .../pkg => pkg}/sentry/cryptoutil/key.go | 0 .../pkg => pkg}/sentry/cryptoutil/key_test.go | 0 .../pkg => pkg}/sentry/cryptoutil/signer.go | 0 .../sentry/cryptoutil/signer_test.go | 0 .../pkg => pkg}/sentry/kubeconfig/cert_cn.go | 0 .../sentry/kubeconfig/kubeconfig.go | 19 +- .../pkg => pkg}/sentry/peering/peering.go | 89 +- .../common/pkg => pkg}/sentry/peering/util.go | 0 .../pkg => pkg}/sentry/register/register.go | 16 +- .../sentry/register/register_test.go | 0 .../common/pkg => pkg}/sentry/util/addr.go | 0 .../common/pkg => pkg}/sentry/util/util.go | 0 .../pkg => pkg}/service/account_permission.go | 8 +- .../service/account_permissions_test.go | 0 .../authz/pkg => pkg}/service/authz.go | 9 +- .../adminsrv/pkg => pkg}/service/bootstrap.go | 200 +- .../pkg => pkg}/service/cluster.go | 367 +- .../pkg => pkg}/service/cluster_test.go | 59 +- pkg/service/const.go | 6 + .../usermgmt/pkg => pkg}/service/group.go | 19 +- .../pkg => pkg}/service/group_permission.go | 8 +- .../service/group_permission_test.go | 0 .../pkg => pkg}/service/group_test.go | 24 +- .../usermgmt/pkg => pkg}/service/idp.go | 8 +- .../service/kubeconfig_revocation.go | 10 +- .../service/kubeconfig_revocation_test.go | 0 .../service/kubeconfig_settings.go | 10 +- .../service/kubectl_cluster_setting.go | 10 +- .../service/kubectl_cluster_setting_test.go | 0 .../pkg => pkg}/service/metro.go | 20 +- .../pkg => pkg}/service/metro_test.go | 16 +- .../usermgmt/pkg => pkg}/service/mocks.go | 23 +- .../pkg => pkg}/service/namespace.go | 21 +- .../pkg => pkg}/service/oidc_provider.go | 8 +- .../pkg => pkg}/service/organization.go | 8 +- .../pkg => pkg}/service/organization_test.go | 4 +- .../adminsrv/pkg => pkg}/service/partner.go | 13 +- .../pkg => pkg}/service/partner_test.go | 4 +- .../adminsrv/pkg => pkg}/service/project.go | 8 +- .../pkg => pkg}/service/project_test.go | 4 +- .../usermgmt/pkg => pkg}/service/role.go | 19 +- .../usermgmt/pkg => pkg}/service/role_test.go | 50 +- .../pkg => pkg}/service/rolepermission.go | 10 +- .../service/rolepermission_test.go | 8 +- .../pkg => pkg}/service/test_utils.go | 0 .../usermgmt/pkg => pkg}/service/user.go | 23 +- .../usermgmt/pkg => pkg}/service/user_test.go | 46 +- .../pkg => pkg}/sso/saml/middleware.go | 2 +- .../usermgmt/pkg => pkg}/sso/saml/saml.go | 2 +- .../pkg => pkg}/sso/saml/saml_test.go | 0 proto/rpc/authz/authz.pb.go | 175 + .../rpc/v1 => proto/rpc/authz}/authz.proto | 14 +- .../v1 => proto/rpc/authz}/authz_grpc.pb.go | 146 +- .../proto => proto}/rpc/role/role.pb.go | 67 +- .../proto => proto}/rpc/role/role.pb.gw.go | 2 +- .../proto => proto}/rpc/role/role.proto | 0 .../proto => proto}/rpc/role/role_grpc.pb.go | 2 +- .../rpc/role/rolepermission.pb.go | 72 +- .../rpc/role/rolepermission.pb.gw.go | 2 +- .../rpc/role/rolepermission.proto | 0 .../rpc/role/rolepermission_grpc.pb.go | 2 +- .../rpc/scheduler/cluster.pb.go | 142 +- .../rpc/scheduler/cluster.pb.gw.go | 220 +- .../rpc/scheduler/cluster.proto | 16 - .../rpc/scheduler/cluster_grpc.pb.go | 76 +- .../proto => proto}/rpc/scheduler/internal.go | 2 +- .../rpc/sentry/audit_info.pb.go | 73 +- .../rpc/sentry/audit_info.pb.gw.go | 0 .../rpc/sentry/audit_info.proto | 0 .../rpc/sentry/audit_info_grpc.pb.go | 0 .../rpc/sentry/bootstrap.pb.go | 439 ++- .../rpc/sentry/bootstrap.pb.gw.go | 40 +- .../rpc/sentry/bootstrap.proto | 21 +- .../rpc/sentry/bootstrap_grpc.pb.go | 4 +- .../rpc/sentry/cluster_authz.pb.go | 251 +- .../rpc/sentry/cluster_authz.pb.gw.go | 0 .../rpc/sentry/cluster_authz.proto | 12 - .../rpc/sentry/cluster_authz_grpc.pb.go | 0 .../proto => proto}/rpc/sentry/internal.go | 4 +- .../rpc/sentry/kubeconfig.pb.go | 466 ++- .../rpc/sentry/kubeconfig.pb.gw.go | 0 .../rpc/sentry/kubeconfig.proto | 53 +- .../rpc/sentry/kubeconfig_grpc.pb.go | 2 +- .../rpc/sentry/kubectl_cluster.pb.go | 195 +- .../rpc/sentry/kubectl_cluster.pb.gw.go | 0 .../rpc/sentry/kubectl_cluster.proto | 29 +- .../rpc/sentry/kubectl_cluster_grpc.pb.go | 0 .../rpc/sentry/relaypeer.pb.go | 23 +- .../rpc/sentry/relaypeer.proto | 0 .../rpc/sentry/relaypeer_grpc.pb.go | 0 .../proto => proto}/rpc/system/idp.pb.go | 71 +- .../proto => proto}/rpc/system/idp.pb.gw.go | 2 +- .../proto => proto}/rpc/system/idp.proto | 0 .../proto => proto}/rpc/system/idp_grpc.pb.go | 2 +- .../proto => proto}/rpc/system/metro.pb.go | 69 +- .../proto => proto}/rpc/system/metro.pb.gw.go | 2 +- .../proto => proto}/rpc/system/metro.proto | 0 .../rpc/system/metro_grpc.pb.go | 2 +- .../rpc/system/oidc_provider.pb.go | 70 +- .../rpc/system/oidc_provider.pb.gw.go | 2 +- .../rpc/system/oidc_provider.proto | 0 .../rpc/system/oidc_provider_grpc.pb.go | 2 +- .../rpc/system/organization.pb.go | 70 +- .../rpc/system/organization.pb.gw.go | 2 +- .../rpc/system/organization.proto | 0 .../rpc/system/organization_grpc.pb.go | 2 +- .../proto => proto}/rpc/system/partner.pb.go | 69 +- .../rpc/system/partner.pb.gw.go | 2 +- .../proto => proto}/rpc/system/partner.proto | 0 .../rpc/system/partner_grpc.pb.go | 2 +- .../proto => proto}/rpc/system/project.pb.go | 67 +- .../rpc/system/project.pb.gw.go | 2 +- .../proto => proto}/rpc/system/project.proto | 0 .../rpc/system/project_grpc.pb.go | 2 +- .../proto => proto}/rpc/user/group.pb.go | 70 +- .../proto => proto}/rpc/user/group.pb.gw.go | 2 +- .../proto => proto}/rpc/user/group.proto | 0 .../proto => proto}/rpc/user/group_grpc.pb.go | 2 +- .../proto => proto}/rpc/user/user.pb.go | 69 +- .../proto => proto}/rpc/user/user.pb.gw.go | 2 +- .../proto => proto}/rpc/user/user.proto | 0 .../proto => proto}/rpc/user/user_grpc.pb.go | 2 +- .../common/proto => proto}/rpc/v3/auth.pb.go | 23 +- .../common/proto => proto}/rpc/v3/auth.proto | 0 .../proto => proto}/rpc/v3/auth_grpc.pb.go | 2 +- .../types => proto/types/authz}/authz.pb.go | 238 +- .../types => proto/types/authz}/authz.proto | 0 .../types/commonpb/v3/artifacts.pb.go | 29 +- .../types/commonpb/v3/artifacts.proto | 0 .../types/commonpb/v3/auth.pb.go | 29 +- .../types/commonpb/v3/auth.proto | 0 .../types/commonpb/v3/common.pb.go | 29 +- .../types/commonpb/v3/common.proto | 0 .../types/controller/accessor.go | 0 .../types/controller/accessor_test.go | 0 .../types/controller/cluster_controller.pb.go | 793 ++--- .../types/controller/cluster_controller.proto | 201 ++ .../types/controller/conditions.go | 0 .../types/controller/conditions_util.go | 0 .../types/controller/conditions_util_test.go | 0 .../proto => proto}/types/controller/const.go | 0 .../types/controller/groupversion_info.go | 0 .../proto => proto}/types/controller/init.go | 0 .../proto => proto}/types/controller/stage.go | 0 .../proto => proto}/types/controller/step.go | 0 .../types/controller/step_test.go | 0 .../types/controller/zz_generated.deepcopy.go | 0 .../types/infrapb/v3/cluster.pb.go | 1193 ++++--- .../types/infrapb/v3/cluster.proto | 35 +- .../infrapb/v3/clusterconditiontype.enum.go | 0 .../types/infrapb/v3/clusternodestate.enum.go | 0 .../types/infrapb/v3/clustersharemode.enum.go | 0 .../infrapb/v3/clustertokenstate.enum.go | 0 .../types/infrapb/v3/clustertokentype.enum.go | 0 .../types/rolepb/v3/role.pb.go | 31 +- .../types/rolepb/v3/role.proto | 0 .../types/rolepb/v3/rolepermission.pb.go | 29 +- .../types/rolepb/v3/rolepermission.proto | 0 proto/types/scheduler/namespace.pb.go | 1204 +++++++ proto/types/scheduler/namespace.proto | 90 + .../types/sentry/account_permission.pb.go | 26 +- .../types/sentry/account_permission.proto | 0 .../types/sentry/bootstrapagentmode.enum.go | 0 .../types/sentry/bootstrapagentstate.enum.go | 0 .../sentry/bootstrapagenttemplatetype.enum.go | 0 .../types/sentry/bootstrapagenttype.enum.go | 0 .../types/sentry/bootstrapinfratype.enum.go | 0 .../sentry/bootstraptemplatehosttype.enum.go | 0 .../proto => proto}/types/sentry/constants.go | 0 .../types/sentry/group_permission.pb.go | 26 +- .../types/sentry/group_permission.proto | 0 .../types/sentry/kubeconfig_setting.pb.go | 141 +- .../types/sentry/kubeconfig_setting.proto | 22 +- .../sentry/kubectl_cluster_setting.pb.go | 98 +- .../sentry/kubectl_cluster_setting.proto | 10 +- .../proto => proto}/types/sentry/sentry.pb.go | 545 ++- .../proto => proto}/types/sentry/sentry.proto | 94 +- .../types/systempb/v3/idp.pb.go | 30 +- .../types/systempb/v3/idp.proto | 0 .../types/systempb/v3/oidc_provider.pb.go | 31 +- .../types/systempb/v3/oidc_provider.proto | 0 .../types/systempb/v3/organization.pb.go | 31 +- .../types/systempb/v3/organization.proto | 0 .../types/systempb/v3/partner.pb.go | 31 +- .../types/systempb/v3/partner.proto | 0 .../types/systempb/v3/project.pb.go | 31 +- .../types/systempb/v3/project.proto | 0 .../types/userpb/v3/group.pb.go | 31 +- .../types/userpb/v3/group.proto | 0 .../types/userpb/v3/user.pb.go | 31 +- .../types/userpb/v3/user.proto | 0 .../resourcepermissions/createresources.go | 6 +- .../data/account_read.json | 0 .../data/accountrole_read.json | 0 .../data/accountrole_write.json | 0 .../resourcepermissions/data/audit_read.json | 0 .../data/certificate_read.json | 0 .../data/certificate_write.json | 0 .../data/cluster_scheduler_read.json | 0 .../data/cluster_scheduler_write.json | 0 .../data/clusterctl_read.json | 0 .../data/clusterctl_write.json | 0 .../resourcepermissions/data/console_all.json | 0 .../data/credential_read.json | 0 .../data/credential_write.json | 0 .../resourcepermissions/data/group_read.json | 0 .../resourcepermissions/data/group_write.json | 0 .../data/hub_agent_read.json | 0 .../data/hub_agent_write.json | 0 .../data/hub_cluster_read.json | 0 .../data/hub_cluster_write.json | 0 .../data/hub_infraprovisioner_read.json | 0 .../data/hub_infraprovisioner_write.json | 0 .../data/hub_namespace_read.json | 0 .../data/hub_namespace_write.json | 0 .../data/hub_openapi_explorer.read.json | 0 .../data/hub_organization_read.json | 0 .../data/hub_organization_write.json | 0 .../data/hub_partner_read.json | 0 .../data/hub_partner_write.json | 0 .../data/hub_pipeline_read.json | 0 .../data/hub_pipeline_write.json | 0 .../data/hub_project_read.json | 0 .../data/hub_project_write.json | 0 .../data/hub_repository_read.json | 0 .../data/hub_repository_write.json | 0 .../data/hub_wellknown_read.json | 0 .../data/hub_workload_read.json | 0 .../data/hub_workload_write.json | 0 .../data/hub_workloadtemplate_read.json | 0 .../data/hub_workloadtemplate_write.json | 0 .../data/idle_timeout_settings_read.json | 0 .../data/idle_timeout_settings_write.json | 0 .../data/kubeconfig_read.json | 0 .../data/kubeconfig_write.json | 0 .../data/kubectl_cluster_read.json | 0 .../data/kubectl_cluster_write.json | 0 .../data/kubectl_clustersettings_read.json | 0 .../data/kubectl_clustersettings_write.json | 0 .../data/kubectl_full_access.json | 0 .../data/kubectl_namespace_read.json | 0 .../data/kubectl_namespace_write.json | 0 .../data/lockout_settings_read.json | 0 .../data/lockout_settings_write.json | 0 .../data/namespace_read.json | 0 .../data/namespace_write.json | 0 .../data/ops_star_all.json | 0 .../data/org_alert_read.json | 0 .../data/org_alertconfig_read.json | 0 .../data/org_alertconfig_write.json | 0 .../data/org_auditLog_read.json | 0 .../data/org_relayAudit_read.json | 0 .../data/organization_read.json | 0 .../data/organization_write.json | 0 .../data/partner_alertconfig_read.json | 0 .../data/partner_alertconfig_write.json | 0 .../data/partner_read.json | 0 .../data/partner_write.json | 0 .../data/partnerdetalis_read.json | 0 .../data/project_activityjobs_read.json | 0 .../data/project_activityjobs_write.json | 0 .../data/project_activityplans_read.json | 0 .../data/project_activityplans_write.json | 0 .../data/project_admin_write.json | 0 .../data/project_agent_read.json | 0 .../data/project_agent_version_read.json | 0 .../data/project_agent_write.json | 0 .../data/project_aggregate_status_read.json | 0 .../data/project_alert_read.json | 0 .../data/project_alertconfig_read.json | 0 .../data/project_alertconfig_write.json | 0 .../data/project_approval_customer_read.json | 0 .../data/project_approval_customer_write.json | 0 .../data/project_approval_read.json | 0 .../data/project_approval_write.json | 0 .../data/project_approvalsummary_read.json | 0 .../data/project_auditLog_read.json | 0 .../data/project_audit_read.json | 0 .../data/project_certificate_read.json | 0 .../data/project_certificate_write.json | 0 ...roject_cluster_override_read_workload.json | 0 ...oject_cluster_override_write_workload.json | 0 .../data/project_cluster_scheduler_read.json | 0 .../data/project_cluster_scheduler_write.json | 0 .../data/project_clusterctl_read.json | 0 .../data/project_clusterctl_write.json | 0 .../data/project_container_registry_read.json | 0 .../project_container_registry_write.json | 0 .../data/project_credential_read.json | 0 .../data/project_credential_write.json | 0 .../data/project_customer_clusters_read.json | 0 .../data/project_customer_clusters_write.json | 0 .../data/project_customer_providers_read.json | 0 .../project_customer_providers_write.json | 0 .../data/project_customer_read.json | 0 .../data/project_customer_write.json | 0 .../data/project_dashboard_workload_read.json | 0 ...project_data_protection_location_read.json | 0 ...roject_data_protection_location_write.json | 0 .../project_data_protection_policy_read.json | 0 .../project_data_protection_policy_write.json | 0 .../data/project_data_protection_read.json | 0 .../data/project_data_protection_write.json | 0 .../data/project_infra_overrides_read.json | 0 .../data/project_infra_provisioner_read.json | 0 ...roject_infra_provisioner_runtime_read.json | 0 .../data/project_infra_provisioner_write.json | 0 .../project_integrationEndpoint_read.json | 0 .../project_integrationEndpoint_write.json | 0 .../data/project_myapproval_read.json | 0 .../data/project_myapprovalsummary_read.json | 0 .../data/project_namespace_customer_read.json | 0 .../project_namespace_customer_write.json | 0 .../data/project_namespace_read.json | 0 .../data/project_namespace_write.json | 0 .../data/project_override_read.json | 0 .../data/project_override_write.json | 0 .../data/project_pipeline_customer_read.json | 0 .../data/project_pipeline_customer_write.json | 0 .../project_pipeline_org_admin_write.json | 0 .../data/project_pipeline_read.json | 0 .../data/project_pipeline_variable_read.json | 0 .../data/project_pipeline_variable_write.json | 0 .../data/project_pipeline_write.json | 0 ...project_pipelinesummary_customer_read.json | 0 .../data/project_pipelinesummary_read.json | 0 .../data/project_placement_read.json | 0 .../data/project_placement_write.json | 0 .../project_providers_org_admin_write.json | 0 .../data/project_providers_read.json | 0 .../data/project_providers_write.json | 0 .../data/project_read.json | 0 .../data/project_registry_read.json | 0 .../data/project_registry_write.json | 0 .../data/project_relayAudit_read.json | 0 .../data/project_repository_read.json | 0 .../data/project_repository_write.json | 0 .../data/project_schedulerplacement_read.json | 0 .../project_schedulerplacement_write.json | 0 .../data/project_secretStore_read.json | 0 .../data/project_secretStore_write.json | 0 .../data/project_systemsync_read.json | 0 .../data/project_systemsync_write.json | 0 .../data/project_taskset_read.json | 0 .../data/project_taskset_write.json | 0 .../data/project_trigger_customer_read.json | 0 .../data/project_trigger_customer_write.json | 0 .../data/project_trigger_read.json | 0 .../data/project_trigger_write.json | 0 .../data/project_v2_namespace_read.json | 0 .../data/project_v2_namespace_write.json | 0 .../data/project_workload_customer_read.json | 0 .../data/project_workload_customer_write.json | 0 .../data/project_workload_publish.json | 0 .../data/project_workload_read.json | 0 .../data/project_workload_write.json | 0 .../data/project_workloadtemplatev2_read.json | 0 .../project_workloadtemplatev2_write.json | 0 .../data/project_workloadv2_read.json | 0 .../data/project_workloadv2_write.json | 0 .../data/project_write.json | 0 .../data/registry_read.json | 0 .../data/registry_write.json | 0 .../data/registryauthkey_read.json | 0 .../data/registryauthkey_write.json | 0 .../data/registryimage_read.json | 0 .../data/registryimage_write.json | 0 .../data/relaynetwork_read.json | 0 .../data/relaynetwork_write.json | 0 .../resourcepermissions/data/role_read.json | 0 .../resourcepermissions/data/role_write.json | 0 .../resourcepermissions/data/sso_read.json | 0 .../data/sso_user_read.json | 0 .../data/sso_user_write.json | 0 .../resourcepermissions/data/sso_write.json | 0 .../data/template_read.json | 0 .../data/user_keys_write.json | 0 .../resourcepermissions/data/user_read.json | 0 .../resourcepermissions/data/user_write.json | 0 .../data/v2account_read.json | 0 .../data/v2debug_read.json | 0 .../data/v2debug_write.json | 0 .../data/workload_publish.json | 0 .../data/workload_read.json | 0 .../data/workload_write.json | 0 .../resourceroles/createresourceroles.go | 4 +- .../resourceroles/data.json | 0 .../adminsrv/server => server}/audit_info.go | 8 +- .../adminsrv/server => server}/bootstrap.go | 62 +- .../server => server}/cluster.go | 40 +- .../server => server}/cluster_authz.go | 25 +- .../usermgmt/server => server}/group.go | 8 +- {components/usermgmt/server => server}/idp.go | 6 +- .../adminsrv/server => server}/kubeconfig.go | 20 +- .../kubectl_cluster_settings.go | 10 +- .../server => server}/metro.go | 6 +- .../server => server}/oidc_provider.go | 6 +- .../server => server}/organization.go | 6 +- .../adminsrv/server => server}/partner.go | 6 +- .../adminsrv/server => server}/project.go | 6 +- .../server => server}/relaypeerclient.go | 2 +- .../server => server}/relaypeerservice.go | 4 +- .../relaypeerservice_test.go | 6 +- .../usermgmt/server => server}/role.go | 8 +- .../server => server}/rolepermission.go | 6 +- .../server => server}/testdata/ca.crt | 0 .../server => server}/testdata/peersvc.crt | 0 .../server => server}/testdata/peersvc.key | 0 .../server => server}/testdata/query.sql | 0 .../usermgmt/server => server}/user.go | 8 +- .../usermgmt/server => server}/utils.go | 2 +- 1176 files changed, 9472 insertions(+), 88767 deletions(-) rename {components/usermgmt/_kratos => _kratos}/README.md (100%) rename {components/usermgmt/_kratos => _kratos}/development/pkg/common.go (100%) rename {components/usermgmt/_kratos => _kratos}/development/pkg/resources.go (100%) rename {components/usermgmt/_kratos => _kratos}/development/session_main.go (92%) rename {components/usermgmt/_kratos => _kratos}/go.mod (99%) rename {components/usermgmt/_kratos => _kratos}/go.sum (100%) rename {components/usermgmt/_kratos => _kratos}/identity.schema.json (100%) rename {components/usermgmt/_kratos => _kratos}/kratos.yml (93%) rename {components/usermgmt/_kratos => _kratos}/oidc_providers_example.yml (100%) rename {components/usermgmt/_kratos => _kratos}/quickstart-selinux.yml (100%) rename {components/usermgmt/_kratos => _kratos}/quickstart-standalone.yml (100%) rename {components/usermgmt/_kratos => _kratos}/quickstart.yml (100%) rename {components/usermgmt/_kratos => _kratos}/sync_providers_from_db.go (100%) create mode 100644 api/def/clients/sentry/client/audit_information/audit_information_client.go create mode 100644 api/def/clients/sentry/client/audit_information/audit_information_lookup_cluster_parameters.go create mode 100644 api/def/clients/sentry/client/audit_information/audit_information_lookup_cluster_responses.go create mode 100644 api/def/clients/sentry/client/audit_information/audit_information_lookup_user_parameters.go create mode 100644 api/def/clients/sentry/client/audit_information/audit_information_lookup_user_responses.go rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_client.go (64%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_parameters.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_parameters.go (94%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_parameters.go (94%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_parameters.go (94%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_parameters.go (95%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_parameters.go (88%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_parameters.go (88%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_parameters.go (93%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_parameters.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_parameters.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_parameters.go (100%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_responses.go (99%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_parameters.go (98%) rename {components/common/api => api}/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/cluster_authorization/cluster_authorization_client.go (100%) rename {components/common/api => api}/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_parameters.go (100%) rename {components/common/api => api}/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_client.go (100%) rename {components/common/api => api}/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_parameters.go (88%) rename {components/common/api => api}/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_parameters.go (98%) rename {components/common/api => api}/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_responses.go (98%) rename {components/common/api => api}/def/clients/sentry/client/sentry_bootstrap_service_client.go (97%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/controller_step_object.go (69%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/googlerpc_status.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/metav1_type_meta.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/protobuf_any.go (100%) rename {components/common/api => api}/def/clients/sentry/models/rpc_delete_bootstrap_agent_response.go (100%) rename {components/common/api => api}/def/clients/sentry/models/rpc_get_kubectl_cluster_settings_response.go (100%) rename {components/common/api => api}/def/clients/sentry/models/rpc_get_user_authorization_response.go (100%) create mode 100644 api/def/clients/sentry/models/rpc_lookup_cluster_response.go create mode 100644 api/def/clients/sentry/models/rpc_lookup_user_response.go rename {components/common/api => api}/def/clients/sentry/models/rpc_register_agent_response.go (100%) rename {components/common/api => api}/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_request.go (100%) rename {components/common/api => api}/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_response.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_boot_strap_agent_status.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_list.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_mode.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_spec.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_state.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_template.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_template_list.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_template_spec.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_template_status.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_agent_template_type.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_infra.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_infra_spec.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_infra_status.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_template_host.go (100%) rename {components/common/api => api}/def/clients/sentry/models/sentry_bootstrap_template_host_type.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/v1_fields_v1.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/v1_managed_fields_entry.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/v1_object_meta.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/v1_owner_reference.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/v1_time.go (100%) rename {components/common/api/def/clients/scheduler => api/def/clients/sentry}/models/v3_http_body.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/v3_list_metadata.go (100%) rename {components/common/api/def/clients/config => api/def/clients/sentry}/models/v3_metadata.go (97%) rename {components/common/api => api}/def/clients/sentry/models/v3_query_options.go (92%) rename components/common/buf.gen.yaml => buf.gen.yaml (75%) rename components/common/buf.lock => buf.lock (61%) rename components/common/buf.yaml => buf.yaml (87%) rename {components/common/build => build}/swagger.sh (100%) rename {components/common => cmd}/fix.go (100%) rename {components/common/cmd => cmd}/generate-enum/main.go (100%) delete mode 100644 components/adminsrv/go.mod delete mode 100644 components/adminsrv/go.sum delete mode 100644 components/adminsrv/internal/models/groupaccount.go delete mode 100644 components/adminsrv/master.rest delete mode 100644 components/adminsrv/pkg/sentry/util/peering.go delete mode 100644 components/authz/buf.gen.yaml delete mode 100644 components/authz/buf.lock delete mode 100644 components/authz/buf.yaml delete mode 100644 components/authz/go.mod delete mode 100644 components/authz/go.sum delete mode 100644 components/authz/main.go delete mode 100644 components/authz/pkg/server/authz.go delete mode 100644 components/authz/proto/rpc/v1/authz.pb.go delete mode 100644 components/buf.work.yaml delete mode 100644 components/cluster-scheduler/README.md delete mode 100644 components/cluster-scheduler/go.mod delete mode 100644 components/cluster-scheduler/go.sum delete mode 100644 components/cluster-scheduler/internal/cluster/operator/clusterscheduler.go delete mode 100644 components/cluster-scheduler/internal/models/metro.go delete mode 100644 components/cluster-scheduler/internal/testutil/db.go delete mode 100644 components/cluster-scheduler/internal/testutil/models.go delete mode 100644 components/cluster-scheduler/main.go delete mode 100644 components/cluster-scheduler/master.rest delete mode 100644 components/cluster-scheduler/pkg/bootstrapper/agent/create.go delete mode 100644 components/cluster-scheduler/pkg/bootstrapper/agent/delete.go delete mode 100644 components/cluster-scheduler/pkg/bootstrapper/agent/get.go delete mode 100644 components/cluster-scheduler/pkg/bootstrapper/agent/projects.go delete mode 100644 components/cluster-scheduler/pkg/bootstrapper/download.go delete mode 100644 components/cluster-scheduler/pkg/credentials/signer.go delete mode 100644 components/common/api/def/clients/config/client/override/override_add_default_overrides_parameters.go delete mode 100644 components/common/api/def/clients/config/client/override/override_add_default_overrides_responses.go delete mode 100644 components/common/api/def/clients/config/client/override/override_apply_override_parameters.go delete mode 100644 components/common/api/def/clients/config/client/override/override_apply_override_responses.go delete mode 100644 components/common/api/def/clients/config/client/override/override_client.go delete mode 100644 components/common/api/def/clients/config/client/override/override_create_override_parameters.go delete mode 100644 components/common/api/def/clients/config/client/override/override_create_override_responses.go delete mode 100644 components/common/api/def/clients/config/client/override/override_delete_override_parameters.go delete mode 100644 components/common/api/def/clients/config/client/override/override_delete_override_responses.go delete mode 100644 components/common/api/def/clients/config/client/override/override_get_override_parameters.go delete mode 100644 components/common/api/def/clients/config/client/override/override_get_override_responses.go delete mode 100644 components/common/api/def/clients/config/client/override/override_get_overrides_parameters.go delete mode 100644 components/common/api/def/clients/config/client/override/override_get_overrides_responses.go delete mode 100644 components/common/api/def/clients/config/client/override/override_update_override_parameters.go delete mode 100644 components/common/api/def/clients/config/client/override/override_update_override_responses.go delete mode 100644 components/common/api/def/clients/config/client/override_service_client.go delete mode 100644 components/common/api/def/clients/config/models/commonv3_status.go delete mode 100644 components/common/api/def/clients/config/models/config_drift_reconcillation_action.go delete mode 100644 components/common/api/def/clients/config/models/config_file_type.go delete mode 100644 components/common/api/def/clients/config/models/config_git_options.go delete mode 100644 components/common/api/def/clients/config/models/config_helm_options.go delete mode 100644 components/common/api/def/clients/config/models/config_namespace_template.go delete mode 100644 components/common/api/def/clients/config/models/config_override.go delete mode 100644 components/common/api/def/clients/config/models/config_override_list.go delete mode 100644 components/common/api/def/clients/config/models/config_override_spec.go delete mode 100644 components/common/api/def/clients/config/models/config_placement_type.go delete mode 100644 components/common/api/def/clients/config/models/config_repo_artifact_meta.go delete mode 100644 components/common/api/def/clients/config/models/config_repo_file.go delete mode 100644 components/common/api/def/clients/config/models/config_template_overrides.go delete mode 100644 components/common/api/def/clients/config/models/controller_step_template.go delete mode 100644 components/common/api/def/clients/config/models/corev1_resource_requirements.go delete mode 100644 components/common/api/def/clients/config/models/corev1_volume_mount.go delete mode 100644 components/common/api/def/clients/config/models/intstr_int_or_string.go delete mode 100644 components/common/api/def/clients/config/models/resource_quantity.go delete mode 100644 components/common/api/def/clients/config/models/rpc_add_default_overrides_request.go delete mode 100644 components/common/api/def/clients/config/models/rpc_add_default_overrides_response.go delete mode 100644 components/common/api/def/clients/config/models/rpc_apply_override_request.go delete mode 100644 components/common/api/def/clients/config/models/rpc_apply_override_response.go delete mode 100644 components/common/api/def/clients/config/models/rpc_delete_override_response.go delete mode 100644 components/common/api/def/clients/config/models/rpc_proxy_config.go delete mode 100644 components/common/api/def/clients/config/models/typesconfig_limit_range.go delete mode 100644 components/common/api/def/clients/config/models/typesconfig_limit_range_item.go delete mode 100644 components/common/api/def/clients/config/models/typesconfig_placement_label.go delete mode 100644 components/common/api/def/clients/config/models/typesconfig_placement_spec.go delete mode 100644 components/common/api/def/clients/config/models/typesconfig_resource_quota.go delete mode 100644 components/common/api/def/clients/config/models/typescontroller_namespace_spec.go delete mode 100644 components/common/api/def/clients/config/models/v1_a_w_s_elastic_block_store_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_affinity.go delete mode 100644 components/common/api/def/clients/config/models/v1_azure_disk_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_azure_file_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_c_s_i_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_capabilities.go delete mode 100644 components/common/api/def/clients/config/models/v1_ceph_f_s_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_cinder_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_config_map_env_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_config_map_key_selector.go delete mode 100644 components/common/api/def/clients/config/models/v1_config_map_projection.go delete mode 100644 components/common/api/def/clients/config/models/v1_config_map_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_container.go delete mode 100644 components/common/api/def/clients/config/models/v1_container_port.go delete mode 100644 components/common/api/def/clients/config/models/v1_downward_api_projection.go delete mode 100644 components/common/api/def/clients/config/models/v1_downward_api_volume_file.go delete mode 100644 components/common/api/def/clients/config/models/v1_downward_api_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_empty_dir_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_env_from_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_env_var.go delete mode 100644 components/common/api/def/clients/config/models/v1_env_var_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_ephemeral_container.go delete mode 100644 components/common/api/def/clients/config/models/v1_ephemeral_container_common.go delete mode 100644 components/common/api/def/clients/config/models/v1_ephemeral_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_exec_action.go delete mode 100644 components/common/api/def/clients/config/models/v1_f_c_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_flex_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_flocker_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_g_c_e_persistent_disk_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_git_repo_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_glusterfs_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_handler.go delete mode 100644 components/common/api/def/clients/config/models/v1_host_alias.go delete mode 100644 components/common/api/def/clients/config/models/v1_host_path_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_http_get_action.go delete mode 100644 components/common/api/def/clients/config/models/v1_http_header.go delete mode 100644 components/common/api/def/clients/config/models/v1_i_s_c_s_i_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_job_spec.go delete mode 100644 components/common/api/def/clients/config/models/v1_key_to_path.go delete mode 100644 components/common/api/def/clients/config/models/v1_label_selector.go delete mode 100644 components/common/api/def/clients/config/models/v1_label_selector_requirement.go delete mode 100644 components/common/api/def/clients/config/models/v1_lifecycle.go delete mode 100644 components/common/api/def/clients/config/models/v1_local_object_reference.go delete mode 100644 components/common/api/def/clients/config/models/v1_n_f_s_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_node_affinity.go delete mode 100644 components/common/api/def/clients/config/models/v1_node_selector.go delete mode 100644 components/common/api/def/clients/config/models/v1_node_selector_requirement.go delete mode 100644 components/common/api/def/clients/config/models/v1_node_selector_term.go delete mode 100644 components/common/api/def/clients/config/models/v1_object_field_selector.go delete mode 100644 components/common/api/def/clients/config/models/v1_persistent_volume_claim_spec.go delete mode 100644 components/common/api/def/clients/config/models/v1_persistent_volume_claim_template.go delete mode 100644 components/common/api/def/clients/config/models/v1_persistent_volume_claim_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_photon_persistent_disk_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_affinity.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_affinity_term.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_anti_affinity.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_dns_config.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_dns_config_option.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_readiness_gate.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_security_context.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_spec.go delete mode 100644 components/common/api/def/clients/config/models/v1_pod_template_spec.go delete mode 100644 components/common/api/def/clients/config/models/v1_portworx_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_preferred_scheduling_term.go delete mode 100644 components/common/api/def/clients/config/models/v1_probe.go delete mode 100644 components/common/api/def/clients/config/models/v1_projected_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_quobyte_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_r_b_d_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_resource_field_selector.go delete mode 100644 components/common/api/def/clients/config/models/v1_s_e_linux_options.go delete mode 100644 components/common/api/def/clients/config/models/v1_scale_i_o_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_seccomp_profile.go delete mode 100644 components/common/api/def/clients/config/models/v1_secret_env_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_secret_key_selector.go delete mode 100644 components/common/api/def/clients/config/models/v1_secret_projection.go delete mode 100644 components/common/api/def/clients/config/models/v1_secret_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_security_context.go delete mode 100644 components/common/api/def/clients/config/models/v1_service_account_token_projection.go delete mode 100644 components/common/api/def/clients/config/models/v1_storage_o_s_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_sysctl.go delete mode 100644 components/common/api/def/clients/config/models/v1_tcp_socket_action.go delete mode 100644 components/common/api/def/clients/config/models/v1_toleration.go delete mode 100644 components/common/api/def/clients/config/models/v1_topology_spread_constraint.go delete mode 100644 components/common/api/def/clients/config/models/v1_typed_local_object_reference.go delete mode 100644 components/common/api/def/clients/config/models/v1_volume.go delete mode 100644 components/common/api/def/clients/config/models/v1_volume_device.go delete mode 100644 components/common/api/def/clients/config/models/v1_volume_projection.go delete mode 100644 components/common/api/def/clients/config/models/v1_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_vsphere_virtual_disk_volume_source.go delete mode 100644 components/common/api/def/clients/config/models/v1_weighted_pod_affinity_term.go delete mode 100644 components/common/api/def/clients/config/models/v1_windows_security_context_options.go delete mode 100644 components/common/api/def/clients/config/models/v1beta1_job_template_spec.go delete mode 100644 components/common/api/def/clients/config/models/v3_condition_status.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_client.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_create_cluster_parameters.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_create_cluster_responses.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_delete_cluster_parameters.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_delete_cluster_responses.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_download_cluster_parameters.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_download_cluster_responses.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_get_cluster_parameters.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_get_cluster_responses.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_get_clusters_parameters.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_get_clusters_responses.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_register_cluster_parameters.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_register_cluster_responses.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_update_cluster_parameters.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster/cluster_update_cluster_responses.go delete mode 100644 components/common/api/def/clients/scheduler/client/cluster_service_client.go delete mode 100644 components/common/api/def/clients/scheduler/models/commonv3_node_condition.go delete mode 100644 components/common/api/def/clients/scheduler/models/commonv3_node_system_info.go delete mode 100644 components/common/api/def/clients/scheduler/models/commonv3_status.go delete mode 100644 components/common/api/def/clients/scheduler/models/commonv3_taint.go delete mode 100644 components/common/api/def/clients/scheduler/models/commonv3_time.go delete mode 100644 components/common/api/def/clients/scheduler/models/googlerpc_status.go delete mode 100644 components/common/api/def/clients/scheduler/models/protobuf_any.go delete mode 100644 components/common/api/def/clients/scheduler/models/rpc_delete_cluster_response.go delete mode 100644 components/common/api/def/clients/scheduler/models/rpc_register_cluster_request.go delete mode 100644 components/common/api/def/clients/scheduler/models/rpc_register_cluster_response.go delete mode 100644 components/common/api/def/clients/scheduler/models/v1_node_condition.go delete mode 100644 components/common/api/def/clients/scheduler/models/v1_node_system_info.go delete mode 100644 components/common/api/def/clients/scheduler/models/v1_taint.go delete mode 100644 components/common/api/def/clients/scheduler/models/v1_time.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_condition.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_condition_type.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_data.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_list.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_node.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_node_ip.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_node_spec.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_node_state.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_node_status.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_share_mode.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_spec.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_cluster_status.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_condition_status.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_health.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_list_metadata.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_metadata.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_metro.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_project_cluster.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_provision_params.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_proxy_config.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_rafay_condition_status.go delete mode 100644 components/common/api/def/clients/scheduler/models/v3_resources.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_relay_network_parameters.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_relay_network_responses.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_relay_network_parameters.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_relay_network_responses.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_agent_parameters.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_agent_responses.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_parameters.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_responses.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_network_parameters.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_network_responses.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_networks_parameters.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_networks_responses.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_relay_network_parameters.go delete mode 100644 components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_relay_network_responses.go delete mode 100644 components/common/api/def/clients/sentry/models/config_drift_reconcillation_action.go delete mode 100644 components/common/api/def/clients/sentry/models/config_placement_type.go delete mode 100644 components/common/api/def/clients/sentry/models/controller_step_object.go delete mode 100644 components/common/api/def/clients/sentry/models/googlerpc_status.go delete mode 100644 components/common/api/def/clients/sentry/models/metav1_type_meta.go delete mode 100644 components/common/api/def/clients/sentry/models/protobuf_any.go delete mode 100644 components/common/api/def/clients/sentry/models/rpc_delete_relay_network_response.go delete mode 100644 components/common/api/def/clients/sentry/models/sentry_relay_network.go delete mode 100644 components/common/api/def/clients/sentry/models/sentry_relay_network_list.go delete mode 100644 components/common/api/def/clients/sentry/models/sentry_relay_network_spec.go delete mode 100644 components/common/api/def/clients/sentry/models/sentry_relay_network_status.go delete mode 100644 components/common/api/def/clients/sentry/models/typesconfig_placement_label.go delete mode 100644 components/common/api/def/clients/sentry/models/typesconfig_placement_spec.go delete mode 100644 components/common/api/def/clients/sentry/models/v3_http_body.go delete mode 100644 components/common/api/def/clients/sentry/models/v3_list_metadata.go delete mode 100644 components/common/api/def/clients/sentry/models/v3_metadata.go delete mode 100644 components/common/go.mod delete mode 100644 components/common/go.sum delete mode 100644 components/common/pkg/gateway/testdata/test.proto delete mode 100644 components/common/pkg/models/group.go delete mode 100644 components/common/pkg/models/groupaccount.go delete mode 100644 components/common/pkg/models/metro.go delete mode 100644 components/common/pkg/models/organization.go delete mode 100644 components/common/pkg/models/partner.go delete mode 100644 components/common/pkg/models/project.go delete mode 100644 components/common/proto/rpc/config/internal.go delete mode 100644 components/common/proto/rpc/config/override.pb.go delete mode 100644 components/common/proto/rpc/config/override.pb.gw.go delete mode 100644 components/common/proto/rpc/config/override.proto delete mode 100644 components/common/proto/rpc/config/override_grpc.pb.go delete mode 100644 components/common/proto/types/config/config.pb.go delete mode 100644 components/common/proto/types/config/config.proto delete mode 100644 components/common/proto/types/config/constants.go delete mode 100644 components/common/proto/types/config/namespace.pb.go delete mode 100644 components/common/proto/types/config/namespace.proto delete mode 100644 components/common/proto/types/config/override.pb.go delete mode 100644 components/common/proto/types/config/override.proto delete mode 100644 components/common/proto/types/config/placement.pb.go delete mode 100644 components/common/proto/types/config/placement.proto delete mode 100644 components/common/proto/types/config/repository.pb.go delete mode 100644 components/common/proto/types/config/repository.proto delete mode 100644 components/common/proto/types/config/workload.pb.go delete mode 100644 components/common/proto/types/config/workload.proto delete mode 100644 components/common/proto/types/controller/cluster_controller.proto delete mode 100644 components/common/proto/types/scheduler/namespace.pb.go delete mode 100644 components/common/proto/types/scheduler/namespace.proto delete mode 100644 components/relay/Dockerfile delete mode 100644 components/relay/Dockerfile.agent delete mode 100644 components/relay/Dockerfile.dev delete mode 100644 components/relay/Makefile delete mode 100644 components/relay/README.md delete mode 100644 components/relay/go.mod delete mode 100644 components/relay/go.sum delete mode 100644 components/relay/main.go delete mode 100644 components/relay/pkg/agent/agent.go delete mode 100644 components/relay/pkg/agent/lib.go delete mode 100644 components/relay/pkg/audit/audit.go delete mode 100644 components/relay/pkg/audit/logger.go delete mode 100644 components/relay/pkg/cleanup/authz.go delete mode 100644 components/relay/pkg/profile/profile.go delete mode 100644 components/relay/pkg/proxy/kube_proxy.go delete mode 100644 components/relay/pkg/proxy/proxy.go delete mode 100644 components/relay/pkg/proxy/round_tripper.go delete mode 100644 components/relay/pkg/proxy/service_account.go delete mode 100644 components/relay/pkg/proxy/tcpproxy.go delete mode 100644 components/relay/pkg/proxy/testdata/role.yaml delete mode 100644 components/relay/pkg/relay/relay.go delete mode 100644 components/relay/pkg/relaylogger/relaylogger.go delete mode 100644 components/relay/pkg/sessions/usersession.go delete mode 100644 components/relay/pkg/tail/follower/follower.go delete mode 100644 components/relay/pkg/tail/register.go delete mode 100644 components/relay/pkg/tail/run.go delete mode 100644 components/relay/pkg/tail/tail.go delete mode 100644 components/relay/pkg/tail/transform.go delete mode 100644 components/relay/pkg/tail/types.go delete mode 100644 components/relay/pkg/tail/url_test.go delete mode 100644 components/relay/pkg/tunnel/authz.go delete mode 100644 components/relay/pkg/tunnel/backoff.go delete mode 100644 components/relay/pkg/tunnel/client.go delete mode 100644 components/relay/pkg/tunnel/client_config.go delete mode 100644 components/relay/pkg/tunnel/client_test.go delete mode 100644 components/relay/pkg/tunnel/common.go delete mode 100644 components/relay/pkg/tunnel/dialin_pool.go delete mode 100644 components/relay/pkg/tunnel/errors.go delete mode 100644 components/relay/pkg/tunnel/peer.go delete mode 100644 components/relay/pkg/tunnel/server.go delete mode 100644 components/relay/pkg/tunnel/server_config.go delete mode 100644 components/relay/pkg/utils/utils.go delete mode 100644 components/relay/testdata/README.md delete mode 100644 components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key delete mode 100644 components/relay/testdata/certs/clientcerts/star.admin.crt delete mode 100644 components/relay/testdata/certs/clientcerts/star.admin.csr delete mode 100644 components/relay/testdata/certs/clientcerts/star.admin.key delete mode 100644 components/relay/testdata/certs/clientcerts/star.default.crt delete mode 100644 components/relay/testdata/certs/clientcerts/star.default.csr delete mode 100644 components/relay/testdata/certs/clientcerts/star.default.key delete mode 100644 components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.crt delete mode 100644 components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.csr delete mode 100644 components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.key delete mode 100644 components/relay/testdata/certs/gencert.sh delete mode 100644 components/relay/testdata/certs/rootCA.crt delete mode 100644 components/relay/testdata/certs/rootCA.key delete mode 100644 components/relay/testdata/certs/rootCA.srl delete mode 100644 components/relay/testdata/certs/run.sh delete mode 100644 components/relay/testdata/certs/servercerts/.srl delete mode 100644 components/relay/testdata/certs/servercerts/relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/servercerts/relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/servercerts/relay.rafay.dev.key delete mode 100644 components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.key delete mode 100644 components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.key delete mode 100644 components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.key delete mode 100644 components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.key delete mode 100644 components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.key delete mode 100644 components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.key delete mode 100644 components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.crt delete mode 100644 components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.csr delete mode 100644 components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.key delete mode 100644 components/relay/testdata/client-cluster1.yaml delete mode 100644 components/relay/testdata/client-cluster2.yaml delete mode 100644 components/relay/testdata/images/testsetup.png delete mode 100644 components/relay/testdata/kubectlconfigs/kubeconfig delete mode 100644 components/relay/testdata/kubectlconfigs/kubeconfig-c-5 delete mode 100644 components/relay/testdata/kubectlconfigs/kubeconfig-sa delete mode 100644 components/relay/testdata/kubectlconfigs/kubeconfigproxy-123abcd.user.relay.rafay.local delete mode 100644 components/relay/testdata/kubectlconfigs/kubeconfigproxy-cluster1 delete mode 100644 components/relay/testdata/kubectlconfigs/kubeconfigproxy-cluster2 delete mode 100644 components/relay/testdata/kubectlconfigs/kubeproxyconfig delete mode 100644 components/relay/testdata/pod.yaml delete mode 100644 components/relay/testdata/relay-agent-config.yaml delete mode 100644 components/relay/testdata/role.yaml delete mode 100644 components/relay/testdata/sample-kubeconfig.yaml delete mode 100644 components/relay/testdata/scripts/dialinclient.sh delete mode 100755 components/relay/testdata/scripts/loop.sh delete mode 100644 components/relay/testdata/scripts/relayclient.sh delete mode 100644 components/relay/testdata/server.yaml delete mode 100644 components/relay/testdata/server2.yaml delete mode 100644 components/relay/testdata/testclients/loadtest.go delete mode 100644 components/relay/testdata/testclients/testclient.go delete mode 100644 components/usermgmt/README.md delete mode 100644 components/usermgmt/go.mod delete mode 100644 components/usermgmt/go.sum delete mode 100644 components/usermgmt/internal/models/group.go delete mode 100644 components/usermgmt/main.go delete mode 100644 components/usermgmt/master.rest delete mode 100644 components/usermgmt/pkg/service/const.go rename components/usermgmt/env.example => env.example (100%) rename {components/common/gen => gen}/openapi/pkg/gateway/testdata/test.swagger.json (100%) create mode 100644 gen/openapi/proto/rpc/authz/authz.swagger.json rename {components/common/gen => gen}/openapi/proto/rpc/config/override.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/role/role.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/role/rolepermission.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/scheduler/cluster.swagger.json (95%) rename {components/common/gen => gen}/openapi/proto/rpc/sentry/audit_info.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/sentry/bootstrap.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/sentry/cluster_authz.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/sentry/kubeconfig.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/sentry/kubectl_cluster.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/sentry/relaypeer.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/system/idp.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/system/metro.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/system/oidc_provider.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/system/organization.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/system/partner.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/system/project.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/user/group.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/user/user.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/rpc/v3/auth.swagger.json (100%) create mode 100644 gen/openapi/proto/types/authz/authz.swagger.json rename {components/common/gen => gen}/openapi/proto/types/commonpb/v3/artifacts.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/commonpb/v3/auth.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/commonpb/v3/common.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/config/config.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/config/namespace.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/config/override.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/config/placement.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/config/repository.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/config/workload.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/controller/cluster_controller.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/infrapb/v3/cluster.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/rolepb/v3/role.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/rolepb/v3/rolepermission.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/scheduler/namespace.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/sentry/account_permission.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/sentry/group_permission.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/sentry/kubeconfig_setting.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/sentry/kubectl_cluster_setting.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/sentry/sentry.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/systempb/v3/idp.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/systempb/v3/oidc_provider.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/systempb/v3/organization.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/systempb/v3/partner.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/systempb/v3/project.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/userpb/v3/group.swagger.json (100%) rename {components/common/gen => gen}/openapi/proto/types/userpb/v3/user.swagger.json (100%) rename {components/cluster-scheduler/internal => internal}/cluster/cluster.go (79%) rename {components/cluster-scheduler/internal => internal}/cluster/clusterproxy.go (94%) rename {components/cluster-scheduler/internal => internal}/cluster/conditions.go (96%) rename {components/cluster-scheduler/internal => internal}/cluster/constants/constants.go (95%) rename {components/cluster-scheduler/internal => internal}/cluster/dao/cluster.go (92%) rename {components/cluster-scheduler/internal => internal}/cluster/dao/clusteroperatorbootstrap.go (91%) rename {components/cluster-scheduler/internal => internal}/cluster/dao/clustertoken.go (85%) rename {components/cluster-scheduler/internal => internal}/cluster/dao/const.go (100%) rename {components/cluster-scheduler/internal => internal}/cluster/dao/namespaces.go (89%) rename {components/cluster-scheduler/internal => internal}/cluster/dao/projectcluster.go (86%) rename {components/cluster-scheduler/internal => internal/cluster}/fix.go (86%) rename {components/cluster-scheduler/internal => internal/cluster}/fixtures/data/download.yaml (100%) rename {components/cluster-scheduler/internal => internal/cluster}/fixtures/download.go (100%) rename {components/cluster-scheduler/internal => internal/cluster}/fixtures/fixtures.go (100%) rename {components/cluster-scheduler/internal => internal/cluster}/generate/fixtures/fixtures_generate.go (100%) rename {components/cluster-scheduler/internal => internal}/cluster/hash/hash.go (100%) rename {components/cluster-scheduler/internal => internal}/cluster/util/labels.go (98%) rename {components/cluster-scheduler/internal => internal}/cluster/util/taints.go (100%) rename {components/adminsrv/internal => internal}/constants/error.go (100%) rename {components/adminsrv/internal => internal}/dao/bootstrap.go (96%) rename {components/usermgmt/internal/group => internal}/dao/group.go (94%) rename {components/adminsrv/internal => internal}/dao/kubeconfig.go (95%) rename {components/adminsrv/internal => internal}/dao/permission.go (97%) rename {components/usermgmt/internal/role => internal}/dao/role.go (93%) rename {components/usermgmt/internal/user => internal}/dao/user.go (94%) rename {components/adminsrv/internal => internal}/fix.go (100%) rename {components/adminsrv/internal => internal}/fixtures/data/agent_templates.yaml (100%) rename {components/adminsrv/internal => internal}/fixtures/data/relay_agent_template.yaml (100%) rename {components/adminsrv/internal => internal}/fixtures/data/relay_template.yaml (100%) rename {components/adminsrv/internal => internal}/fixtures/fixtures.go (100%) rename {components/adminsrv/internal => internal}/fixtures/load.go (90%) rename {components/adminsrv/internal => internal}/generate/generate.go (100%) rename {components/adminsrv/internal => internal}/models/account.go (100%) rename {components/adminsrv/internal => internal}/models/accountpermission.go (100%) rename {components/usermgmt/internal => internal}/models/accountresourcerole.go (100%) rename {components/adminsrv/internal => internal}/models/bootstrapagent.go (100%) rename {components/adminsrv/internal => internal}/models/bootstrapagenttemplate.go (100%) rename {components/adminsrv/internal => internal}/models/bootstrapinfra.go (100%) rename {components/cluster-scheduler/internal => internal}/models/cluster.go (100%) rename {components/cluster-scheduler/internal => internal}/models/clusternamespaces.go (100%) rename {components/cluster-scheduler/internal => internal}/models/clusteroperatorbootstrap.go (100%) rename {components/cluster-scheduler/internal => internal}/models/clustertoken.go (100%) rename {components/adminsrv/internal => internal}/models/group.go (100%) rename {components/usermgmt/internal => internal}/models/groupaccount.go (100%) rename {components/adminsrv/internal => internal}/models/grouppermission.go (100%) rename {components/usermgmt/internal => internal}/models/grouprole.go (100%) rename {components/usermgmt/internal => internal}/models/idp.go (100%) rename {components/usermgmt/internal => internal}/models/kratosidentities.go (100%) rename {components/adminsrv/internal => internal}/models/kubeconfig_revocation.go (100%) rename {components/adminsrv/internal => internal}/models/kubeconfig_setting.go (100%) rename {components/adminsrv/internal => internal}/models/kubectl_cluster_setting.go (100%) rename {components/adminsrv/internal => internal}/models/metro.go (100%) rename {components/usermgmt/internal => internal}/models/oidc_provider.go (100%) rename {components/adminsrv/internal => internal}/models/organization.go (100%) rename {components/adminsrv/internal => internal}/models/partner.go (100%) rename {components/adminsrv/internal => internal}/models/project.go (100%) rename {components/usermgmt/internal => internal}/models/projectaccountnamespacerole.go (100%) rename {components/usermgmt/internal => internal}/models/projectaccountresourcerole.go (100%) rename {components/cluster-scheduler/internal => internal}/models/projectcluster.go (100%) rename {components/usermgmt/internal => internal}/models/projectgroupnamespacerole.go (100%) rename {components/usermgmt/internal => internal}/models/projectgrouprole.go (100%) rename {components/usermgmt/internal => internal}/models/resourcepermission.go (100%) rename {components/usermgmt/internal => internal}/models/resourcerolepermission.go (100%) rename {components/usermgmt/internal => internal}/models/role.go (100%) rename {components/adminsrv/internal => internal}/models/ssoaccount_group_project_roles.go (100%) rename {components/usermgmt/pkg/providers => internal/persistence/provider/kratos}/kratos.go (100%) rename {components/common/pkg => internal}/persistence/provider/pg/entity_dao.go (100%) rename {components/common/pkg => internal}/random/string.go (100%) rename {components/common/pkg => internal}/utils/lookup.go (94%) rename components/adminsrv/main.go => main.go (61%) create mode 100644 master.rest rename persistence/migrations/{clusterdb/000001_cluster_metro.down.sql => admindb/000031_cluster_metro.down.sql} (100%) rename persistence/migrations/{clusterdb/000001_cluster_metro.up.sql => admindb/000031_cluster_metro.up.sql} (93%) rename persistence/migrations/{clusterdb/000002_cluster_operator_bootstrap.down.sql => admindb/000032_cluster_operator_bootstrap.down.sql} (100%) rename persistence/migrations/{clusterdb/000002_cluster_operator_bootstrap.up.sql => admindb/000032_cluster_operator_bootstrap.up.sql} (80%) rename persistence/migrations/{clusterdb/000003_cluster_tokens.down.sql => admindb/000033_cluster_tokens.down.sql} (100%) rename persistence/migrations/{clusterdb/000003_cluster_tokens.up.sql => admindb/000033_cluster_tokens.up.sql} (92%) rename persistence/migrations/{clusterdb/000004_cluster_clusters.down.sql => admindb/000034_cluster_clusters.down.sql} (100%) rename persistence/migrations/{clusterdb/000004_cluster_clusters.up.sql => admindb/000034_cluster_clusters.up.sql} (96%) rename persistence/migrations/{clusterdb/000005_cluster_project_cluster.down.sql => admindb/000035_cluster_project_cluster.down.sql} (100%) rename persistence/migrations/{clusterdb/000005_cluster_project_cluster.up.sql => admindb/000035_cluster_project_cluster.up.sql} (87%) rename persistence/migrations/{clusterdb/000006_cluster_namespaces.down.sql => admindb/000036_cluster_namespaces.down.sql} (100%) rename persistence/migrations/{clusterdb/000006_cluster_namespaces.up.sql => admindb/000036_cluster_namespaces.up.sql} (91%) rename {components/common/pkg => pkg}/audit/events.go (98%) rename {components/common/pkg => pkg}/audit/producer.go (100%) rename {components/common/pkg => pkg}/auth/v3/auth.go (93%) rename {components/common/pkg => pkg}/auth/v3/interceptor.go (92%) rename {components/common/pkg => pkg}/auth/v3/middleware.go (85%) rename {components/common/pkg => pkg}/auth/v3/pool.go (88%) rename {components/common/pkg => pkg}/auth/v3/service.go (95%) rename {components/common/pkg => pkg}/auth/v3/session.go (80%) rename {components/common/pkg => pkg}/common/constants.go (97%) create mode 100644 pkg/common/types.go rename {components/common/pkg => pkg}/controller/apply/apply.go (96%) rename {components/common/pkg => pkg}/controller/apply/apply_test.go (96%) rename {components/common/pkg => pkg}/controller/apply/appy_bench_test.go (100%) rename {components/common/pkg => pkg}/controller/apply/patch.go (94%) rename {components/common/pkg => pkg}/controller/apply/patch_large_test.go (100%) rename {components/common/pkg => pkg}/controller/apply/patch_test.go (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/cr1.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/crd1-modified.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/crd1.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/deployment-patch.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/deployment.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/invalid-deployment.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/pod1.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/pod2.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/prometheus.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/rafay-system-ns.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/service1-current.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/service1-modified.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/service2-current.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/service2-modified.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/statefulset-patch.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/testdata/statefulset.yaml (100%) rename {components/common/pkg => pkg}/controller/apply/util.go (92%) rename {components/common/pkg => pkg}/controller/apply/util_test.go (67%) rename {components/common/pkg => pkg}/controller/client/client.go (87%) rename {components/common/pkg => pkg}/controller/client/client_test.go (100%) rename {components/common/pkg => pkg}/controller/runtime/object.go (95%) rename {components/common/pkg => pkg}/controller/runtime/object_test.go (97%) rename {components/common/pkg => pkg}/controller/runtime/testdata/configmap.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/crd.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/daemonset.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/deployment1.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/deployment2.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/etcd-patch.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/etcd.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/job.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/secret.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/statefulset-patch.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/statefulset.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/unstructured1.yaml (100%) rename {components/common/pkg => pkg}/controller/runtime/testdata/unstructured2.yaml (100%) rename {components/common/pkg => pkg}/controller/scheme/scheme.go (91%) rename {components/common/pkg => pkg}/controller/step/state.go (98%) rename {components/common/pkg => pkg}/controller/step/step.go (94%) rename {components/common/pkg => pkg}/controller/step/util.go (100%) rename {components/common/pkg => pkg}/controller/strategicpatch/errors.go (100%) rename {components/common/pkg => pkg}/controller/strategicpatch/meta.go (100%) rename {components/common/pkg => pkg}/controller/strategicpatch/patch.go (100%) rename {components/common/pkg => pkg}/controller/strategicpatch/types.go (100%) rename {components/common/pkg => pkg}/controller/util/gvk.go (100%) rename {components/common/pkg => pkg}/controller/util/object.go (88%) rename {components/common/pkg => pkg}/controller/util/owner.go (93%) rename {components/common/pkg => pkg}/controller/util/owner_test.go (100%) rename {components/common/pkg => pkg}/controller/util/patch.go (94%) rename {components/common/pkg => pkg}/controller/util/patch_test.go (79%) rename {components/common/pkg => pkg}/controller/util/step.go (91%) rename {components/common/pkg => pkg}/controller/util/string.go (100%) rename {components/common/pkg => pkg}/controller/util/testdata/kong.yaml (100%) rename {components/common/pkg => pkg}/controller/util/testdata/owner1.yaml (100%) rename {components/common/pkg => pkg}/controller/util/testdata/owner2.yaml (100%) rename {components/common/pkg => pkg}/controller/util/testdata/service_with_owner.yaml (100%) rename {components/common/pkg => pkg}/controller/util/testdata/service_without_owner.yaml (100%) rename {components/common/pkg => pkg}/converter/import.go (57%) rename {components/common/pkg => pkg}/converter/phase.go (100%) rename {components/common/pkg => pkg}/converter/util.go (92%) rename {components/authz/pkg => pkg}/enforcer/enforcer.go (100%) rename {components/common/pkg => pkg}/event/event.go (100%) rename {components/common/pkg => pkg}/event/queue.go (97%) rename {components/common/pkg => pkg}/event/queue_test.go (100%) rename {components/common/pkg => pkg}/event/rate_limiting.go (100%) rename {components/common/pkg => pkg}/event/rate_limiting_test.go (100%) rename {components/common/pkg => pkg}/gateway/annotator.go (100%) rename {components/common/pkg => pkg}/gateway/error.go (100%) rename {components/common/pkg => pkg}/gateway/gateway.go (100%) rename {components/common/pkg => pkg}/gateway/httpbody.go (94%) rename {components/common/pkg => pkg}/gateway/json.go (100%) rename {components/common/pkg => pkg}/gateway/json_test.go (84%) rename {components/common/pkg => pkg}/gateway/testdata/gateway_test.go (91%) rename {components/common/pkg => pkg}/gateway/testdata/test.pb.go (69%) rename {components/common/pkg => pkg}/gateway/testdata/test.pb.gw.go (100%) create mode 100644 pkg/gateway/testdata/test.proto rename {components/common/pkg => pkg}/gateway/testdata/test_grpc.pb.go (100%) rename {components/common/pkg => pkg}/gateway/util.go (100%) rename {components/common/pkg => pkg}/gateway/yaml.go (100%) rename {components/common/pkg => pkg}/gateway/yaml_test.go (84%) rename {components/common/pkg => pkg}/grpc/client.go (100%) rename {components/common/pkg => pkg}/grpc/server.go (100%) rename {components/common/pkg => pkg}/hasher/hash.go (100%) rename {components/common/pkg => pkg}/hasher/test/hashid_test.go (83%) rename {components/common/pkg => pkg}/leaderelection/config.go (100%) rename {components/common/pkg => pkg}/leaderelection/const.go (100%) rename {components/common/pkg => pkg}/leaderelection/election.go (95%) rename {components/common/pkg => pkg}/leaderelection/election_test.go (100%) rename {components/common/pkg => pkg}/leaderelection/lock.go (100%) rename {components/common/pkg => pkg}/log/log.go (100%) rename {components/common/pkg => pkg}/log/log_test.go (100%) rename {components/common/pkg => pkg}/match/match.go (88%) rename {components/cluster-scheduler/pkg => pkg}/notify/notify.go (88%) rename {components/cluster-scheduler/pkg => pkg}/patch/status.go (89%) rename {components/common/pkg => pkg}/pool/pool.go (100%) rename {components/common/pkg => pkg}/query/options.go (97%) rename {components/common/pkg => pkg}/query/selector.go (96%) rename {components/cluster-scheduler/pkg => pkg}/reconcile/cluster_conditions_reconciler.go (91%) rename {components/cluster-scheduler/pkg => pkg}/reconcile/cluster_handler.go (85%) rename {components/cluster-scheduler/pkg => pkg}/reconcile/cluster_reconciler.go (81%) rename {components/cluster-scheduler/pkg => pkg}/reconcile/utils.go (78%) rename {components/adminsrv/pkg => pkg}/sentry/authz/authz.go (96%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/cluster_role_cluster_read.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/cluster_role_cluster_write.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/cluster_role_full_access.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/cluster_role_namespace_read.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/cluster_role_namespace_write.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/namespace.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/relay_default_cluster_role.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/relay_default_role.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/role_read_access.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/data/role_write_access.yaml (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/defaults.go (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/fix.go (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/generate/generate.go (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/util.go (100%) rename {components/adminsrv/pkg => pkg}/sentry/authz/util_test.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/ca.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/ca_test.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/cert.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/cert_test.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/common.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/csr.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/csr_test.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/key.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/key_test.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/signer.go (100%) rename {components/common/pkg => pkg}/sentry/cryptoutil/signer_test.go (100%) rename {components/adminsrv/pkg => pkg}/sentry/kubeconfig/cert_cn.go (100%) rename {components/adminsrv/pkg => pkg}/sentry/kubeconfig/kubeconfig.go (96%) rename {components/common/pkg => pkg}/sentry/peering/peering.go (78%) rename {components/common/pkg => pkg}/sentry/peering/util.go (100%) rename {components/common/pkg => pkg}/sentry/register/register.go (91%) rename {components/common/pkg => pkg}/sentry/register/register_test.go (100%) rename {components/common/pkg => pkg}/sentry/util/addr.go (100%) rename {components/common/pkg => pkg}/sentry/util/util.go (100%) rename {components/adminsrv/pkg => pkg}/service/account_permission.go (96%) rename {components/adminsrv/pkg => pkg}/service/account_permissions_test.go (100%) rename {components/authz/pkg => pkg}/service/authz.go (96%) rename {components/adminsrv/pkg => pkg}/service/bootstrap.go (68%) rename {components/cluster-scheduler/pkg => pkg}/service/cluster.go (77%) rename {components/cluster-scheduler/pkg => pkg}/service/cluster_test.go (75%) create mode 100644 pkg/service/const.go rename {components/usermgmt/pkg => pkg}/service/group.go (95%) rename {components/adminsrv/pkg => pkg}/service/group_permission.go (92%) rename {components/adminsrv/pkg => pkg}/service/group_permission_test.go (100%) rename {components/usermgmt/pkg => pkg}/service/group_test.go (97%) rename {components/usermgmt/pkg => pkg}/service/idp.go (97%) rename {components/adminsrv/pkg => pkg}/service/kubeconfig_revocation.go (87%) rename {components/adminsrv/pkg => pkg}/service/kubeconfig_revocation_test.go (100%) rename {components/adminsrv/pkg => pkg}/service/kubeconfig_settings.go (91%) rename {components/adminsrv/pkg => pkg}/service/kubectl_cluster_setting.go (88%) rename {components/adminsrv/pkg => pkg}/service/kubectl_cluster_setting_test.go (100%) rename {components/cluster-scheduler/pkg => pkg}/service/metro.go (90%) rename {components/cluster-scheduler/pkg => pkg}/service/metro_test.go (91%) rename {components/usermgmt/pkg => pkg}/service/mocks.go (71%) rename {components/cluster-scheduler/pkg => pkg}/service/namespace.go (86%) rename {components/usermgmt/pkg => pkg}/service/oidc_provider.go (97%) rename {components/adminsrv/pkg => pkg}/service/organization.go (97%) rename {components/adminsrv/pkg => pkg}/service/organization_test.go (97%) rename {components/adminsrv/pkg => pkg}/service/partner.go (96%) rename {components/adminsrv/pkg => pkg}/service/partner_test.go (96%) rename {components/adminsrv/pkg => pkg}/service/project.go (96%) rename {components/adminsrv/pkg => pkg}/service/project_test.go (96%) rename {components/usermgmt/pkg => pkg}/service/role.go (93%) rename {components/usermgmt/pkg => pkg}/service/role_test.go (90%) rename {components/usermgmt/pkg => pkg}/service/rolepermission.go (89%) rename {components/usermgmt/pkg => pkg}/service/rolepermission_test.go (85%) rename {components/usermgmt/pkg => pkg}/service/test_utils.go (100%) rename {components/usermgmt/pkg => pkg}/service/user.go (93%) rename {components/usermgmt/pkg => pkg}/service/user_test.go (93%) rename {components/usermgmt/pkg => pkg}/sso/saml/middleware.go (98%) rename {components/usermgmt/pkg => pkg}/sso/saml/saml.go (77%) rename {components/usermgmt/pkg => pkg}/sso/saml/saml_test.go (100%) create mode 100644 proto/rpc/authz/authz.pb.go rename {components/authz/proto/rpc/v1 => proto/rpc/authz}/authz.proto (78%) rename {components/authz/proto/rpc/v1 => proto/rpc/authz}/authz_grpc.pb.go (72%) rename {components/common/proto => proto}/rpc/role/role.pb.go (77%) rename {components/common/proto => proto}/rpc/role/role.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/role/role.proto (100%) rename {components/common/proto => proto}/rpc/role/role_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/role/rolepermission.pb.go (59%) rename {components/common/proto => proto}/rpc/role/rolepermission.pb.gw.go (98%) rename {components/common/proto => proto}/rpc/role/rolepermission.proto (100%) rename {components/common/proto => proto}/rpc/role/rolepermission_grpc.pb.go (97%) rename {components/common/proto => proto}/rpc/scheduler/cluster.pb.go (69%) rename {components/common/proto => proto}/rpc/scheduler/cluster.pb.gw.go (78%) rename {components/common/proto => proto}/rpc/scheduler/cluster.proto (87%) rename {components/common/proto => proto}/rpc/scheduler/cluster_grpc.pb.go (76%) rename {components/common/proto => proto}/rpc/scheduler/internal.go (94%) rename {components/common/proto => proto}/rpc/sentry/audit_info.pb.go (83%) rename {components/common/proto => proto}/rpc/sentry/audit_info.pb.gw.go (100%) rename {components/common/proto => proto}/rpc/sentry/audit_info.proto (100%) rename {components/common/proto => proto}/rpc/sentry/audit_info_grpc.pb.go (100%) rename {components/common/proto => proto}/rpc/sentry/bootstrap.pb.go (56%) rename {components/common/proto => proto}/rpc/sentry/bootstrap.pb.gw.go (98%) rename {components/common/proto => proto}/rpc/sentry/bootstrap.proto (86%) rename {components/common/proto => proto}/rpc/sentry/bootstrap_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/sentry/cluster_authz.pb.go (53%) rename {components/common/proto => proto}/rpc/sentry/cluster_authz.pb.gw.go (100%) rename {components/common/proto => proto}/rpc/sentry/cluster_authz.proto (82%) rename {components/common/proto => proto}/rpc/sentry/cluster_authz_grpc.pb.go (100%) rename {components/common/proto => proto}/rpc/sentry/internal.go (96%) rename {components/common/proto => proto}/rpc/sentry/kubeconfig.pb.go (57%) rename {components/common/proto => proto}/rpc/sentry/kubeconfig.pb.gw.go (100%) rename {components/common/proto => proto}/rpc/sentry/kubeconfig.proto (72%) rename {components/common/proto => proto}/rpc/sentry/kubeconfig_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/sentry/kubectl_cluster.pb.go (61%) rename {components/common/proto => proto}/rpc/sentry/kubectl_cluster.pb.gw.go (100%) rename {components/common/proto => proto}/rpc/sentry/kubectl_cluster.proto (69%) rename {components/common/proto => proto}/rpc/sentry/kubectl_cluster_grpc.pb.go (100%) rename {components/common/proto => proto}/rpc/sentry/relaypeer.pb.go (95%) rename {components/common/proto => proto}/rpc/sentry/relaypeer.proto (100%) rename {components/common/proto => proto}/rpc/sentry/relaypeer_grpc.pb.go (100%) rename {components/common/proto => proto}/rpc/system/idp.pb.go (72%) rename {components/common/proto => proto}/rpc/system/idp.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/system/idp.proto (100%) rename {components/common/proto => proto}/rpc/system/idp_grpc.pb.go (98%) rename {components/common/proto => proto}/rpc/system/metro.pb.go (76%) rename {components/common/proto => proto}/rpc/system/metro.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/system/metro.proto (100%) rename {components/common/proto => proto}/rpc/system/metro_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/system/oidc_provider.pb.go (77%) rename {components/common/proto => proto}/rpc/system/oidc_provider.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/system/oidc_provider.proto (100%) rename {components/common/proto => proto}/rpc/system/oidc_provider_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/system/organization.pb.go (77%) rename {components/common/proto => proto}/rpc/system/organization.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/system/organization.proto (100%) rename {components/common/proto => proto}/rpc/system/organization_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/system/partner.pb.go (72%) rename {components/common/proto => proto}/rpc/system/partner.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/system/partner.proto (100%) rename {components/common/proto => proto}/rpc/system/partner_grpc.pb.go (98%) rename {components/common/proto => proto}/rpc/system/project.pb.go (78%) rename {components/common/proto => proto}/rpc/system/project.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/system/project.proto (100%) rename {components/common/proto => proto}/rpc/system/project_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/user/group.pb.go (77%) rename {components/common/proto => proto}/rpc/user/group.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/user/group.proto (100%) rename {components/common/proto => proto}/rpc/user/group_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/user/user.pb.go (77%) rename {components/common/proto => proto}/rpc/user/user.pb.gw.go (99%) rename {components/common/proto => proto}/rpc/user/user.proto (100%) rename {components/common/proto => proto}/rpc/user/user_grpc.pb.go (99%) rename {components/common/proto => proto}/rpc/v3/auth.pb.go (78%) rename {components/common/proto => proto}/rpc/v3/auth.proto (100%) rename {components/common/proto => proto}/rpc/v3/auth_grpc.pb.go (97%) rename {components/authz/proto/types => proto/types/authz}/authz.pb.go (61%) rename {components/authz/proto/types => proto/types/authz}/authz.proto (100%) rename {components/common/proto => proto}/types/commonpb/v3/artifacts.pb.go (98%) rename {components/common/proto => proto}/types/commonpb/v3/artifacts.proto (100%) rename {components/common/proto => proto}/types/commonpb/v3/auth.pb.go (96%) rename {components/common/proto => proto}/types/commonpb/v3/auth.proto (100%) rename {components/common/proto => proto}/types/commonpb/v3/common.pb.go (98%) rename {components/common/proto => proto}/types/commonpb/v3/common.proto (100%) rename {components/common/proto => proto}/types/controller/accessor.go (100%) rename {components/common/proto => proto}/types/controller/accessor_test.go (100%) rename {components/common/proto => proto}/types/controller/cluster_controller.pb.go (61%) create mode 100644 proto/types/controller/cluster_controller.proto rename {components/common/proto => proto}/types/controller/conditions.go (100%) rename {components/common/proto => proto}/types/controller/conditions_util.go (100%) rename {components/common/proto => proto}/types/controller/conditions_util_test.go (100%) rename {components/common/proto => proto}/types/controller/const.go (100%) rename {components/common/proto => proto}/types/controller/groupversion_info.go (100%) rename {components/common/proto => proto}/types/controller/init.go (100%) rename {components/common/proto => proto}/types/controller/stage.go (100%) rename {components/common/proto => proto}/types/controller/step.go (100%) rename {components/common/proto => proto}/types/controller/step_test.go (100%) rename {components/common/proto => proto}/types/controller/zz_generated.deepcopy.go (100%) rename {components/common/proto => proto}/types/infrapb/v3/cluster.pb.go (61%) rename {components/common/proto => proto}/types/infrapb/v3/cluster.proto (94%) rename {components/common/proto => proto}/types/infrapb/v3/clusterconditiontype.enum.go (100%) rename {components/common/proto => proto}/types/infrapb/v3/clusternodestate.enum.go (100%) rename {components/common/proto => proto}/types/infrapb/v3/clustersharemode.enum.go (100%) rename {components/common/proto => proto}/types/infrapb/v3/clustertokenstate.enum.go (100%) rename {components/common/proto => proto}/types/infrapb/v3/clustertokentype.enum.go (100%) rename {components/common/proto => proto}/types/rolepb/v3/role.pb.go (93%) rename {components/common/proto => proto}/types/rolepb/v3/role.proto (100%) rename {components/common/proto => proto}/types/rolepb/v3/rolepermission.pb.go (93%) rename {components/common/proto => proto}/types/rolepb/v3/rolepermission.proto (100%) create mode 100644 proto/types/scheduler/namespace.pb.go create mode 100644 proto/types/scheduler/namespace.proto rename {components/common/proto => proto}/types/sentry/account_permission.pb.go (95%) rename {components/common/proto => proto}/types/sentry/account_permission.proto (100%) rename {components/common/proto => proto}/types/sentry/bootstrapagentmode.enum.go (100%) rename {components/common/proto => proto}/types/sentry/bootstrapagentstate.enum.go (100%) rename {components/common/proto => proto}/types/sentry/bootstrapagenttemplatetype.enum.go (100%) rename {components/common/proto => proto}/types/sentry/bootstrapagenttype.enum.go (100%) rename {components/common/proto => proto}/types/sentry/bootstrapinfratype.enum.go (100%) rename {components/common/proto => proto}/types/sentry/bootstraptemplatehosttype.enum.go (100%) rename {components/common/proto => proto}/types/sentry/constants.go (100%) rename {components/common/proto => proto}/types/sentry/group_permission.pb.go (90%) rename {components/common/proto => proto}/types/sentry/group_permission.proto (100%) rename {components/common/proto => proto}/types/sentry/kubeconfig_setting.pb.go (66%) rename {components/common/proto => proto}/types/sentry/kubeconfig_setting.proto (82%) rename {components/common/proto => proto}/types/sentry/kubectl_cluster_setting.pb.go (61%) rename {components/common/proto => proto}/types/sentry/kubectl_cluster_setting.proto (84%) rename {components/common/proto => proto}/types/sentry/sentry.pb.go (65%) rename {components/common/proto => proto}/types/sentry/sentry.proto (68%) rename {components/common/proto => proto}/types/systempb/v3/idp.pb.go (94%) rename {components/common/proto => proto}/types/systempb/v3/idp.proto (100%) rename {components/common/proto => proto}/types/systempb/v3/oidc_provider.pb.go (94%) rename {components/common/proto => proto}/types/systempb/v3/oidc_provider.proto (100%) rename {components/common/proto => proto}/types/systempb/v3/organization.pb.go (96%) rename {components/common/proto => proto}/types/systempb/v3/organization.proto (100%) rename {components/common/proto => proto}/types/systempb/v3/partner.pb.go (93%) rename {components/common/proto => proto}/types/systempb/v3/partner.proto (100%) rename {components/common/proto => proto}/types/systempb/v3/project.pb.go (92%) rename {components/common/proto => proto}/types/systempb/v3/project.proto (100%) rename {components/common/proto => proto}/types/userpb/v3/group.pb.go (94%) rename {components/common/proto => proto}/types/userpb/v3/group.proto (100%) rename {components/common/proto => proto}/types/userpb/v3/user.pb.go (94%) rename {components/common/proto => proto}/types/userpb/v3/user.proto (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/createresources.go (87%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/account_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/accountrole_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/accountrole_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/audit_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/certificate_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/certificate_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/cluster_scheduler_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/cluster_scheduler_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/clusterctl_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/clusterctl_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/console_all.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/credential_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/credential_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/group_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/group_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_agent_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_agent_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_cluster_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_cluster_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_infraprovisioner_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_infraprovisioner_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_namespace_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_namespace_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_openapi_explorer.read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_organization_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_organization_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_partner_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_partner_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_pipeline_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_pipeline_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_project_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_project_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_repository_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_repository_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_wellknown_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_workload_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_workload_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_workloadtemplate_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/hub_workloadtemplate_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/idle_timeout_settings_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/idle_timeout_settings_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubeconfig_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubeconfig_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubectl_cluster_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubectl_cluster_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubectl_clustersettings_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubectl_clustersettings_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubectl_full_access.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubectl_namespace_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/kubectl_namespace_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/lockout_settings_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/lockout_settings_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/namespace_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/namespace_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/ops_star_all.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/org_alert_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/org_alertconfig_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/org_alertconfig_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/org_auditLog_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/org_relayAudit_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/organization_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/organization_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/partner_alertconfig_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/partner_alertconfig_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/partner_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/partner_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/partnerdetalis_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_activityjobs_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_activityjobs_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_activityplans_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_activityplans_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_admin_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_agent_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_agent_version_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_agent_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_aggregate_status_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_alert_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_alertconfig_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_alertconfig_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_approval_customer_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_approval_customer_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_approval_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_approval_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_approvalsummary_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_auditLog_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_audit_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_certificate_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_certificate_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_cluster_override_read_workload.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_cluster_override_write_workload.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_cluster_scheduler_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_cluster_scheduler_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_clusterctl_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_clusterctl_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_container_registry_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_container_registry_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_credential_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_credential_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_customer_clusters_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_customer_clusters_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_customer_providers_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_customer_providers_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_customer_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_customer_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_dashboard_workload_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_data_protection_location_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_data_protection_location_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_data_protection_policy_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_data_protection_policy_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_data_protection_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_data_protection_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_infra_overrides_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_infra_provisioner_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_infra_provisioner_runtime_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_infra_provisioner_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_integrationEndpoint_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_integrationEndpoint_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_myapproval_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_myapprovalsummary_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_namespace_customer_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_namespace_customer_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_namespace_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_namespace_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_override_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_override_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipeline_customer_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipeline_customer_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipeline_org_admin_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipeline_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipeline_variable_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipeline_variable_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipeline_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipelinesummary_customer_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_pipelinesummary_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_placement_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_placement_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_providers_org_admin_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_providers_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_providers_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_registry_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_registry_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_relayAudit_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_repository_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_repository_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_schedulerplacement_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_schedulerplacement_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_secretStore_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_secretStore_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_systemsync_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_systemsync_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_taskset_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_taskset_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_trigger_customer_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_trigger_customer_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_trigger_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_trigger_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_v2_namespace_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_v2_namespace_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workload_customer_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workload_customer_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workload_publish.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workload_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workload_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workloadtemplatev2_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workloadtemplatev2_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workloadv2_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_workloadv2_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/project_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/registry_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/registry_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/registryauthkey_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/registryauthkey_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/registryimage_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/registryimage_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/relaynetwork_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/relaynetwork_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/role_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/role_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/sso_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/sso_user_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/sso_user_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/sso_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/template_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/user_keys_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/user_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/user_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/v2account_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/v2debug_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/v2debug_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/workload_publish.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/workload_read.json (100%) rename {components/usermgmt/scripts => scripts}/resourcepermissions/data/workload_write.json (100%) rename {components/usermgmt/scripts => scripts}/resourceroles/createresourceroles.go (95%) rename {components/usermgmt/scripts => scripts}/resourceroles/data.json (100%) rename {components/adminsrv/server => server}/audit_info.go (88%) rename {components/adminsrv/server => server}/bootstrap.go (79%) rename {components/cluster-scheduler/server => server}/cluster.go (63%) rename {components/adminsrv/server => server}/cluster_authz.go (64%) rename {components/usermgmt/server => server}/group.go (82%) rename {components/usermgmt/server => server}/idp.go (79%) rename {components/adminsrv/server => server}/kubeconfig.go (93%) rename {components/adminsrv/server => server}/kubectl_cluster_settings.go (90%) rename {components/cluster-scheduler/server => server}/metro.go (85%) rename {components/usermgmt/server => server}/oidc_provider.go (81%) rename {components/adminsrv/server => server}/organization.go (85%) rename {components/adminsrv/server => server}/partner.go (82%) rename {components/adminsrv/server => server}/project.go (84%) rename {components/adminsrv/server => server}/relaypeerclient.go (99%) rename {components/adminsrv/server => server}/relaypeerservice.go (99%) rename {components/adminsrv/server => server}/relaypeerservice_test.go (96%) rename {components/usermgmt/server => server}/role.go (82%) rename {components/usermgmt/server => server}/rolepermission.go (66%) rename {components/adminsrv/server => server}/testdata/ca.crt (100%) rename {components/adminsrv/server => server}/testdata/peersvc.crt (100%) rename {components/adminsrv/server => server}/testdata/peersvc.key (100%) rename {components/adminsrv/server => server}/testdata/query.sql (100%) rename {components/usermgmt/server => server}/user.go (82%) rename {components/usermgmt/server => server}/utils.go (81%) diff --git a/Makefile b/Makefile index 0a2a050..12af41d 100644 --- a/Makefile +++ b/Makefile @@ -7,33 +7,23 @@ vendor: .PHONY: build-proto build-proto: - cd components; buf build + buf build .PHONY: gen-proto gen-proto: - cd components/common; buf generate - cd components/authz; buf generate + buf generate .PHONY: test test: - cd components/common; go test ./... - cd components/adminsrv; go test ./... - cd components/usermgmt; go test ./... - cd components/cluster-scheduler; go test ./... - + go test ./... + .PHONY: check check: - cd components/common; go fmt ./... - cd components/adminsrv; go fmt ./... - cd components/usermgmt; go fmt ./... - cd components/cluster-scheduler; go fmt ./... - - cd components/common; go vet ./... - cd components/adminsrv; go vet ./... - cd components/usermgmt; go vet ./... - cd components/cluster-scheduler; go vet ./... - + go fmt ./... + + go vet ./... + .PHONY: clean clean: - rm -rf components/**/gen + rm -rf ./**/gen find . -name "*.pb*" -type f -delete diff --git a/README.md b/README.md index 1035d63..c9458fb 100644 --- a/README.md +++ b/README.md @@ -67,4 +67,4 @@ export POSTGRESQL_URL='postgres://:@:/admindb?sslmode=di migrate -path ./persistence/migrations/admindb -database "$POSTGRESQL_URL" up ``` -See [cli-usage](https://github.com/golang-migrate/migrate#cli-usage) for more info. +See [cli-usage](https://github.com/golang-migrate/migrate#cli-usage) for more info. \ No newline at end of file diff --git a/components/usermgmt/_kratos/README.md b/_kratos/README.md similarity index 100% rename from components/usermgmt/_kratos/README.md rename to _kratos/README.md diff --git a/components/usermgmt/_kratos/development/pkg/common.go b/_kratos/development/pkg/common.go similarity index 100% rename from components/usermgmt/_kratos/development/pkg/common.go rename to _kratos/development/pkg/common.go diff --git a/components/usermgmt/_kratos/development/pkg/resources.go b/_kratos/development/pkg/resources.go similarity index 100% rename from components/usermgmt/_kratos/development/pkg/resources.go rename to _kratos/development/pkg/resources.go diff --git a/components/usermgmt/_kratos/development/session_main.go b/_kratos/development/session_main.go similarity index 92% rename from components/usermgmt/_kratos/development/session_main.go rename to _kratos/development/session_main.go index e545a5a..3e7ef8f 100644 --- a/components/usermgmt/_kratos/development/session_main.go +++ b/_kratos/development/session_main.go @@ -3,7 +3,7 @@ package main import ( "time" - "github.com/RafaySystems/rcloud-base/components/usermgmt/_kratos/development/pkg" + "github.com/RafaySystems/rcloud-base/_kratos/development/pkg" ory "github.com/ory/kratos-client-go" ) diff --git a/components/usermgmt/_kratos/go.mod b/_kratos/go.mod similarity index 99% rename from components/usermgmt/_kratos/go.mod rename to _kratos/go.mod index d4e7a9c..17ea173 100644 --- a/components/usermgmt/_kratos/go.mod +++ b/_kratos/go.mod @@ -1,4 +1,4 @@ -module github.com/RafaySystems/rcloud-base/components/usermgmt/_kratos +module github.com/RafaySystems/rcloud-base/_kratos go 1.17 diff --git a/components/usermgmt/_kratos/go.sum b/_kratos/go.sum similarity index 100% rename from components/usermgmt/_kratos/go.sum rename to _kratos/go.sum diff --git a/components/usermgmt/_kratos/identity.schema.json b/_kratos/identity.schema.json similarity index 100% rename from components/usermgmt/_kratos/identity.schema.json rename to _kratos/identity.schema.json diff --git a/components/usermgmt/_kratos/kratos.yml b/_kratos/kratos.yml similarity index 93% rename from components/usermgmt/_kratos/kratos.yml rename to _kratos/kratos.yml index e8c4ce4..a276505 100644 --- a/components/usermgmt/_kratos/kratos.yml +++ b/_kratos/kratos.yml @@ -1,6 +1,6 @@ version: v0.7.1-alpha.1 -dsn: memory +dsn: postgres://admindbuser:admindbpassword@localhost:5432/admindb?sslmode=disable&max_conns=20&max_idle_conns=4 serve: public: diff --git a/components/usermgmt/_kratos/oidc_providers_example.yml b/_kratos/oidc_providers_example.yml similarity index 100% rename from components/usermgmt/_kratos/oidc_providers_example.yml rename to _kratos/oidc_providers_example.yml diff --git a/components/usermgmt/_kratos/quickstart-selinux.yml b/_kratos/quickstart-selinux.yml similarity index 100% rename from components/usermgmt/_kratos/quickstart-selinux.yml rename to _kratos/quickstart-selinux.yml diff --git a/components/usermgmt/_kratos/quickstart-standalone.yml b/_kratos/quickstart-standalone.yml similarity index 100% rename from components/usermgmt/_kratos/quickstart-standalone.yml rename to _kratos/quickstart-standalone.yml diff --git a/components/usermgmt/_kratos/quickstart.yml b/_kratos/quickstart.yml similarity index 100% rename from components/usermgmt/_kratos/quickstart.yml rename to _kratos/quickstart.yml diff --git a/components/usermgmt/_kratos/sync_providers_from_db.go b/_kratos/sync_providers_from_db.go similarity index 100% rename from components/usermgmt/_kratos/sync_providers_from_db.go rename to _kratos/sync_providers_from_db.go diff --git a/api/def/clients/sentry/client/audit_information/audit_information_client.go b/api/def/clients/sentry/client/audit_information/audit_information_client.go new file mode 100644 index 0000000..1696a50 --- /dev/null +++ b/api/def/clients/sentry/client/audit_information/audit_information_client.go @@ -0,0 +1,117 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package audit_information + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" +) + +// New creates a new audit information API client. +func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { + return &Client{transport: transport, formats: formats} +} + +/* +Client for audit information API +*/ +type Client struct { + transport runtime.ClientTransport + formats strfmt.Registry +} + +// ClientOption is the option for Client methods +type ClientOption func(*runtime.ClientOperation) + +// ClientService is the interface for Client methods +type ClientService interface { + AuditInformationLookupCluster(params *AuditInformationLookupClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*AuditInformationLookupClusterOK, error) + + AuditInformationLookupUser(params *AuditInformationLookupUserParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*AuditInformationLookupUserOK, error) + + SetTransport(transport runtime.ClientTransport) +} + +/* + AuditInformationLookupCluster audit information lookup cluster API +*/ +func (a *Client) AuditInformationLookupCluster(params *AuditInformationLookupClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*AuditInformationLookupClusterOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewAuditInformationLookupClusterParams() + } + op := &runtime.ClientOperation{ + ID: "AuditInformation_LookupCluster", + Method: "GET", + PathPattern: "/v2/sentry/auditInfo/cluster", + ProducesMediaTypes: []string{"application/json", "application/yaml"}, + ConsumesMediaTypes: []string{"application/json", "application/yaml"}, + Schemes: []string{"https"}, + Params: params, + Reader: &AuditInformationLookupClusterReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*AuditInformationLookupClusterOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*AuditInformationLookupClusterDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +/* + AuditInformationLookupUser audit information lookup user API +*/ +func (a *Client) AuditInformationLookupUser(params *AuditInformationLookupUserParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*AuditInformationLookupUserOK, error) { + // TODO: Validate the params before sending + if params == nil { + params = NewAuditInformationLookupUserParams() + } + op := &runtime.ClientOperation{ + ID: "AuditInformation_LookupUser", + Method: "GET", + PathPattern: "/v2/sentry/auditInfo/user", + ProducesMediaTypes: []string{"application/json", "application/yaml"}, + ConsumesMediaTypes: []string{"application/json", "application/yaml"}, + Schemes: []string{"https"}, + Params: params, + Reader: &AuditInformationLookupUserReader{formats: a.formats}, + AuthInfo: authInfo, + Context: params.Context, + Client: params.HTTPClient, + } + for _, opt := range opts { + opt(op) + } + + result, err := a.transport.Submit(op) + if err != nil { + return nil, err + } + success, ok := result.(*AuditInformationLookupUserOK) + if ok { + return success, nil + } + // unexpected success response + unexpectedSuccess := result.(*AuditInformationLookupUserDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) +} + +// SetTransport changes the transport on the client +func (a *Client) SetTransport(transport runtime.ClientTransport) { + a.transport = transport +} diff --git a/api/def/clients/sentry/client/audit_information/audit_information_lookup_cluster_parameters.go b/api/def/clients/sentry/client/audit_information/audit_information_lookup_cluster_parameters.go new file mode 100644 index 0000000..5aee924 --- /dev/null +++ b/api/def/clients/sentry/client/audit_information/audit_information_lookup_cluster_parameters.go @@ -0,0 +1,158 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package audit_information + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewAuditInformationLookupClusterParams creates a new AuditInformationLookupClusterParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewAuditInformationLookupClusterParams() *AuditInformationLookupClusterParams { + return &AuditInformationLookupClusterParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewAuditInformationLookupClusterParamsWithTimeout creates a new AuditInformationLookupClusterParams object +// with the ability to set a timeout on a request. +func NewAuditInformationLookupClusterParamsWithTimeout(timeout time.Duration) *AuditInformationLookupClusterParams { + return &AuditInformationLookupClusterParams{ + timeout: timeout, + } +} + +// NewAuditInformationLookupClusterParamsWithContext creates a new AuditInformationLookupClusterParams object +// with the ability to set a context for a request. +func NewAuditInformationLookupClusterParamsWithContext(ctx context.Context) *AuditInformationLookupClusterParams { + return &AuditInformationLookupClusterParams{ + Context: ctx, + } +} + +// NewAuditInformationLookupClusterParamsWithHTTPClient creates a new AuditInformationLookupClusterParams object +// with the ability to set a custom HTTPClient for a request. +func NewAuditInformationLookupClusterParamsWithHTTPClient(client *http.Client) *AuditInformationLookupClusterParams { + return &AuditInformationLookupClusterParams{ + HTTPClient: client, + } +} + +/* AuditInformationLookupClusterParams contains all the parameters to send to the API endpoint + for the audit information lookup cluster operation. + + Typically these are written to a http.Request. +*/ +type AuditInformationLookupClusterParams struct { + + // ClusterSNI. + ClusterSNI *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the audit information lookup cluster params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *AuditInformationLookupClusterParams) WithDefaults() *AuditInformationLookupClusterParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the audit information lookup cluster params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *AuditInformationLookupClusterParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the audit information lookup cluster params +func (o *AuditInformationLookupClusterParams) WithTimeout(timeout time.Duration) *AuditInformationLookupClusterParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the audit information lookup cluster params +func (o *AuditInformationLookupClusterParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the audit information lookup cluster params +func (o *AuditInformationLookupClusterParams) WithContext(ctx context.Context) *AuditInformationLookupClusterParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the audit information lookup cluster params +func (o *AuditInformationLookupClusterParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the audit information lookup cluster params +func (o *AuditInformationLookupClusterParams) WithHTTPClient(client *http.Client) *AuditInformationLookupClusterParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the audit information lookup cluster params +func (o *AuditInformationLookupClusterParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithClusterSNI adds the clusterSNI to the audit information lookup cluster params +func (o *AuditInformationLookupClusterParams) WithClusterSNI(clusterSNI *string) *AuditInformationLookupClusterParams { + o.SetClusterSNI(clusterSNI) + return o +} + +// SetClusterSNI adds the clusterSNI to the audit information lookup cluster params +func (o *AuditInformationLookupClusterParams) SetClusterSNI(clusterSNI *string) { + o.ClusterSNI = clusterSNI +} + +// WriteToRequest writes these params to a swagger request +func (o *AuditInformationLookupClusterParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.ClusterSNI != nil { + + // query param clusterSNI + var qrClusterSNI string + + if o.ClusterSNI != nil { + qrClusterSNI = *o.ClusterSNI + } + qClusterSNI := qrClusterSNI + if qClusterSNI != "" { + + if err := r.SetQueryParam("clusterSNI", qClusterSNI); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/def/clients/sentry/client/audit_information/audit_information_lookup_cluster_responses.go b/api/def/clients/sentry/client/audit_information/audit_information_lookup_cluster_responses.go new file mode 100644 index 0000000..f2462ee --- /dev/null +++ b/api/def/clients/sentry/client/audit_information/audit_information_lookup_cluster_responses.go @@ -0,0 +1,187 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package audit_information + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" +) + +// AuditInformationLookupClusterReader is a Reader for the AuditInformationLookupCluster structure. +type AuditInformationLookupClusterReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *AuditInformationLookupClusterReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewAuditInformationLookupClusterOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 403: + result := NewAuditInformationLookupClusterForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewAuditInformationLookupClusterNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + result := NewAuditInformationLookupClusterDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewAuditInformationLookupClusterOK creates a AuditInformationLookupClusterOK with default headers values +func NewAuditInformationLookupClusterOK() *AuditInformationLookupClusterOK { + return &AuditInformationLookupClusterOK{} +} + +/* AuditInformationLookupClusterOK describes a response with status code 200, with default header values. + +A successful response. +*/ +type AuditInformationLookupClusterOK struct { + Payload *models.RPCLookupClusterResponse +} + +func (o *AuditInformationLookupClusterOK) Error() string { + return fmt.Sprintf("[GET /v2/sentry/auditInfo/cluster][%d] auditInformationLookupClusterOK %+v", 200, o.Payload) +} +func (o *AuditInformationLookupClusterOK) GetPayload() *models.RPCLookupClusterResponse { + return o.Payload +} + +func (o *AuditInformationLookupClusterOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.RPCLookupClusterResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewAuditInformationLookupClusterForbidden creates a AuditInformationLookupClusterForbidden with default headers values +func NewAuditInformationLookupClusterForbidden() *AuditInformationLookupClusterForbidden { + return &AuditInformationLookupClusterForbidden{} +} + +/* AuditInformationLookupClusterForbidden describes a response with status code 403, with default header values. + +Returned when the user does not have permission to access the resource. +*/ +type AuditInformationLookupClusterForbidden struct { + Payload interface{} +} + +func (o *AuditInformationLookupClusterForbidden) Error() string { + return fmt.Sprintf("[GET /v2/sentry/auditInfo/cluster][%d] auditInformationLookupClusterForbidden %+v", 403, o.Payload) +} +func (o *AuditInformationLookupClusterForbidden) GetPayload() interface{} { + return o.Payload +} + +func (o *AuditInformationLookupClusterForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewAuditInformationLookupClusterNotFound creates a AuditInformationLookupClusterNotFound with default headers values +func NewAuditInformationLookupClusterNotFound() *AuditInformationLookupClusterNotFound { + return &AuditInformationLookupClusterNotFound{} +} + +/* AuditInformationLookupClusterNotFound describes a response with status code 404, with default header values. + +Returned when the resource does not exist. +*/ +type AuditInformationLookupClusterNotFound struct { + Payload string +} + +func (o *AuditInformationLookupClusterNotFound) Error() string { + return fmt.Sprintf("[GET /v2/sentry/auditInfo/cluster][%d] auditInformationLookupClusterNotFound %+v", 404, o.Payload) +} +func (o *AuditInformationLookupClusterNotFound) GetPayload() string { + return o.Payload +} + +func (o *AuditInformationLookupClusterNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewAuditInformationLookupClusterDefault creates a AuditInformationLookupClusterDefault with default headers values +func NewAuditInformationLookupClusterDefault(code int) *AuditInformationLookupClusterDefault { + return &AuditInformationLookupClusterDefault{ + _statusCode: code, + } +} + +/* AuditInformationLookupClusterDefault describes a response with status code -1, with default header values. + +An unexpected error response. +*/ +type AuditInformationLookupClusterDefault struct { + _statusCode int + + Payload *models.GooglerpcStatus +} + +// Code gets the status code for the audit information lookup cluster default response +func (o *AuditInformationLookupClusterDefault) Code() int { + return o._statusCode +} + +func (o *AuditInformationLookupClusterDefault) Error() string { + return fmt.Sprintf("[GET /v2/sentry/auditInfo/cluster][%d] AuditInformation_LookupCluster default %+v", o._statusCode, o.Payload) +} +func (o *AuditInformationLookupClusterDefault) GetPayload() *models.GooglerpcStatus { + return o.Payload +} + +func (o *AuditInformationLookupClusterDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.GooglerpcStatus) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/api/def/clients/sentry/client/audit_information/audit_information_lookup_user_parameters.go b/api/def/clients/sentry/client/audit_information/audit_information_lookup_user_parameters.go new file mode 100644 index 0000000..83d4344 --- /dev/null +++ b/api/def/clients/sentry/client/audit_information/audit_information_lookup_user_parameters.go @@ -0,0 +1,158 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package audit_information + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + "net/http" + "time" + + "github.com/go-openapi/errors" + "github.com/go-openapi/runtime" + cr "github.com/go-openapi/runtime/client" + "github.com/go-openapi/strfmt" +) + +// NewAuditInformationLookupUserParams creates a new AuditInformationLookupUserParams object, +// with the default timeout for this client. +// +// Default values are not hydrated, since defaults are normally applied by the API server side. +// +// To enforce default values in parameter, use SetDefaults or WithDefaults. +func NewAuditInformationLookupUserParams() *AuditInformationLookupUserParams { + return &AuditInformationLookupUserParams{ + timeout: cr.DefaultTimeout, + } +} + +// NewAuditInformationLookupUserParamsWithTimeout creates a new AuditInformationLookupUserParams object +// with the ability to set a timeout on a request. +func NewAuditInformationLookupUserParamsWithTimeout(timeout time.Duration) *AuditInformationLookupUserParams { + return &AuditInformationLookupUserParams{ + timeout: timeout, + } +} + +// NewAuditInformationLookupUserParamsWithContext creates a new AuditInformationLookupUserParams object +// with the ability to set a context for a request. +func NewAuditInformationLookupUserParamsWithContext(ctx context.Context) *AuditInformationLookupUserParams { + return &AuditInformationLookupUserParams{ + Context: ctx, + } +} + +// NewAuditInformationLookupUserParamsWithHTTPClient creates a new AuditInformationLookupUserParams object +// with the ability to set a custom HTTPClient for a request. +func NewAuditInformationLookupUserParamsWithHTTPClient(client *http.Client) *AuditInformationLookupUserParams { + return &AuditInformationLookupUserParams{ + HTTPClient: client, + } +} + +/* AuditInformationLookupUserParams contains all the parameters to send to the API endpoint + for the audit information lookup user operation. + + Typically these are written to a http.Request. +*/ +type AuditInformationLookupUserParams struct { + + // UserCN. + UserCN *string + + timeout time.Duration + Context context.Context + HTTPClient *http.Client +} + +// WithDefaults hydrates default values in the audit information lookup user params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *AuditInformationLookupUserParams) WithDefaults() *AuditInformationLookupUserParams { + o.SetDefaults() + return o +} + +// SetDefaults hydrates default values in the audit information lookup user params (not the query body). +// +// All values with no default are reset to their zero value. +func (o *AuditInformationLookupUserParams) SetDefaults() { + // no default values defined for this parameter +} + +// WithTimeout adds the timeout to the audit information lookup user params +func (o *AuditInformationLookupUserParams) WithTimeout(timeout time.Duration) *AuditInformationLookupUserParams { + o.SetTimeout(timeout) + return o +} + +// SetTimeout adds the timeout to the audit information lookup user params +func (o *AuditInformationLookupUserParams) SetTimeout(timeout time.Duration) { + o.timeout = timeout +} + +// WithContext adds the context to the audit information lookup user params +func (o *AuditInformationLookupUserParams) WithContext(ctx context.Context) *AuditInformationLookupUserParams { + o.SetContext(ctx) + return o +} + +// SetContext adds the context to the audit information lookup user params +func (o *AuditInformationLookupUserParams) SetContext(ctx context.Context) { + o.Context = ctx +} + +// WithHTTPClient adds the HTTPClient to the audit information lookup user params +func (o *AuditInformationLookupUserParams) WithHTTPClient(client *http.Client) *AuditInformationLookupUserParams { + o.SetHTTPClient(client) + return o +} + +// SetHTTPClient adds the HTTPClient to the audit information lookup user params +func (o *AuditInformationLookupUserParams) SetHTTPClient(client *http.Client) { + o.HTTPClient = client +} + +// WithUserCN adds the userCN to the audit information lookup user params +func (o *AuditInformationLookupUserParams) WithUserCN(userCN *string) *AuditInformationLookupUserParams { + o.SetUserCN(userCN) + return o +} + +// SetUserCN adds the userCN to the audit information lookup user params +func (o *AuditInformationLookupUserParams) SetUserCN(userCN *string) { + o.UserCN = userCN +} + +// WriteToRequest writes these params to a swagger request +func (o *AuditInformationLookupUserParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { + + if err := r.SetTimeout(o.timeout); err != nil { + return err + } + var res []error + + if o.UserCN != nil { + + // query param userCN + var qrUserCN string + + if o.UserCN != nil { + qrUserCN = *o.UserCN + } + qUserCN := qrUserCN + if qUserCN != "" { + + if err := r.SetQueryParam("userCN", qUserCN); err != nil { + return err + } + } + } + + if len(res) > 0 { + return errors.CompositeValidationError(res...) + } + return nil +} diff --git a/api/def/clients/sentry/client/audit_information/audit_information_lookup_user_responses.go b/api/def/clients/sentry/client/audit_information/audit_information_lookup_user_responses.go new file mode 100644 index 0000000..a76b9e5 --- /dev/null +++ b/api/def/clients/sentry/client/audit_information/audit_information_lookup_user_responses.go @@ -0,0 +1,187 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package audit_information + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "fmt" + "io" + + "github.com/go-openapi/runtime" + "github.com/go-openapi/strfmt" + + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" +) + +// AuditInformationLookupUserReader is a Reader for the AuditInformationLookupUser structure. +type AuditInformationLookupUserReader struct { + formats strfmt.Registry +} + +// ReadResponse reads a server response into the received o. +func (o *AuditInformationLookupUserReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { + switch response.Code() { + case 200: + result := NewAuditInformationLookupUserOK() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return result, nil + case 403: + result := NewAuditInformationLookupUserForbidden() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + case 404: + result := NewAuditInformationLookupUserNotFound() + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + return nil, result + default: + result := NewAuditInformationLookupUserDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result + } +} + +// NewAuditInformationLookupUserOK creates a AuditInformationLookupUserOK with default headers values +func NewAuditInformationLookupUserOK() *AuditInformationLookupUserOK { + return &AuditInformationLookupUserOK{} +} + +/* AuditInformationLookupUserOK describes a response with status code 200, with default header values. + +A successful response. +*/ +type AuditInformationLookupUserOK struct { + Payload *models.RPCLookupUserResponse +} + +func (o *AuditInformationLookupUserOK) Error() string { + return fmt.Sprintf("[GET /v2/sentry/auditInfo/user][%d] auditInformationLookupUserOK %+v", 200, o.Payload) +} +func (o *AuditInformationLookupUserOK) GetPayload() *models.RPCLookupUserResponse { + return o.Payload +} + +func (o *AuditInformationLookupUserOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.RPCLookupUserResponse) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewAuditInformationLookupUserForbidden creates a AuditInformationLookupUserForbidden with default headers values +func NewAuditInformationLookupUserForbidden() *AuditInformationLookupUserForbidden { + return &AuditInformationLookupUserForbidden{} +} + +/* AuditInformationLookupUserForbidden describes a response with status code 403, with default header values. + +Returned when the user does not have permission to access the resource. +*/ +type AuditInformationLookupUserForbidden struct { + Payload interface{} +} + +func (o *AuditInformationLookupUserForbidden) Error() string { + return fmt.Sprintf("[GET /v2/sentry/auditInfo/user][%d] auditInformationLookupUserForbidden %+v", 403, o.Payload) +} +func (o *AuditInformationLookupUserForbidden) GetPayload() interface{} { + return o.Payload +} + +func (o *AuditInformationLookupUserForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewAuditInformationLookupUserNotFound creates a AuditInformationLookupUserNotFound with default headers values +func NewAuditInformationLookupUserNotFound() *AuditInformationLookupUserNotFound { + return &AuditInformationLookupUserNotFound{} +} + +/* AuditInformationLookupUserNotFound describes a response with status code 404, with default header values. + +Returned when the resource does not exist. +*/ +type AuditInformationLookupUserNotFound struct { + Payload string +} + +func (o *AuditInformationLookupUserNotFound) Error() string { + return fmt.Sprintf("[GET /v2/sentry/auditInfo/user][%d] auditInformationLookupUserNotFound %+v", 404, o.Payload) +} +func (o *AuditInformationLookupUserNotFound) GetPayload() string { + return o.Payload +} + +func (o *AuditInformationLookupUserNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} + +// NewAuditInformationLookupUserDefault creates a AuditInformationLookupUserDefault with default headers values +func NewAuditInformationLookupUserDefault(code int) *AuditInformationLookupUserDefault { + return &AuditInformationLookupUserDefault{ + _statusCode: code, + } +} + +/* AuditInformationLookupUserDefault describes a response with status code -1, with default header values. + +An unexpected error response. +*/ +type AuditInformationLookupUserDefault struct { + _statusCode int + + Payload *models.GooglerpcStatus +} + +// Code gets the status code for the audit information lookup user default response +func (o *AuditInformationLookupUserDefault) Code() int { + return o._statusCode +} + +func (o *AuditInformationLookupUserDefault) Error() string { + return fmt.Sprintf("[GET /v2/sentry/auditInfo/user][%d] AuditInformation_LookupUser default %+v", o._statusCode, o.Payload) +} +func (o *AuditInformationLookupUserDefault) GetPayload() *models.GooglerpcStatus { + return o.Payload +} + +func (o *AuditInformationLookupUserDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + o.Payload = new(models.GooglerpcStatus) + + // response payload + if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_client.go b/api/def/clients/sentry/client/bootstrap/bootstrap_client.go similarity index 64% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_client.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_client.go index e8169ca..ae9ff55 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_client.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_client.go @@ -30,16 +30,8 @@ type ClientOption func(*runtime.ClientOperation) type ClientService interface { BootstrapCreateBootstrapAgent(params *BootstrapCreateBootstrapAgentParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapCreateBootstrapAgentOK, error) - BootstrapCreateRelayNetwork(params *BootstrapCreateRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapCreateRelayNetworkOK, error) - BootstrapDeleteBootstrapAgent(params *BootstrapDeleteBootstrapAgentParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapDeleteBootstrapAgentOK, error) - BootstrapDeleteRelayNetwork(params *BootstrapDeleteRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapDeleteRelayNetworkOK, error) - - BootstrapDownloadRelayNetwork(params *BootstrapDownloadRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapDownloadRelayNetworkOK, error) - - BootstrapDownloadRelayNetworkAgent(params *BootstrapDownloadRelayNetworkAgentParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapDownloadRelayNetworkAgentOK, error) - BootstrapGetBootstrapAgent(params *BootstrapGetBootstrapAgentParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapGetBootstrapAgentOK, error) BootstrapGetBootstrapAgentConfig(params *BootstrapGetBootstrapAgentConfigParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapGetBootstrapAgentConfigOK, error) @@ -52,16 +44,10 @@ type ClientService interface { BootstrapGetBootstrapInfra(params *BootstrapGetBootstrapInfraParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapGetBootstrapInfraOK, error) - BootstrapGetRelayNetwork(params *BootstrapGetRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapGetRelayNetworkOK, error) - - BootstrapGetRelayNetworks(params *BootstrapGetRelayNetworksParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapGetRelayNetworksOK, error) - BootstrapPatchBootstrapAgentTemplate(params *BootstrapPatchBootstrapAgentTemplateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapPatchBootstrapAgentTemplateOK, error) BootstrapPatchBootstrapInfra(params *BootstrapPatchBootstrapInfraParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapPatchBootstrapInfraOK, error) - BootstrapPatchRelayNetwork(params *BootstrapPatchRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapPatchRelayNetworkOK, error) - BootstrapRegisterBootstrapAgent(params *BootstrapRegisterBootstrapAgentParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapRegisterBootstrapAgentOK, error) BootstrapUpdateBootstrapAgent(params *BootstrapUpdateBootstrapAgentParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapUpdateBootstrapAgentOK, error) @@ -107,44 +93,6 @@ func (a *Client) BootstrapCreateBootstrapAgent(params *BootstrapCreateBootstrapA return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) } -/* - BootstrapCreateRelayNetwork bootstrap create relay network API -*/ -func (a *Client) BootstrapCreateRelayNetwork(params *BootstrapCreateRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapCreateRelayNetworkOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewBootstrapCreateRelayNetworkParams() - } - op := &runtime.ClientOperation{ - ID: "Bootstrap_CreateRelayNetwork", - Method: "POST", - PathPattern: "/v2/sentry/relaynetwork", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &BootstrapCreateRelayNetworkReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*BootstrapCreateRelayNetworkOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*BootstrapCreateRelayNetworkDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - /* BootstrapDeleteBootstrapAgent bootstrap delete bootstrap agent API */ @@ -183,120 +131,6 @@ func (a *Client) BootstrapDeleteBootstrapAgent(params *BootstrapDeleteBootstrapA return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) } -/* - BootstrapDeleteRelayNetwork bootstrap delete relay network API -*/ -func (a *Client) BootstrapDeleteRelayNetwork(params *BootstrapDeleteRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapDeleteRelayNetworkOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewBootstrapDeleteRelayNetworkParams() - } - op := &runtime.ClientOperation{ - ID: "Bootstrap_DeleteRelayNetwork", - Method: "DELETE", - PathPattern: "/v2/sentry/relaynetwork/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &BootstrapDeleteRelayNetworkReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*BootstrapDeleteRelayNetworkOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*BootstrapDeleteRelayNetworkDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - BootstrapDownloadRelayNetwork bootstrap download relay network API -*/ -func (a *Client) BootstrapDownloadRelayNetwork(params *BootstrapDownloadRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapDownloadRelayNetworkOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewBootstrapDownloadRelayNetworkParams() - } - op := &runtime.ClientOperation{ - ID: "Bootstrap_DownloadRelayNetwork", - Method: "GET", - PathPattern: "/v2/sentry/relaynetwork/{metadata.name}/download", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &BootstrapDownloadRelayNetworkReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*BootstrapDownloadRelayNetworkOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*BootstrapDownloadRelayNetworkDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - BootstrapDownloadRelayNetworkAgent bootstrap download relay network agent API -*/ -func (a *Client) BootstrapDownloadRelayNetworkAgent(params *BootstrapDownloadRelayNetworkAgentParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapDownloadRelayNetworkAgentOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewBootstrapDownloadRelayNetworkAgentParams() - } - op := &runtime.ClientOperation{ - ID: "Bootstrap_DownloadRelayNetworkAgent", - Method: "GET", - PathPattern: "/v2/sentry/relaynetwork/{metadata.name}/{clusterScope}/agentdownload", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &BootstrapDownloadRelayNetworkAgentReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*BootstrapDownloadRelayNetworkAgentOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*BootstrapDownloadRelayNetworkAgentDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - /* BootstrapGetBootstrapAgent bootstrap get bootstrap agent API */ @@ -525,82 +359,6 @@ func (a *Client) BootstrapGetBootstrapInfra(params *BootstrapGetBootstrapInfraPa return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) } -/* - BootstrapGetRelayNetwork bootstrap get relay network API -*/ -func (a *Client) BootstrapGetRelayNetwork(params *BootstrapGetRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapGetRelayNetworkOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewBootstrapGetRelayNetworkParams() - } - op := &runtime.ClientOperation{ - ID: "Bootstrap_GetRelayNetwork", - Method: "GET", - PathPattern: "/v2/sentry/relaynetwork/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &BootstrapGetRelayNetworkReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*BootstrapGetRelayNetworkOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*BootstrapGetRelayNetworkDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - BootstrapGetRelayNetworks bootstrap get relay networks API -*/ -func (a *Client) BootstrapGetRelayNetworks(params *BootstrapGetRelayNetworksParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapGetRelayNetworksOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewBootstrapGetRelayNetworksParams() - } - op := &runtime.ClientOperation{ - ID: "Bootstrap_GetRelayNetworks", - Method: "GET", - PathPattern: "/v2/sentry/relaynetwork", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &BootstrapGetRelayNetworksReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*BootstrapGetRelayNetworksOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*BootstrapGetRelayNetworksDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - /* BootstrapPatchBootstrapAgentTemplate bootstrap patch bootstrap agent template API */ @@ -677,44 +435,6 @@ func (a *Client) BootstrapPatchBootstrapInfra(params *BootstrapPatchBootstrapInf return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) } -/* - BootstrapPatchRelayNetwork bootstrap patch relay network API -*/ -func (a *Client) BootstrapPatchRelayNetwork(params *BootstrapPatchRelayNetworkParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*BootstrapPatchRelayNetworkOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewBootstrapPatchRelayNetworkParams() - } - op := &runtime.ClientOperation{ - ID: "Bootstrap_PatchRelayNetwork", - Method: "PUT", - PathPattern: "/v2/sentry/relaynetwork/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &BootstrapPatchRelayNetworkReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*BootstrapPatchRelayNetworkOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*BootstrapPatchRelayNetworkDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - /* BootstrapRegisterBootstrapAgent bootstrap register bootstrap agent API */ diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_parameters.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_parameters.go index 62f3b58..7190121 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_parameters.go @@ -15,7 +15,7 @@ import ( cr "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // NewBootstrapCreateBootstrapAgentParams creates a new BootstrapCreateBootstrapAgentParams object, diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_responses.go index 421db5c..a63cde4 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_create_bootstrap_agent_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapCreateBootstrapAgentReader is a Reader for the BootstrapCreateBootstrapAgent structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_parameters.go similarity index 94% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_parameters.go index 2fd83d3..cdc4e17 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_parameters.go @@ -81,6 +81,12 @@ type BootstrapDeleteBootstrapAgentParams struct { */ MetadataDescription *string + /* MetadataDisplayName. + + Display Name. display name of the resource + */ + MetadataDisplayName *string + // MetadataID. MetadataID *string @@ -246,6 +252,17 @@ func (o *BootstrapDeleteBootstrapAgentParams) SetMetadataDescription(metadataDes o.MetadataDescription = metadataDescription } +// WithMetadataDisplayName adds the metadataDisplayName to the bootstrap delete bootstrap agent params +func (o *BootstrapDeleteBootstrapAgentParams) WithMetadataDisplayName(metadataDisplayName *string) *BootstrapDeleteBootstrapAgentParams { + o.SetMetadataDisplayName(metadataDisplayName) + return o +} + +// SetMetadataDisplayName adds the metadataDisplayName to the bootstrap delete bootstrap agent params +func (o *BootstrapDeleteBootstrapAgentParams) SetMetadataDisplayName(metadataDisplayName *string) { + o.MetadataDisplayName = metadataDisplayName +} + // WithMetadataID adds the metadataID to the bootstrap delete bootstrap agent params func (o *BootstrapDeleteBootstrapAgentParams) WithMetadataID(metadataID *string) *BootstrapDeleteBootstrapAgentParams { o.SetMetadataID(metadataID) @@ -448,6 +465,23 @@ func (o *BootstrapDeleteBootstrapAgentParams) WriteToRequest(r runtime.ClientReq } } + if o.MetadataDisplayName != nil { + + // query param metadata.displayName + var qrMetadataDisplayName string + + if o.MetadataDisplayName != nil { + qrMetadataDisplayName = *o.MetadataDisplayName + } + qMetadataDisplayName := qrMetadataDisplayName + if qMetadataDisplayName != "" { + + if err := r.SetQueryParam("metadata.displayName", qMetadataDisplayName); err != nil { + return err + } + } + } + if o.MetadataID != nil { // query param metadata.id diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_responses.go index 73420f4..b570cc7 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_delete_bootstrap_agent_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapDeleteBootstrapAgentReader is a Reader for the BootstrapDeleteBootstrapAgent structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_parameters.go similarity index 94% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_parameters.go index 4297f7a..b447e56 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_parameters.go @@ -81,6 +81,12 @@ type BootstrapGetBootstrapAgentConfigParams struct { */ MetadataDescription *string + /* MetadataDisplayName. + + Display Name. display name of the resource + */ + MetadataDisplayName *string + // MetadataID. MetadataID *string @@ -246,6 +252,17 @@ func (o *BootstrapGetBootstrapAgentConfigParams) SetMetadataDescription(metadata o.MetadataDescription = metadataDescription } +// WithMetadataDisplayName adds the metadataDisplayName to the bootstrap get bootstrap agent config params +func (o *BootstrapGetBootstrapAgentConfigParams) WithMetadataDisplayName(metadataDisplayName *string) *BootstrapGetBootstrapAgentConfigParams { + o.SetMetadataDisplayName(metadataDisplayName) + return o +} + +// SetMetadataDisplayName adds the metadataDisplayName to the bootstrap get bootstrap agent config params +func (o *BootstrapGetBootstrapAgentConfigParams) SetMetadataDisplayName(metadataDisplayName *string) { + o.MetadataDisplayName = metadataDisplayName +} + // WithMetadataID adds the metadataID to the bootstrap get bootstrap agent config params func (o *BootstrapGetBootstrapAgentConfigParams) WithMetadataID(metadataID *string) *BootstrapGetBootstrapAgentConfigParams { o.SetMetadataID(metadataID) @@ -448,6 +465,23 @@ func (o *BootstrapGetBootstrapAgentConfigParams) WriteToRequest(r runtime.Client } } + if o.MetadataDisplayName != nil { + + // query param metadata.displayName + var qrMetadataDisplayName string + + if o.MetadataDisplayName != nil { + qrMetadataDisplayName = *o.MetadataDisplayName + } + qMetadataDisplayName := qrMetadataDisplayName + if qMetadataDisplayName != "" { + + if err := r.SetQueryParam("metadata.displayName", qMetadataDisplayName); err != nil { + return err + } + } + } + if o.MetadataID != nil { // query param metadata.id diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_responses.go index 4562871..549d869 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_config_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapGetBootstrapAgentConfigReader is a Reader for the BootstrapGetBootstrapAgentConfig structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_parameters.go similarity index 94% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_parameters.go index 5c5f914..bbd9746 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_parameters.go @@ -81,6 +81,12 @@ type BootstrapGetBootstrapAgentParams struct { */ MetadataDescription *string + /* MetadataDisplayName. + + Display Name. display name of the resource + */ + MetadataDisplayName *string + // MetadataID. MetadataID *string @@ -246,6 +252,17 @@ func (o *BootstrapGetBootstrapAgentParams) SetMetadataDescription(metadataDescri o.MetadataDescription = metadataDescription } +// WithMetadataDisplayName adds the metadataDisplayName to the bootstrap get bootstrap agent params +func (o *BootstrapGetBootstrapAgentParams) WithMetadataDisplayName(metadataDisplayName *string) *BootstrapGetBootstrapAgentParams { + o.SetMetadataDisplayName(metadataDisplayName) + return o +} + +// SetMetadataDisplayName adds the metadataDisplayName to the bootstrap get bootstrap agent params +func (o *BootstrapGetBootstrapAgentParams) SetMetadataDisplayName(metadataDisplayName *string) { + o.MetadataDisplayName = metadataDisplayName +} + // WithMetadataID adds the metadataID to the bootstrap get bootstrap agent params func (o *BootstrapGetBootstrapAgentParams) WithMetadataID(metadataID *string) *BootstrapGetBootstrapAgentParams { o.SetMetadataID(metadataID) @@ -448,6 +465,23 @@ func (o *BootstrapGetBootstrapAgentParams) WriteToRequest(r runtime.ClientReques } } + if o.MetadataDisplayName != nil { + + // query param metadata.displayName + var qrMetadataDisplayName string + + if o.MetadataDisplayName != nil { + qrMetadataDisplayName = *o.MetadataDisplayName + } + qMetadataDisplayName := qrMetadataDisplayName + if qMetadataDisplayName != "" { + + if err := r.SetQueryParam("metadata.displayName", qMetadataDisplayName); err != nil { + return err + } + } + } + if o.MetadataID != nil { // query param metadata.id diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_responses.go index 1849ea3..88eeb27 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapGetBootstrapAgentReader is a Reader for the BootstrapGetBootstrapAgent structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_parameters.go similarity index 95% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_parameters.go index 76e5b27..2776967 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_parameters.go @@ -82,6 +82,12 @@ type BootstrapGetBootstrapAgentTemplateParams struct { */ MetadataDescription *string + /* MetadataDisplayName. + + Display Name. display name of the resource + */ + MetadataDisplayName *string + // MetadataID. MetadataID *string @@ -243,6 +249,17 @@ func (o *BootstrapGetBootstrapAgentTemplateParams) SetMetadataDescription(metada o.MetadataDescription = metadataDescription } +// WithMetadataDisplayName adds the metadataDisplayName to the bootstrap get bootstrap agent template params +func (o *BootstrapGetBootstrapAgentTemplateParams) WithMetadataDisplayName(metadataDisplayName *string) *BootstrapGetBootstrapAgentTemplateParams { + o.SetMetadataDisplayName(metadataDisplayName) + return o +} + +// SetMetadataDisplayName adds the metadataDisplayName to the bootstrap get bootstrap agent template params +func (o *BootstrapGetBootstrapAgentTemplateParams) SetMetadataDisplayName(metadataDisplayName *string) { + o.MetadataDisplayName = metadataDisplayName +} + // WithMetadataID adds the metadataID to the bootstrap get bootstrap agent template params func (o *BootstrapGetBootstrapAgentTemplateParams) WithMetadataID(metadataID *string) *BootstrapGetBootstrapAgentTemplateParams { o.SetMetadataID(metadataID) @@ -456,6 +473,23 @@ func (o *BootstrapGetBootstrapAgentTemplateParams) WriteToRequest(r runtime.Clie } } + if o.MetadataDisplayName != nil { + + // query param metadata.displayName + var qrMetadataDisplayName string + + if o.MetadataDisplayName != nil { + qrMetadataDisplayName = *o.MetadataDisplayName + } + qMetadataDisplayName := qrMetadataDisplayName + if qMetadataDisplayName != "" { + + if err := r.SetQueryParam("metadata.displayName", qMetadataDisplayName); err != nil { + return err + } + } + } + if o.MetadataID != nil { // query param metadata.id diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_responses.go index 73bfb28..4b78f1f 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_template_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapGetBootstrapAgentTemplateReader is a Reader for the BootstrapGetBootstrapAgentTemplate structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_parameters.go similarity index 88% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_parameters.go index 96c7c7f..a014ad2 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_parameters.go @@ -63,6 +63,9 @@ type BootstrapGetBootstrapAgentTemplatesParams struct { // ID. ID *string + // Account. + Account *string + // BlueprintRef. BlueprintRef *string @@ -128,14 +131,14 @@ type BootstrapGetBootstrapAgentTemplatesParams struct { // OrderBy. OrderBy *string - // OrganizationID. - OrganizationID *string + // Organization. + Organization *string - // PartnerID. - PartnerID *string + // Partner. + Partner *string - // ProjectID. - ProjectID *string + // Project. + Project *string // PublishedVersion. PublishedVersion *string @@ -219,6 +222,17 @@ func (o *BootstrapGetBootstrapAgentTemplatesParams) SetID(id *string) { o.ID = id } +// WithAccount adds the account to the bootstrap get bootstrap agent templates params +func (o *BootstrapGetBootstrapAgentTemplatesParams) WithAccount(account *string) *BootstrapGetBootstrapAgentTemplatesParams { + o.SetAccount(account) + return o +} + +// SetAccount adds the account to the bootstrap get bootstrap agent templates params +func (o *BootstrapGetBootstrapAgentTemplatesParams) SetAccount(account *string) { + o.Account = account +} + // WithBlueprintRef adds the blueprintRef to the bootstrap get bootstrap agent templates params func (o *BootstrapGetBootstrapAgentTemplatesParams) WithBlueprintRef(blueprintRef *string) *BootstrapGetBootstrapAgentTemplatesParams { o.SetBlueprintRef(blueprintRef) @@ -384,37 +398,37 @@ func (o *BootstrapGetBootstrapAgentTemplatesParams) SetOrderBy(orderBy *string) o.OrderBy = orderBy } -// WithOrganizationID adds the organizationID to the bootstrap get bootstrap agent templates params -func (o *BootstrapGetBootstrapAgentTemplatesParams) WithOrganizationID(organizationID *string) *BootstrapGetBootstrapAgentTemplatesParams { - o.SetOrganizationID(organizationID) +// WithOrganization adds the organization to the bootstrap get bootstrap agent templates params +func (o *BootstrapGetBootstrapAgentTemplatesParams) WithOrganization(organization *string) *BootstrapGetBootstrapAgentTemplatesParams { + o.SetOrganization(organization) return o } -// SetOrganizationID adds the organizationId to the bootstrap get bootstrap agent templates params -func (o *BootstrapGetBootstrapAgentTemplatesParams) SetOrganizationID(organizationID *string) { - o.OrganizationID = organizationID +// SetOrganization adds the organization to the bootstrap get bootstrap agent templates params +func (o *BootstrapGetBootstrapAgentTemplatesParams) SetOrganization(organization *string) { + o.Organization = organization } -// WithPartnerID adds the partnerID to the bootstrap get bootstrap agent templates params -func (o *BootstrapGetBootstrapAgentTemplatesParams) WithPartnerID(partnerID *string) *BootstrapGetBootstrapAgentTemplatesParams { - o.SetPartnerID(partnerID) +// WithPartner adds the partner to the bootstrap get bootstrap agent templates params +func (o *BootstrapGetBootstrapAgentTemplatesParams) WithPartner(partner *string) *BootstrapGetBootstrapAgentTemplatesParams { + o.SetPartner(partner) return o } -// SetPartnerID adds the partnerId to the bootstrap get bootstrap agent templates params -func (o *BootstrapGetBootstrapAgentTemplatesParams) SetPartnerID(partnerID *string) { - o.PartnerID = partnerID +// SetPartner adds the partner to the bootstrap get bootstrap agent templates params +func (o *BootstrapGetBootstrapAgentTemplatesParams) SetPartner(partner *string) { + o.Partner = partner } -// WithProjectID adds the projectID to the bootstrap get bootstrap agent templates params -func (o *BootstrapGetBootstrapAgentTemplatesParams) WithProjectID(projectID *string) *BootstrapGetBootstrapAgentTemplatesParams { - o.SetProjectID(projectID) +// WithProject adds the project to the bootstrap get bootstrap agent templates params +func (o *BootstrapGetBootstrapAgentTemplatesParams) WithProject(project *string) *BootstrapGetBootstrapAgentTemplatesParams { + o.SetProject(project) return o } -// SetProjectID adds the projectId to the bootstrap get bootstrap agent templates params -func (o *BootstrapGetBootstrapAgentTemplatesParams) SetProjectID(projectID *string) { - o.ProjectID = projectID +// SetProject adds the project to the bootstrap get bootstrap agent templates params +func (o *BootstrapGetBootstrapAgentTemplatesParams) SetProject(project *string) { + o.Project = project } // WithPublishedVersion adds the publishedVersion to the bootstrap get bootstrap agent templates params @@ -486,6 +500,23 @@ func (o *BootstrapGetBootstrapAgentTemplatesParams) WriteToRequest(r runtime.Cli } } + if o.Account != nil { + + // query param account + var qrAccount string + + if o.Account != nil { + qrAccount = *o.Account + } + qAccount := qrAccount + if qAccount != "" { + + if err := r.SetQueryParam("account", qAccount); err != nil { + return err + } + } + } + if o.BlueprintRef != nil { // query param blueprintRef @@ -735,52 +766,52 @@ func (o *BootstrapGetBootstrapAgentTemplatesParams) WriteToRequest(r runtime.Cli } } - if o.OrganizationID != nil { + if o.Organization != nil { - // query param organizationID - var qrOrganizationID string + // query param organization + var qrOrganization string - if o.OrganizationID != nil { - qrOrganizationID = *o.OrganizationID + if o.Organization != nil { + qrOrganization = *o.Organization } - qOrganizationID := qrOrganizationID - if qOrganizationID != "" { + qOrganization := qrOrganization + if qOrganization != "" { - if err := r.SetQueryParam("organizationID", qOrganizationID); err != nil { + if err := r.SetQueryParam("organization", qOrganization); err != nil { return err } } } - if o.PartnerID != nil { + if o.Partner != nil { - // query param partnerID - var qrPartnerID string + // query param partner + var qrPartner string - if o.PartnerID != nil { - qrPartnerID = *o.PartnerID + if o.Partner != nil { + qrPartner = *o.Partner } - qPartnerID := qrPartnerID - if qPartnerID != "" { + qPartner := qrPartner + if qPartner != "" { - if err := r.SetQueryParam("partnerID", qPartnerID); err != nil { + if err := r.SetQueryParam("partner", qPartner); err != nil { return err } } } - if o.ProjectID != nil { + if o.Project != nil { - // query param projectID - var qrProjectID string + // query param project + var qrProject string - if o.ProjectID != nil { - qrProjectID = *o.ProjectID + if o.Project != nil { + qrProject = *o.Project } - qProjectID := qrProjectID - if qProjectID != "" { + qProject := qrProject + if qProject != "" { - if err := r.SetQueryParam("projectID", qProjectID); err != nil { + if err := r.SetQueryParam("project", qProject); err != nil { return err } } diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_responses.go index e78edfc..610997c 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agent_templates_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapGetBootstrapAgentTemplatesReader is a Reader for the BootstrapGetBootstrapAgentTemplates structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_parameters.go similarity index 88% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_parameters.go index 1eb99d9..a61f002 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_parameters.go @@ -63,6 +63,9 @@ type BootstrapGetBootstrapAgentsParams struct { // OptsID. OptsID *string + // OptsAccount. + OptsAccount *string + // OptsBlueprintRef. OptsBlueprintRef *string @@ -128,14 +131,14 @@ type BootstrapGetBootstrapAgentsParams struct { // OptsOrderBy. OptsOrderBy *string - // OptsOrganizationID. - OptsOrganizationID *string + // OptsOrganization. + OptsOrganization *string - // OptsPartnerID. - OptsPartnerID *string + // OptsPartner. + OptsPartner *string - // OptsProjectID. - OptsProjectID *string + // OptsProject. + OptsProject *string // OptsPublishedVersion. OptsPublishedVersion *string @@ -222,6 +225,17 @@ func (o *BootstrapGetBootstrapAgentsParams) SetOptsID(optsID *string) { o.OptsID = optsID } +// WithOptsAccount adds the optsAccount to the bootstrap get bootstrap agents params +func (o *BootstrapGetBootstrapAgentsParams) WithOptsAccount(optsAccount *string) *BootstrapGetBootstrapAgentsParams { + o.SetOptsAccount(optsAccount) + return o +} + +// SetOptsAccount adds the optsAccount to the bootstrap get bootstrap agents params +func (o *BootstrapGetBootstrapAgentsParams) SetOptsAccount(optsAccount *string) { + o.OptsAccount = optsAccount +} + // WithOptsBlueprintRef adds the optsBlueprintRef to the bootstrap get bootstrap agents params func (o *BootstrapGetBootstrapAgentsParams) WithOptsBlueprintRef(optsBlueprintRef *string) *BootstrapGetBootstrapAgentsParams { o.SetOptsBlueprintRef(optsBlueprintRef) @@ -387,37 +401,37 @@ func (o *BootstrapGetBootstrapAgentsParams) SetOptsOrderBy(optsOrderBy *string) o.OptsOrderBy = optsOrderBy } -// WithOptsOrganizationID adds the optsOrganizationID to the bootstrap get bootstrap agents params -func (o *BootstrapGetBootstrapAgentsParams) WithOptsOrganizationID(optsOrganizationID *string) *BootstrapGetBootstrapAgentsParams { - o.SetOptsOrganizationID(optsOrganizationID) +// WithOptsOrganization adds the optsOrganization to the bootstrap get bootstrap agents params +func (o *BootstrapGetBootstrapAgentsParams) WithOptsOrganization(optsOrganization *string) *BootstrapGetBootstrapAgentsParams { + o.SetOptsOrganization(optsOrganization) return o } -// SetOptsOrganizationID adds the optsOrganizationId to the bootstrap get bootstrap agents params -func (o *BootstrapGetBootstrapAgentsParams) SetOptsOrganizationID(optsOrganizationID *string) { - o.OptsOrganizationID = optsOrganizationID +// SetOptsOrganization adds the optsOrganization to the bootstrap get bootstrap agents params +func (o *BootstrapGetBootstrapAgentsParams) SetOptsOrganization(optsOrganization *string) { + o.OptsOrganization = optsOrganization } -// WithOptsPartnerID adds the optsPartnerID to the bootstrap get bootstrap agents params -func (o *BootstrapGetBootstrapAgentsParams) WithOptsPartnerID(optsPartnerID *string) *BootstrapGetBootstrapAgentsParams { - o.SetOptsPartnerID(optsPartnerID) +// WithOptsPartner adds the optsPartner to the bootstrap get bootstrap agents params +func (o *BootstrapGetBootstrapAgentsParams) WithOptsPartner(optsPartner *string) *BootstrapGetBootstrapAgentsParams { + o.SetOptsPartner(optsPartner) return o } -// SetOptsPartnerID adds the optsPartnerId to the bootstrap get bootstrap agents params -func (o *BootstrapGetBootstrapAgentsParams) SetOptsPartnerID(optsPartnerID *string) { - o.OptsPartnerID = optsPartnerID +// SetOptsPartner adds the optsPartner to the bootstrap get bootstrap agents params +func (o *BootstrapGetBootstrapAgentsParams) SetOptsPartner(optsPartner *string) { + o.OptsPartner = optsPartner } -// WithOptsProjectID adds the optsProjectID to the bootstrap get bootstrap agents params -func (o *BootstrapGetBootstrapAgentsParams) WithOptsProjectID(optsProjectID *string) *BootstrapGetBootstrapAgentsParams { - o.SetOptsProjectID(optsProjectID) +// WithOptsProject adds the optsProject to the bootstrap get bootstrap agents params +func (o *BootstrapGetBootstrapAgentsParams) WithOptsProject(optsProject *string) *BootstrapGetBootstrapAgentsParams { + o.SetOptsProject(optsProject) return o } -// SetOptsProjectID adds the optsProjectId to the bootstrap get bootstrap agents params -func (o *BootstrapGetBootstrapAgentsParams) SetOptsProjectID(optsProjectID *string) { - o.OptsProjectID = optsProjectID +// SetOptsProject adds the optsProject to the bootstrap get bootstrap agents params +func (o *BootstrapGetBootstrapAgentsParams) SetOptsProject(optsProject *string) { + o.OptsProject = optsProject } // WithOptsPublishedVersion adds the optsPublishedVersion to the bootstrap get bootstrap agents params @@ -500,6 +514,23 @@ func (o *BootstrapGetBootstrapAgentsParams) WriteToRequest(r runtime.ClientReque } } + if o.OptsAccount != nil { + + // query param opts.account + var qrOptsAccount string + + if o.OptsAccount != nil { + qrOptsAccount = *o.OptsAccount + } + qOptsAccount := qrOptsAccount + if qOptsAccount != "" { + + if err := r.SetQueryParam("opts.account", qOptsAccount); err != nil { + return err + } + } + } + if o.OptsBlueprintRef != nil { // query param opts.blueprintRef @@ -749,52 +780,52 @@ func (o *BootstrapGetBootstrapAgentsParams) WriteToRequest(r runtime.ClientReque } } - if o.OptsOrganizationID != nil { + if o.OptsOrganization != nil { - // query param opts.organizationID - var qrOptsOrganizationID string + // query param opts.organization + var qrOptsOrganization string - if o.OptsOrganizationID != nil { - qrOptsOrganizationID = *o.OptsOrganizationID + if o.OptsOrganization != nil { + qrOptsOrganization = *o.OptsOrganization } - qOptsOrganizationID := qrOptsOrganizationID - if qOptsOrganizationID != "" { + qOptsOrganization := qrOptsOrganization + if qOptsOrganization != "" { - if err := r.SetQueryParam("opts.organizationID", qOptsOrganizationID); err != nil { + if err := r.SetQueryParam("opts.organization", qOptsOrganization); err != nil { return err } } } - if o.OptsPartnerID != nil { + if o.OptsPartner != nil { - // query param opts.partnerID - var qrOptsPartnerID string + // query param opts.partner + var qrOptsPartner string - if o.OptsPartnerID != nil { - qrOptsPartnerID = *o.OptsPartnerID + if o.OptsPartner != nil { + qrOptsPartner = *o.OptsPartner } - qOptsPartnerID := qrOptsPartnerID - if qOptsPartnerID != "" { + qOptsPartner := qrOptsPartner + if qOptsPartner != "" { - if err := r.SetQueryParam("opts.partnerID", qOptsPartnerID); err != nil { + if err := r.SetQueryParam("opts.partner", qOptsPartner); err != nil { return err } } } - if o.OptsProjectID != nil { + if o.OptsProject != nil { - // query param opts.projectID - var qrOptsProjectID string + // query param opts.project + var qrOptsProject string - if o.OptsProjectID != nil { - qrOptsProjectID = *o.OptsProjectID + if o.OptsProject != nil { + qrOptsProject = *o.OptsProject } - qOptsProjectID := qrOptsProjectID - if qOptsProjectID != "" { + qOptsProject := qrOptsProject + if qOptsProject != "" { - if err := r.SetQueryParam("opts.projectID", qOptsProjectID); err != nil { + if err := r.SetQueryParam("opts.project", qOptsProject); err != nil { return err } } diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_responses.go index 7c78e80..314cba3 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_agents_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapGetBootstrapAgentsReader is a Reader for the BootstrapGetBootstrapAgents structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_parameters.go similarity index 93% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_parameters.go index 27a9492..1bb2791 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_parameters.go @@ -81,6 +81,12 @@ type BootstrapGetBootstrapInfraParams struct { */ MetadataDescription *string + /* MetadataDisplayName. + + Display Name. display name of the resource + */ + MetadataDisplayName *string + // MetadataID. MetadataID *string @@ -222,6 +228,17 @@ func (o *BootstrapGetBootstrapInfraParams) SetMetadataDescription(metadataDescri o.MetadataDescription = metadataDescription } +// WithMetadataDisplayName adds the metadataDisplayName to the bootstrap get bootstrap infra params +func (o *BootstrapGetBootstrapInfraParams) WithMetadataDisplayName(metadataDisplayName *string) *BootstrapGetBootstrapInfraParams { + o.SetMetadataDisplayName(metadataDisplayName) + return o +} + +// SetMetadataDisplayName adds the metadataDisplayName to the bootstrap get bootstrap infra params +func (o *BootstrapGetBootstrapInfraParams) SetMetadataDisplayName(metadataDisplayName *string) { + o.MetadataDisplayName = metadataDisplayName +} + // WithMetadataID adds the metadataID to the bootstrap get bootstrap infra params func (o *BootstrapGetBootstrapInfraParams) WithMetadataID(metadataID *string) *BootstrapGetBootstrapInfraParams { o.SetMetadataID(metadataID) @@ -380,6 +397,23 @@ func (o *BootstrapGetBootstrapInfraParams) WriteToRequest(r runtime.ClientReques } } + if o.MetadataDisplayName != nil { + + // query param metadata.displayName + var qrMetadataDisplayName string + + if o.MetadataDisplayName != nil { + qrMetadataDisplayName = *o.MetadataDisplayName + } + qMetadataDisplayName := qrMetadataDisplayName + if qMetadataDisplayName != "" { + + if err := r.SetQueryParam("metadata.displayName", qMetadataDisplayName); err != nil { + return err + } + } + } + if o.MetadataID != nil { // query param metadata.id diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_responses.go index e4e423b..af4aabd 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_get_bootstrap_infra_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapGetBootstrapInfraReader is a Reader for the BootstrapGetBootstrapInfra structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_parameters.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_parameters.go index 8058f28..423b421 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_parameters.go @@ -15,7 +15,7 @@ import ( cr "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // NewBootstrapPatchBootstrapAgentTemplateParams creates a new BootstrapPatchBootstrapAgentTemplateParams object, diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_responses.go index a8dcfae..5463fda 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_agent_template_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapPatchBootstrapAgentTemplateReader is a Reader for the BootstrapPatchBootstrapAgentTemplate structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_parameters.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_parameters.go index c9d0b2d..f2e03ef 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_parameters.go @@ -15,7 +15,7 @@ import ( cr "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // NewBootstrapPatchBootstrapInfraParams creates a new BootstrapPatchBootstrapInfraParams object, diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_responses.go index b32d949..4536d8a 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_patch_bootstrap_infra_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapPatchBootstrapInfraReader is a Reader for the BootstrapPatchBootstrapInfra structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_parameters.go similarity index 100% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_parameters.go diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_responses.go similarity index 99% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_responses.go index 498939f..1dd01f0 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_register_bootstrap_agent_responses.go @@ -14,7 +14,7 @@ import ( "github.com/go-openapi/strfmt" "github.com/go-openapi/swag" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapRegisterBootstrapAgentReader is a Reader for the BootstrapRegisterBootstrapAgent structure. diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_parameters.go b/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_parameters.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_parameters.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_parameters.go index 3b0bc72..0c4561c 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_parameters.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_parameters.go @@ -15,7 +15,7 @@ import ( cr "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // NewBootstrapUpdateBootstrapAgentParams creates a new BootstrapUpdateBootstrapAgentParams object, diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_responses.go b/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_responses.go rename to api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_responses.go index b479f45..a17b4f9 100644 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_responses.go +++ b/api/def/clients/sentry/client/bootstrap/bootstrap_update_bootstrap_agent_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // BootstrapUpdateBootstrapAgentReader is a Reader for the BootstrapUpdateBootstrapAgent structure. diff --git a/components/common/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_client.go b/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_client.go similarity index 100% rename from components/common/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_client.go rename to api/def/clients/sentry/client/cluster_authorization/cluster_authorization_client.go diff --git a/components/common/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_parameters.go b/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_parameters.go similarity index 100% rename from components/common/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_parameters.go rename to api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_parameters.go diff --git a/components/common/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_responses.go b/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_responses.go rename to api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_responses.go index 9beb121..b156239 100644 --- a/components/common/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_responses.go +++ b/api/def/clients/sentry/client/cluster_authorization/cluster_authorization_get_user_authorization_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // ClusterAuthorizationGetUserAuthorizationReader is a Reader for the ClusterAuthorizationGetUserAuthorization structure. diff --git a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_client.go b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_client.go similarity index 100% rename from components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_client.go rename to api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_client.go diff --git a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_parameters.go b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_parameters.go similarity index 88% rename from components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_parameters.go rename to api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_parameters.go index a054523..72ea0f6 100644 --- a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_parameters.go +++ b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_parameters.go @@ -63,6 +63,9 @@ type KubectlClusterSettingsGetKubectlClusterSettingsParams struct { // OptsID. OptsID *string + // OptsAccount. + OptsAccount *string + // OptsBlueprintRef. OptsBlueprintRef *string @@ -128,14 +131,14 @@ type KubectlClusterSettingsGetKubectlClusterSettingsParams struct { // OptsOrderBy. OptsOrderBy *string - // OptsOrganizationID. - OptsOrganizationID *string + // OptsOrganization. + OptsOrganization *string - // OptsPartnerID. - OptsPartnerID *string + // OptsPartner. + OptsPartner *string - // OptsProjectID. - OptsProjectID *string + // OptsProject. + OptsProject *string // OptsPublishedVersion. OptsPublishedVersion *string @@ -219,6 +222,17 @@ func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsID(optsID o.OptsID = optsID } +// WithOptsAccount adds the optsAccount to the kubectl cluster settings get kubectl cluster settings params +func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WithOptsAccount(optsAccount *string) *KubectlClusterSettingsGetKubectlClusterSettingsParams { + o.SetOptsAccount(optsAccount) + return o +} + +// SetOptsAccount adds the optsAccount to the kubectl cluster settings get kubectl cluster settings params +func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsAccount(optsAccount *string) { + o.OptsAccount = optsAccount +} + // WithOptsBlueprintRef adds the optsBlueprintRef to the kubectl cluster settings get kubectl cluster settings params func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WithOptsBlueprintRef(optsBlueprintRef *string) *KubectlClusterSettingsGetKubectlClusterSettingsParams { o.SetOptsBlueprintRef(optsBlueprintRef) @@ -384,37 +398,37 @@ func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsOrderBy(o o.OptsOrderBy = optsOrderBy } -// WithOptsOrganizationID adds the optsOrganizationID to the kubectl cluster settings get kubectl cluster settings params -func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WithOptsOrganizationID(optsOrganizationID *string) *KubectlClusterSettingsGetKubectlClusterSettingsParams { - o.SetOptsOrganizationID(optsOrganizationID) +// WithOptsOrganization adds the optsOrganization to the kubectl cluster settings get kubectl cluster settings params +func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WithOptsOrganization(optsOrganization *string) *KubectlClusterSettingsGetKubectlClusterSettingsParams { + o.SetOptsOrganization(optsOrganization) return o } -// SetOptsOrganizationID adds the optsOrganizationId to the kubectl cluster settings get kubectl cluster settings params -func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsOrganizationID(optsOrganizationID *string) { - o.OptsOrganizationID = optsOrganizationID +// SetOptsOrganization adds the optsOrganization to the kubectl cluster settings get kubectl cluster settings params +func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsOrganization(optsOrganization *string) { + o.OptsOrganization = optsOrganization } -// WithOptsPartnerID adds the optsPartnerID to the kubectl cluster settings get kubectl cluster settings params -func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WithOptsPartnerID(optsPartnerID *string) *KubectlClusterSettingsGetKubectlClusterSettingsParams { - o.SetOptsPartnerID(optsPartnerID) +// WithOptsPartner adds the optsPartner to the kubectl cluster settings get kubectl cluster settings params +func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WithOptsPartner(optsPartner *string) *KubectlClusterSettingsGetKubectlClusterSettingsParams { + o.SetOptsPartner(optsPartner) return o } -// SetOptsPartnerID adds the optsPartnerId to the kubectl cluster settings get kubectl cluster settings params -func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsPartnerID(optsPartnerID *string) { - o.OptsPartnerID = optsPartnerID +// SetOptsPartner adds the optsPartner to the kubectl cluster settings get kubectl cluster settings params +func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsPartner(optsPartner *string) { + o.OptsPartner = optsPartner } -// WithOptsProjectID adds the optsProjectID to the kubectl cluster settings get kubectl cluster settings params -func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WithOptsProjectID(optsProjectID *string) *KubectlClusterSettingsGetKubectlClusterSettingsParams { - o.SetOptsProjectID(optsProjectID) +// WithOptsProject adds the optsProject to the kubectl cluster settings get kubectl cluster settings params +func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WithOptsProject(optsProject *string) *KubectlClusterSettingsGetKubectlClusterSettingsParams { + o.SetOptsProject(optsProject) return o } -// SetOptsProjectID adds the optsProjectId to the kubectl cluster settings get kubectl cluster settings params -func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsProjectID(optsProjectID *string) { - o.OptsProjectID = optsProjectID +// SetOptsProject adds the optsProject to the kubectl cluster settings get kubectl cluster settings params +func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) SetOptsProject(optsProject *string) { + o.OptsProject = optsProject } // WithOptsPublishedVersion adds the optsPublishedVersion to the kubectl cluster settings get kubectl cluster settings params @@ -486,6 +500,23 @@ func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WriteToRequest(r } } + if o.OptsAccount != nil { + + // query param opts.account + var qrOptsAccount string + + if o.OptsAccount != nil { + qrOptsAccount = *o.OptsAccount + } + qOptsAccount := qrOptsAccount + if qOptsAccount != "" { + + if err := r.SetQueryParam("opts.account", qOptsAccount); err != nil { + return err + } + } + } + if o.OptsBlueprintRef != nil { // query param opts.blueprintRef @@ -735,52 +766,52 @@ func (o *KubectlClusterSettingsGetKubectlClusterSettingsParams) WriteToRequest(r } } - if o.OptsOrganizationID != nil { + if o.OptsOrganization != nil { - // query param opts.organizationID - var qrOptsOrganizationID string + // query param opts.organization + var qrOptsOrganization string - if o.OptsOrganizationID != nil { - qrOptsOrganizationID = *o.OptsOrganizationID + if o.OptsOrganization != nil { + qrOptsOrganization = *o.OptsOrganization } - qOptsOrganizationID := qrOptsOrganizationID - if qOptsOrganizationID != "" { + qOptsOrganization := qrOptsOrganization + if qOptsOrganization != "" { - if err := r.SetQueryParam("opts.organizationID", qOptsOrganizationID); err != nil { + if err := r.SetQueryParam("opts.organization", qOptsOrganization); err != nil { return err } } } - if o.OptsPartnerID != nil { + if o.OptsPartner != nil { - // query param opts.partnerID - var qrOptsPartnerID string + // query param opts.partner + var qrOptsPartner string - if o.OptsPartnerID != nil { - qrOptsPartnerID = *o.OptsPartnerID + if o.OptsPartner != nil { + qrOptsPartner = *o.OptsPartner } - qOptsPartnerID := qrOptsPartnerID - if qOptsPartnerID != "" { + qOptsPartner := qrOptsPartner + if qOptsPartner != "" { - if err := r.SetQueryParam("opts.partnerID", qOptsPartnerID); err != nil { + if err := r.SetQueryParam("opts.partner", qOptsPartner); err != nil { return err } } } - if o.OptsProjectID != nil { + if o.OptsProject != nil { - // query param opts.projectID - var qrOptsProjectID string + // query param opts.project + var qrOptsProject string - if o.OptsProjectID != nil { - qrOptsProjectID = *o.OptsProjectID + if o.OptsProject != nil { + qrOptsProject = *o.OptsProject } - qOptsProjectID := qrOptsProjectID - if qOptsProjectID != "" { + qOptsProject := qrOptsProject + if qOptsProject != "" { - if err := r.SetQueryParam("opts.projectID", qOptsProjectID); err != nil { + if err := r.SetQueryParam("opts.project", qOptsProject); err != nil { return err } } diff --git a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_responses.go b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_responses.go rename to api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_responses.go index d92acdd..0f22087 100644 --- a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_responses.go +++ b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_get_kubectl_cluster_settings_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // KubectlClusterSettingsGetKubectlClusterSettingsReader is a Reader for the KubectlClusterSettingsGetKubectlClusterSettings structure. diff --git a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_parameters.go b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_parameters.go similarity index 98% rename from components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_parameters.go rename to api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_parameters.go index 5929991..8980062 100644 --- a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_parameters.go +++ b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_parameters.go @@ -15,7 +15,7 @@ import ( cr "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // NewKubectlClusterSettingsUpdateKubectlClusterSettingsParams creates a new KubectlClusterSettingsUpdateKubectlClusterSettingsParams object, diff --git a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_responses.go b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_responses.go similarity index 98% rename from components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_responses.go rename to api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_responses.go index 48d045f..a744f52 100644 --- a/components/common/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_responses.go +++ b/api/def/clients/sentry/client/kubectl_cluster_settings/kubectl_cluster_settings_update_kubectl_cluster_settings_responses.go @@ -12,7 +12,7 @@ import ( "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/models" ) // KubectlClusterSettingsUpdateKubectlClusterSettingsReader is a Reader for the KubectlClusterSettingsUpdateKubectlClusterSettings structure. diff --git a/components/common/api/def/clients/sentry/client/sentry_bootstrap_service_client.go b/api/def/clients/sentry/client/sentry_bootstrap_service_client.go similarity index 97% rename from components/common/api/def/clients/sentry/client/sentry_bootstrap_service_client.go rename to api/def/clients/sentry/client/sentry_bootstrap_service_client.go index ea4fbee..fb0907a 100644 --- a/components/common/api/def/clients/sentry/client/sentry_bootstrap_service_client.go +++ b/api/def/clients/sentry/client/sentry_bootstrap_service_client.go @@ -10,7 +10,7 @@ import ( httptransport "github.com/go-openapi/runtime/client" "github.com/go-openapi/strfmt" - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/client/bootstrap" + "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/client/bootstrap" ) // Default sentry bootstrap service HTTP client. diff --git a/components/common/api/def/clients/config/models/controller_step_object.go b/api/def/clients/sentry/models/controller_step_object.go similarity index 69% rename from components/common/api/def/clients/config/models/controller_step_object.go rename to api/def/clients/sentry/models/controller_step_object.go index 29dd584..1295587 100644 --- a/components/common/api/def/clients/config/models/controller_step_object.go +++ b/api/def/clients/sentry/models/controller_step_object.go @@ -22,6 +22,9 @@ type ControllerStepObject struct { // name Name string `json:"name,omitempty"` + // object meta + ObjectMeta *V1ObjectMeta `json:"objectMeta,omitempty"` + // raw // Format: byte Raw strfmt.Base64 `json:"raw,omitempty"` @@ -34,6 +37,10 @@ type ControllerStepObject struct { func (m *ControllerStepObject) Validate(formats strfmt.Registry) error { var res []error + if err := m.validateObjectMeta(formats); err != nil { + res = append(res, err) + } + if err := m.validateTypeMeta(formats); err != nil { res = append(res, err) } @@ -44,6 +51,25 @@ func (m *ControllerStepObject) Validate(formats strfmt.Registry) error { return nil } +func (m *ControllerStepObject) validateObjectMeta(formats strfmt.Registry) error { + if swag.IsZero(m.ObjectMeta) { // not required + return nil + } + + if m.ObjectMeta != nil { + if err := m.ObjectMeta.Validate(formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("objectMeta") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("objectMeta") + } + return err + } + } + + return nil +} + func (m *ControllerStepObject) validateTypeMeta(formats strfmt.Registry) error { if swag.IsZero(m.TypeMeta) { // not required return nil @@ -67,6 +93,10 @@ func (m *ControllerStepObject) validateTypeMeta(formats strfmt.Registry) error { func (m *ControllerStepObject) ContextValidate(ctx context.Context, formats strfmt.Registry) error { var res []error + if err := m.contextValidateObjectMeta(ctx, formats); err != nil { + res = append(res, err) + } + if err := m.contextValidateTypeMeta(ctx, formats); err != nil { res = append(res, err) } @@ -77,6 +107,22 @@ func (m *ControllerStepObject) ContextValidate(ctx context.Context, formats strf return nil } +func (m *ControllerStepObject) contextValidateObjectMeta(ctx context.Context, formats strfmt.Registry) error { + + if m.ObjectMeta != nil { + if err := m.ObjectMeta.ContextValidate(ctx, formats); err != nil { + if ve, ok := err.(*errors.Validation); ok { + return ve.ValidateName("objectMeta") + } else if ce, ok := err.(*errors.CompositeError); ok { + return ce.ValidateName("objectMeta") + } + return err + } + } + + return nil +} + func (m *ControllerStepObject) contextValidateTypeMeta(ctx context.Context, formats strfmt.Registry) error { if m.TypeMeta != nil { diff --git a/components/common/api/def/clients/config/models/googlerpc_status.go b/api/def/clients/sentry/models/googlerpc_status.go similarity index 100% rename from components/common/api/def/clients/config/models/googlerpc_status.go rename to api/def/clients/sentry/models/googlerpc_status.go diff --git a/components/common/api/def/clients/config/models/metav1_type_meta.go b/api/def/clients/sentry/models/metav1_type_meta.go similarity index 100% rename from components/common/api/def/clients/config/models/metav1_type_meta.go rename to api/def/clients/sentry/models/metav1_type_meta.go diff --git a/components/common/api/def/clients/config/models/protobuf_any.go b/api/def/clients/sentry/models/protobuf_any.go similarity index 100% rename from components/common/api/def/clients/config/models/protobuf_any.go rename to api/def/clients/sentry/models/protobuf_any.go diff --git a/components/common/api/def/clients/sentry/models/rpc_delete_bootstrap_agent_response.go b/api/def/clients/sentry/models/rpc_delete_bootstrap_agent_response.go similarity index 100% rename from components/common/api/def/clients/sentry/models/rpc_delete_bootstrap_agent_response.go rename to api/def/clients/sentry/models/rpc_delete_bootstrap_agent_response.go diff --git a/components/common/api/def/clients/sentry/models/rpc_get_kubectl_cluster_settings_response.go b/api/def/clients/sentry/models/rpc_get_kubectl_cluster_settings_response.go similarity index 100% rename from components/common/api/def/clients/sentry/models/rpc_get_kubectl_cluster_settings_response.go rename to api/def/clients/sentry/models/rpc_get_kubectl_cluster_settings_response.go diff --git a/components/common/api/def/clients/sentry/models/rpc_get_user_authorization_response.go b/api/def/clients/sentry/models/rpc_get_user_authorization_response.go similarity index 100% rename from components/common/api/def/clients/sentry/models/rpc_get_user_authorization_response.go rename to api/def/clients/sentry/models/rpc_get_user_authorization_response.go diff --git a/api/def/clients/sentry/models/rpc_lookup_cluster_response.go b/api/def/clients/sentry/models/rpc_lookup_cluster_response.go new file mode 100644 index 0000000..65ab46f --- /dev/null +++ b/api/def/clients/sentry/models/rpc_lookup_cluster_response.go @@ -0,0 +1,53 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// RPCLookupClusterResponse rpc lookup cluster response +// +// swagger:model rpcLookupClusterResponse +type RPCLookupClusterResponse struct { + + // display name + DisplayName string `json:"displayName,omitempty"` + + // name + Name string `json:"name,omitempty"` +} + +// Validate validates this rpc lookup cluster response +func (m *RPCLookupClusterResponse) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this rpc lookup cluster response based on context it is used +func (m *RPCLookupClusterResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RPCLookupClusterResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RPCLookupClusterResponse) UnmarshalBinary(b []byte) error { + var res RPCLookupClusterResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/api/def/clients/sentry/models/rpc_lookup_user_response.go b/api/def/clients/sentry/models/rpc_lookup_user_response.go new file mode 100644 index 0000000..8306b4c --- /dev/null +++ b/api/def/clients/sentry/models/rpc_lookup_user_response.go @@ -0,0 +1,65 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" + "github.com/go-openapi/swag" +) + +// RPCLookupUserResponse rpc lookup user response +// +// swagger:model rpcLookupUserResponse +type RPCLookupUserResponse struct { + + // account ID + AccountID string `json:"accountID,omitempty"` + + // is s s o + IsSSO string `json:"isSSO,omitempty"` + + // organization ID + OrganizationID string `json:"organizationID,omitempty"` + + // partner ID + PartnerID string `json:"partnerID,omitempty"` + + // session type + SessionType string `json:"sessionType,omitempty"` + + // user name + UserName string `json:"userName,omitempty"` +} + +// Validate validates this rpc lookup user response +func (m *RPCLookupUserResponse) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this rpc lookup user response based on context it is used +func (m *RPCLookupUserResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} + +// MarshalBinary interface implementation +func (m *RPCLookupUserResponse) MarshalBinary() ([]byte, error) { + if m == nil { + return nil, nil + } + return swag.WriteJSON(m) +} + +// UnmarshalBinary interface implementation +func (m *RPCLookupUserResponse) UnmarshalBinary(b []byte) error { + var res RPCLookupUserResponse + if err := swag.ReadJSON(b, &res); err != nil { + return err + } + *m = res + return nil +} diff --git a/components/common/api/def/clients/sentry/models/rpc_register_agent_response.go b/api/def/clients/sentry/models/rpc_register_agent_response.go similarity index 100% rename from components/common/api/def/clients/sentry/models/rpc_register_agent_response.go rename to api/def/clients/sentry/models/rpc_register_agent_response.go diff --git a/components/common/api/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_request.go b/api/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_request.go similarity index 100% rename from components/common/api/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_request.go rename to api/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_request.go diff --git a/components/common/api/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_response.go b/api/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_response.go similarity index 100% rename from components/common/api/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_response.go rename to api/def/clients/sentry/models/rpc_update_kubectl_cluster_settings_response.go diff --git a/components/common/api/def/clients/sentry/models/sentry_boot_strap_agent_status.go b/api/def/clients/sentry/models/sentry_boot_strap_agent_status.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_boot_strap_agent_status.go rename to api/def/clients/sentry/models/sentry_boot_strap_agent_status.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent.go b/api/def/clients/sentry/models/sentry_bootstrap_agent.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_list.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_list.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_list.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_list.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_mode.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_mode.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_mode.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_mode.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_spec.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_spec.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_spec.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_spec.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_state.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_state.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_state.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_state.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_template.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_template.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template_list.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_template_list.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template_list.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_template_list.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template_spec.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_template_spec.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template_spec.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_template_spec.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template_status.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_template_status.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template_status.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_template_status.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template_type.go b/api/def/clients/sentry/models/sentry_bootstrap_agent_template_type.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_agent_template_type.go rename to api/def/clients/sentry/models/sentry_bootstrap_agent_template_type.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_infra.go b/api/def/clients/sentry/models/sentry_bootstrap_infra.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_infra.go rename to api/def/clients/sentry/models/sentry_bootstrap_infra.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_infra_spec.go b/api/def/clients/sentry/models/sentry_bootstrap_infra_spec.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_infra_spec.go rename to api/def/clients/sentry/models/sentry_bootstrap_infra_spec.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_infra_status.go b/api/def/clients/sentry/models/sentry_bootstrap_infra_status.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_infra_status.go rename to api/def/clients/sentry/models/sentry_bootstrap_infra_status.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_template_host.go b/api/def/clients/sentry/models/sentry_bootstrap_template_host.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_template_host.go rename to api/def/clients/sentry/models/sentry_bootstrap_template_host.go diff --git a/components/common/api/def/clients/sentry/models/sentry_bootstrap_template_host_type.go b/api/def/clients/sentry/models/sentry_bootstrap_template_host_type.go similarity index 100% rename from components/common/api/def/clients/sentry/models/sentry_bootstrap_template_host_type.go rename to api/def/clients/sentry/models/sentry_bootstrap_template_host_type.go diff --git a/components/common/api/def/clients/config/models/v1_fields_v1.go b/api/def/clients/sentry/models/v1_fields_v1.go similarity index 100% rename from components/common/api/def/clients/config/models/v1_fields_v1.go rename to api/def/clients/sentry/models/v1_fields_v1.go diff --git a/components/common/api/def/clients/config/models/v1_managed_fields_entry.go b/api/def/clients/sentry/models/v1_managed_fields_entry.go similarity index 100% rename from components/common/api/def/clients/config/models/v1_managed_fields_entry.go rename to api/def/clients/sentry/models/v1_managed_fields_entry.go diff --git a/components/common/api/def/clients/config/models/v1_object_meta.go b/api/def/clients/sentry/models/v1_object_meta.go similarity index 100% rename from components/common/api/def/clients/config/models/v1_object_meta.go rename to api/def/clients/sentry/models/v1_object_meta.go diff --git a/components/common/api/def/clients/config/models/v1_owner_reference.go b/api/def/clients/sentry/models/v1_owner_reference.go similarity index 100% rename from components/common/api/def/clients/config/models/v1_owner_reference.go rename to api/def/clients/sentry/models/v1_owner_reference.go diff --git a/components/common/api/def/clients/config/models/v1_time.go b/api/def/clients/sentry/models/v1_time.go similarity index 100% rename from components/common/api/def/clients/config/models/v1_time.go rename to api/def/clients/sentry/models/v1_time.go diff --git a/components/common/api/def/clients/scheduler/models/v3_http_body.go b/api/def/clients/sentry/models/v3_http_body.go similarity index 100% rename from components/common/api/def/clients/scheduler/models/v3_http_body.go rename to api/def/clients/sentry/models/v3_http_body.go diff --git a/components/common/api/def/clients/config/models/v3_list_metadata.go b/api/def/clients/sentry/models/v3_list_metadata.go similarity index 100% rename from components/common/api/def/clients/config/models/v3_list_metadata.go rename to api/def/clients/sentry/models/v3_list_metadata.go diff --git a/components/common/api/def/clients/config/models/v3_metadata.go b/api/def/clients/sentry/models/v3_metadata.go similarity index 97% rename from components/common/api/def/clients/config/models/v3_metadata.go rename to api/def/clients/sentry/models/v3_metadata.go index 2ba69ea..de13c65 100644 --- a/components/common/api/def/clients/config/models/v3_metadata.go +++ b/api/def/clients/sentry/models/v3_metadata.go @@ -32,6 +32,11 @@ type V3Metadata struct { // description of the resource Description string `json:"description,omitempty"` + // Display Name + // + // display name of the resource + DisplayName string `json:"displayName,omitempty"` + // id // Read Only: true ID string `json:"id,omitempty"` diff --git a/components/common/api/def/clients/sentry/models/v3_query_options.go b/api/def/clients/sentry/models/v3_query_options.go similarity index 92% rename from components/common/api/def/clients/sentry/models/v3_query_options.go rename to api/def/clients/sentry/models/v3_query_options.go index dfc5b10..30fd0a7 100644 --- a/components/common/api/def/clients/sentry/models/v3_query_options.go +++ b/api/def/clients/sentry/models/v3_query_options.go @@ -20,6 +20,9 @@ type V3QueryOptions struct { // ID ID string `json:"ID,omitempty"` + // account + Account string `json:"account,omitempty"` + // annotations only used for update queries to set annotations (READONLY) Annotations map[string]string `json:"annotations,omitempty"` @@ -73,14 +76,14 @@ type V3QueryOptions struct { // order by OrderBy string `json:"orderBy,omitempty"` - // organization ID - OrganizationID string `json:"organizationID,omitempty"` + // organization + Organization string `json:"organization,omitempty"` - // partner ID - PartnerID string `json:"partnerID,omitempty"` + // partner + Partner string `json:"partner,omitempty"` - // project ID - ProjectID string `json:"projectID,omitempty"` + // project + Project string `json:"project,omitempty"` // published version PublishedVersion string `json:"publishedVersion,omitempty"` diff --git a/components/common/buf.gen.yaml b/buf.gen.yaml similarity index 75% rename from components/common/buf.gen.yaml rename to buf.gen.yaml index 1753233..0a926bd 100644 --- a/components/common/buf.gen.yaml +++ b/buf.gen.yaml @@ -2,14 +2,12 @@ version: v1 managed: enabled: true go_package_prefix: - default: github.com/RafaySystems/rcloud-base/components/common + default: github.com/RafaySystems/rcloud-base except: - buf.build/googleapis/googleapis - buf.build/grpc-ecosystem/grpc-gateway - buf.build/gogo/protobuf - buf.build/rafay/k8s - override: - buf.build/rafay/common: github.com/RafaySystems/rcloud-base/components/common plugins: - name: go out: . diff --git a/components/common/buf.lock b/buf.lock similarity index 61% rename from components/common/buf.lock rename to buf.lock index d9fc7e8..439cdf1 100644 --- a/components/common/buf.lock +++ b/buf.lock @@ -1,20 +1,13 @@ # Generated by buf. DO NOT EDIT. version: v1 deps: - - remote: buf.build - owner: gogo - repository: protobuf - branch: main - commit: 4df00b267f944190a229ce3695781e99 - digest: b1-sjLgsg7CzrkOrIjBDh3s-l0aMjE6oqTj85-OsoopKAw= - create_time: 2021-08-10T00:14:28.345069Z - remote: buf.build owner: googleapis repository: googleapis branch: main - commit: b53ed4c940ec4644ad883e5f762f72c9 - digest: b1-Hn98QihtUQeHWUou8-tO1IrLAOplFch71V2xunGjBvc= - create_time: 2022-02-09T15:07:44.173247Z + commit: bcdcd1dee95c4277b2edbae6c21332a2 + digest: b1-QAdxfRqCgCBZPaGaRiY8Ms_jKvwZrONQXfaOSvL2lB8= + create_time: 2022-02-26T15:04:31.725057Z - remote: buf.build owner: grpc-ecosystem repository: grpc-gateway diff --git a/components/common/buf.yaml b/buf.yaml similarity index 87% rename from components/common/buf.yaml rename to buf.yaml index 5d53970..f8b9d62 100644 --- a/components/common/buf.yaml +++ b/buf.yaml @@ -3,7 +3,6 @@ name: buf.build/rafay/common deps: - buf.build/googleapis/googleapis - buf.build/grpc-ecosystem/grpc-gateway - - buf.build/gogo/protobuf - buf.build/rafay/k8s breaking: use: diff --git a/components/common/build/swagger.sh b/build/swagger.sh similarity index 100% rename from components/common/build/swagger.sh rename to build/swagger.sh diff --git a/components/common/fix.go b/cmd/fix.go similarity index 100% rename from components/common/fix.go rename to cmd/fix.go diff --git a/components/common/cmd/generate-enum/main.go b/cmd/generate-enum/main.go similarity index 100% rename from components/common/cmd/generate-enum/main.go rename to cmd/generate-enum/main.go diff --git a/components/adminsrv/go.mod b/components/adminsrv/go.mod deleted file mode 100644 index 5a0c1be..0000000 --- a/components/adminsrv/go.mod +++ /dev/null @@ -1,129 +0,0 @@ -module github.com/RafaySystems/rcloud-base/components/adminsrv - -go 1.17 - -require ( - github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished - github.com/dgraph-io/ristretto v0.1.0 - github.com/gogo/protobuf v1.3.2 - github.com/google/uuid v1.3.0 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2 - github.com/pkg/errors v0.9.1 - github.com/rs/xid v1.3.0 - github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 - github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 - github.com/spf13/viper v1.10.1 - github.com/uptrace/bun v1.0.20 - github.com/uptrace/bun/dialect/pgdialect v1.0.20 - github.com/uptrace/bun/driver/pgdriver v1.0.20 - github.com/uptrace/bun/extra/bundebug v1.0.20 - google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa - google.golang.org/grpc v1.43.0 - google.golang.org/protobuf v1.27.1 - k8s.io/api v0.23.4 - k8s.io/client-go v0.23.4 - sigs.k8s.io/controller-runtime v0.11.1 -) - -require ( - github.com/DATA-DOG/go-sqlmock v1.5.0 // indirect - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect - github.com/go-logr/logr v1.2.0 // indirect - github.com/go-openapi/analysis v0.20.1 // indirect - github.com/go-openapi/errors v0.20.2 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.6 // indirect - github.com/go-openapi/loads v0.21.0 // indirect - github.com/go-openapi/runtime v0.23.0 // indirect - github.com/go-openapi/spec v0.20.4 // indirect - github.com/go-openapi/strfmt v0.21.2 // indirect - github.com/go-openapi/swag v0.19.15 // indirect - github.com/go-openapi/validate v0.20.3 // indirect - github.com/go-stack/stack v1.8.0 // indirect - github.com/golang/glog v1.0.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/google/go-cmp v0.5.6 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/googleapis/gnostic v0.5.5 // indirect - github.com/imdario/mergo v0.3.12 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/oklog/ulid v1.3.1 // indirect - github.com/opentracing/opentracing-go v1.2.0 // indirect - github.com/prometheus/client_golang v1.11.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.28.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect - github.com/speps/go-hashids v2.0.0+incompatible // indirect - github.com/valyala/fastjson v1.6.3 // indirect - go.mongodb.org/mongo-driver v1.7.5 // indirect - golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/apiextensions-apiserver v0.23.4 // indirect - k8s.io/apimachinery v0.23.4 // indirect - k8s.io/component-base v0.23.4 // indirect - k8s.io/klog v1.0.0 // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect - sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect -) - -require ( - github.com/fatih/color v1.13.0 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/klauspost/cpuid/v2 v2.0.6 // indirect - github.com/magiconair/properties v1.8.5 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/mitchellh/mapstructure v1.4.3 // indirect - github.com/ory/kratos-client-go v0.8.2-alpha.1 // indirect - github.com/pelletier/go-toml v1.9.4 // indirect - github.com/processout/grpc-go-pool v1.2.1 // indirect - github.com/segmentio/asm v1.1.0 // indirect - github.com/segmentio/encoding v0.3.2 // indirect - github.com/spf13/afero v1.6.0 // indirect - github.com/spf13/cast v1.4.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect - github.com/urfave/negroni v1.0.0 // indirect - github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect - github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - go.uber.org/zap v1.19.1 // indirect - golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect - golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect - golang.org/x/text v0.3.7 // indirect - google.golang.org/appengine v1.6.7 // indirect - gopkg.in/ini.v1 v1.66.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - mellium.im/sasl v0.2.1 // indirect - sigs.k8s.io/yaml v1.3.0 -) - -replace github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished => ../common/ diff --git a/components/adminsrv/go.sum b/components/adminsrv/go.sum deleted file mode 100644 index bf64e7e..0000000 --- a/components/adminsrv/go.sum +++ /dev/null @@ -1,1455 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.2/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= -github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/elazarl/goproxy v0.0.0-20191011121108-aa519ddbe484/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= -github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= -github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= -github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk= -github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/analysis v0.20.1 h1:zdVbw8yoD4SWZeq+cWdGgquaB0W4VrsJvDJHJND/Ktc= -github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.1/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= -github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= -github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= -github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4= -github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o= -github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68= -github.com/go-openapi/loads v0.21.0/go.mod h1:rHYve9nZrQ4CJhyeIIFJINGCg1tQpx2yJrrNo8sf1ws= -github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= -github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= -github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98= -github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= -github.com/go-openapi/runtime v0.23.0 h1:HX6ET2sHCIvaKeDDQoU01CtO1ekg5EkekHSkLTtWXH0= -github.com/go-openapi/runtime v0.23.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ= -github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg= -github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk= -github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= -github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os= -github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M= -github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= -github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= -github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= -github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4= -github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI= -github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= -github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw= -github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= -github.com/gophercloud/gophercloud v0.6.0/go.mod h1:GICNByuaEBibcjmjvI7QvYJSZEbGkcYwAR7EZK2WMqM= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2 h1:I/pwhnUln5wbMnTyRbzswA0/JxpK8sZj0aUfI3TV1So= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2/go.mod h1:lsuH8kb4GlMdSlI4alNIBBSAt5CHJtg3i+0WuN9J5YM= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/cpuid/v2 v2.0.6 h1:dQ5ueTiftKxp0gyjKSx5+8BtPWkyQbd95m8Gys/RarI= -github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/ory/kratos-client-go v0.8.2-alpha.1 h1:YlKhGOSZjounlB9iY4xSWlqHbyLYkeLzlLk8ZL7/nEM= -github.com/ory/kratos-client-go v0.8.2-alpha.1/go.mod h1:dOQIsar76K07wMPJD/6aMhrWyY+sFGEagLDLso1CpsA= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= -github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/processout/grpc-go-pool v1.2.1 h1:hbp1BOA02CIxEAoRLHGpUhhPFv77nwfBLBeO3Ya9P7I= -github.com/processout/grpc-go-pool v1.2.1/go.mod h1:F4hiNj96O6VQ87jv4rdz8R9tkHdelQQJ/J2B1a5VSt4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/asm v1.1.0 h1:fkVr8k5J4sKoFjTGVD6r1yKvDKqmvrEh3K7iyVxgBs8= -github.com/segmentio/asm v1.1.0/go.mod h1:4EUJGaKsB8ImLUwOGORVsNd9vTRDeh44JGsY4aKp5I4= -github.com/segmentio/encoding v0.3.2 h1:gkXXteOfNaPPlrXTEf/e5tWvaQGVJWnvT3LqMzUeH7U= -github.com/segmentio/encoding v0.3.2/go.mod h1:waft2p6XI4z2pk07M0YzZV4wEiqaRvsBSyWNHxVx4gU= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 h1:bUGsEnyNbVPw06Bs80sCeARAlK8lhwqGyi6UT8ymuGk= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvqWEUH6SjNiu7VhSjuVFTFiTcphaLU= -github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/speps/go-hashids v2.0.0+incompatible h1:kSfxGfESueJKTx0mpER9Y/1XHl+FVQjtCqRyYcviFbw= -github.com/speps/go-hashids v2.0.0+incompatible/go.mod h1:P7hqPzMdnZOfyIk+xrlG1QaSMw+gCBdHKsBDnhpaZvc= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= -github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/uptrace/bun v1.0.20 h1:/T4p9C9tEN75U3cFMBr5njlP+rBfs4An8BmlQQPbcfE= -github.com/uptrace/bun v1.0.20/go.mod h1:Uv7z0z+7dXnUS9P5hMF0hdiM/4M+xOUHQCrZpyDrpRc= -github.com/uptrace/bun/dialect/pgdialect v1.0.20 h1:1Yajz0M2AhOzvxFEQSAQ8TpqzSRFxYOg+saksIQ0dmU= -github.com/uptrace/bun/dialect/pgdialect v1.0.20/go.mod h1:Z2UoOgTKHXgFOuInXsJKkNQJiFIaPkCvsj0EayOI2yk= -github.com/uptrace/bun/driver/pgdriver v1.0.20 h1:CEWHL5NS5FQIJAJxY40t0llwe8XxVlsblbgi9Upm0fA= -github.com/uptrace/bun/driver/pgdriver v1.0.20/go.mod h1:KAONvCIiI4A6HdMTZ8zCdGxh7P6+23Todz+bL8HRzV4= -github.com/uptrace/bun/extra/bundebug v1.0.20 h1:lwuGUMiqujR3NuGDKgJu1j7XL3LsULSv1MDFHlYBAGs= -github.com/uptrace/bun/extra/bundebug v1.0.20/go.mod h1:tDoi/zmjHkumthaCujwfI2+mni0G41HfJD4HC2oMdpk= -github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= -github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= -go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= -go.mongodb.org/mongo-driver v1.7.5 h1:ny3p0reEpgsR2cfA5cjgwFZg3Cv/ofFh/8jbhGtz9VI= -go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 h1:0es+/5331RGQPcXlMfP+WrnIIS6dNnNRe0WB02W0F4M= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211123173158-ef496fb156ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff h1:VX/uD7MK0AHXGiScH3fsieUQUcpmRERPDYtqZdJnA+Q= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= -gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= -k8s.io/api v0.23.4 h1:85gnfXQOWbJa1SiWGpE9EEtHs0UVvDyIsSMpEtl2D4E= -k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= -k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= -k8s.io/apiextensions-apiserver v0.23.4 h1:AFDUEu/yEf0YnuZhqhIFhPLPhhcQQVuR1u3WCh0rveU= -k8s.io/apiextensions-apiserver v0.23.4/go.mod h1:TWYAKymJx7nLMxWCgWm2RYGXHrGlVZnxIlGnvtfYu+g= -k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= -k8s.io/apimachinery v0.23.4 h1:fhnuMd/xUL3Cjfl64j5ULKZ1/J9n8NuQEgNL+WXWfdM= -k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= -k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= -k8s.io/apiserver v0.23.4/go.mod h1:A6l/ZcNtxGfPSqbFDoxxOjEjSKBaQmE+UTveOmMkpNc= -k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= -k8s.io/client-go v0.23.4 h1:YVWvPeerA2gpUudLelvsolzH7c2sFoXXR5wM/sWqNFU= -k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= -k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= -k8s.io/code-generator v0.23.4/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= -k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= -k8s.io/component-base v0.23.4 h1:SziYh48+QKxK+ykJ3Ejqd98XdZIseVBG7sBaNLPqy6M= -k8s.io/component-base v0.23.4/go.mod h1:8o3Gg8i2vnUXGPOwciiYlkSaZT+p+7gA9Scoz8y4W4E= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/utils v0.0.0-20191030222137-2b95a09bc58d/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -mellium.im/sasl v0.2.1 h1:nspKSRg7/SyO0cRGY71OkfHab8tf9kCts6a6oTDut0w= -mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27/go.mod h1:tq2nT0Kx7W+/f2JVE+zxYtUhdjuELJkVpNz+x/QN5R4= -sigs.k8s.io/controller-runtime v0.11.1 h1:7YIHT2QnHJArj/dk9aUkYhfqfK5cIxPOX5gPECfdZLU= -sigs.k8s.io/controller-runtime v0.11.1/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 h1:otg4dLFc03c3gzl+2CV8GPGcd1kk8wjXwD+UhhcCn5I= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0/go.mod h1:bl/gVJgYYhJZCZdYU2BfnaKYAlqFkgbJEkpl302jEss= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/components/adminsrv/internal/models/groupaccount.go b/components/adminsrv/internal/models/groupaccount.go deleted file mode 100644 index b484474..0000000 --- a/components/adminsrv/internal/models/groupaccount.go +++ /dev/null @@ -1,22 +0,0 @@ -package models - -import ( - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type GroupAccount struct { - bun.BaseModel `bun:"table:authsrv_groupaccount,alias:groupaccount"` - - ID uuid.UUID `bun:"id,type:uuid,pk,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - Description string `bun:"description,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull,default:false"` - AccountId uuid.UUID `bun:"account_id,type:uuid"` - GroupId uuid.UUID `bun:"group_id,type:uuid"` - Active bool `bun:"active,notnull"` -} diff --git a/components/adminsrv/master.rest b/components/adminsrv/master.rest deleted file mode 100644 index d87b849..0000000 --- a/components/adminsrv/master.rest +++ /dev/null @@ -1,115 +0,0 @@ -:host = http://localhost:11000 -:partner = finman -:org = finmanorg -:project = myproject -:description = this is my first project -:opts.urlScope_user = user/b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533 -:opts.urlScope_org = organization/0d95d65f-3ce9-4340-ac05-77f71084d0a6 -:orgid = 0d95d65f-3ce9-4340-ac05-77f71084d0a6 -:accountid = b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533 -opts.urlScope_cluster = cluster/eff85770-1a9e-42bc-824b-d0ff5a0f792c - -## Project - -# Create Project -POST :host/auth/v3/partner/:partner/organization/:organization/project -Content-Type: application/yaml - -metadata: - partner: :partner - organization: :org - name: :project -spec: - default: true - -# Get all projects -GET :host/auth/v3/partner/:partner/organization/:organization/projects -Content-Type: application/yaml - -# Get single project -GET :host/auth/v3/partner/:partner/organization/:organization/project/:project -Content-Type: application/yaml - -# Update project info -PUT :host/auth/v3/partner/:partner/organization/:organization/project/:project -Content-Type: application/yaml - -metadata: - partner: :partner - organization: :org - name: :project - description: :description -spec: - default: true - -# Delete single project -DELETE :host/auth/v3/partner/:partner/organization/:organization/project/:project - - -## Kubeconfig setting - -# Publish kubeconfig setting -PUT :host/v2/sentry/kubeconfig/:opts.urlScope_user/setting -Content-Type: application/yaml - -opts: - organization: :orgid - account: :accountid -validitySeconds: 5000 -enableSessionCheck: true -enablePrivateRelay: true -enforceOrgAdminSecretAccess: true -disableWebKubectl: false -disableCLIKubectl: false - -# Get kubeconfig setting -GET :host/v2/sentry/kubeconfig/:opts.urlScope_user/setting - -# Publish kubeconfig setting -PUT :host/v2/sentry/kubeconfig/:opts.urlScope_org/setting -Content-Type: application/yaml - -opts: - organization: :orgid -validitySeconds: 5000 -enableSessionCheck: true -enablePrivateRelay: true -enforceOrgAdminSecretAccess: true -disableWebKubectl: false -disableCLIKubectl: false - -# Get kubeconfig setting -GET :host/v2/sentry/kubeconfig/:opts.urlScope_org/setting - -# Get kubeconfig for cluster system session -GET :host/v2/sentry/kubeconfig/clustersystemsession?systemUser=true&opts.Organization=cc02bd83-89d8-4c76-a7dc-06854f93e21d - -# Get kubeconfig for cluster web session -GET :host/v2/sentry/kubeconfig/clusterwebsession?opts.account=b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533&opts.organization=0d95d65f-3ce9-4340-ac05-77f71084d0a6&opts.username=nirav.parikh@finman.tech - -# Get kubeconfig for user -GET :host/v2/sentry/kubeconfig/user?opts.selector=&opts.account=c6974c2e-ef14-41bd-a5d5-4297cfe1dd4a&opts.organization=928b87f5-a4e8-4c97-8c91-0d431d7e1b82&opts.partner=a02cdb9f-a84f-49a1-b483-e7722d519cb8 - -# Revoke kubeconfig for user -POST :host/v2/sentry/kubeconfig/revoke -Content-Type: application/yaml - -opts: - organization: cc02bd83-89d8-4c76-a7dc-06854f93e21d - account: c6974c2e-ef14-41bd-a5d5-4297cfe1dd4a - partner: a02cdb9f-a84f-49a1-b483-e7722d519cb8 - -# Kubeconfig get cluster settings -GET :host/v2/sentry/kubectl/:opts.urlScope_cluster/settings?opts.organization=cc02bd83-89d8-4c76-a7dc-06854f93e21d - -# Publish kubectl settings -PUT :host/v2/sentry/kubectl/:opts.urlScope_cluster/settings -Content-Type: application/yaml - -opts: - organization: cc02bd83-89d8-4c76-a7dc-06854f93e21d -disableWebKubectl: true -disableCLIKubectl: true - -# Get User Authorization -GET :host/v2/sentry/authorization/user?userCN=a=b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533/o=0d95d65f-3ce9-4340-ac05-77f71084d0a6/p=dec2483b-41b6-482f-b885-8d0edc39f76e/u=nirav.parikh@finman.tech&clusterID=28f0862f-a3e0-462d-9dae-88b9bb7f283c&certIssueSeconds=36000 \ No newline at end of file diff --git a/components/adminsrv/pkg/sentry/util/peering.go b/components/adminsrv/pkg/sentry/util/peering.go deleted file mode 100644 index fa642bb..0000000 --- a/components/adminsrv/pkg/sentry/util/peering.go +++ /dev/null @@ -1,93 +0,0 @@ -package util - -import ( - "context" - "crypto/ecdsa" - "crypto/x509/pkix" - "database/sql" - "fmt" - "time" - - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - "github.com/rs/xid" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/register" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" -) - -// GetPeeringServerCreds returns peering cert, key, ca -func GetPeeringServerCreds(ctx context.Context, bs service.BootstrapService, rpcPort int, host string) (cert, key, ca []byte, err error) { - nctx, cancel := context.WithTimeout(ctx, time.Second*10) - defer cancel() - var template *sentry.BootstrapAgentTemplate - - template, err = bs.GetBootstrapAgentTemplate(nctx, "rafay-sentry-peering-server") - if err != nil { - return - } - - config := ®ister.Config{ - TemplateName: "rafay-sentry-peering-server", - Addr: fmt.Sprintf("localhost:%d", rpcPort), - Name: "rafay-sentry-peering-server", - Scheme: "grpc", - Mode: "server", - } - - var privKey *ecdsa.PrivateKey - - privKey, err = cryptoutil.GenerateECDSAPrivateKey() - if err != nil { - return - } - - config.PrivateKey, err = cryptoutil.EncodePrivateKey(privKey, cryptoutil.NoPassword) - if err != nil { - return - } - - var csr []byte - - csr, err = cryptoutil.CreateCSR(pkix.Name{ - CommonName: host, - Country: []string{"USA"}, - Organization: []string{"Rafay Systems Inc"}, - OrganizationalUnit: []string{"Rafay Sentry Peering Server"}, - Province: []string{"California"}, - Locality: []string{"Sunnyvale"}, - }, privKey) - if err != nil { - return - } - - config.CSR = csr - - var agent *sentry.BootstrapAgent - - agent, err = bs.GetBootstrapAgent(nctx, template.Metadata.Name, query.WithName("rafay-sentry-peering-server"), query.WithGlobalScope()) - - if err != nil { - if err != sql.ErrNoRows { - return - } - } - - if agent != nil { - config.ClientID = agent.Spec.Token - } else { - config.ClientID = xid.New().String() - } - - err = register.Register(nctx, config) - if err != nil { - return - } - - cert = config.Certificate - key = config.PrivateKey - ca = config.CACertificate - - return -} diff --git a/components/authz/buf.gen.yaml b/components/authz/buf.gen.yaml deleted file mode 100644 index d24d87f..0000000 --- a/components/authz/buf.gen.yaml +++ /dev/null @@ -1,16 +0,0 @@ -version: v1 -managed: - enabled: true - go_package_prefix: - default: github.com/RafaySystems/rcloud-base/components/authz - except: - - buf.build/gogo/protobuf -plugins: - - name: go - out: . - opt: paths=source_relative - - name: go-grpc - out: . - opt: - - paths=source_relative - - require_unimplemented_servers=false diff --git a/components/authz/buf.lock b/components/authz/buf.lock deleted file mode 100644 index 30b0f08..0000000 --- a/components/authz/buf.lock +++ /dev/null @@ -1,10 +0,0 @@ -# Generated by buf. DO NOT EDIT. -version: v1 -deps: - - remote: buf.build - owner: gogo - repository: protobuf - branch: main - commit: 4df00b267f944190a229ce3695781e99 - digest: b1-sjLgsg7CzrkOrIjBDh3s-l0aMjE6oqTj85-OsoopKAw= - create_time: 2021-08-10T00:14:28.345069Z diff --git a/components/authz/buf.yaml b/components/authz/buf.yaml deleted file mode 100644 index 94b3bed..0000000 --- a/components/authz/buf.yaml +++ /dev/null @@ -1,10 +0,0 @@ -version: v1 -name: buf.build/rafay/authz -deps: - - buf.build/gogo/protobuf -breaking: - use: - - FILE -lint: - use: - - DEFAULT diff --git a/components/authz/go.mod b/components/authz/go.mod deleted file mode 100644 index ac6bcee..0000000 --- a/components/authz/go.mod +++ /dev/null @@ -1,63 +0,0 @@ -module github.com/RafaySystems/rcloud-base/components/authz - -go 1.17 - -require ( - github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished - google.golang.org/grpc v1.43.0 -) - -require ( - github.com/casbin/casbin/v2 v2.40.6 - github.com/casbin/gorm-adapter/v3 v3.4.6 - github.com/gogo/protobuf v1.3.2 - github.com/spf13/viper v1.10.1 - google.golang.org/protobuf v1.27.1 - gorm.io/driver/postgres v1.2.2 - gorm.io/gorm v1.22.5 -) - -require ( - github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect - github.com/denisenkom/go-mssqldb v0.11.0 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/go-sql-driver/mysql v1.6.0 // indirect - github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/jackc/chunkreader/v2 v2.0.1 // indirect - github.com/jackc/pgconn v1.10.0 // indirect - github.com/jackc/pgio v1.0.0 // indirect - github.com/jackc/pgpassfile v1.0.0 // indirect - github.com/jackc/pgproto3/v2 v2.1.1 // indirect - github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect - github.com/jackc/pgtype v1.8.1 // indirect - github.com/jackc/pgx/v4 v4.13.0 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jinzhu/now v1.1.4 // indirect - github.com/kr/pretty v0.2.0 // indirect - github.com/magiconair/properties v1.8.5 // indirect - github.com/mitchellh/mapstructure v1.4.3 // indirect - github.com/pelletier/go-toml v1.9.4 // indirect - github.com/spf13/afero v1.6.0 // indirect - github.com/spf13/cast v1.4.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - go.uber.org/zap v1.19.1 // indirect - golang.org/x/crypto v0.0.0-20220126234351-aa10faf2a1f8 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect - golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect - golang.org/x/text v0.3.7 // indirect - google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa // indirect - gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 // indirect - gopkg.in/ini.v1 v1.66.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gorm.io/driver/mysql v1.1.2 // indirect - gorm.io/driver/sqlserver v1.2.1 // indirect - gorm.io/plugin/dbresolver v1.1.0 // indirect -) - -replace github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished => ../common/ diff --git a/components/authz/go.sum b/components/authz/go.sum deleted file mode 100644 index f66be15..0000000 --- a/components/authz/go.sum +++ /dev/null @@ -1,396 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= -github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/casbin/casbin/v2 v2.37.4/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= -github.com/casbin/casbin/v2 v2.40.6 h1:Fy8UmYaLst1zjyQ7Uw/Kq9Vxgyk91EtZO/cUUSm3kpQ= -github.com/casbin/casbin/v2 v2.40.6/go.mod h1:sEL80qBYTbd+BPeL4iyvwYzFT3qwLaESq5aFKVLbLfA= -github.com/casbin/gorm-adapter/v3 v3.4.6 h1:JuLN3/CBTPPlvNyQqY3uXt4Zqnt+hs2sM353aCtLTP4= -github.com/casbin/gorm-adapter/v3 v3.4.6/go.mod h1:6mIYgpByH/uSkfCv4G/vr/12cVZc3rXBQ9KrqS9oTUU= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denisenkom/go-mssqldb v0.11.0 h1:9rHa233rhdOyrz2GcP9NM+gi2psgJZ4GWDpL/7ND8HI= -github.com/denisenkom/go-mssqldb v0.11.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= -github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= -github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= -github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= -github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= -github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= -github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= -github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgconn v1.10.0 h1:4EYhlDVEMsJ30nNj0mmgwIUXoq7e9sMJrVC2ED6QlCU= -github.com/jackc/pgconn v1.10.0/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= -github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= -github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= -github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= -github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= -github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.1.1 h1:7PQ/4gLoqnl87ZxL7xjO0DR5gYuviDCZxQJsUlFW1eI= -github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= -github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= -github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= -github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= -github.com/jackc/pgtype v1.8.1 h1:9k0IXtdJXHJbyAWQgbWr1lU+MEhPXZz6RIXxfR5oxXs= -github.com/jackc/pgtype v1.8.1/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= -github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= -github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= -github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= -github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= -github.com/jackc/pgx/v4 v4.13.0 h1:JCjhT5vmhMAf/YwBHLvrBn4OGdIQBiFG6ym8Zmdx570= -github.com/jackc/pgx/v4 v4.13.0/go.mod h1:9P4X524sErlaxj0XSGZk7s+LD0eOyu1ZDUrrpznYDF0= -github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jinzhu/now v1.1.4 h1:tHnRBy1i5F2Dh8BAFxqFzxKqqvezXrL2OW1TnX+Mlas= -github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= -github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= -github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= -github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= -github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 h1:sHOAIxRGBp443oHZIPB+HsUGaksVCXVQENPxwTfQdH4= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220126234351-aa10faf2a1f8 h1:kACShD3qhmr/3rLmg1yXyt+N4HcwutKyPRB93s54TIU= -golang.org/x/crypto v0.0.0-20220126234351-aa10faf2a1f8/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= -gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= -gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/mysql v1.0.3/go.mod h1:twGxftLBlFgNVNakL7F+P/x9oYqoymG3YYT8cAfI9oI= -gorm.io/driver/mysql v1.1.2 h1:OofcyE2lga734MxwcCW9uB4mWNXMr50uaGRVwQL2B0M= -gorm.io/driver/mysql v1.1.2/go.mod h1:4P/X9vSc3WTrhTLZ259cpFd6xKNYiSSdSZngkSBGIMM= -gorm.io/driver/postgres v1.2.2 h1:Ka9W6feOU+rPM9m007eYLMD4QoZuYGBnQ3Jp0faGSwg= -gorm.io/driver/postgres v1.2.2/go.mod h1:Ik3tK+a3FMp8ORZl29v4b3M0RsgXsaeMXh9s9eVMXco= -gorm.io/driver/sqlserver v1.2.1 h1:KhGOjvPX7JZ5hPyQICTJfMuTz88zgJ2lk9bWiHVNHd8= -gorm.io/driver/sqlserver v1.2.1/go.mod h1:nixq0OB3iLXZDiPv6JSOjWuPgpyaRpOIIevYtA4Ulb4= -gorm.io/gorm v1.20.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.20.11/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.21.12/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= -gorm.io/gorm v1.22.2/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= -gorm.io/gorm v1.22.3/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= -gorm.io/gorm v1.22.5 h1:lYREBgc02Be/5lSCTuysZZDb6ffL2qrat6fg9CFbvXU= -gorm.io/gorm v1.22.5/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/plugin/dbresolver v1.1.0 h1:cegr4DeprR6SkLIQlKhJLYxH8muFbJ4SmnojXvoeb00= -gorm.io/plugin/dbresolver v1.1.0/go.mod h1:tpImigFAEejCALOttyhWqsy4vfa2Uh/vAUVnL5IRF7Y= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= diff --git a/components/authz/main.go b/components/authz/main.go deleted file mode 100644 index 6719c73..0000000 --- a/components/authz/main.go +++ /dev/null @@ -1,61 +0,0 @@ -package main - -import ( - "fmt" - "net" - - "github.com/RafaySystems/rcloud-base/components/authz/pkg/enforcer" - "github.com/RafaySystems/rcloud-base/components/authz/pkg/server" - "github.com/RafaySystems/rcloud-base/components/authz/pkg/service" - pb "github.com/RafaySystems/rcloud-base/components/authz/proto/rpc/v1" - log "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/spf13/viper" - "google.golang.org/grpc" - "gorm.io/driver/postgres" - "gorm.io/gorm" -) - -const ( - serverPortEnv = "AUTHZ_SERVER_PORT" -) - -var ( - serverPort int - as service.AuthzService - _log = log.GetLogger() -) - -func setup() { - viper.SetDefault(serverPortEnv, 50011) - viper.BindEnv(serverPortEnv) - serverPort = viper.GetInt(serverPortEnv) - dsn := "postgres://admindbuser:admindbpassword@localhost:5432/admindb?sslmode=disable" - db, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) - if err != nil { - _log.Fatalw("unable to create db connection", "error", err) - } - enforcer, err := enforcer.NewCasbinEnforcer(db).Init() - if err != nil { - _log.Fatalw("unable to init enforcer", "error", err) - } - as = service.NewAuthzService(db, enforcer) -} - -func start() { - listener, err := net.Listen("tcp", fmt.Sprintf("0.0.0.0:%d", serverPort)) - if err != nil { - _log.Errorw("unable to listen on server address", "error", err) - return - } - - authServer := grpc.NewServer() - pb.RegisterAuthzServer(authServer, server.NewAuthzServer(as)) - // reflection.Register(authServer) - _log.Info("starting auth service") - authServer.Serve(listener) -} - -func main() { - setup() - start() -} diff --git a/components/authz/pkg/server/authz.go b/components/authz/pkg/server/authz.go deleted file mode 100644 index 3705855..0000000 --- a/components/authz/pkg/server/authz.go +++ /dev/null @@ -1,57 +0,0 @@ -package server - -import ( - "context" - - "github.com/RafaySystems/rcloud-base/components/authz/pkg/service" - rpcv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/rpc/v1" - authzpbv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/types" -) - -type authzServer struct { - as service.AuthzService -} - -func NewAuthzServer(as service.AuthzService) rpcv1.AuthzServer { - return &authzServer{as} -} - -func (s *authzServer) Enforce(ctx context.Context, p *authzpbv1.EnforceRequest) (*authzpbv1.BoolReply, error) { - return s.as.Enforce(ctx, p) -} - -func (s *authzServer) ListPolicies(ctx context.Context, p *authzpbv1.Policy) (*authzpbv1.Policies, error) { - return s.as.ListPolicies(ctx, p) -} - -func (s *authzServer) CreatePolicies(ctx context.Context, p *authzpbv1.Policies) (*authzpbv1.BoolReply, error) { - return s.as.CreatePolicies(ctx, p) -} - -func (s *authzServer) DeletePolicies(ctx context.Context, p *authzpbv1.Policy) (*authzpbv1.BoolReply, error) { - return s.as.DeletePolicies(ctx, p) -} - -func (s *authzServer) ListUserGroups(ctx context.Context, p *authzpbv1.UserGroup) (*authzpbv1.UserGroups, error) { - return s.as.ListUserGroups(ctx, p) -} - -func (s *authzServer) CreateUserGroups(ctx context.Context, p *authzpbv1.UserGroups) (*authzpbv1.BoolReply, error) { - return s.as.CreateUserGroups(ctx, p) -} - -func (s *authzServer) DeleteUserGroups(ctx context.Context, p *authzpbv1.UserGroup) (*authzpbv1.BoolReply, error) { - return s.as.DeleteUserGroups(ctx, p) -} - -func (s *authzServer) ListRolePermissionMappings(ctx context.Context, p *authzpbv1.FilteredRolePermissionMapping) (*authzpbv1.RolePermissionMappingList, error) { - return s.as.ListRolePermissionMappings(ctx, p) -} - -func (s *authzServer) CreateRolePermissionMappings(ctx context.Context, p *authzpbv1.RolePermissionMappingList) (*authzpbv1.BoolReply, error) { - return s.as.CreateRolePermissionMappings(ctx, p) -} - -func (s *authzServer) DeleteRolePermissionMappings(ctx context.Context, p *authzpbv1.FilteredRolePermissionMapping) (*authzpbv1.BoolReply, error) { - return s.as.DeleteRolePermissionMappings(ctx, p) -} diff --git a/components/authz/proto/rpc/v1/authz.pb.go b/components/authz/proto/rpc/v1/authz.pb.go deleted file mode 100644 index fe27002..0000000 --- a/components/authz/proto/rpc/v1/authz.pb.go +++ /dev/null @@ -1,179 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/rpc/v1/authz.proto - -package authzv1 - -import ( - types "github.com/RafaySystems/rcloud-base/components/authz/proto/types" - _ "github.com/gogo/protobuf/gogoproto" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -var File_proto_rpc_v1_authz_proto protoreflect.FileDescriptor - -var file_proto_rpc_v1_authz_proto_rawDesc = []byte{ - 0x0a, 0x18, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x31, 0x2f, 0x61, - 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, - 0x76, 0x31, 0x1a, 0x17, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, - 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x32, 0x9e, 0x08, 0x0a, 0x05, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x5a, 0x0a, 0x07, 0x45, - 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, - 0x31, 0x2e, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, - 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x22, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, - 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x00, 0x12, - 0x5b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, - 0x73, 0x12, 0x22, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, - 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x59, 0x0a, 0x0e, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x20, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x0e, 0x4c, 0x69, 0x73, 0x74, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, - 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x1a, 0x24, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x24, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, - 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, - 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x23, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, - 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, - 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x1a, 0x4c, 0x69, 0x73, 0x74, - 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x37, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, - 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, - 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, - 0x33, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x50, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, - 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, - 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, - 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, - 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0x37, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, - 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x23, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, - 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, - 0x22, 0x00, 0x42, 0x84, 0x02, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, - 0x31, 0x42, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x49, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, - 0x76, 0x31, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x31, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x52, - 0x41, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, - 0x63, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, - 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, - 0x52, 0x70, 0x63, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, - 0x7a, 0x3a, 0x3a, 0x56, 0x31, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, 0x01, 0xe0, 0xe2, 0x1e, - 0x01, 0xc0, 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} - -var file_proto_rpc_v1_authz_proto_goTypes = []interface{}{ - (*types.EnforceRequest)(nil), // 0: rafay.dev.types.authz.v1.EnforceRequest - (*types.Policy)(nil), // 1: rafay.dev.types.authz.v1.Policy - (*types.Policies)(nil), // 2: rafay.dev.types.authz.v1.Policies - (*types.UserGroup)(nil), // 3: rafay.dev.types.authz.v1.UserGroup - (*types.UserGroups)(nil), // 4: rafay.dev.types.authz.v1.UserGroups - (*types.FilteredRolePermissionMapping)(nil), // 5: rafay.dev.types.authz.v1.FilteredRolePermissionMapping - (*types.RolePermissionMappingList)(nil), // 6: rafay.dev.types.authz.v1.RolePermissionMappingList - (*types.BoolReply)(nil), // 7: rafay.dev.types.authz.v1.BoolReply -} -var file_proto_rpc_v1_authz_proto_depIdxs = []int32{ - 0, // 0: rafay.dev.rpc.authz.v1.Authz.Enforce:input_type -> rafay.dev.types.authz.v1.EnforceRequest - 1, // 1: rafay.dev.rpc.authz.v1.Authz.ListPolicies:input_type -> rafay.dev.types.authz.v1.Policy - 2, // 2: rafay.dev.rpc.authz.v1.Authz.CreatePolicies:input_type -> rafay.dev.types.authz.v1.Policies - 1, // 3: rafay.dev.rpc.authz.v1.Authz.DeletePolicies:input_type -> rafay.dev.types.authz.v1.Policy - 3, // 4: rafay.dev.rpc.authz.v1.Authz.ListUserGroups:input_type -> rafay.dev.types.authz.v1.UserGroup - 4, // 5: rafay.dev.rpc.authz.v1.Authz.CreateUserGroups:input_type -> rafay.dev.types.authz.v1.UserGroups - 3, // 6: rafay.dev.rpc.authz.v1.Authz.DeleteUserGroups:input_type -> rafay.dev.types.authz.v1.UserGroup - 5, // 7: rafay.dev.rpc.authz.v1.Authz.ListRolePermissionMappings:input_type -> rafay.dev.types.authz.v1.FilteredRolePermissionMapping - 6, // 8: rafay.dev.rpc.authz.v1.Authz.CreateRolePermissionMappings:input_type -> rafay.dev.types.authz.v1.RolePermissionMappingList - 5, // 9: rafay.dev.rpc.authz.v1.Authz.DeleteRolePermissionMappings:input_type -> rafay.dev.types.authz.v1.FilteredRolePermissionMapping - 7, // 10: rafay.dev.rpc.authz.v1.Authz.Enforce:output_type -> rafay.dev.types.authz.v1.BoolReply - 2, // 11: rafay.dev.rpc.authz.v1.Authz.ListPolicies:output_type -> rafay.dev.types.authz.v1.Policies - 7, // 12: rafay.dev.rpc.authz.v1.Authz.CreatePolicies:output_type -> rafay.dev.types.authz.v1.BoolReply - 7, // 13: rafay.dev.rpc.authz.v1.Authz.DeletePolicies:output_type -> rafay.dev.types.authz.v1.BoolReply - 4, // 14: rafay.dev.rpc.authz.v1.Authz.ListUserGroups:output_type -> rafay.dev.types.authz.v1.UserGroups - 7, // 15: rafay.dev.rpc.authz.v1.Authz.CreateUserGroups:output_type -> rafay.dev.types.authz.v1.BoolReply - 7, // 16: rafay.dev.rpc.authz.v1.Authz.DeleteUserGroups:output_type -> rafay.dev.types.authz.v1.BoolReply - 6, // 17: rafay.dev.rpc.authz.v1.Authz.ListRolePermissionMappings:output_type -> rafay.dev.types.authz.v1.RolePermissionMappingList - 7, // 18: rafay.dev.rpc.authz.v1.Authz.CreateRolePermissionMappings:output_type -> rafay.dev.types.authz.v1.BoolReply - 7, // 19: rafay.dev.rpc.authz.v1.Authz.DeleteRolePermissionMappings:output_type -> rafay.dev.types.authz.v1.BoolReply - 10, // [10:20] is the sub-list for method output_type - 0, // [0:10] is the sub-list for method input_type - 0, // [0:0] is the sub-list for extension type_name - 0, // [0:0] is the sub-list for extension extendee - 0, // [0:0] is the sub-list for field type_name -} - -func init() { file_proto_rpc_v1_authz_proto_init() } -func file_proto_rpc_v1_authz_proto_init() { - if File_proto_rpc_v1_authz_proto != nil { - return - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_rpc_v1_authz_proto_rawDesc, - NumEnums: 0, - NumMessages: 0, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_proto_rpc_v1_authz_proto_goTypes, - DependencyIndexes: file_proto_rpc_v1_authz_proto_depIdxs, - }.Build() - File_proto_rpc_v1_authz_proto = out.File - file_proto_rpc_v1_authz_proto_rawDesc = nil - file_proto_rpc_v1_authz_proto_goTypes = nil - file_proto_rpc_v1_authz_proto_depIdxs = nil -} diff --git a/components/buf.work.yaml b/components/buf.work.yaml deleted file mode 100644 index 34696b2..0000000 --- a/components/buf.work.yaml +++ /dev/null @@ -1,4 +0,0 @@ -version: v1 -directories: - - common - - authz \ No newline at end of file diff --git a/components/cluster-scheduler/README.md b/components/cluster-scheduler/README.md deleted file mode 100644 index 609974a..0000000 --- a/components/cluster-scheduler/README.md +++ /dev/null @@ -1,11 +0,0 @@ -# Cluster Management and Scheduler - -This module is responsible for manging clusters and bootstrapping them. - - -### Run cluster-scheduler server - -``` shell -cd components/cluser-scheduler -go run main.go -``` diff --git a/components/cluster-scheduler/go.mod b/components/cluster-scheduler/go.mod deleted file mode 100644 index 7aec2c6..0000000 --- a/components/cluster-scheduler/go.mod +++ /dev/null @@ -1,106 +0,0 @@ -module github.com/RafaySystems/rcloud-base/components/cluster-scheduler - -go 1.17 - -require ( - github.com/DATA-DOG/go-sqlmock v1.5.0 - github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished - github.com/google/uuid v1.3.0 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 - github.com/pkg/errors v0.9.1 - github.com/rs/xid v1.3.0 - github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 - github.com/spf13/viper v1.10.1 - github.com/uptrace/bun v1.0.21 - github.com/uptrace/bun/dialect/pgdialect v1.0.21 - github.com/uptrace/bun/driver/pgdriver v1.0.21 - github.com/uptrace/bun/extra/bundebug v1.0.21 - google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5 - google.golang.org/grpc v1.44.0 - google.golang.org/protobuf v1.27.1 - k8s.io/api v0.23.4 - k8s.io/apimachinery v0.23.4 - k8s.io/client-go v0.23.4 - sigs.k8s.io/controller-runtime v0.11.1 -) - -require ( - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect - github.com/fatih/color v1.13.0 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/go-logr/logr v1.2.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.7 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/googleapis/gnostic v0.5.5 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/imdario/mergo v0.3.12 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/magiconair/properties v1.8.5 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mitchellh/mapstructure v1.4.3 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/ory/kratos-client-go v0.8.2-alpha.1 // indirect - github.com/pelletier/go-toml v1.9.4 // indirect - github.com/processout/grpc-go-pool v1.2.1 // indirect - github.com/prometheus/client_golang v1.11.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.28.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect - github.com/segmentio/asm v1.1.3 // indirect - github.com/segmentio/encoding v0.3.3 // indirect - github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 // indirect - github.com/speps/go-hashids v2.0.0+incompatible // indirect - github.com/spf13/afero v1.6.0 // indirect - github.com/spf13/cast v1.4.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect - github.com/urfave/negroni v1.0.0 // indirect - github.com/valyala/fastjson v1.6.3 // indirect - github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect - github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - go.uber.org/zap v1.20.0 // indirect - golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect - golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect - golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/ini.v1 v1.66.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/apiextensions-apiserver v0.23.4 // indirect - k8s.io/component-base v0.23.4 // indirect - k8s.io/klog v1.0.0 // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/kube-openapi v0.0.0-20220114203427-a0453230fd26 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - mellium.im/sasl v0.2.1 // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect - sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) - -replace ( - github.com/RafaySystems/rcloud-base/components/cluster-scheduler => ./ - github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished => ../common -) diff --git a/components/cluster-scheduler/go.sum b/components/cluster-scheduler/go.sum deleted file mode 100644 index d0fab6c..0000000 --- a/components/cluster-scheduler/go.sum +++ /dev/null @@ -1,1442 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.2/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= -github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/elazarl/goproxy v0.0.0-20191011121108-aa519ddbe484/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= -github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= -github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= -github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk= -github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.1/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= -github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= -github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= -github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4= -github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o= -github.com/go-openapi/loads v0.21.0/go.mod h1:rHYve9nZrQ4CJhyeIIFJINGCg1tQpx2yJrrNo8sf1ws= -github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= -github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= -github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98= -github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= -github.com/go-openapi/runtime v0.23.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ= -github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk= -github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= -github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M= -github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= -github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= -github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= -github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4= -github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI= -github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= -github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= -github.com/gophercloud/gophercloud v0.6.0/go.mod h1:GICNByuaEBibcjmjvI7QvYJSZEbGkcYwAR7EZK2WMqM= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2/go.mod h1:lsuH8kb4GlMdSlI4alNIBBSAt5CHJtg3i+0WuN9J5YM= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 h1:I8MsauTJQXZ8df8qJvEln0kYNc3bSapuaSsEsnFdEFU= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3/go.mod h1:lZdb/YAJUSj9OqrCHs2ihjtoO3+xK3G53wTYXFWRGDo= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/ory/kratos-client-go v0.8.2-alpha.1 h1:YlKhGOSZjounlB9iY4xSWlqHbyLYkeLzlLk8ZL7/nEM= -github.com/ory/kratos-client-go v0.8.2-alpha.1/go.mod h1:dOQIsar76K07wMPJD/6aMhrWyY+sFGEagLDLso1CpsA= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= -github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/processout/grpc-go-pool v1.2.1 h1:hbp1BOA02CIxEAoRLHGpUhhPFv77nwfBLBeO3Ya9P7I= -github.com/processout/grpc-go-pool v1.2.1/go.mod h1:F4hiNj96O6VQ87jv4rdz8R9tkHdelQQJ/J2B1a5VSt4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/asm v1.1.0/go.mod h1:4EUJGaKsB8ImLUwOGORVsNd9vTRDeh44JGsY4aKp5I4= -github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= -github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= -github.com/segmentio/encoding v0.3.2/go.mod h1:waft2p6XI4z2pk07M0YzZV4wEiqaRvsBSyWNHxVx4gU= -github.com/segmentio/encoding v0.3.3 h1:VG1HceOLwHkSDdkxshlu9pD4FftWkScmHc8RDQ+w9uM= -github.com/segmentio/encoding v0.3.3/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 h1:bUGsEnyNbVPw06Bs80sCeARAlK8lhwqGyi6UT8ymuGk= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvqWEUH6SjNiu7VhSjuVFTFiTcphaLU= -github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/speps/go-hashids v2.0.0+incompatible h1:kSfxGfESueJKTx0mpER9Y/1XHl+FVQjtCqRyYcviFbw= -github.com/speps/go-hashids v2.0.0+incompatible/go.mod h1:P7hqPzMdnZOfyIk+xrlG1QaSMw+gCBdHKsBDnhpaZvc= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= -github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/uptrace/bun v1.0.20/go.mod h1:Uv7z0z+7dXnUS9P5hMF0hdiM/4M+xOUHQCrZpyDrpRc= -github.com/uptrace/bun v1.0.21 h1:5ek4bnrEmZo6wvY/RHt1dJNXzOPOnrfJeZMoZfZt9Io= -github.com/uptrace/bun v1.0.21/go.mod h1:u+QsgCgjGFwshy3euGAN1CLEO9RMf42lga5jQ/ezYsc= -github.com/uptrace/bun/dialect/pgdialect v1.0.21 h1:2MoMW1qPpAQkwjNDBmQaZBAR07qpijJsw/p6gYzwdl0= -github.com/uptrace/bun/dialect/pgdialect v1.0.21/go.mod h1:r6JgWFNXFqSqHy+Qxop0NJzHvaZQDEyz2fJBICNsv+I= -github.com/uptrace/bun/driver/pgdriver v1.0.21 h1:A6X0aGGkFguVJThhfcq6bZlPU1KAyXRmI9Tsf33s2QE= -github.com/uptrace/bun/driver/pgdriver v1.0.21/go.mod h1:sV53gIuC3GsW/SVjobgMfyQmvhB4CgGQrpiYayuKjVs= -github.com/uptrace/bun/extra/bundebug v1.0.21 h1:ILYJLqhx97I9WM+GbCYnF1QjNN63gpI2fvoj04atf8s= -github.com/uptrace/bun/extra/bundebug v1.0.21/go.mod h1:n/2QqdhgXrLHDOYqezHmJzBNKf/2NNjE5xMi2fZ38iY= -github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= -github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= -go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= -go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.20.0 h1:N4oPlghZwYG55MlU6LXk/Zp00FVNE9X9wrYO8CEs4lc= -go.uber.org/zap v1.20.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3 h1:0es+/5331RGQPcXlMfP+WrnIIS6dNnNRe0WB02W0F4M= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211123173158-ef496fb156ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff h1:VX/uD7MK0AHXGiScH3fsieUQUcpmRERPDYtqZdJnA+Q= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5 h1:zzNejm+EgrbLfDZ6lu9Uud2IVvHySPl8vQzf04laR5Q= -google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg= -google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= -gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= -k8s.io/api v0.23.4 h1:85gnfXQOWbJa1SiWGpE9EEtHs0UVvDyIsSMpEtl2D4E= -k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= -k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= -k8s.io/apiextensions-apiserver v0.23.4 h1:AFDUEu/yEf0YnuZhqhIFhPLPhhcQQVuR1u3WCh0rveU= -k8s.io/apiextensions-apiserver v0.23.4/go.mod h1:TWYAKymJx7nLMxWCgWm2RYGXHrGlVZnxIlGnvtfYu+g= -k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= -k8s.io/apimachinery v0.23.4 h1:fhnuMd/xUL3Cjfl64j5ULKZ1/J9n8NuQEgNL+WXWfdM= -k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= -k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= -k8s.io/apiserver v0.23.4/go.mod h1:A6l/ZcNtxGfPSqbFDoxxOjEjSKBaQmE+UTveOmMkpNc= -k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= -k8s.io/client-go v0.23.4 h1:YVWvPeerA2gpUudLelvsolzH7c2sFoXXR5wM/sWqNFU= -k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= -k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= -k8s.io/code-generator v0.23.4/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= -k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= -k8s.io/component-base v0.23.4 h1:SziYh48+QKxK+ykJ3Ejqd98XdZIseVBG7sBaNLPqy6M= -k8s.io/component-base v0.23.4/go.mod h1:8o3Gg8i2vnUXGPOwciiYlkSaZT+p+7gA9Scoz8y4W4E= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/kube-openapi v0.0.0-20220114203427-a0453230fd26 h1:2G24ndYyfk0l23ZrGutxb0s9TRe4m1ZjFlcu4cEU1zA= -k8s.io/kube-openapi v0.0.0-20220114203427-a0453230fd26/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/utils v0.0.0-20191030222137-2b95a09bc58d/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -mellium.im/sasl v0.2.1 h1:nspKSRg7/SyO0cRGY71OkfHab8tf9kCts6a6oTDut0w= -mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27/go.mod h1:tq2nT0Kx7W+/f2JVE+zxYtUhdjuELJkVpNz+x/QN5R4= -sigs.k8s.io/controller-runtime v0.11.1 h1:7YIHT2QnHJArj/dk9aUkYhfqfK5cIxPOX5gPECfdZLU= -sigs.k8s.io/controller-runtime v0.11.1/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 h1:otg4dLFc03c3gzl+2CV8GPGcd1kk8wjXwD+UhhcCn5I= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0/go.mod h1:bl/gVJgYYhJZCZdYU2BfnaKYAlqFkgbJEkpl302jEss= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/components/cluster-scheduler/internal/cluster/operator/clusterscheduler.go b/components/cluster-scheduler/internal/cluster/operator/clusterscheduler.go deleted file mode 100644 index 4c594a6..0000000 --- a/components/cluster-scheduler/internal/cluster/operator/clusterscheduler.go +++ /dev/null @@ -1,64 +0,0 @@ -package operator - -import ( - "context" - "fmt" - "time" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/common" - rgrpc "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/scheduler" - "github.com/spf13/viper" - "google.golang.org/grpc" -) - -var ( - clusterClient rpcv3.ClusterClient = nil - _log = log.GetLogger() -) - -func NewClusterGRPCClient() *grpc.ClientConn { - clusterSchedulerHost := viper.GetString(common.ClusterSchedulerHost) - clusterSchedulerPort := viper.GetInt(common.ClusterSchedulerPort) - - _log.Infow("Creating the cluster scheduler grpc client ", - "clusterSchedulerHost", clusterSchedulerHost, - "clusterSchedulerPort", clusterSchedulerPort) - - if clusterSchedulerHost == "" || clusterSchedulerPort == 0 { - _log.Infow("Cluster scheduler is not configured") - return nil - } - - ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) - defer cancel() - - grpc, err := rgrpc.NewGrpcClientClientConn(ctx, - clusterSchedulerHost, - clusterSchedulerPort) - - if err != nil { - _log.Errorw("Error while creating grpc client", "Error", err) - return nil - } - - return grpc -} - -func NewClusterClient() (rpcv3.ClusterClient, error) { - if clusterClient != nil { - return clusterClient, nil - } - - if grpc := NewClusterGRPCClient(); grpc != nil { - clusterClient = rpcv3.NewClusterClient(grpc) - } - - // Still nil? At least notify the user that a client could not be procued - if clusterClient == nil { - return nil, fmt.Errorf("error getting handle to cluster grpc client") - } - - return clusterClient, nil -} diff --git a/components/cluster-scheduler/internal/models/metro.go b/components/cluster-scheduler/internal/models/metro.go deleted file mode 100644 index 14bfcad..0000000 --- a/components/cluster-scheduler/internal/models/metro.go +++ /dev/null @@ -1,27 +0,0 @@ -package models - -import ( - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type Metro struct { - bun.BaseModel `bun:"table:cluster_metro,alias:metro"` - - ID uuid.UUID `bun:"id,pk,type:uuid,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull,default:false"` - Latitude string `bun:"latitude,notnull"` - Longitude string `bun:"longitude,notnull"` - City string `bun:"city"` - State string `bun:"state"` - Country string `bun:"country"` - CountryCode string `bun:"cc"` - StateCode string `bun:"st"` - OrganizationId uuid.UUID `bun:"organization_id,type:uuid"` - PartnerId uuid.UUID `bun:"partner_id,type:uuid,notnull"` -} diff --git a/components/cluster-scheduler/internal/testutil/db.go b/components/cluster-scheduler/internal/testutil/db.go deleted file mode 100644 index 9b7718d..0000000 --- a/components/cluster-scheduler/internal/testutil/db.go +++ /dev/null @@ -1,40 +0,0 @@ -package testutil - -import ( - "database/sql" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/uptrace/bun" - "github.com/uptrace/bun/dialect/pgdialect" - "github.com/uptrace/bun/driver/pgdriver" - "github.com/uptrace/bun/extra/bundebug" -) - -var ( - _log = log.GetLogger() -) - -// test db constants -const ( - ClusterDB = "clusterdb" - ClusterDBUser = "clusterdbuser" - ClusterDBPassword = "clusterdbpassword" -) - -type queryHook struct { -} - -// GetDB returns testdb -func GetDB() *bun.DB { - - dsn := "postgres://" + ClusterDBUser + ":" + ClusterDBPassword + "@localhost:5432" + "/" + ClusterDB + "?sslmode=disable" - sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn))) - db := bun.NewDB(sqldb, pgdialect.New()) - - db.AddQueryHook(bundebug.NewQueryHook( - bundebug.WithVerbose(true), - bundebug.FromEnv("BUNDEBUG"), - )) - - return db -} diff --git a/components/cluster-scheduler/internal/testutil/models.go b/components/cluster-scheduler/internal/testutil/models.go deleted file mode 100644 index 52215ae..0000000 --- a/components/cluster-scheduler/internal/testutil/models.go +++ /dev/null @@ -1,12 +0,0 @@ -package testutil - -import ( - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/service" -) - -func NewClusterService() (service.ClusterService, error) { - db := GetDB() - - cs := service.NewClusterService(db, db, nil, nil) - return cs, nil -} diff --git a/components/cluster-scheduler/main.go b/components/cluster-scheduler/main.go deleted file mode 100644 index 27761eb..0000000 --- a/components/cluster-scheduler/main.go +++ /dev/null @@ -1,375 +0,0 @@ -package main - -import ( - "context" - "database/sql" - "fmt" - "net" - "net/http" - goruntime "runtime" - "sync" - - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/bootstrapper" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/credentials" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/notify" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/reconcile" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/service" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/server" - authv3 "github.com/RafaySystems/rcloud-base/components/common/pkg/auth/v3" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway" - grpcutil "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - "github.com/RafaySystems/rcloud-base/components/common/pkg/leaderelection" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" - schedulerrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/scheduler" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - systemrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/rs/xid" - "github.com/spf13/viper" - "github.com/uptrace/bun" - "github.com/uptrace/bun/dialect/pgdialect" - "github.com/uptrace/bun/driver/pgdriver" - "github.com/uptrace/bun/extra/bundebug" - "google.golang.org/grpc" - "google.golang.org/grpc/health" - "google.golang.org/grpc/health/grpc_health_v1" - "sigs.k8s.io/controller-runtime/pkg/manager/signals" -) - -const ( - rpcPortEnv = "RPC_PORT" - apiPortEnv = "API_PORT" - configAddrENV = "CONFIG_ADDR" - sentryAddrENV = "SENTRY_ADDR" - dbAddrEnv = "DB_ADDR" - dbNameEnv = "DB_NAME" - dbUserEnv = "DB_USER" - dbPasswordEnv = "DB_PASSWORD" - adbNameEnv = "ADMIN_DB_NAME" - adbUserEnv = "ADMIN_DB_USER" - adbPasswordEnv = "ADMIN_DB_PASSWORD" - devEnv = "DEV" - secretPathEnv = "SECRET_PATH" - controlAddrEnv = "CONTROL_ADDR" - apiAddrEnv = "API_ADDR" - authAddrEnv = "AUTH_ADDR" - caCert = "ca.pem" - caKey = "ca-key.pem" - relayAgentImageEnv = "RELAY_AGENT_IMAGE" - sentryBootstrapAddrENV = "SENTRY_BOOTSTRAP_ADDR" - podNameEnv = "POD_NAME" - schedulerNamespaceEnv = "SCHEDULER_NAMESPACE" - maxSendSize = 16 * 1024 * 1024 - maxRecvSize = 16 * 1024 * 1024 -) - -var ( - rpcPort int - apiPort int - configAddr string - controlAddr string - sentryAddr string - apiAddr string - dbAddr string - dbName string - dbUser string - dbPassword string - adbName string - adbUser string - adbPassword string - dev bool - secretPath string - podName string - _log = log.GetLogger() - db *bun.DB - adb *bun.DB - cs service.ClusterService - ms service.MetroService - signer credentials.Signer - allowReuseToken string // featureflag - relayAgentImage string - downloadData *bootstrapper.DownloadData - authAddr string - schedulerNamespace string - authPool authv3.AuthPool - configPool configrpc.ConfigPool - sentryPool sentryrpc.SentryPool -) - -func setup() { - viper.SetDefault(apiPortEnv, 8000) - viper.SetDefault(rpcPortEnv, 5000) - viper.SetDefault(dbAddrEnv, "localhost:5432") - viper.SetDefault(dbNameEnv, "clusterdb") - viper.SetDefault(dbUserEnv, "clusterdbuser") - viper.SetDefault(dbPasswordEnv, "clusterdbpassword") - viper.SetDefault(adbNameEnv, "admindb") - viper.SetDefault(adbUserEnv, "admindbuser") - viper.SetDefault(adbPasswordEnv, "admindbpassword") - viper.SetDefault(devEnv, true) - viper.SetDefault(secretPathEnv, "/home/infracloud/Documents/warehouse/rafay/test data/cluster-scheduler") - viper.SetDefault(configAddrENV, ":7000") - viper.SetDefault(allowReuseToken, "true") - viper.SetDefault(controlAddrEnv, "localhost:5002") - viper.SetDefault(apiAddrEnv, "localhost:8000") - viper.SetDefault(relayAgentImageEnv, "rafaysystems/relay:latest") - viper.SetDefault(authAddrEnv, "authsrv.rcloud-admin.svc.cluster.local:50011") - viper.SetDefault(sentryAddrENV, "localhost:10000") - viper.SetDefault(sentryBootstrapAddrENV, "api.sentry.rafay.local:11000") - viper.SetDefault(podNameEnv, "local-pod-0") - viper.SetDefault(schedulerNamespaceEnv, "rafay-system") - - viper.BindEnv(rpcPortEnv) - viper.BindEnv(apiPortEnv) - viper.BindEnv(dbAddrEnv) - viper.BindEnv(dbNameEnv) - viper.BindEnv(dbPasswordEnv) - viper.BindEnv(dbPasswordEnv) - viper.BindEnv(devEnv) - viper.BindEnv(secretPathEnv) - viper.BindEnv(configAddrENV) - viper.BindEnv(allowReuseToken) - viper.BindEnv(controlAddrEnv) - viper.BindEnv(apiAddrEnv) - viper.BindEnv(relayAgentImageEnv) - viper.BindEnv(authAddrEnv) - viper.BindEnv(sentryAddrENV) - viper.BindEnv(sentryBootstrapAddrENV) - viper.BindEnv(podNameEnv) - viper.BindEnv(schedulerNamespaceEnv) - - rpcPort = viper.GetInt(rpcPortEnv) - apiPort = viper.GetInt(apiPortEnv) - dbAddr = viper.GetString(dbAddrEnv) - dbName = viper.GetString(dbNameEnv) - dbUser = viper.GetString(dbUserEnv) - dbPassword = viper.GetString(dbPasswordEnv) - adbName = viper.GetString(adbNameEnv) - adbUser = viper.GetString(adbUserEnv) - adbPassword = viper.GetString(adbPasswordEnv) - dev = viper.GetBool(devEnv) - secretPath = viper.GetString(secretPathEnv) - configAddr = viper.GetString(configAddrENV) - allowReuseToken = viper.GetString(allowReuseToken) - controlAddr = viper.GetString(controlAddrEnv) - apiAddr = viper.GetString(apiAddrEnv) - relayAgentImage = viper.GetString(relayAgentImageEnv) - authAddr = viper.GetString(authAddrEnv) - sentryAddr = viper.GetString(sentryAddrENV) - podName = viper.GetString(podNameEnv) - schedulerNamespace = viper.GetString(schedulerNamespaceEnv) - - dsn := "postgres://" + dbUser + ":" + dbPassword + "@" + dbAddr + "/" + dbName + "?sslmode=disable" - sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn))) - db = bun.NewDB(sqldb, pgdialect.New()) - - //TODO: this should be microservice call to admin service - dsn = "postgres://" + adbUser + ":" + adbPassword + "@" + dbAddr + "/" + adbName + "?sslmode=disable" - sqldb = sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn))) - adb = bun.NewDB(sqldb, pgdialect.New()) - - if dev { - db.AddQueryHook(bundebug.NewQueryHook( - bundebug.WithVerbose(true), - bundebug.FromEnv("BUNDEBUG"), - )) - } - - _log.Infow("setup finished", - "rpcPort", rpcPort, - "apiPort", apiPort, - "dbAddr", dbAddr, - "dbName", dbName, - "dbUser", dbUser, - "dbPassword", dbPassword, - "secretPath", secretPath, - "controlAddr", controlAddr, - "apiAddr", apiAddr, - "configAddr", configAddr, - "dev", dev, - "authAddr", authAddr, - "sentryAddr", sentryAddr, - "podName", podName, - "schedulerNamespace", schedulerNamespace, - ) - - if dev { - lc := make(chan string) - go _log.ChangeLevel(lc) - lc <- "debug" - _log.Debugw("Debug mode set in log because this is a dev environment") - } - - downloadData = &bootstrapper.DownloadData{ - ControlAddr: controlAddr, - APIAddr: apiAddr, - RelayAgentImage: relayAgentImage, - } - - //TODO: add auth pool as required - configPool = configrpc.NewConfigPool(configAddr, 5*goruntime.NumCPU()) - sentryPool = sentryrpc.NewSentryPool(sentryAddr, 5*goruntime.NumCPU()) - - cs = service.NewClusterService(db, adb, downloadData, sentryPool) - ms = service.NewMetroService(db, adb) - - notify.Init(cs) - - var err error - signer, err = credentials.NewSigner(secretPath) - - if err != nil { - _log.Fatalw("unable to create signer", "error", err) - } - - _log.Infow("queried number of cpus", "numCPUs", goruntime.NumCPU()) - -} - -func run() { - ctx := signals.SetupSignalHandler() - - notify.Start(ctx.Done()) - - healthServer := grpc.NewServer() - - // health server - _log.Infow("registering grpc health server") - hs := health.NewServer() - hs.SetServingStatus("", grpc_health_v1.HealthCheckResponse_SERVING) - grpc_health_v1.RegisterHealthServer(healthServer, hs) - _log.Infow("registerd grpc health server") - - var wg sync.WaitGroup - wg.Add(5) - go runAPI(&wg, ctx) - go runRPC(&wg, ctx) - go runEventHandlers(&wg, ctx) - - <-ctx.Done() - _log.Infow("shutting down, waiting for children to die") - wg.Wait() - -} - -func runAPI(wg *sync.WaitGroup, ctx context.Context) { - defer wg.Done() - ctx, cancel := context.WithCancel(ctx) - defer cancel() - mux := http.NewServeMux() - - gwHandler, err := gateway.NewGateway( - ctx, - fmt.Sprintf(":%d", rpcPort), - make([]runtime.ServeMuxOption, 0), - schedulerrpc.RegisterClusterHandlerFromEndpoint, - systemrpc.RegisterLocationHandlerFromEndpoint, - ) - if err != nil { - _log.Fatalw("unable to create gateway", "error", err) - } - - mux.Handle("/", gwHandler) - - s := http.Server{ - Addr: fmt.Sprintf(":%d", apiPort), - Handler: mux, - } - go func() { - defer s.Shutdown(context.TODO()) - <-ctx.Done() - }() - - _log.Infow("starting gateway server", "port", apiPort) - - err = s.ListenAndServe() - if err != nil { - _log.Fatalw("unable to start gateway", "error", err) - } - -} - -func runRPC(wg *sync.WaitGroup, ctx context.Context) { - defer wg.Done() - defer cs.Close() - defer configPool.Close() - - crpc := server.NewClusterServer(cs, signer, downloadData) - mserver := server.NewLocationServer(ms) - - l, err := net.Listen("tcp", fmt.Sprintf(":%d", rpcPort)) - if err != nil { - _log.Fatalw("unable to start rpc listener", "error", err) - } - - var opts []grpc.ServerOption - if !dev { - _log.Infow("adding auth interceptor") - ac := authv3.NewAuthContext() - o := authv3.Option{ExcludeRPCMethods: []string{"/rafay.dev.scheduler.rpc.Cluster/RegisterCluster"}} - opts = append(opts, grpc.UnaryInterceptor( - ac.NewAuthUnaryInterceptor(o), - )) - } - s := grpc.NewServer(opts...) - if err != nil { - _log.Fatalw("unable to create grpc server", "error", err) - } - - s, err = grpcutil.NewServer(opts...) - if err != nil { - _log.Fatalw("unable to create grpc server", "error", err) - } - - go func() { - defer s.GracefulStop() - - <-ctx.Done() - _log.Infow("context done") - }() - - // register all the rpc servers - schedulerrpc.RegisterClusterServer(s, crpc) - systemrpc.RegisterLocationServer(s, mserver) - - _log.Infow("starting rpc server", "port", rpcPort) - err = s.Serve(l) - if err != nil { - _log.Fatalw("unable to start rpc server", "error", err) - } -} - -func runEventHandlers(wg *sync.WaitGroup, ctx context.Context) { - defer wg.Done() - - //TODO: need to add a bunch of other handlers with gitops - ceh := reconcile.NewClusterEventHandler(cs, sentryPool, configPool) - _log.Infow("starting cluster event handler") - go ceh.Handle(ctx.Done()) - - // listen to cluster events - cs.AddEventHandler(ceh.ClusterHook()) - - if !dev { - rl, err := leaderelection.NewConfigMapLock("cluster-scheduler", schedulerNamespace, xid.New().String()) - if err != nil { - _log.Fatalw("unable to create configmap lock", "error", err) - } - go func() { - err := leaderelection.Run(rl, func(stop <-chan struct{}) { - }, ctx.Done()) - - if err != nil { - _log.Fatalw("unable to run leader election", "error", err) - } - }() - } - - <-ctx.Done() -} - -func main() { - setup() - run() -} diff --git a/components/cluster-scheduler/master.rest b/components/cluster-scheduler/master.rest deleted file mode 100644 index abaae38..0000000 --- a/components/cluster-scheduler/master.rest +++ /dev/null @@ -1,110 +0,0 @@ -:host = http://localhost:8000 -:partner = finman -:org = finmanorg -:project = myproject -:cluster = testcluster -:location = coimbatore-hq -:city = coimbatore -:state = tamilnadu -:country = India - -## Location - -# Create Location -POST :host/v3/partner/:partner/location -Content-Type: application/yaml - -metadata: - name: :location - partner: :partner -spec: - city: :city - state: :state - country: :country - countryCode: IN - stateCode: TN - -# Get all location -GET :host/v3/partner/:partner/location -Content-Type: application/yaml - -# Get single location -GET :host/v3/partner/:partner/location/:location -Content-Type: application/yaml - -# Update location info -PUT :host/v3/partner/:partner/location/:location -Content-Type: application/yaml - -metadata: - name: :location - partner: :partner -spec: - city: :city - state: :state - country: :country - countryCode: IN - stateCode: TN - locale: IN - -# Delete single location -DELETE :host/v3/partner/:partner/location/:location - -## Cluster - -# Create Cluster -POST :host/infra/v3/project/:project/cluster -Content-Type: application/yaml - -metadata: - name: :cluster - partner: :partner - organization: :organization - project: :project -spec: - clusterType: imported - params: - environmentProvider: '' - kubernetesProvider: OTHER - provisionEnvironment: ONPREM - provisionPackageType: '' - provisionType: IMPORT - state: CONFIG - -# Get all clusters -GET :host/infra/v3/project/:project/cluster -Content-Type: application/yaml - -# Get single cluster -GET :host/infra/v3/project/:project/cluster/:cluster -Content-Type: application/yaml - -# Update cluster info -PUT :host/infra/v3/project/:project/cluster/:cluster -Content-Type: application/yaml - -apiVersion: infra.k8smgmt.io/v3 -kind: Cluster -metadata: - name: :cluster - description: this is a test cluster - labels: - rafay.dev/clusterLocation: coimbatore-hq - rafay.dev/clusterName: testcluster - rafay.dev/clusterType: imported - project: myproject - organization: finmanorg - partner: finman -spec: - clusterType: imported - metro: - name: :location - city: :city - state: :state - country: :country - overrideSelector: rafay.dev/overrideCluster=dummycluster - proxyConfig: - httpProxy: http:localhost:8080/proxy - -# Delete single cluster -DELETE :host/infra/v3/project/:project/cluster/:cluster \ No newline at end of file diff --git a/components/cluster-scheduler/pkg/bootstrapper/agent/create.go b/components/cluster-scheduler/pkg/bootstrapper/agent/create.go deleted file mode 100644 index 86a9578..0000000 --- a/components/cluster-scheduler/pkg/bootstrapper/agent/create.go +++ /dev/null @@ -1,197 +0,0 @@ -package agent - -import ( - "context" - "encoding/json" - "fmt" - - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrapbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" - "github.com/pkg/errors" - "github.com/rs/xid" - "github.com/spf13/viper" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" - - log "github.com/RafaySystems/rcloud-base/components/common/pkg/log" -) - -var ( - _log = log.GetLogger() -) - -const ( - maxDials = 2 -) - -func getRelayBootstrapAddr() string { - return viper.GetString("SENTRY_BOOTSTRAP_ADDR") -} - -type Relay struct { - Token string `json:"token"` - Addr string `json:"addr"` - Endpoint string `json:"endpoint"` - Name string `json:"name"` - TemplateToken string `json:"templateToken"` -} - -// CreateForCluster creates bootstrap agent for cluster -func CreateForCluster(ctx context.Context, sp sentryrpc.SentryPool, cp configrpc.ConfigPool, cluster *infrapbv3.Cluster) error { - sc, err := sp.NewClient(ctx) - if err != nil { - err = errors.Wrap(err, "unable to create sentry client") - return err - } - defer sc.Close() - - var relays []Relay - - resp, err := sc.GetBootstrapAgentTemplates(ctx, &commonv3.QueryOptions{ - GlobalScope: true, - Selector: "rafay.dev/defaultRelay=true", - }) - if err != nil { - err = errors.Wrap(err, "unable to get bootstrap agent template") - return err - } - - // create bootstrap agent - for _, bat := range resp.Items { - found := true - agent, err := sc.GetBootstrapAgent(ctx, &sentry.BootstrapAgent{ - Metadata: &commonv3.Metadata{ - Name: cluster.Metadata.Id, - //RequestMeta: cluster.RequestMeta, TODO - }, - Spec: &sentry.BootstrapAgentSpec{ - TemplateRef: fmt.Sprintf("template/%s", bat.Metadata.Name), - }, - }) - if err != nil { - if s, ok := status.FromError(err); ok { - switch s.Code() { - case codes.NotFound: - found = false - default: - return err - } - } else { - err = errors.Wrap(err, "unable to get bootstrap agent") - return err - } - - } - - if !found { - agent = &sentry.BootstrapAgent{ - Metadata: &commonv3.Metadata{ - Name: cluster.Metadata.Id, - Description: cluster.Metadata.Name, - Labels: map[string]string{ - "rafay.dev/clusterName": cluster.Metadata.Name, - }, - Partner: cluster.Metadata.Partner, - Organization: cluster.Metadata.Organization, - Project: cluster.Metadata.Project, - }, - Spec: &sentry.BootstrapAgentSpec{ - TemplateRef: bat.Metadata.Name, - Token: xid.New().String(), - }, - } - - for _, project := range cluster.Spec.ClusterData.Projects { - agent.Metadata.Labels[fmt.Sprintf("project/%s", project.ProjectID)] = "" - } - - _, err := sc.CreateBootstrapAgent(ctx, agent) - if err != nil { - _log.Infow("unable to create bootstrap agent", "error", err, "agent", *agent) - err = errors.Wrap(err, "unable to create bootstrap agent") - return err - } - } - endpoint := "" - for _, host := range bat.Spec.Hosts { - if host.Type == sentry.BootstrapTemplateHostType_HostTypeExternal { - endpoint = host.Host - } - } - - if endpoint == "" { - return fmt.Errorf("no external endpoint for bootstrap template %s", bat.Metadata.Name) - } - - relays = append(relays, Relay{ - agent.Spec.Token, getRelayBootstrapAddr(), endpoint, bat.Metadata.Name, bat.Spec.Token, - }) - } - - relaysBytes, _ := json.Marshal(relays) - if cluster.Metadata.Annotations == nil { - cluster.Metadata.Annotations = make(map[string]string) - } - cluster.Metadata.Annotations["relays"] = string(relaysBytes) - - //TODO: to revisit during gitops config component - /* relayAgentConfig := &corev1.ConfigMap{ - TypeMeta: metav1.TypeMeta{ - APIVersion: "v1", - Kind: "ConfigMap", - }, - ObjectMeta: metav1.ObjectMeta{ - Name: "relay-agent-config", - }, - Data: map[string]string{ - "clusterID": cluster.Metadata.Id, - "relays": string(relaysBytes), - "maxDials": strconv.FormatInt(maxDials, 10), - // "dialoutProxy": "", - // "dialoutProxyAuthentication": "", - }, - } - relayAgentConfigObj, err := runtime.FromObject(relayAgentConfig) - if err != nil { - return err - } - - override := &config.Override{ - Metadata: &commonv3.Metadata{ - Name: fmt.Sprintf("relay-override-%s", cluster.Metadata.Name), - Partner: cluster.Metadata.Partner, - Organization: cluster.Metadata.Organization, - Labels: map[string]string{ - config.OverrideScope: config.OverrideScopeSpecificCluster, - config.OverrideCluster: cluster.Metadata.Name, - }, - Annotations: map[string]string{ - "rafay.dev/weight": "10", - }, - }, - Spec: &config.OverrideSpec{ - ResourceSelector: "rafay.dev/system=true", - Overrides: []*clusterv2.StepObject{ - relayAgentConfigObj, - }, - }, - } - - // create override - cc, err := cp.NewClient(ctx) - if err != nil { - err = errors.Wrap(err, "unable to create config client") - return err - } - defer cc.Close() - - _, err = cc.UpdateOverride(ctx, override) - if err != nil { - return err - } */ - - return nil -} diff --git a/components/cluster-scheduler/pkg/bootstrapper/agent/delete.go b/components/cluster-scheduler/pkg/bootstrapper/agent/delete.go deleted file mode 100644 index 76eba73..0000000 --- a/components/cluster-scheduler/pkg/bootstrapper/agent/delete.go +++ /dev/null @@ -1,66 +0,0 @@ -package agent - -import ( - "context" - "fmt" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -// DeleteForCluster delete bootstrap agent -func DeleteForCluster(ctx context.Context, sp sentryrpc.SentryPool, cluster infrav3.Cluster, opts ...query.Option) error { - - sc, err := sp.NewClient(ctx) - if err != nil { - return err - } - defer sc.Close() - - resp, err := sc.GetBootstrapAgentTemplates(ctx, &commonv3.QueryOptions{ - GlobalScope: true, - Selector: "rafay.dev/defaultRelay=true", - }) - if err != nil { - return err - } - - for _, bat := range resp.Items { - - agent := &sentry.BootstrapAgent{ - Metadata: &commonv3.Metadata{ - Id: cluster.Metadata.Id, - Name: cluster.Metadata.Name, - Partner: cluster.Metadata.Partner, - Organization: cluster.Metadata.Organization, - Project: cluster.Metadata.Project, - }, - Spec: &sentry.BootstrapAgentSpec{ - TemplateRef: fmt.Sprintf("template/%s", bat.Metadata.Name), - }, - } - - _, err := sc.DeleteBootstrapAgent(ctx, agent) - if err != nil { - if s, ok := status.FromError(err); ok { - switch s.Code() { - case codes.NotFound: - continue - default: - return err - } - } else { - return err - } - - } - - } - - return nil -} diff --git a/components/cluster-scheduler/pkg/bootstrapper/agent/get.go b/components/cluster-scheduler/pkg/bootstrapper/agent/get.go deleted file mode 100644 index 1550f59..0000000 --- a/components/cluster-scheduler/pkg/bootstrapper/agent/get.go +++ /dev/null @@ -1,73 +0,0 @@ -package agent - -import ( - "context" - "fmt" - - "github.com/pkg/errors" - - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrapbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" -) - -// GetRelayAgentsForCluster creates bootstrap agent for cluster -func GetRelaysConfigForCluster(ctx context.Context, sp sentryrpc.SentryPool, cluster *infrapbv3.Cluster) ([]Relay, error) { - sc, err := sp.NewClient(ctx) - if err != nil { - _log.Infow("unable to create sentry client", "error", err) - err = errors.Wrap(err, "unable to create sentry client") - return nil, err - } - defer sc.Close() - - var relays []Relay - - resp, err := sc.GetBootstrapAgentTemplates(ctx, &commonv3.QueryOptions{ - GlobalScope: true, - Selector: "rafay.dev/defaultRelay=true", - }) - if err != nil { - err = errors.Wrap(err, "unable to get bootstrap agent template") - return nil, err - } - - for _, bat := range resp.Items { - agent, err := sc.GetBootstrapAgent(ctx, &sentry.BootstrapAgent{ - Metadata: &commonv3.Metadata{ - Id: cluster.Metadata.Id, - Name: cluster.Metadata.Name, - Partner: cluster.Metadata.Partner, - Organization: cluster.Metadata.Organization, - Project: cluster.Metadata.Project, - /*RequestMeta: cluster.RequestMeta,*/ - }, - Spec: &sentry.BootstrapAgentSpec{ - TemplateRef: fmt.Sprintf("template/%s", bat.Metadata.Name), - }, - }) - if err != nil { - err = errors.Wrap(err, "unable to get bootstrap agent") - return nil, err - - } - - endpoint := "" - for _, host := range bat.Spec.Hosts { - if host.Type == sentry.BootstrapTemplateHostType_HostTypeExternal { - endpoint = host.Host - } - } - - if endpoint == "" { - return nil, fmt.Errorf("no external endpoint for relay bootstrap template %s", bat.Metadata.Name) - } - - relays = append(relays, Relay{ - agent.Spec.Token, getRelayBootstrapAddr(), endpoint, bat.Metadata.Name, bat.Spec.Token, - }) - } - - return relays, nil -} diff --git a/components/cluster-scheduler/pkg/bootstrapper/agent/projects.go b/components/cluster-scheduler/pkg/bootstrapper/agent/projects.go deleted file mode 100644 index 2575f0f..0000000 --- a/components/cluster-scheduler/pkg/bootstrapper/agent/projects.go +++ /dev/null @@ -1,75 +0,0 @@ -package agent - -import ( - "context" - "fmt" - - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/status" -) - -// UpdateProjectsForCluster updates projects for bootstrap agent for cluster -func UpdateProjectsForCluster(ctx context.Context, sp sentryrpc.SentryPool, cluster infrav3.Cluster) error { - - sc, err := sp.NewClient(ctx) - if err != nil { - return err - } - defer sc.Close() - - //TODO: handle multiple bootstrap agents - // by fetching other agent templates in partner scope - - resp, err := sc.GetBootstrapAgentTemplates(ctx, &commonv3.QueryOptions{ - GlobalScope: true, - Selector: "rafay.dev/defaultRelay=true", - }) - if err != nil { - return err - } - - // create bootstrap agent - for _, bat := range resp.Items { - - agent := &sentry.BootstrapAgent{ - Metadata: &commonv3.Metadata{ - Id: cluster.Metadata.Id, - Name: cluster.Metadata.Name, - Partner: cluster.Metadata.Partner, - Organization: cluster.Metadata.Organization, - Project: cluster.Metadata.Project, - Labels: map[string]string{ - "rafay.dev/clusterName": cluster.Metadata.Name, - }, - }, - Spec: &sentry.BootstrapAgentSpec{ - TemplateRef: fmt.Sprintf("template/%s", bat.Metadata.Name), - }, - } - - for _, project := range cluster.Spec.ClusterData.Projects { - agent.Metadata.Labels[fmt.Sprintf("project/%s", project.ProjectID)] = "" - } - - _, err = sc.UpdateBootstrapAgent(ctx, agent) - - if err != nil { - if s, ok := status.FromError(err); ok { - switch s.Code() { - case codes.NotFound: - default: - return err - } - } else { - return err - } - - } - - } - return nil -} diff --git a/components/cluster-scheduler/pkg/bootstrapper/download.go b/components/cluster-scheduler/pkg/bootstrapper/download.go deleted file mode 100644 index 106ab94..0000000 --- a/components/cluster-scheduler/pkg/bootstrapper/download.go +++ /dev/null @@ -1,7 +0,0 @@ -package bootstrapper - -type DownloadData struct { - ControlAddr string - APIAddr string - RelayAgentImage string -} diff --git a/components/cluster-scheduler/pkg/credentials/signer.go b/components/cluster-scheduler/pkg/credentials/signer.go deleted file mode 100644 index 72e6364..0000000 --- a/components/cluster-scheduler/pkg/credentials/signer.go +++ /dev/null @@ -1,132 +0,0 @@ -package credentials - -import ( - "crypto" - "crypto/rand" - "crypto/tls" - "crypto/x509" - "crypto/x509/pkix" - "encoding/pem" - "errors" - "fmt" - "io/ioutil" - "math/big" - "os" - "time" -) - -// pem block types -const ( - CertificateRequestType = "CERTIFICATE REQUEST" - CertificateType = "CERTIFICATE" - PrivateKeyType = "PRIVATE KEY" -) - -const ( - caCertName = "ca.pem" - caKeyName = "ca-key.pem" -) - -// Signer signs cluster csr -type Signer interface { - GetCACert() []byte - Sign(csr []byte) ([]byte, error) -} - -type signer struct { - caCert x509.Certificate - caKey crypto.PrivateKey - caCertPem []byte -} - -var _ Signer = (*signer)(nil) - -// NewSigner returns new cluster credential signer -func NewSigner(path string) (Signer, error) { - certPath := fmt.Sprintf("%s/%s", path, caCertName) - keyPath := fmt.Sprintf("%s/%s", path, caKeyName) - - caPair, err := tls.LoadX509KeyPair(certPath, keyPath) - if err != nil { - return nil, err - } - - ca, err := x509.ParseCertificate(caPair.Certificate[0]) - if err != nil { - return nil, err - } - - f, err := os.Open(certPath) - if err != nil { - return nil, err - } - - caCertBytes, err := ioutil.ReadAll(f) - if err != nil { - return nil, err - } - - return &signer{ - caCert: *ca, - caKey: caPair.PrivateKey, - caCertPem: caCertBytes, - }, nil -} - -func (s *signer) GetCACert() []byte { - return s.caCertPem -} - -func (s *signer) Sign(csr []byte) ([]byte, error) { - - block, _ := pem.Decode([]byte(csr)) - - if block.Type != CertificateRequestType { - return nil, errors.New("invalid type") - } - - cr, err := x509.ParseCertificateRequest(block.Bytes) - if err != nil { - return nil, err - } - - template := &x509.Certificate{ - SerialNumber: getSerialNumber(), - Issuer: pkix.Name{ - Country: s.caCert.Subject.Country, - Province: s.caCert.Subject.Province, - Locality: s.caCert.Subject.Locality, - Organization: s.caCert.Subject.Organization, - CommonName: s.caCert.Subject.CommonName, - }, - Subject: cr.Subject, - NotBefore: time.Now(), - NotAfter: time.Now().AddDate(10, 0, 0), // 10 years - ExtKeyUsage: []x509.ExtKeyUsage{x509.ExtKeyUsageClientAuth}, - KeyUsage: x509.KeyUsageDigitalSignature | x509.KeyUsageKeyEncipherment, - } - - // sign the certificate - b, err := x509.CreateCertificate(rand.Reader, template, &s.caCert, cr.PublicKey, s.caKey) - if err != nil { - err = fmt.Errorf("unable to create certificate %s", err.Error()) - return nil, err - } - - pemBytes := pem.EncodeToMemory(&pem.Block{ - Type: "CERTIFICATE", - Bytes: b, - }) - if err != nil { - return nil, err - } - - return pemBytes, nil -} - -func getSerialNumber() *big.Int { - serialNumberLimit := new(big.Int).Lsh(big.NewInt(1), 128) - serialNumber, _ := rand.Int(rand.Reader, serialNumberLimit) - - return serialNumber -} diff --git a/components/common/api/def/clients/config/client/override/override_add_default_overrides_parameters.go b/components/common/api/def/clients/config/client/override/override_add_default_overrides_parameters.go deleted file mode 100644 index 121af5b..0000000 --- a/components/common/api/def/clients/config/client/override/override_add_default_overrides_parameters.go +++ /dev/null @@ -1,148 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// NewOverrideAddDefaultOverridesParams creates a new OverrideAddDefaultOverridesParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewOverrideAddDefaultOverridesParams() *OverrideAddDefaultOverridesParams { - return &OverrideAddDefaultOverridesParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewOverrideAddDefaultOverridesParamsWithTimeout creates a new OverrideAddDefaultOverridesParams object -// with the ability to set a timeout on a request. -func NewOverrideAddDefaultOverridesParamsWithTimeout(timeout time.Duration) *OverrideAddDefaultOverridesParams { - return &OverrideAddDefaultOverridesParams{ - timeout: timeout, - } -} - -// NewOverrideAddDefaultOverridesParamsWithContext creates a new OverrideAddDefaultOverridesParams object -// with the ability to set a context for a request. -func NewOverrideAddDefaultOverridesParamsWithContext(ctx context.Context) *OverrideAddDefaultOverridesParams { - return &OverrideAddDefaultOverridesParams{ - Context: ctx, - } -} - -// NewOverrideAddDefaultOverridesParamsWithHTTPClient creates a new OverrideAddDefaultOverridesParams object -// with the ability to set a custom HTTPClient for a request. -func NewOverrideAddDefaultOverridesParamsWithHTTPClient(client *http.Client) *OverrideAddDefaultOverridesParams { - return &OverrideAddDefaultOverridesParams{ - HTTPClient: client, - } -} - -/* OverrideAddDefaultOverridesParams contains all the parameters to send to the API endpoint - for the override add default overrides operation. - - Typically these are written to a http.Request. -*/ -type OverrideAddDefaultOverridesParams struct { - - // Body. - Body *models.RPCAddDefaultOverridesRequest - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the override add default overrides params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideAddDefaultOverridesParams) WithDefaults() *OverrideAddDefaultOverridesParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the override add default overrides params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideAddDefaultOverridesParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the override add default overrides params -func (o *OverrideAddDefaultOverridesParams) WithTimeout(timeout time.Duration) *OverrideAddDefaultOverridesParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the override add default overrides params -func (o *OverrideAddDefaultOverridesParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the override add default overrides params -func (o *OverrideAddDefaultOverridesParams) WithContext(ctx context.Context) *OverrideAddDefaultOverridesParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the override add default overrides params -func (o *OverrideAddDefaultOverridesParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the override add default overrides params -func (o *OverrideAddDefaultOverridesParams) WithHTTPClient(client *http.Client) *OverrideAddDefaultOverridesParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the override add default overrides params -func (o *OverrideAddDefaultOverridesParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the override add default overrides params -func (o *OverrideAddDefaultOverridesParams) WithBody(body *models.RPCAddDefaultOverridesRequest) *OverrideAddDefaultOverridesParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the override add default overrides params -func (o *OverrideAddDefaultOverridesParams) SetBody(body *models.RPCAddDefaultOverridesRequest) { - o.Body = body -} - -// WriteToRequest writes these params to a swagger request -func (o *OverrideAddDefaultOverridesParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_add_default_overrides_responses.go b/components/common/api/def/clients/config/client/override/override_add_default_overrides_responses.go deleted file mode 100644 index 25a2254..0000000 --- a/components/common/api/def/clients/config/client/override/override_add_default_overrides_responses.go +++ /dev/null @@ -1,185 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// OverrideAddDefaultOverridesReader is a Reader for the OverrideAddDefaultOverrides structure. -type OverrideAddDefaultOverridesReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *OverrideAddDefaultOverridesReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewOverrideAddDefaultOverridesOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewOverrideAddDefaultOverridesForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewOverrideAddDefaultOverridesNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewOverrideAddDefaultOverridesDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewOverrideAddDefaultOverridesOK creates a OverrideAddDefaultOverridesOK with default headers values -func NewOverrideAddDefaultOverridesOK() *OverrideAddDefaultOverridesOK { - return &OverrideAddDefaultOverridesOK{} -} - -/* OverrideAddDefaultOverridesOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type OverrideAddDefaultOverridesOK struct { - Payload models.RPCAddDefaultOverridesResponse -} - -func (o *OverrideAddDefaultOverridesOK) Error() string { - return fmt.Sprintf("[POST /v2/config/override/default/cluster][%d] overrideAddDefaultOverridesOK %+v", 200, o.Payload) -} -func (o *OverrideAddDefaultOverridesOK) GetPayload() models.RPCAddDefaultOverridesResponse { - return o.Payload -} - -func (o *OverrideAddDefaultOverridesOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideAddDefaultOverridesForbidden creates a OverrideAddDefaultOverridesForbidden with default headers values -func NewOverrideAddDefaultOverridesForbidden() *OverrideAddDefaultOverridesForbidden { - return &OverrideAddDefaultOverridesForbidden{} -} - -/* OverrideAddDefaultOverridesForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type OverrideAddDefaultOverridesForbidden struct { - Payload interface{} -} - -func (o *OverrideAddDefaultOverridesForbidden) Error() string { - return fmt.Sprintf("[POST /v2/config/override/default/cluster][%d] overrideAddDefaultOverridesForbidden %+v", 403, o.Payload) -} -func (o *OverrideAddDefaultOverridesForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideAddDefaultOverridesForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideAddDefaultOverridesNotFound creates a OverrideAddDefaultOverridesNotFound with default headers values -func NewOverrideAddDefaultOverridesNotFound() *OverrideAddDefaultOverridesNotFound { - return &OverrideAddDefaultOverridesNotFound{} -} - -/* OverrideAddDefaultOverridesNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type OverrideAddDefaultOverridesNotFound struct { - Payload string -} - -func (o *OverrideAddDefaultOverridesNotFound) Error() string { - return fmt.Sprintf("[POST /v2/config/override/default/cluster][%d] overrideAddDefaultOverridesNotFound %+v", 404, o.Payload) -} -func (o *OverrideAddDefaultOverridesNotFound) GetPayload() string { - return o.Payload -} - -func (o *OverrideAddDefaultOverridesNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideAddDefaultOverridesDefault creates a OverrideAddDefaultOverridesDefault with default headers values -func NewOverrideAddDefaultOverridesDefault(code int) *OverrideAddDefaultOverridesDefault { - return &OverrideAddDefaultOverridesDefault{ - _statusCode: code, - } -} - -/* OverrideAddDefaultOverridesDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type OverrideAddDefaultOverridesDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the override add default overrides default response -func (o *OverrideAddDefaultOverridesDefault) Code() int { - return o._statusCode -} - -func (o *OverrideAddDefaultOverridesDefault) Error() string { - return fmt.Sprintf("[POST /v2/config/override/default/cluster][%d] Override_AddDefaultOverrides default %+v", o._statusCode, o.Payload) -} -func (o *OverrideAddDefaultOverridesDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *OverrideAddDefaultOverridesDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_apply_override_parameters.go b/components/common/api/def/clients/config/client/override/override_apply_override_parameters.go deleted file mode 100644 index d9dca55..0000000 --- a/components/common/api/def/clients/config/client/override/override_apply_override_parameters.go +++ /dev/null @@ -1,148 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// NewOverrideApplyOverrideParams creates a new OverrideApplyOverrideParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewOverrideApplyOverrideParams() *OverrideApplyOverrideParams { - return &OverrideApplyOverrideParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewOverrideApplyOverrideParamsWithTimeout creates a new OverrideApplyOverrideParams object -// with the ability to set a timeout on a request. -func NewOverrideApplyOverrideParamsWithTimeout(timeout time.Duration) *OverrideApplyOverrideParams { - return &OverrideApplyOverrideParams{ - timeout: timeout, - } -} - -// NewOverrideApplyOverrideParamsWithContext creates a new OverrideApplyOverrideParams object -// with the ability to set a context for a request. -func NewOverrideApplyOverrideParamsWithContext(ctx context.Context) *OverrideApplyOverrideParams { - return &OverrideApplyOverrideParams{ - Context: ctx, - } -} - -// NewOverrideApplyOverrideParamsWithHTTPClient creates a new OverrideApplyOverrideParams object -// with the ability to set a custom HTTPClient for a request. -func NewOverrideApplyOverrideParamsWithHTTPClient(client *http.Client) *OverrideApplyOverrideParams { - return &OverrideApplyOverrideParams{ - HTTPClient: client, - } -} - -/* OverrideApplyOverrideParams contains all the parameters to send to the API endpoint - for the override apply override operation. - - Typically these are written to a http.Request. -*/ -type OverrideApplyOverrideParams struct { - - // Body. - Body *models.RPCApplyOverrideRequest - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the override apply override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideApplyOverrideParams) WithDefaults() *OverrideApplyOverrideParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the override apply override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideApplyOverrideParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the override apply override params -func (o *OverrideApplyOverrideParams) WithTimeout(timeout time.Duration) *OverrideApplyOverrideParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the override apply override params -func (o *OverrideApplyOverrideParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the override apply override params -func (o *OverrideApplyOverrideParams) WithContext(ctx context.Context) *OverrideApplyOverrideParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the override apply override params -func (o *OverrideApplyOverrideParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the override apply override params -func (o *OverrideApplyOverrideParams) WithHTTPClient(client *http.Client) *OverrideApplyOverrideParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the override apply override params -func (o *OverrideApplyOverrideParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the override apply override params -func (o *OverrideApplyOverrideParams) WithBody(body *models.RPCApplyOverrideRequest) *OverrideApplyOverrideParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the override apply override params -func (o *OverrideApplyOverrideParams) SetBody(body *models.RPCApplyOverrideRequest) { - o.Body = body -} - -// WriteToRequest writes these params to a swagger request -func (o *OverrideApplyOverrideParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_apply_override_responses.go b/components/common/api/def/clients/config/client/override/override_apply_override_responses.go deleted file mode 100644 index 73ccc80..0000000 --- a/components/common/api/def/clients/config/client/override/override_apply_override_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// OverrideApplyOverrideReader is a Reader for the OverrideApplyOverride structure. -type OverrideApplyOverrideReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *OverrideApplyOverrideReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewOverrideApplyOverrideOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewOverrideApplyOverrideForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewOverrideApplyOverrideNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewOverrideApplyOverrideDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewOverrideApplyOverrideOK creates a OverrideApplyOverrideOK with default headers values -func NewOverrideApplyOverrideOK() *OverrideApplyOverrideOK { - return &OverrideApplyOverrideOK{} -} - -/* OverrideApplyOverrideOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type OverrideApplyOverrideOK struct { - Payload *models.RPCApplyOverrideResponse -} - -func (o *OverrideApplyOverrideOK) Error() string { - return fmt.Sprintf("[POST /v2/config/override/apply][%d] overrideApplyOverrideOK %+v", 200, o.Payload) -} -func (o *OverrideApplyOverrideOK) GetPayload() *models.RPCApplyOverrideResponse { - return o.Payload -} - -func (o *OverrideApplyOverrideOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.RPCApplyOverrideResponse) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideApplyOverrideForbidden creates a OverrideApplyOverrideForbidden with default headers values -func NewOverrideApplyOverrideForbidden() *OverrideApplyOverrideForbidden { - return &OverrideApplyOverrideForbidden{} -} - -/* OverrideApplyOverrideForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type OverrideApplyOverrideForbidden struct { - Payload interface{} -} - -func (o *OverrideApplyOverrideForbidden) Error() string { - return fmt.Sprintf("[POST /v2/config/override/apply][%d] overrideApplyOverrideForbidden %+v", 403, o.Payload) -} -func (o *OverrideApplyOverrideForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideApplyOverrideForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideApplyOverrideNotFound creates a OverrideApplyOverrideNotFound with default headers values -func NewOverrideApplyOverrideNotFound() *OverrideApplyOverrideNotFound { - return &OverrideApplyOverrideNotFound{} -} - -/* OverrideApplyOverrideNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type OverrideApplyOverrideNotFound struct { - Payload string -} - -func (o *OverrideApplyOverrideNotFound) Error() string { - return fmt.Sprintf("[POST /v2/config/override/apply][%d] overrideApplyOverrideNotFound %+v", 404, o.Payload) -} -func (o *OverrideApplyOverrideNotFound) GetPayload() string { - return o.Payload -} - -func (o *OverrideApplyOverrideNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideApplyOverrideDefault creates a OverrideApplyOverrideDefault with default headers values -func NewOverrideApplyOverrideDefault(code int) *OverrideApplyOverrideDefault { - return &OverrideApplyOverrideDefault{ - _statusCode: code, - } -} - -/* OverrideApplyOverrideDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type OverrideApplyOverrideDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the override apply override default response -func (o *OverrideApplyOverrideDefault) Code() int { - return o._statusCode -} - -func (o *OverrideApplyOverrideDefault) Error() string { - return fmt.Sprintf("[POST /v2/config/override/apply][%d] Override_ApplyOverride default %+v", o._statusCode, o.Payload) -} -func (o *OverrideApplyOverrideDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *OverrideApplyOverrideDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_client.go b/components/common/api/def/clients/config/client/override/override_client.go deleted file mode 100644 index 506c5e5..0000000 --- a/components/common/api/def/clients/config/client/override/override_client.go +++ /dev/null @@ -1,321 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" -) - -// New creates a new override API client. -func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { - return &Client{transport: transport, formats: formats} -} - -/* -Client for override API -*/ -type Client struct { - transport runtime.ClientTransport - formats strfmt.Registry -} - -// ClientOption is the option for Client methods -type ClientOption func(*runtime.ClientOperation) - -// ClientService is the interface for Client methods -type ClientService interface { - OverrideAddDefaultOverrides(params *OverrideAddDefaultOverridesParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideAddDefaultOverridesOK, error) - - OverrideApplyOverride(params *OverrideApplyOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideApplyOverrideOK, error) - - OverrideCreateOverride(params *OverrideCreateOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideCreateOverrideOK, *OverrideCreateOverrideCreated, error) - - OverrideDeleteOverride(params *OverrideDeleteOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideDeleteOverrideOK, *OverrideDeleteOverrideNoContent, error) - - OverrideGetOverride(params *OverrideGetOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideGetOverrideOK, error) - - OverrideGetOverrides(params *OverrideGetOverridesParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideGetOverridesOK, error) - - OverrideUpdateOverride(params *OverrideUpdateOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideUpdateOverrideOK, error) - - SetTransport(transport runtime.ClientTransport) -} - -/* - OverrideAddDefaultOverrides override add default overrides API -*/ -func (a *Client) OverrideAddDefaultOverrides(params *OverrideAddDefaultOverridesParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideAddDefaultOverridesOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewOverrideAddDefaultOverridesParams() - } - op := &runtime.ClientOperation{ - ID: "Override_AddDefaultOverrides", - Method: "POST", - PathPattern: "/v2/config/override/default/cluster", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &OverrideAddDefaultOverridesReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*OverrideAddDefaultOverridesOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*OverrideAddDefaultOverridesDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - OverrideApplyOverride override apply override API -*/ -func (a *Client) OverrideApplyOverride(params *OverrideApplyOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideApplyOverrideOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewOverrideApplyOverrideParams() - } - op := &runtime.ClientOperation{ - ID: "Override_ApplyOverride", - Method: "POST", - PathPattern: "/v2/config/override/apply", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &OverrideApplyOverrideReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*OverrideApplyOverrideOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*OverrideApplyOverrideDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - OverrideCreateOverride override create override API -*/ -func (a *Client) OverrideCreateOverride(params *OverrideCreateOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideCreateOverrideOK, *OverrideCreateOverrideCreated, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewOverrideCreateOverrideParams() - } - op := &runtime.ClientOperation{ - ID: "Override_CreateOverride", - Method: "POST", - PathPattern: "/v2/config/project/{metadata.project}/override", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &OverrideCreateOverrideReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, nil, err - } - switch value := result.(type) { - case *OverrideCreateOverrideOK: - return value, nil, nil - case *OverrideCreateOverrideCreated: - return nil, value, nil - } - // unexpected success response - unexpectedSuccess := result.(*OverrideCreateOverrideDefault) - return nil, nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - OverrideDeleteOverride override delete override API -*/ -func (a *Client) OverrideDeleteOverride(params *OverrideDeleteOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideDeleteOverrideOK, *OverrideDeleteOverrideNoContent, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewOverrideDeleteOverrideParams() - } - op := &runtime.ClientOperation{ - ID: "Override_DeleteOverride", - Method: "DELETE", - PathPattern: "/v2/config/project/{metadata.project}/override/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &OverrideDeleteOverrideReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, nil, err - } - switch value := result.(type) { - case *OverrideDeleteOverrideOK: - return value, nil, nil - case *OverrideDeleteOverrideNoContent: - return nil, value, nil - } - // unexpected success response - unexpectedSuccess := result.(*OverrideDeleteOverrideDefault) - return nil, nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - OverrideGetOverride override get override API -*/ -func (a *Client) OverrideGetOverride(params *OverrideGetOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideGetOverrideOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewOverrideGetOverrideParams() - } - op := &runtime.ClientOperation{ - ID: "Override_GetOverride", - Method: "GET", - PathPattern: "/v2/config/project/{metadata.project}/override/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &OverrideGetOverrideReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*OverrideGetOverrideOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*OverrideGetOverrideDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - OverrideGetOverrides override get overrides API -*/ -func (a *Client) OverrideGetOverrides(params *OverrideGetOverridesParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideGetOverridesOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewOverrideGetOverridesParams() - } - op := &runtime.ClientOperation{ - ID: "Override_GetOverrides", - Method: "GET", - PathPattern: "/v2/config/{urlScope}/override", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &OverrideGetOverridesReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*OverrideGetOverridesOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*OverrideGetOverridesDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - OverrideUpdateOverride override update override API -*/ -func (a *Client) OverrideUpdateOverride(params *OverrideUpdateOverrideParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*OverrideUpdateOverrideOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewOverrideUpdateOverrideParams() - } - op := &runtime.ClientOperation{ - ID: "Override_UpdateOverride", - Method: "PUT", - PathPattern: "/v2/config/project/{metadata.project}/override/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &OverrideUpdateOverrideReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*OverrideUpdateOverrideOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*OverrideUpdateOverrideDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -// SetTransport changes the transport on the client -func (a *Client) SetTransport(transport runtime.ClientTransport) { - a.transport = transport -} diff --git a/components/common/api/def/clients/config/client/override/override_create_override_parameters.go b/components/common/api/def/clients/config/client/override/override_create_override_parameters.go deleted file mode 100644 index 29ca0c5..0000000 --- a/components/common/api/def/clients/config/client/override/override_create_override_parameters.go +++ /dev/null @@ -1,170 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// NewOverrideCreateOverrideParams creates a new OverrideCreateOverrideParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewOverrideCreateOverrideParams() *OverrideCreateOverrideParams { - return &OverrideCreateOverrideParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewOverrideCreateOverrideParamsWithTimeout creates a new OverrideCreateOverrideParams object -// with the ability to set a timeout on a request. -func NewOverrideCreateOverrideParamsWithTimeout(timeout time.Duration) *OverrideCreateOverrideParams { - return &OverrideCreateOverrideParams{ - timeout: timeout, - } -} - -// NewOverrideCreateOverrideParamsWithContext creates a new OverrideCreateOverrideParams object -// with the ability to set a context for a request. -func NewOverrideCreateOverrideParamsWithContext(ctx context.Context) *OverrideCreateOverrideParams { - return &OverrideCreateOverrideParams{ - Context: ctx, - } -} - -// NewOverrideCreateOverrideParamsWithHTTPClient creates a new OverrideCreateOverrideParams object -// with the ability to set a custom HTTPClient for a request. -func NewOverrideCreateOverrideParamsWithHTTPClient(client *http.Client) *OverrideCreateOverrideParams { - return &OverrideCreateOverrideParams{ - HTTPClient: client, - } -} - -/* OverrideCreateOverrideParams contains all the parameters to send to the API endpoint - for the override create override operation. - - Typically these are written to a http.Request. -*/ -type OverrideCreateOverrideParams struct { - - // Body. - Body *models.ConfigOverride - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the override create override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideCreateOverrideParams) WithDefaults() *OverrideCreateOverrideParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the override create override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideCreateOverrideParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the override create override params -func (o *OverrideCreateOverrideParams) WithTimeout(timeout time.Duration) *OverrideCreateOverrideParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the override create override params -func (o *OverrideCreateOverrideParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the override create override params -func (o *OverrideCreateOverrideParams) WithContext(ctx context.Context) *OverrideCreateOverrideParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the override create override params -func (o *OverrideCreateOverrideParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the override create override params -func (o *OverrideCreateOverrideParams) WithHTTPClient(client *http.Client) *OverrideCreateOverrideParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the override create override params -func (o *OverrideCreateOverrideParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the override create override params -func (o *OverrideCreateOverrideParams) WithBody(body *models.ConfigOverride) *OverrideCreateOverrideParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the override create override params -func (o *OverrideCreateOverrideParams) SetBody(body *models.ConfigOverride) { - o.Body = body -} - -// WithMetadataProject adds the metadataProject to the override create override params -func (o *OverrideCreateOverrideParams) WithMetadataProject(metadataProject string) *OverrideCreateOverrideParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the override create override params -func (o *OverrideCreateOverrideParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WriteToRequest writes these params to a swagger request -func (o *OverrideCreateOverrideParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_create_override_responses.go b/components/common/api/def/clients/config/client/override/override_create_override_responses.go deleted file mode 100644 index 1bfc896..0000000 --- a/components/common/api/def/clients/config/client/override/override_create_override_responses.go +++ /dev/null @@ -1,223 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// OverrideCreateOverrideReader is a Reader for the OverrideCreateOverride structure. -type OverrideCreateOverrideReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *OverrideCreateOverrideReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewOverrideCreateOverrideOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 201: - result := NewOverrideCreateOverrideCreated() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewOverrideCreateOverrideForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewOverrideCreateOverrideNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewOverrideCreateOverrideDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewOverrideCreateOverrideOK creates a OverrideCreateOverrideOK with default headers values -func NewOverrideCreateOverrideOK() *OverrideCreateOverrideOK { - return &OverrideCreateOverrideOK{} -} - -/* OverrideCreateOverrideOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type OverrideCreateOverrideOK struct { - Payload *models.ConfigOverride -} - -func (o *OverrideCreateOverrideOK) Error() string { - return fmt.Sprintf("[POST /v2/config/project/{metadata.project}/override][%d] overrideCreateOverrideOK %+v", 200, o.Payload) -} -func (o *OverrideCreateOverrideOK) GetPayload() *models.ConfigOverride { - return o.Payload -} - -func (o *OverrideCreateOverrideOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.ConfigOverride) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideCreateOverrideCreated creates a OverrideCreateOverrideCreated with default headers values -func NewOverrideCreateOverrideCreated() *OverrideCreateOverrideCreated { - return &OverrideCreateOverrideCreated{} -} - -/* OverrideCreateOverrideCreated describes a response with status code 201, with default header values. - -Returned when taskset is created successfully. -*/ -type OverrideCreateOverrideCreated struct { - Payload interface{} -} - -func (o *OverrideCreateOverrideCreated) Error() string { - return fmt.Sprintf("[POST /v2/config/project/{metadata.project}/override][%d] overrideCreateOverrideCreated %+v", 201, o.Payload) -} -func (o *OverrideCreateOverrideCreated) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideCreateOverrideCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideCreateOverrideForbidden creates a OverrideCreateOverrideForbidden with default headers values -func NewOverrideCreateOverrideForbidden() *OverrideCreateOverrideForbidden { - return &OverrideCreateOverrideForbidden{} -} - -/* OverrideCreateOverrideForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type OverrideCreateOverrideForbidden struct { - Payload interface{} -} - -func (o *OverrideCreateOverrideForbidden) Error() string { - return fmt.Sprintf("[POST /v2/config/project/{metadata.project}/override][%d] overrideCreateOverrideForbidden %+v", 403, o.Payload) -} -func (o *OverrideCreateOverrideForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideCreateOverrideForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideCreateOverrideNotFound creates a OverrideCreateOverrideNotFound with default headers values -func NewOverrideCreateOverrideNotFound() *OverrideCreateOverrideNotFound { - return &OverrideCreateOverrideNotFound{} -} - -/* OverrideCreateOverrideNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type OverrideCreateOverrideNotFound struct { - Payload string -} - -func (o *OverrideCreateOverrideNotFound) Error() string { - return fmt.Sprintf("[POST /v2/config/project/{metadata.project}/override][%d] overrideCreateOverrideNotFound %+v", 404, o.Payload) -} -func (o *OverrideCreateOverrideNotFound) GetPayload() string { - return o.Payload -} - -func (o *OverrideCreateOverrideNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideCreateOverrideDefault creates a OverrideCreateOverrideDefault with default headers values -func NewOverrideCreateOverrideDefault(code int) *OverrideCreateOverrideDefault { - return &OverrideCreateOverrideDefault{ - _statusCode: code, - } -} - -/* OverrideCreateOverrideDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type OverrideCreateOverrideDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the override create override default response -func (o *OverrideCreateOverrideDefault) Code() int { - return o._statusCode -} - -func (o *OverrideCreateOverrideDefault) Error() string { - return fmt.Sprintf("[POST /v2/config/project/{metadata.project}/override][%d] Override_CreateOverride default %+v", o._statusCode, o.Payload) -} -func (o *OverrideCreateOverrideDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *OverrideCreateOverrideDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_delete_override_parameters.go b/components/common/api/def/clients/config/client/override/override_delete_override_parameters.go deleted file mode 100644 index 71d9ec4..0000000 --- a/components/common/api/def/clients/config/client/override/override_delete_override_parameters.go +++ /dev/null @@ -1,1502 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewOverrideDeleteOverrideParams creates a new OverrideDeleteOverrideParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewOverrideDeleteOverrideParams() *OverrideDeleteOverrideParams { - return &OverrideDeleteOverrideParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewOverrideDeleteOverrideParamsWithTimeout creates a new OverrideDeleteOverrideParams object -// with the ability to set a timeout on a request. -func NewOverrideDeleteOverrideParamsWithTimeout(timeout time.Duration) *OverrideDeleteOverrideParams { - return &OverrideDeleteOverrideParams{ - timeout: timeout, - } -} - -// NewOverrideDeleteOverrideParamsWithContext creates a new OverrideDeleteOverrideParams object -// with the ability to set a context for a request. -func NewOverrideDeleteOverrideParamsWithContext(ctx context.Context) *OverrideDeleteOverrideParams { - return &OverrideDeleteOverrideParams{ - Context: ctx, - } -} - -// NewOverrideDeleteOverrideParamsWithHTTPClient creates a new OverrideDeleteOverrideParams object -// with the ability to set a custom HTTPClient for a request. -func NewOverrideDeleteOverrideParamsWithHTTPClient(client *http.Client) *OverrideDeleteOverrideParams { - return &OverrideDeleteOverrideParams{ - HTTPClient: client, - } -} - -/* OverrideDeleteOverrideParams contains all the parameters to send to the API endpoint - for the override delete override operation. - - Typically these are written to a http.Request. -*/ -type OverrideDeleteOverrideParams struct { - - /* APIVersion. - - API Version. API Version of the resource - - Default: "config.k8smgmt.io/v3" - */ - APIVersion *string - - /* Kind. - - Kind. Kind of the resource - - Default: "Cluster" - */ - Kind *string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - // SpecClusterPlacementClusterSelector. - SpecClusterPlacementClusterSelector *string - - // SpecClusterPlacementDriftAction. - // - // Default: "DriftReconcillationActionNotSet" - SpecClusterPlacementDriftAction *string - - // SpecClusterPlacementNodeGroupingKeys. - SpecClusterPlacementNodeGroupingKeys []string - - /* SpecClusterPlacementPlacementType. - - placementType is the type of placement. - - Default: "ClusterSelector" - */ - SpecClusterPlacementPlacementType *string - - // SpecClusterSelector. - SpecClusterSelector *string - - // SpecRepoArtifactMetaGitRevision. - SpecRepoArtifactMetaGitRevision *string - - // SpecRepoArtifactMetaHelmChartName. - SpecRepoArtifactMetaHelmChartName *string - - // SpecRepoArtifactMetaHelmTag. - SpecRepoArtifactMetaHelmTag *string - - // SpecRepoArtifactMetaTimeout. - // - // Format: int64 - SpecRepoArtifactMetaTimeout *string - - // SpecRepositoryRef. - SpecRepositoryRef *string - - /* SpecResourceSelector. - - an override is only applied if selector matches the taskset/namespace - labels. - */ - SpecResourceSelector *string - - // SpecTemplateOverridesV2EventFrameworkFQDN. - SpecTemplateOverridesV2EventFrameworkFQDN *string - - // SpecTemplateOverridesClusterName. - SpecTemplateOverridesClusterName *string - - // SpecTemplateOverridesOrgDisplayName. - SpecTemplateOverridesOrgDisplayName *string - - // SpecTemplateOverridesOrganizationHash. - SpecTemplateOverridesOrganizationHash *string - - // SpecTemplateOverridesOrganizationID. - // - // Format: int64 - SpecTemplateOverridesOrganizationID *string - - // SpecTemplateOverridesPartnerDisplayName. - SpecTemplateOverridesPartnerDisplayName *string - - // SpecTemplateOverridesPartnerHash. - SpecTemplateOverridesPartnerHash *string - - // SpecTemplateOverridesPartnerID. - // - // Format: int64 - SpecTemplateOverridesPartnerID *string - - // SpecTemplateOverridesProjectID. - // - // Format: int64 - SpecTemplateOverridesProjectID *string - - // SpecTemplateOverridesProxyURL. - SpecTemplateOverridesProxyURL *string - - // SpecTemplateOverridesV1DeploymentEnv. - SpecTemplateOverridesV1DeploymentEnv *string - - // SpecTemplateOverridesV1EdgeDisplayName. - SpecTemplateOverridesV1EdgeDisplayName *string - - // SpecTemplateOverridesV1EdgeID. - SpecTemplateOverridesV1EdgeID *string - - // SpecTemplateOverridesV1FluentdAggregatorAddr. - SpecTemplateOverridesV1FluentdAggregatorAddr *string - - // SpecTemplateOverridesV1InfluxDBFQDN. - SpecTemplateOverridesV1InfluxDBFQDN *string - - // SpecTemplateOverridesV1InfluxDBPassword. - SpecTemplateOverridesV1InfluxDBPassword *string - - // SpecTemplateOverridesV1PromethuesRelayFQDN. - SpecTemplateOverridesV1PromethuesRelayFQDN *string - - // SpecValuesFile. - SpecValuesFile *string - - /* StatusConditionStatus. - - Condition Status. status of the condition - - Default: "StatusNotSet" - */ - StatusConditionStatus *string - - /* StatusConditionType. - - Condition Type. type of the status condition - */ - StatusConditionType *string - - /* StatusLastUpdated. - - Last Updated. when the condition status is last updated - - Format: date-time - */ - StatusLastUpdated *strfmt.DateTime - - /* StatusReason. - - Reason. reason of the last condition status - */ - StatusReason *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the override delete override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideDeleteOverrideParams) WithDefaults() *OverrideDeleteOverrideParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the override delete override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideDeleteOverrideParams) SetDefaults() { - var ( - aPIVersionDefault = string("config.k8smgmt.io/v3") - - kindDefault = string("Cluster") - - specClusterPlacementDriftActionDefault = string("DriftReconcillationActionNotSet") - - specClusterPlacementPlacementTypeDefault = string("ClusterSelector") - - statusConditionStatusDefault = string("StatusNotSet") - ) - - val := OverrideDeleteOverrideParams{ - APIVersion: &aPIVersionDefault, - Kind: &kindDefault, - SpecClusterPlacementDriftAction: &specClusterPlacementDriftActionDefault, - SpecClusterPlacementPlacementType: &specClusterPlacementPlacementTypeDefault, - StatusConditionStatus: &statusConditionStatusDefault, - } - - val.timeout = o.timeout - val.Context = o.Context - val.HTTPClient = o.HTTPClient - *o = val -} - -// WithTimeout adds the timeout to the override delete override params -func (o *OverrideDeleteOverrideParams) WithTimeout(timeout time.Duration) *OverrideDeleteOverrideParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the override delete override params -func (o *OverrideDeleteOverrideParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the override delete override params -func (o *OverrideDeleteOverrideParams) WithContext(ctx context.Context) *OverrideDeleteOverrideParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the override delete override params -func (o *OverrideDeleteOverrideParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the override delete override params -func (o *OverrideDeleteOverrideParams) WithHTTPClient(client *http.Client) *OverrideDeleteOverrideParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the override delete override params -func (o *OverrideDeleteOverrideParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithAPIVersion adds the aPIVersion to the override delete override params -func (o *OverrideDeleteOverrideParams) WithAPIVersion(aPIVersion *string) *OverrideDeleteOverrideParams { - o.SetAPIVersion(aPIVersion) - return o -} - -// SetAPIVersion adds the apiVersion to the override delete override params -func (o *OverrideDeleteOverrideParams) SetAPIVersion(aPIVersion *string) { - o.APIVersion = aPIVersion -} - -// WithKind adds the kind to the override delete override params -func (o *OverrideDeleteOverrideParams) WithKind(kind *string) *OverrideDeleteOverrideParams { - o.SetKind(kind) - return o -} - -// SetKind adds the kind to the override delete override params -func (o *OverrideDeleteOverrideParams) SetKind(kind *string) { - o.Kind = kind -} - -// WithMetadataDescription adds the metadataDescription to the override delete override params -func (o *OverrideDeleteOverrideParams) WithMetadataDescription(metadataDescription *string) *OverrideDeleteOverrideParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the override delete override params -func (o *OverrideDeleteOverrideParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the override delete override params -func (o *OverrideDeleteOverrideParams) WithMetadataID(metadataID *string) *OverrideDeleteOverrideParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the override delete override params -func (o *OverrideDeleteOverrideParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the override delete override params -func (o *OverrideDeleteOverrideParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *OverrideDeleteOverrideParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the override delete override params -func (o *OverrideDeleteOverrideParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the override delete override params -func (o *OverrideDeleteOverrideParams) WithMetadataName(metadataName string) *OverrideDeleteOverrideParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the override delete override params -func (o *OverrideDeleteOverrideParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the override delete override params -func (o *OverrideDeleteOverrideParams) WithMetadataOrganization(metadataOrganization *string) *OverrideDeleteOverrideParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the override delete override params -func (o *OverrideDeleteOverrideParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the override delete override params -func (o *OverrideDeleteOverrideParams) WithMetadataPartner(metadataPartner *string) *OverrideDeleteOverrideParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the override delete override params -func (o *OverrideDeleteOverrideParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the override delete override params -func (o *OverrideDeleteOverrideParams) WithMetadataProject(metadataProject string) *OverrideDeleteOverrideParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the override delete override params -func (o *OverrideDeleteOverrideParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WithSpecClusterPlacementClusterSelector adds the specClusterPlacementClusterSelector to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecClusterPlacementClusterSelector(specClusterPlacementClusterSelector *string) *OverrideDeleteOverrideParams { - o.SetSpecClusterPlacementClusterSelector(specClusterPlacementClusterSelector) - return o -} - -// SetSpecClusterPlacementClusterSelector adds the specClusterPlacementClusterSelector to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecClusterPlacementClusterSelector(specClusterPlacementClusterSelector *string) { - o.SpecClusterPlacementClusterSelector = specClusterPlacementClusterSelector -} - -// WithSpecClusterPlacementDriftAction adds the specClusterPlacementDriftAction to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecClusterPlacementDriftAction(specClusterPlacementDriftAction *string) *OverrideDeleteOverrideParams { - o.SetSpecClusterPlacementDriftAction(specClusterPlacementDriftAction) - return o -} - -// SetSpecClusterPlacementDriftAction adds the specClusterPlacementDriftAction to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecClusterPlacementDriftAction(specClusterPlacementDriftAction *string) { - o.SpecClusterPlacementDriftAction = specClusterPlacementDriftAction -} - -// WithSpecClusterPlacementNodeGroupingKeys adds the specClusterPlacementNodeGroupingKeys to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecClusterPlacementNodeGroupingKeys(specClusterPlacementNodeGroupingKeys []string) *OverrideDeleteOverrideParams { - o.SetSpecClusterPlacementNodeGroupingKeys(specClusterPlacementNodeGroupingKeys) - return o -} - -// SetSpecClusterPlacementNodeGroupingKeys adds the specClusterPlacementNodeGroupingKeys to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecClusterPlacementNodeGroupingKeys(specClusterPlacementNodeGroupingKeys []string) { - o.SpecClusterPlacementNodeGroupingKeys = specClusterPlacementNodeGroupingKeys -} - -// WithSpecClusterPlacementPlacementType adds the specClusterPlacementPlacementType to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecClusterPlacementPlacementType(specClusterPlacementPlacementType *string) *OverrideDeleteOverrideParams { - o.SetSpecClusterPlacementPlacementType(specClusterPlacementPlacementType) - return o -} - -// SetSpecClusterPlacementPlacementType adds the specClusterPlacementPlacementType to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecClusterPlacementPlacementType(specClusterPlacementPlacementType *string) { - o.SpecClusterPlacementPlacementType = specClusterPlacementPlacementType -} - -// WithSpecClusterSelector adds the specClusterSelector to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecClusterSelector(specClusterSelector *string) *OverrideDeleteOverrideParams { - o.SetSpecClusterSelector(specClusterSelector) - return o -} - -// SetSpecClusterSelector adds the specClusterSelector to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecClusterSelector(specClusterSelector *string) { - o.SpecClusterSelector = specClusterSelector -} - -// WithSpecRepoArtifactMetaGitRevision adds the specRepoArtifactMetaGitRevision to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecRepoArtifactMetaGitRevision(specRepoArtifactMetaGitRevision *string) *OverrideDeleteOverrideParams { - o.SetSpecRepoArtifactMetaGitRevision(specRepoArtifactMetaGitRevision) - return o -} - -// SetSpecRepoArtifactMetaGitRevision adds the specRepoArtifactMetaGitRevision to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecRepoArtifactMetaGitRevision(specRepoArtifactMetaGitRevision *string) { - o.SpecRepoArtifactMetaGitRevision = specRepoArtifactMetaGitRevision -} - -// WithSpecRepoArtifactMetaHelmChartName adds the specRepoArtifactMetaHelmChartName to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecRepoArtifactMetaHelmChartName(specRepoArtifactMetaHelmChartName *string) *OverrideDeleteOverrideParams { - o.SetSpecRepoArtifactMetaHelmChartName(specRepoArtifactMetaHelmChartName) - return o -} - -// SetSpecRepoArtifactMetaHelmChartName adds the specRepoArtifactMetaHelmChartName to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecRepoArtifactMetaHelmChartName(specRepoArtifactMetaHelmChartName *string) { - o.SpecRepoArtifactMetaHelmChartName = specRepoArtifactMetaHelmChartName -} - -// WithSpecRepoArtifactMetaHelmTag adds the specRepoArtifactMetaHelmTag to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecRepoArtifactMetaHelmTag(specRepoArtifactMetaHelmTag *string) *OverrideDeleteOverrideParams { - o.SetSpecRepoArtifactMetaHelmTag(specRepoArtifactMetaHelmTag) - return o -} - -// SetSpecRepoArtifactMetaHelmTag adds the specRepoArtifactMetaHelmTag to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecRepoArtifactMetaHelmTag(specRepoArtifactMetaHelmTag *string) { - o.SpecRepoArtifactMetaHelmTag = specRepoArtifactMetaHelmTag -} - -// WithSpecRepoArtifactMetaTimeout adds the specRepoArtifactMetaTimeout to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecRepoArtifactMetaTimeout(specRepoArtifactMetaTimeout *string) *OverrideDeleteOverrideParams { - o.SetSpecRepoArtifactMetaTimeout(specRepoArtifactMetaTimeout) - return o -} - -// SetSpecRepoArtifactMetaTimeout adds the specRepoArtifactMetaTimeout to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecRepoArtifactMetaTimeout(specRepoArtifactMetaTimeout *string) { - o.SpecRepoArtifactMetaTimeout = specRepoArtifactMetaTimeout -} - -// WithSpecRepositoryRef adds the specRepositoryRef to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecRepositoryRef(specRepositoryRef *string) *OverrideDeleteOverrideParams { - o.SetSpecRepositoryRef(specRepositoryRef) - return o -} - -// SetSpecRepositoryRef adds the specRepositoryRef to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecRepositoryRef(specRepositoryRef *string) { - o.SpecRepositoryRef = specRepositoryRef -} - -// WithSpecResourceSelector adds the specResourceSelector to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecResourceSelector(specResourceSelector *string) *OverrideDeleteOverrideParams { - o.SetSpecResourceSelector(specResourceSelector) - return o -} - -// SetSpecResourceSelector adds the specResourceSelector to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecResourceSelector(specResourceSelector *string) { - o.SpecResourceSelector = specResourceSelector -} - -// WithSpecTemplateOverridesV2EventFrameworkFQDN adds the specTemplateOverridesV2EventFrameworkFQDN to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesV2EventFrameworkFQDN(specTemplateOverridesV2EventFrameworkFQDN *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesV2EventFrameworkFQDN(specTemplateOverridesV2EventFrameworkFQDN) - return o -} - -// SetSpecTemplateOverridesV2EventFrameworkFQDN adds the specTemplateOverridesV2EventFrameworkFQDN to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesV2EventFrameworkFQDN(specTemplateOverridesV2EventFrameworkFQDN *string) { - o.SpecTemplateOverridesV2EventFrameworkFQDN = specTemplateOverridesV2EventFrameworkFQDN -} - -// WithSpecTemplateOverridesClusterName adds the specTemplateOverridesClusterName to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesClusterName(specTemplateOverridesClusterName *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesClusterName(specTemplateOverridesClusterName) - return o -} - -// SetSpecTemplateOverridesClusterName adds the specTemplateOverridesClusterName to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesClusterName(specTemplateOverridesClusterName *string) { - o.SpecTemplateOverridesClusterName = specTemplateOverridesClusterName -} - -// WithSpecTemplateOverridesOrgDisplayName adds the specTemplateOverridesOrgDisplayName to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesOrgDisplayName(specTemplateOverridesOrgDisplayName *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesOrgDisplayName(specTemplateOverridesOrgDisplayName) - return o -} - -// SetSpecTemplateOverridesOrgDisplayName adds the specTemplateOverridesOrgDisplayName to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesOrgDisplayName(specTemplateOverridesOrgDisplayName *string) { - o.SpecTemplateOverridesOrgDisplayName = specTemplateOverridesOrgDisplayName -} - -// WithSpecTemplateOverridesOrganizationHash adds the specTemplateOverridesOrganizationHash to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesOrganizationHash(specTemplateOverridesOrganizationHash *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesOrganizationHash(specTemplateOverridesOrganizationHash) - return o -} - -// SetSpecTemplateOverridesOrganizationHash adds the specTemplateOverridesOrganizationHash to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesOrganizationHash(specTemplateOverridesOrganizationHash *string) { - o.SpecTemplateOverridesOrganizationHash = specTemplateOverridesOrganizationHash -} - -// WithSpecTemplateOverridesOrganizationID adds the specTemplateOverridesOrganizationID to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesOrganizationID(specTemplateOverridesOrganizationID *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesOrganizationID(specTemplateOverridesOrganizationID) - return o -} - -// SetSpecTemplateOverridesOrganizationID adds the specTemplateOverridesOrganizationId to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesOrganizationID(specTemplateOverridesOrganizationID *string) { - o.SpecTemplateOverridesOrganizationID = specTemplateOverridesOrganizationID -} - -// WithSpecTemplateOverridesPartnerDisplayName adds the specTemplateOverridesPartnerDisplayName to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesPartnerDisplayName(specTemplateOverridesPartnerDisplayName *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesPartnerDisplayName(specTemplateOverridesPartnerDisplayName) - return o -} - -// SetSpecTemplateOverridesPartnerDisplayName adds the specTemplateOverridesPartnerDisplayName to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesPartnerDisplayName(specTemplateOverridesPartnerDisplayName *string) { - o.SpecTemplateOverridesPartnerDisplayName = specTemplateOverridesPartnerDisplayName -} - -// WithSpecTemplateOverridesPartnerHash adds the specTemplateOverridesPartnerHash to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesPartnerHash(specTemplateOverridesPartnerHash *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesPartnerHash(specTemplateOverridesPartnerHash) - return o -} - -// SetSpecTemplateOverridesPartnerHash adds the specTemplateOverridesPartnerHash to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesPartnerHash(specTemplateOverridesPartnerHash *string) { - o.SpecTemplateOverridesPartnerHash = specTemplateOverridesPartnerHash -} - -// WithSpecTemplateOverridesPartnerID adds the specTemplateOverridesPartnerID to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesPartnerID(specTemplateOverridesPartnerID *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesPartnerID(specTemplateOverridesPartnerID) - return o -} - -// SetSpecTemplateOverridesPartnerID adds the specTemplateOverridesPartnerId to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesPartnerID(specTemplateOverridesPartnerID *string) { - o.SpecTemplateOverridesPartnerID = specTemplateOverridesPartnerID -} - -// WithSpecTemplateOverridesProjectID adds the specTemplateOverridesProjectID to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesProjectID(specTemplateOverridesProjectID *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesProjectID(specTemplateOverridesProjectID) - return o -} - -// SetSpecTemplateOverridesProjectID adds the specTemplateOverridesProjectId to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesProjectID(specTemplateOverridesProjectID *string) { - o.SpecTemplateOverridesProjectID = specTemplateOverridesProjectID -} - -// WithSpecTemplateOverridesProxyURL adds the specTemplateOverridesProxyURL to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesProxyURL(specTemplateOverridesProxyURL *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesProxyURL(specTemplateOverridesProxyURL) - return o -} - -// SetSpecTemplateOverridesProxyURL adds the specTemplateOverridesProxyUrl to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesProxyURL(specTemplateOverridesProxyURL *string) { - o.SpecTemplateOverridesProxyURL = specTemplateOverridesProxyURL -} - -// WithSpecTemplateOverridesV1DeploymentEnv adds the specTemplateOverridesV1DeploymentEnv to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesV1DeploymentEnv(specTemplateOverridesV1DeploymentEnv *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesV1DeploymentEnv(specTemplateOverridesV1DeploymentEnv) - return o -} - -// SetSpecTemplateOverridesV1DeploymentEnv adds the specTemplateOverridesV1DeploymentEnv to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesV1DeploymentEnv(specTemplateOverridesV1DeploymentEnv *string) { - o.SpecTemplateOverridesV1DeploymentEnv = specTemplateOverridesV1DeploymentEnv -} - -// WithSpecTemplateOverridesV1EdgeDisplayName adds the specTemplateOverridesV1EdgeDisplayName to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesV1EdgeDisplayName(specTemplateOverridesV1EdgeDisplayName *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesV1EdgeDisplayName(specTemplateOverridesV1EdgeDisplayName) - return o -} - -// SetSpecTemplateOverridesV1EdgeDisplayName adds the specTemplateOverridesV1EdgeDisplayName to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesV1EdgeDisplayName(specTemplateOverridesV1EdgeDisplayName *string) { - o.SpecTemplateOverridesV1EdgeDisplayName = specTemplateOverridesV1EdgeDisplayName -} - -// WithSpecTemplateOverridesV1EdgeID adds the specTemplateOverridesV1EdgeID to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesV1EdgeID(specTemplateOverridesV1EdgeID *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesV1EdgeID(specTemplateOverridesV1EdgeID) - return o -} - -// SetSpecTemplateOverridesV1EdgeID adds the specTemplateOverridesV1EdgeId to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesV1EdgeID(specTemplateOverridesV1EdgeID *string) { - o.SpecTemplateOverridesV1EdgeID = specTemplateOverridesV1EdgeID -} - -// WithSpecTemplateOverridesV1FluentdAggregatorAddr adds the specTemplateOverridesV1FluentdAggregatorAddr to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesV1FluentdAggregatorAddr(specTemplateOverridesV1FluentdAggregatorAddr *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesV1FluentdAggregatorAddr(specTemplateOverridesV1FluentdAggregatorAddr) - return o -} - -// SetSpecTemplateOverridesV1FluentdAggregatorAddr adds the specTemplateOverridesV1FluentdAggregatorAddr to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesV1FluentdAggregatorAddr(specTemplateOverridesV1FluentdAggregatorAddr *string) { - o.SpecTemplateOverridesV1FluentdAggregatorAddr = specTemplateOverridesV1FluentdAggregatorAddr -} - -// WithSpecTemplateOverridesV1InfluxDBFQDN adds the specTemplateOverridesV1InfluxDBFQDN to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesV1InfluxDBFQDN(specTemplateOverridesV1InfluxDBFQDN *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesV1InfluxDBFQDN(specTemplateOverridesV1InfluxDBFQDN) - return o -} - -// SetSpecTemplateOverridesV1InfluxDBFQDN adds the specTemplateOverridesV1InfluxDBFQDN to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesV1InfluxDBFQDN(specTemplateOverridesV1InfluxDBFQDN *string) { - o.SpecTemplateOverridesV1InfluxDBFQDN = specTemplateOverridesV1InfluxDBFQDN -} - -// WithSpecTemplateOverridesV1InfluxDBPassword adds the specTemplateOverridesV1InfluxDBPassword to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesV1InfluxDBPassword(specTemplateOverridesV1InfluxDBPassword *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesV1InfluxDBPassword(specTemplateOverridesV1InfluxDBPassword) - return o -} - -// SetSpecTemplateOverridesV1InfluxDBPassword adds the specTemplateOverridesV1InfluxDBPassword to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesV1InfluxDBPassword(specTemplateOverridesV1InfluxDBPassword *string) { - o.SpecTemplateOverridesV1InfluxDBPassword = specTemplateOverridesV1InfluxDBPassword -} - -// WithSpecTemplateOverridesV1PromethuesRelayFQDN adds the specTemplateOverridesV1PromethuesRelayFQDN to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecTemplateOverridesV1PromethuesRelayFQDN(specTemplateOverridesV1PromethuesRelayFQDN *string) *OverrideDeleteOverrideParams { - o.SetSpecTemplateOverridesV1PromethuesRelayFQDN(specTemplateOverridesV1PromethuesRelayFQDN) - return o -} - -// SetSpecTemplateOverridesV1PromethuesRelayFQDN adds the specTemplateOverridesV1PromethuesRelayFQDN to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecTemplateOverridesV1PromethuesRelayFQDN(specTemplateOverridesV1PromethuesRelayFQDN *string) { - o.SpecTemplateOverridesV1PromethuesRelayFQDN = specTemplateOverridesV1PromethuesRelayFQDN -} - -// WithSpecValuesFile adds the specValuesFile to the override delete override params -func (o *OverrideDeleteOverrideParams) WithSpecValuesFile(specValuesFile *string) *OverrideDeleteOverrideParams { - o.SetSpecValuesFile(specValuesFile) - return o -} - -// SetSpecValuesFile adds the specValuesFile to the override delete override params -func (o *OverrideDeleteOverrideParams) SetSpecValuesFile(specValuesFile *string) { - o.SpecValuesFile = specValuesFile -} - -// WithStatusConditionStatus adds the statusConditionStatus to the override delete override params -func (o *OverrideDeleteOverrideParams) WithStatusConditionStatus(statusConditionStatus *string) *OverrideDeleteOverrideParams { - o.SetStatusConditionStatus(statusConditionStatus) - return o -} - -// SetStatusConditionStatus adds the statusConditionStatus to the override delete override params -func (o *OverrideDeleteOverrideParams) SetStatusConditionStatus(statusConditionStatus *string) { - o.StatusConditionStatus = statusConditionStatus -} - -// WithStatusConditionType adds the statusConditionType to the override delete override params -func (o *OverrideDeleteOverrideParams) WithStatusConditionType(statusConditionType *string) *OverrideDeleteOverrideParams { - o.SetStatusConditionType(statusConditionType) - return o -} - -// SetStatusConditionType adds the statusConditionType to the override delete override params -func (o *OverrideDeleteOverrideParams) SetStatusConditionType(statusConditionType *string) { - o.StatusConditionType = statusConditionType -} - -// WithStatusLastUpdated adds the statusLastUpdated to the override delete override params -func (o *OverrideDeleteOverrideParams) WithStatusLastUpdated(statusLastUpdated *strfmt.DateTime) *OverrideDeleteOverrideParams { - o.SetStatusLastUpdated(statusLastUpdated) - return o -} - -// SetStatusLastUpdated adds the statusLastUpdated to the override delete override params -func (o *OverrideDeleteOverrideParams) SetStatusLastUpdated(statusLastUpdated *strfmt.DateTime) { - o.StatusLastUpdated = statusLastUpdated -} - -// WithStatusReason adds the statusReason to the override delete override params -func (o *OverrideDeleteOverrideParams) WithStatusReason(statusReason *string) *OverrideDeleteOverrideParams { - o.SetStatusReason(statusReason) - return o -} - -// SetStatusReason adds the statusReason to the override delete override params -func (o *OverrideDeleteOverrideParams) SetStatusReason(statusReason *string) { - o.StatusReason = statusReason -} - -// WriteToRequest writes these params to a swagger request -func (o *OverrideDeleteOverrideParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.APIVersion != nil { - - // query param apiVersion - var qrAPIVersion string - - if o.APIVersion != nil { - qrAPIVersion = *o.APIVersion - } - qAPIVersion := qrAPIVersion - if qAPIVersion != "" { - - if err := r.SetQueryParam("apiVersion", qAPIVersion); err != nil { - return err - } - } - } - - if o.Kind != nil { - - // query param kind - var qrKind string - - if o.Kind != nil { - qrKind = *o.Kind - } - qKind := qrKind - if qKind != "" { - - if err := r.SetQueryParam("kind", qKind); err != nil { - return err - } - } - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if o.SpecClusterPlacementClusterSelector != nil { - - // query param spec.clusterPlacement.clusterSelector - var qrSpecClusterPlacementClusterSelector string - - if o.SpecClusterPlacementClusterSelector != nil { - qrSpecClusterPlacementClusterSelector = *o.SpecClusterPlacementClusterSelector - } - qSpecClusterPlacementClusterSelector := qrSpecClusterPlacementClusterSelector - if qSpecClusterPlacementClusterSelector != "" { - - if err := r.SetQueryParam("spec.clusterPlacement.clusterSelector", qSpecClusterPlacementClusterSelector); err != nil { - return err - } - } - } - - if o.SpecClusterPlacementDriftAction != nil { - - // query param spec.clusterPlacement.driftAction - var qrSpecClusterPlacementDriftAction string - - if o.SpecClusterPlacementDriftAction != nil { - qrSpecClusterPlacementDriftAction = *o.SpecClusterPlacementDriftAction - } - qSpecClusterPlacementDriftAction := qrSpecClusterPlacementDriftAction - if qSpecClusterPlacementDriftAction != "" { - - if err := r.SetQueryParam("spec.clusterPlacement.driftAction", qSpecClusterPlacementDriftAction); err != nil { - return err - } - } - } - - if o.SpecClusterPlacementNodeGroupingKeys != nil { - - // binding items for spec.clusterPlacement.nodeGroupingKeys - joinedSpecClusterPlacementNodeGroupingKeys := o.bindParamSpecClusterPlacementNodeGroupingKeys(reg) - - // query array param spec.clusterPlacement.nodeGroupingKeys - if err := r.SetQueryParam("spec.clusterPlacement.nodeGroupingKeys", joinedSpecClusterPlacementNodeGroupingKeys...); err != nil { - return err - } - } - - if o.SpecClusterPlacementPlacementType != nil { - - // query param spec.clusterPlacement.placementType - var qrSpecClusterPlacementPlacementType string - - if o.SpecClusterPlacementPlacementType != nil { - qrSpecClusterPlacementPlacementType = *o.SpecClusterPlacementPlacementType - } - qSpecClusterPlacementPlacementType := qrSpecClusterPlacementPlacementType - if qSpecClusterPlacementPlacementType != "" { - - if err := r.SetQueryParam("spec.clusterPlacement.placementType", qSpecClusterPlacementPlacementType); err != nil { - return err - } - } - } - - if o.SpecClusterSelector != nil { - - // query param spec.clusterSelector - var qrSpecClusterSelector string - - if o.SpecClusterSelector != nil { - qrSpecClusterSelector = *o.SpecClusterSelector - } - qSpecClusterSelector := qrSpecClusterSelector - if qSpecClusterSelector != "" { - - if err := r.SetQueryParam("spec.clusterSelector", qSpecClusterSelector); err != nil { - return err - } - } - } - - if o.SpecRepoArtifactMetaGitRevision != nil { - - // query param spec.repoArtifactMeta.git.revision - var qrSpecRepoArtifactMetaGitRevision string - - if o.SpecRepoArtifactMetaGitRevision != nil { - qrSpecRepoArtifactMetaGitRevision = *o.SpecRepoArtifactMetaGitRevision - } - qSpecRepoArtifactMetaGitRevision := qrSpecRepoArtifactMetaGitRevision - if qSpecRepoArtifactMetaGitRevision != "" { - - if err := r.SetQueryParam("spec.repoArtifactMeta.git.revision", qSpecRepoArtifactMetaGitRevision); err != nil { - return err - } - } - } - - if o.SpecRepoArtifactMetaHelmChartName != nil { - - // query param spec.repoArtifactMeta.helm.chartName - var qrSpecRepoArtifactMetaHelmChartName string - - if o.SpecRepoArtifactMetaHelmChartName != nil { - qrSpecRepoArtifactMetaHelmChartName = *o.SpecRepoArtifactMetaHelmChartName - } - qSpecRepoArtifactMetaHelmChartName := qrSpecRepoArtifactMetaHelmChartName - if qSpecRepoArtifactMetaHelmChartName != "" { - - if err := r.SetQueryParam("spec.repoArtifactMeta.helm.chartName", qSpecRepoArtifactMetaHelmChartName); err != nil { - return err - } - } - } - - if o.SpecRepoArtifactMetaHelmTag != nil { - - // query param spec.repoArtifactMeta.helm.tag - var qrSpecRepoArtifactMetaHelmTag string - - if o.SpecRepoArtifactMetaHelmTag != nil { - qrSpecRepoArtifactMetaHelmTag = *o.SpecRepoArtifactMetaHelmTag - } - qSpecRepoArtifactMetaHelmTag := qrSpecRepoArtifactMetaHelmTag - if qSpecRepoArtifactMetaHelmTag != "" { - - if err := r.SetQueryParam("spec.repoArtifactMeta.helm.tag", qSpecRepoArtifactMetaHelmTag); err != nil { - return err - } - } - } - - if o.SpecRepoArtifactMetaTimeout != nil { - - // query param spec.repoArtifactMeta.timeout - var qrSpecRepoArtifactMetaTimeout string - - if o.SpecRepoArtifactMetaTimeout != nil { - qrSpecRepoArtifactMetaTimeout = *o.SpecRepoArtifactMetaTimeout - } - qSpecRepoArtifactMetaTimeout := qrSpecRepoArtifactMetaTimeout - if qSpecRepoArtifactMetaTimeout != "" { - - if err := r.SetQueryParam("spec.repoArtifactMeta.timeout", qSpecRepoArtifactMetaTimeout); err != nil { - return err - } - } - } - - if o.SpecRepositoryRef != nil { - - // query param spec.repositoryRef - var qrSpecRepositoryRef string - - if o.SpecRepositoryRef != nil { - qrSpecRepositoryRef = *o.SpecRepositoryRef - } - qSpecRepositoryRef := qrSpecRepositoryRef - if qSpecRepositoryRef != "" { - - if err := r.SetQueryParam("spec.repositoryRef", qSpecRepositoryRef); err != nil { - return err - } - } - } - - if o.SpecResourceSelector != nil { - - // query param spec.resourceSelector - var qrSpecResourceSelector string - - if o.SpecResourceSelector != nil { - qrSpecResourceSelector = *o.SpecResourceSelector - } - qSpecResourceSelector := qrSpecResourceSelector - if qSpecResourceSelector != "" { - - if err := r.SetQueryParam("spec.resourceSelector", qSpecResourceSelector); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV2EventFrameworkFQDN != nil { - - // query param spec.templateOverrides.V2EventFrameworkFQDN - var qrSpecTemplateOverridesV2EventFrameworkFQDN string - - if o.SpecTemplateOverridesV2EventFrameworkFQDN != nil { - qrSpecTemplateOverridesV2EventFrameworkFQDN = *o.SpecTemplateOverridesV2EventFrameworkFQDN - } - qSpecTemplateOverridesV2EventFrameworkFQDN := qrSpecTemplateOverridesV2EventFrameworkFQDN - if qSpecTemplateOverridesV2EventFrameworkFQDN != "" { - - if err := r.SetQueryParam("spec.templateOverrides.V2EventFrameworkFQDN", qSpecTemplateOverridesV2EventFrameworkFQDN); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesClusterName != nil { - - // query param spec.templateOverrides.clusterName - var qrSpecTemplateOverridesClusterName string - - if o.SpecTemplateOverridesClusterName != nil { - qrSpecTemplateOverridesClusterName = *o.SpecTemplateOverridesClusterName - } - qSpecTemplateOverridesClusterName := qrSpecTemplateOverridesClusterName - if qSpecTemplateOverridesClusterName != "" { - - if err := r.SetQueryParam("spec.templateOverrides.clusterName", qSpecTemplateOverridesClusterName); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesOrgDisplayName != nil { - - // query param spec.templateOverrides.orgDisplayName - var qrSpecTemplateOverridesOrgDisplayName string - - if o.SpecTemplateOverridesOrgDisplayName != nil { - qrSpecTemplateOverridesOrgDisplayName = *o.SpecTemplateOverridesOrgDisplayName - } - qSpecTemplateOverridesOrgDisplayName := qrSpecTemplateOverridesOrgDisplayName - if qSpecTemplateOverridesOrgDisplayName != "" { - - if err := r.SetQueryParam("spec.templateOverrides.orgDisplayName", qSpecTemplateOverridesOrgDisplayName); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesOrganizationHash != nil { - - // query param spec.templateOverrides.organizationHash - var qrSpecTemplateOverridesOrganizationHash string - - if o.SpecTemplateOverridesOrganizationHash != nil { - qrSpecTemplateOverridesOrganizationHash = *o.SpecTemplateOverridesOrganizationHash - } - qSpecTemplateOverridesOrganizationHash := qrSpecTemplateOverridesOrganizationHash - if qSpecTemplateOverridesOrganizationHash != "" { - - if err := r.SetQueryParam("spec.templateOverrides.organizationHash", qSpecTemplateOverridesOrganizationHash); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesOrganizationID != nil { - - // query param spec.templateOverrides.organizationID - var qrSpecTemplateOverridesOrganizationID string - - if o.SpecTemplateOverridesOrganizationID != nil { - qrSpecTemplateOverridesOrganizationID = *o.SpecTemplateOverridesOrganizationID - } - qSpecTemplateOverridesOrganizationID := qrSpecTemplateOverridesOrganizationID - if qSpecTemplateOverridesOrganizationID != "" { - - if err := r.SetQueryParam("spec.templateOverrides.organizationID", qSpecTemplateOverridesOrganizationID); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesPartnerDisplayName != nil { - - // query param spec.templateOverrides.partnerDisplayName - var qrSpecTemplateOverridesPartnerDisplayName string - - if o.SpecTemplateOverridesPartnerDisplayName != nil { - qrSpecTemplateOverridesPartnerDisplayName = *o.SpecTemplateOverridesPartnerDisplayName - } - qSpecTemplateOverridesPartnerDisplayName := qrSpecTemplateOverridesPartnerDisplayName - if qSpecTemplateOverridesPartnerDisplayName != "" { - - if err := r.SetQueryParam("spec.templateOverrides.partnerDisplayName", qSpecTemplateOverridesPartnerDisplayName); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesPartnerHash != nil { - - // query param spec.templateOverrides.partnerHash - var qrSpecTemplateOverridesPartnerHash string - - if o.SpecTemplateOverridesPartnerHash != nil { - qrSpecTemplateOverridesPartnerHash = *o.SpecTemplateOverridesPartnerHash - } - qSpecTemplateOverridesPartnerHash := qrSpecTemplateOverridesPartnerHash - if qSpecTemplateOverridesPartnerHash != "" { - - if err := r.SetQueryParam("spec.templateOverrides.partnerHash", qSpecTemplateOverridesPartnerHash); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesPartnerID != nil { - - // query param spec.templateOverrides.partnerID - var qrSpecTemplateOverridesPartnerID string - - if o.SpecTemplateOverridesPartnerID != nil { - qrSpecTemplateOverridesPartnerID = *o.SpecTemplateOverridesPartnerID - } - qSpecTemplateOverridesPartnerID := qrSpecTemplateOverridesPartnerID - if qSpecTemplateOverridesPartnerID != "" { - - if err := r.SetQueryParam("spec.templateOverrides.partnerID", qSpecTemplateOverridesPartnerID); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesProjectID != nil { - - // query param spec.templateOverrides.projectID - var qrSpecTemplateOverridesProjectID string - - if o.SpecTemplateOverridesProjectID != nil { - qrSpecTemplateOverridesProjectID = *o.SpecTemplateOverridesProjectID - } - qSpecTemplateOverridesProjectID := qrSpecTemplateOverridesProjectID - if qSpecTemplateOverridesProjectID != "" { - - if err := r.SetQueryParam("spec.templateOverrides.projectID", qSpecTemplateOverridesProjectID); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesProxyURL != nil { - - // query param spec.templateOverrides.proxyURL - var qrSpecTemplateOverridesProxyURL string - - if o.SpecTemplateOverridesProxyURL != nil { - qrSpecTemplateOverridesProxyURL = *o.SpecTemplateOverridesProxyURL - } - qSpecTemplateOverridesProxyURL := qrSpecTemplateOverridesProxyURL - if qSpecTemplateOverridesProxyURL != "" { - - if err := r.SetQueryParam("spec.templateOverrides.proxyURL", qSpecTemplateOverridesProxyURL); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1DeploymentEnv != nil { - - // query param spec.templateOverrides.v1DeploymentEnv - var qrSpecTemplateOverridesV1DeploymentEnv string - - if o.SpecTemplateOverridesV1DeploymentEnv != nil { - qrSpecTemplateOverridesV1DeploymentEnv = *o.SpecTemplateOverridesV1DeploymentEnv - } - qSpecTemplateOverridesV1DeploymentEnv := qrSpecTemplateOverridesV1DeploymentEnv - if qSpecTemplateOverridesV1DeploymentEnv != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1DeploymentEnv", qSpecTemplateOverridesV1DeploymentEnv); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1EdgeDisplayName != nil { - - // query param spec.templateOverrides.v1EdgeDisplayName - var qrSpecTemplateOverridesV1EdgeDisplayName string - - if o.SpecTemplateOverridesV1EdgeDisplayName != nil { - qrSpecTemplateOverridesV1EdgeDisplayName = *o.SpecTemplateOverridesV1EdgeDisplayName - } - qSpecTemplateOverridesV1EdgeDisplayName := qrSpecTemplateOverridesV1EdgeDisplayName - if qSpecTemplateOverridesV1EdgeDisplayName != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1EdgeDisplayName", qSpecTemplateOverridesV1EdgeDisplayName); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1EdgeID != nil { - - // query param spec.templateOverrides.v1EdgeID - var qrSpecTemplateOverridesV1EdgeID string - - if o.SpecTemplateOverridesV1EdgeID != nil { - qrSpecTemplateOverridesV1EdgeID = *o.SpecTemplateOverridesV1EdgeID - } - qSpecTemplateOverridesV1EdgeID := qrSpecTemplateOverridesV1EdgeID - if qSpecTemplateOverridesV1EdgeID != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1EdgeID", qSpecTemplateOverridesV1EdgeID); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1FluentdAggregatorAddr != nil { - - // query param spec.templateOverrides.v1FluentdAggregatorAddr - var qrSpecTemplateOverridesV1FluentdAggregatorAddr string - - if o.SpecTemplateOverridesV1FluentdAggregatorAddr != nil { - qrSpecTemplateOverridesV1FluentdAggregatorAddr = *o.SpecTemplateOverridesV1FluentdAggregatorAddr - } - qSpecTemplateOverridesV1FluentdAggregatorAddr := qrSpecTemplateOverridesV1FluentdAggregatorAddr - if qSpecTemplateOverridesV1FluentdAggregatorAddr != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1FluentdAggregatorAddr", qSpecTemplateOverridesV1FluentdAggregatorAddr); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1InfluxDBFQDN != nil { - - // query param spec.templateOverrides.v1InfluxDBFQDN - var qrSpecTemplateOverridesV1InfluxDBFQDN string - - if o.SpecTemplateOverridesV1InfluxDBFQDN != nil { - qrSpecTemplateOverridesV1InfluxDBFQDN = *o.SpecTemplateOverridesV1InfluxDBFQDN - } - qSpecTemplateOverridesV1InfluxDBFQDN := qrSpecTemplateOverridesV1InfluxDBFQDN - if qSpecTemplateOverridesV1InfluxDBFQDN != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1InfluxDBFQDN", qSpecTemplateOverridesV1InfluxDBFQDN); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1InfluxDBPassword != nil { - - // query param spec.templateOverrides.v1InfluxDBPassword - var qrSpecTemplateOverridesV1InfluxDBPassword string - - if o.SpecTemplateOverridesV1InfluxDBPassword != nil { - qrSpecTemplateOverridesV1InfluxDBPassword = *o.SpecTemplateOverridesV1InfluxDBPassword - } - qSpecTemplateOverridesV1InfluxDBPassword := qrSpecTemplateOverridesV1InfluxDBPassword - if qSpecTemplateOverridesV1InfluxDBPassword != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1InfluxDBPassword", qSpecTemplateOverridesV1InfluxDBPassword); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1PromethuesRelayFQDN != nil { - - // query param spec.templateOverrides.v1PromethuesRelayFQDN - var qrSpecTemplateOverridesV1PromethuesRelayFQDN string - - if o.SpecTemplateOverridesV1PromethuesRelayFQDN != nil { - qrSpecTemplateOverridesV1PromethuesRelayFQDN = *o.SpecTemplateOverridesV1PromethuesRelayFQDN - } - qSpecTemplateOverridesV1PromethuesRelayFQDN := qrSpecTemplateOverridesV1PromethuesRelayFQDN - if qSpecTemplateOverridesV1PromethuesRelayFQDN != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1PromethuesRelayFQDN", qSpecTemplateOverridesV1PromethuesRelayFQDN); err != nil { - return err - } - } - } - - if o.SpecValuesFile != nil { - - // query param spec.valuesFile - var qrSpecValuesFile string - - if o.SpecValuesFile != nil { - qrSpecValuesFile = *o.SpecValuesFile - } - qSpecValuesFile := qrSpecValuesFile - if qSpecValuesFile != "" { - - if err := r.SetQueryParam("spec.valuesFile", qSpecValuesFile); err != nil { - return err - } - } - } - - if o.StatusConditionStatus != nil { - - // query param status.conditionStatus - var qrStatusConditionStatus string - - if o.StatusConditionStatus != nil { - qrStatusConditionStatus = *o.StatusConditionStatus - } - qStatusConditionStatus := qrStatusConditionStatus - if qStatusConditionStatus != "" { - - if err := r.SetQueryParam("status.conditionStatus", qStatusConditionStatus); err != nil { - return err - } - } - } - - if o.StatusConditionType != nil { - - // query param status.conditionType - var qrStatusConditionType string - - if o.StatusConditionType != nil { - qrStatusConditionType = *o.StatusConditionType - } - qStatusConditionType := qrStatusConditionType - if qStatusConditionType != "" { - - if err := r.SetQueryParam("status.conditionType", qStatusConditionType); err != nil { - return err - } - } - } - - if o.StatusLastUpdated != nil { - - // query param status.lastUpdated - var qrStatusLastUpdated strfmt.DateTime - - if o.StatusLastUpdated != nil { - qrStatusLastUpdated = *o.StatusLastUpdated - } - qStatusLastUpdated := qrStatusLastUpdated.String() - if qStatusLastUpdated != "" { - - if err := r.SetQueryParam("status.lastUpdated", qStatusLastUpdated); err != nil { - return err - } - } - } - - if o.StatusReason != nil { - - // query param status.reason - var qrStatusReason string - - if o.StatusReason != nil { - qrStatusReason = *o.StatusReason - } - qStatusReason := qrStatusReason - if qStatusReason != "" { - - if err := r.SetQueryParam("status.reason", qStatusReason); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindParamOverrideDeleteOverride binds the parameter spec.clusterPlacement.nodeGroupingKeys -func (o *OverrideDeleteOverrideParams) bindParamSpecClusterPlacementNodeGroupingKeys(formats strfmt.Registry) []string { - specClusterPlacementNodeGroupingKeysIR := o.SpecClusterPlacementNodeGroupingKeys - - var specClusterPlacementNodeGroupingKeysIC []string - for _, specClusterPlacementNodeGroupingKeysIIR := range specClusterPlacementNodeGroupingKeysIR { // explode []string - - specClusterPlacementNodeGroupingKeysIIV := specClusterPlacementNodeGroupingKeysIIR // string as string - specClusterPlacementNodeGroupingKeysIC = append(specClusterPlacementNodeGroupingKeysIC, specClusterPlacementNodeGroupingKeysIIV) - } - - // items.CollectionFormat: "multi" - specClusterPlacementNodeGroupingKeysIS := swag.JoinByFormat(specClusterPlacementNodeGroupingKeysIC, "multi") - - return specClusterPlacementNodeGroupingKeysIS -} diff --git a/components/common/api/def/clients/config/client/override/override_delete_override_responses.go b/components/common/api/def/clients/config/client/override/override_delete_override_responses.go deleted file mode 100644 index cba2a5f..0000000 --- a/components/common/api/def/clients/config/client/override/override_delete_override_responses.go +++ /dev/null @@ -1,221 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// OverrideDeleteOverrideReader is a Reader for the OverrideDeleteOverride structure. -type OverrideDeleteOverrideReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *OverrideDeleteOverrideReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewOverrideDeleteOverrideOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 204: - result := NewOverrideDeleteOverrideNoContent() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewOverrideDeleteOverrideForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewOverrideDeleteOverrideNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewOverrideDeleteOverrideDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewOverrideDeleteOverrideOK creates a OverrideDeleteOverrideOK with default headers values -func NewOverrideDeleteOverrideOK() *OverrideDeleteOverrideOK { - return &OverrideDeleteOverrideOK{} -} - -/* OverrideDeleteOverrideOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type OverrideDeleteOverrideOK struct { - Payload models.RPCDeleteOverrideResponse -} - -func (o *OverrideDeleteOverrideOK) Error() string { - return fmt.Sprintf("[DELETE /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideDeleteOverrideOK %+v", 200, o.Payload) -} -func (o *OverrideDeleteOverrideOK) GetPayload() models.RPCDeleteOverrideResponse { - return o.Payload -} - -func (o *OverrideDeleteOverrideOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideDeleteOverrideNoContent creates a OverrideDeleteOverrideNoContent with default headers values -func NewOverrideDeleteOverrideNoContent() *OverrideDeleteOverrideNoContent { - return &OverrideDeleteOverrideNoContent{} -} - -/* OverrideDeleteOverrideNoContent describes a response with status code 204, with default header values. - -Returned when namespace is deleted successfully. -*/ -type OverrideDeleteOverrideNoContent struct { - Payload interface{} -} - -func (o *OverrideDeleteOverrideNoContent) Error() string { - return fmt.Sprintf("[DELETE /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideDeleteOverrideNoContent %+v", 204, o.Payload) -} -func (o *OverrideDeleteOverrideNoContent) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideDeleteOverrideNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideDeleteOverrideForbidden creates a OverrideDeleteOverrideForbidden with default headers values -func NewOverrideDeleteOverrideForbidden() *OverrideDeleteOverrideForbidden { - return &OverrideDeleteOverrideForbidden{} -} - -/* OverrideDeleteOverrideForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type OverrideDeleteOverrideForbidden struct { - Payload interface{} -} - -func (o *OverrideDeleteOverrideForbidden) Error() string { - return fmt.Sprintf("[DELETE /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideDeleteOverrideForbidden %+v", 403, o.Payload) -} -func (o *OverrideDeleteOverrideForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideDeleteOverrideForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideDeleteOverrideNotFound creates a OverrideDeleteOverrideNotFound with default headers values -func NewOverrideDeleteOverrideNotFound() *OverrideDeleteOverrideNotFound { - return &OverrideDeleteOverrideNotFound{} -} - -/* OverrideDeleteOverrideNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type OverrideDeleteOverrideNotFound struct { - Payload string -} - -func (o *OverrideDeleteOverrideNotFound) Error() string { - return fmt.Sprintf("[DELETE /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideDeleteOverrideNotFound %+v", 404, o.Payload) -} -func (o *OverrideDeleteOverrideNotFound) GetPayload() string { - return o.Payload -} - -func (o *OverrideDeleteOverrideNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideDeleteOverrideDefault creates a OverrideDeleteOverrideDefault with default headers values -func NewOverrideDeleteOverrideDefault(code int) *OverrideDeleteOverrideDefault { - return &OverrideDeleteOverrideDefault{ - _statusCode: code, - } -} - -/* OverrideDeleteOverrideDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type OverrideDeleteOverrideDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the override delete override default response -func (o *OverrideDeleteOverrideDefault) Code() int { - return o._statusCode -} - -func (o *OverrideDeleteOverrideDefault) Error() string { - return fmt.Sprintf("[DELETE /v2/config/project/{metadata.project}/override/{metadata.name}][%d] Override_DeleteOverride default %+v", o._statusCode, o.Payload) -} -func (o *OverrideDeleteOverrideDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *OverrideDeleteOverrideDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_get_override_parameters.go b/components/common/api/def/clients/config/client/override/override_get_override_parameters.go deleted file mode 100644 index d5fb38f..0000000 --- a/components/common/api/def/clients/config/client/override/override_get_override_parameters.go +++ /dev/null @@ -1,1502 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewOverrideGetOverrideParams creates a new OverrideGetOverrideParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewOverrideGetOverrideParams() *OverrideGetOverrideParams { - return &OverrideGetOverrideParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewOverrideGetOverrideParamsWithTimeout creates a new OverrideGetOverrideParams object -// with the ability to set a timeout on a request. -func NewOverrideGetOverrideParamsWithTimeout(timeout time.Duration) *OverrideGetOverrideParams { - return &OverrideGetOverrideParams{ - timeout: timeout, - } -} - -// NewOverrideGetOverrideParamsWithContext creates a new OverrideGetOverrideParams object -// with the ability to set a context for a request. -func NewOverrideGetOverrideParamsWithContext(ctx context.Context) *OverrideGetOverrideParams { - return &OverrideGetOverrideParams{ - Context: ctx, - } -} - -// NewOverrideGetOverrideParamsWithHTTPClient creates a new OverrideGetOverrideParams object -// with the ability to set a custom HTTPClient for a request. -func NewOverrideGetOverrideParamsWithHTTPClient(client *http.Client) *OverrideGetOverrideParams { - return &OverrideGetOverrideParams{ - HTTPClient: client, - } -} - -/* OverrideGetOverrideParams contains all the parameters to send to the API endpoint - for the override get override operation. - - Typically these are written to a http.Request. -*/ -type OverrideGetOverrideParams struct { - - /* APIVersion. - - API Version. API Version of the resource - - Default: "config.k8smgmt.io/v3" - */ - APIVersion *string - - /* Kind. - - Kind. Kind of the resource - - Default: "Cluster" - */ - Kind *string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - // SpecClusterPlacementClusterSelector. - SpecClusterPlacementClusterSelector *string - - // SpecClusterPlacementDriftAction. - // - // Default: "DriftReconcillationActionNotSet" - SpecClusterPlacementDriftAction *string - - // SpecClusterPlacementNodeGroupingKeys. - SpecClusterPlacementNodeGroupingKeys []string - - /* SpecClusterPlacementPlacementType. - - placementType is the type of placement. - - Default: "ClusterSelector" - */ - SpecClusterPlacementPlacementType *string - - // SpecClusterSelector. - SpecClusterSelector *string - - // SpecRepoArtifactMetaGitRevision. - SpecRepoArtifactMetaGitRevision *string - - // SpecRepoArtifactMetaHelmChartName. - SpecRepoArtifactMetaHelmChartName *string - - // SpecRepoArtifactMetaHelmTag. - SpecRepoArtifactMetaHelmTag *string - - // SpecRepoArtifactMetaTimeout. - // - // Format: int64 - SpecRepoArtifactMetaTimeout *string - - // SpecRepositoryRef. - SpecRepositoryRef *string - - /* SpecResourceSelector. - - an override is only applied if selector matches the taskset/namespace - labels. - */ - SpecResourceSelector *string - - // SpecTemplateOverridesV2EventFrameworkFQDN. - SpecTemplateOverridesV2EventFrameworkFQDN *string - - // SpecTemplateOverridesClusterName. - SpecTemplateOverridesClusterName *string - - // SpecTemplateOverridesOrgDisplayName. - SpecTemplateOverridesOrgDisplayName *string - - // SpecTemplateOverridesOrganizationHash. - SpecTemplateOverridesOrganizationHash *string - - // SpecTemplateOverridesOrganizationID. - // - // Format: int64 - SpecTemplateOverridesOrganizationID *string - - // SpecTemplateOverridesPartnerDisplayName. - SpecTemplateOverridesPartnerDisplayName *string - - // SpecTemplateOverridesPartnerHash. - SpecTemplateOverridesPartnerHash *string - - // SpecTemplateOverridesPartnerID. - // - // Format: int64 - SpecTemplateOverridesPartnerID *string - - // SpecTemplateOverridesProjectID. - // - // Format: int64 - SpecTemplateOverridesProjectID *string - - // SpecTemplateOverridesProxyURL. - SpecTemplateOverridesProxyURL *string - - // SpecTemplateOverridesV1DeploymentEnv. - SpecTemplateOverridesV1DeploymentEnv *string - - // SpecTemplateOverridesV1EdgeDisplayName. - SpecTemplateOverridesV1EdgeDisplayName *string - - // SpecTemplateOverridesV1EdgeID. - SpecTemplateOverridesV1EdgeID *string - - // SpecTemplateOverridesV1FluentdAggregatorAddr. - SpecTemplateOverridesV1FluentdAggregatorAddr *string - - // SpecTemplateOverridesV1InfluxDBFQDN. - SpecTemplateOverridesV1InfluxDBFQDN *string - - // SpecTemplateOverridesV1InfluxDBPassword. - SpecTemplateOverridesV1InfluxDBPassword *string - - // SpecTemplateOverridesV1PromethuesRelayFQDN. - SpecTemplateOverridesV1PromethuesRelayFQDN *string - - // SpecValuesFile. - SpecValuesFile *string - - /* StatusConditionStatus. - - Condition Status. status of the condition - - Default: "StatusNotSet" - */ - StatusConditionStatus *string - - /* StatusConditionType. - - Condition Type. type of the status condition - */ - StatusConditionType *string - - /* StatusLastUpdated. - - Last Updated. when the condition status is last updated - - Format: date-time - */ - StatusLastUpdated *strfmt.DateTime - - /* StatusReason. - - Reason. reason of the last condition status - */ - StatusReason *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the override get override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideGetOverrideParams) WithDefaults() *OverrideGetOverrideParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the override get override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideGetOverrideParams) SetDefaults() { - var ( - aPIVersionDefault = string("config.k8smgmt.io/v3") - - kindDefault = string("Cluster") - - specClusterPlacementDriftActionDefault = string("DriftReconcillationActionNotSet") - - specClusterPlacementPlacementTypeDefault = string("ClusterSelector") - - statusConditionStatusDefault = string("StatusNotSet") - ) - - val := OverrideGetOverrideParams{ - APIVersion: &aPIVersionDefault, - Kind: &kindDefault, - SpecClusterPlacementDriftAction: &specClusterPlacementDriftActionDefault, - SpecClusterPlacementPlacementType: &specClusterPlacementPlacementTypeDefault, - StatusConditionStatus: &statusConditionStatusDefault, - } - - val.timeout = o.timeout - val.Context = o.Context - val.HTTPClient = o.HTTPClient - *o = val -} - -// WithTimeout adds the timeout to the override get override params -func (o *OverrideGetOverrideParams) WithTimeout(timeout time.Duration) *OverrideGetOverrideParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the override get override params -func (o *OverrideGetOverrideParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the override get override params -func (o *OverrideGetOverrideParams) WithContext(ctx context.Context) *OverrideGetOverrideParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the override get override params -func (o *OverrideGetOverrideParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the override get override params -func (o *OverrideGetOverrideParams) WithHTTPClient(client *http.Client) *OverrideGetOverrideParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the override get override params -func (o *OverrideGetOverrideParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithAPIVersion adds the aPIVersion to the override get override params -func (o *OverrideGetOverrideParams) WithAPIVersion(aPIVersion *string) *OverrideGetOverrideParams { - o.SetAPIVersion(aPIVersion) - return o -} - -// SetAPIVersion adds the apiVersion to the override get override params -func (o *OverrideGetOverrideParams) SetAPIVersion(aPIVersion *string) { - o.APIVersion = aPIVersion -} - -// WithKind adds the kind to the override get override params -func (o *OverrideGetOverrideParams) WithKind(kind *string) *OverrideGetOverrideParams { - o.SetKind(kind) - return o -} - -// SetKind adds the kind to the override get override params -func (o *OverrideGetOverrideParams) SetKind(kind *string) { - o.Kind = kind -} - -// WithMetadataDescription adds the metadataDescription to the override get override params -func (o *OverrideGetOverrideParams) WithMetadataDescription(metadataDescription *string) *OverrideGetOverrideParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the override get override params -func (o *OverrideGetOverrideParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the override get override params -func (o *OverrideGetOverrideParams) WithMetadataID(metadataID *string) *OverrideGetOverrideParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the override get override params -func (o *OverrideGetOverrideParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the override get override params -func (o *OverrideGetOverrideParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *OverrideGetOverrideParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the override get override params -func (o *OverrideGetOverrideParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the override get override params -func (o *OverrideGetOverrideParams) WithMetadataName(metadataName string) *OverrideGetOverrideParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the override get override params -func (o *OverrideGetOverrideParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the override get override params -func (o *OverrideGetOverrideParams) WithMetadataOrganization(metadataOrganization *string) *OverrideGetOverrideParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the override get override params -func (o *OverrideGetOverrideParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the override get override params -func (o *OverrideGetOverrideParams) WithMetadataPartner(metadataPartner *string) *OverrideGetOverrideParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the override get override params -func (o *OverrideGetOverrideParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the override get override params -func (o *OverrideGetOverrideParams) WithMetadataProject(metadataProject string) *OverrideGetOverrideParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the override get override params -func (o *OverrideGetOverrideParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WithSpecClusterPlacementClusterSelector adds the specClusterPlacementClusterSelector to the override get override params -func (o *OverrideGetOverrideParams) WithSpecClusterPlacementClusterSelector(specClusterPlacementClusterSelector *string) *OverrideGetOverrideParams { - o.SetSpecClusterPlacementClusterSelector(specClusterPlacementClusterSelector) - return o -} - -// SetSpecClusterPlacementClusterSelector adds the specClusterPlacementClusterSelector to the override get override params -func (o *OverrideGetOverrideParams) SetSpecClusterPlacementClusterSelector(specClusterPlacementClusterSelector *string) { - o.SpecClusterPlacementClusterSelector = specClusterPlacementClusterSelector -} - -// WithSpecClusterPlacementDriftAction adds the specClusterPlacementDriftAction to the override get override params -func (o *OverrideGetOverrideParams) WithSpecClusterPlacementDriftAction(specClusterPlacementDriftAction *string) *OverrideGetOverrideParams { - o.SetSpecClusterPlacementDriftAction(specClusterPlacementDriftAction) - return o -} - -// SetSpecClusterPlacementDriftAction adds the specClusterPlacementDriftAction to the override get override params -func (o *OverrideGetOverrideParams) SetSpecClusterPlacementDriftAction(specClusterPlacementDriftAction *string) { - o.SpecClusterPlacementDriftAction = specClusterPlacementDriftAction -} - -// WithSpecClusterPlacementNodeGroupingKeys adds the specClusterPlacementNodeGroupingKeys to the override get override params -func (o *OverrideGetOverrideParams) WithSpecClusterPlacementNodeGroupingKeys(specClusterPlacementNodeGroupingKeys []string) *OverrideGetOverrideParams { - o.SetSpecClusterPlacementNodeGroupingKeys(specClusterPlacementNodeGroupingKeys) - return o -} - -// SetSpecClusterPlacementNodeGroupingKeys adds the specClusterPlacementNodeGroupingKeys to the override get override params -func (o *OverrideGetOverrideParams) SetSpecClusterPlacementNodeGroupingKeys(specClusterPlacementNodeGroupingKeys []string) { - o.SpecClusterPlacementNodeGroupingKeys = specClusterPlacementNodeGroupingKeys -} - -// WithSpecClusterPlacementPlacementType adds the specClusterPlacementPlacementType to the override get override params -func (o *OverrideGetOverrideParams) WithSpecClusterPlacementPlacementType(specClusterPlacementPlacementType *string) *OverrideGetOverrideParams { - o.SetSpecClusterPlacementPlacementType(specClusterPlacementPlacementType) - return o -} - -// SetSpecClusterPlacementPlacementType adds the specClusterPlacementPlacementType to the override get override params -func (o *OverrideGetOverrideParams) SetSpecClusterPlacementPlacementType(specClusterPlacementPlacementType *string) { - o.SpecClusterPlacementPlacementType = specClusterPlacementPlacementType -} - -// WithSpecClusterSelector adds the specClusterSelector to the override get override params -func (o *OverrideGetOverrideParams) WithSpecClusterSelector(specClusterSelector *string) *OverrideGetOverrideParams { - o.SetSpecClusterSelector(specClusterSelector) - return o -} - -// SetSpecClusterSelector adds the specClusterSelector to the override get override params -func (o *OverrideGetOverrideParams) SetSpecClusterSelector(specClusterSelector *string) { - o.SpecClusterSelector = specClusterSelector -} - -// WithSpecRepoArtifactMetaGitRevision adds the specRepoArtifactMetaGitRevision to the override get override params -func (o *OverrideGetOverrideParams) WithSpecRepoArtifactMetaGitRevision(specRepoArtifactMetaGitRevision *string) *OverrideGetOverrideParams { - o.SetSpecRepoArtifactMetaGitRevision(specRepoArtifactMetaGitRevision) - return o -} - -// SetSpecRepoArtifactMetaGitRevision adds the specRepoArtifactMetaGitRevision to the override get override params -func (o *OverrideGetOverrideParams) SetSpecRepoArtifactMetaGitRevision(specRepoArtifactMetaGitRevision *string) { - o.SpecRepoArtifactMetaGitRevision = specRepoArtifactMetaGitRevision -} - -// WithSpecRepoArtifactMetaHelmChartName adds the specRepoArtifactMetaHelmChartName to the override get override params -func (o *OverrideGetOverrideParams) WithSpecRepoArtifactMetaHelmChartName(specRepoArtifactMetaHelmChartName *string) *OverrideGetOverrideParams { - o.SetSpecRepoArtifactMetaHelmChartName(specRepoArtifactMetaHelmChartName) - return o -} - -// SetSpecRepoArtifactMetaHelmChartName adds the specRepoArtifactMetaHelmChartName to the override get override params -func (o *OverrideGetOverrideParams) SetSpecRepoArtifactMetaHelmChartName(specRepoArtifactMetaHelmChartName *string) { - o.SpecRepoArtifactMetaHelmChartName = specRepoArtifactMetaHelmChartName -} - -// WithSpecRepoArtifactMetaHelmTag adds the specRepoArtifactMetaHelmTag to the override get override params -func (o *OverrideGetOverrideParams) WithSpecRepoArtifactMetaHelmTag(specRepoArtifactMetaHelmTag *string) *OverrideGetOverrideParams { - o.SetSpecRepoArtifactMetaHelmTag(specRepoArtifactMetaHelmTag) - return o -} - -// SetSpecRepoArtifactMetaHelmTag adds the specRepoArtifactMetaHelmTag to the override get override params -func (o *OverrideGetOverrideParams) SetSpecRepoArtifactMetaHelmTag(specRepoArtifactMetaHelmTag *string) { - o.SpecRepoArtifactMetaHelmTag = specRepoArtifactMetaHelmTag -} - -// WithSpecRepoArtifactMetaTimeout adds the specRepoArtifactMetaTimeout to the override get override params -func (o *OverrideGetOverrideParams) WithSpecRepoArtifactMetaTimeout(specRepoArtifactMetaTimeout *string) *OverrideGetOverrideParams { - o.SetSpecRepoArtifactMetaTimeout(specRepoArtifactMetaTimeout) - return o -} - -// SetSpecRepoArtifactMetaTimeout adds the specRepoArtifactMetaTimeout to the override get override params -func (o *OverrideGetOverrideParams) SetSpecRepoArtifactMetaTimeout(specRepoArtifactMetaTimeout *string) { - o.SpecRepoArtifactMetaTimeout = specRepoArtifactMetaTimeout -} - -// WithSpecRepositoryRef adds the specRepositoryRef to the override get override params -func (o *OverrideGetOverrideParams) WithSpecRepositoryRef(specRepositoryRef *string) *OverrideGetOverrideParams { - o.SetSpecRepositoryRef(specRepositoryRef) - return o -} - -// SetSpecRepositoryRef adds the specRepositoryRef to the override get override params -func (o *OverrideGetOverrideParams) SetSpecRepositoryRef(specRepositoryRef *string) { - o.SpecRepositoryRef = specRepositoryRef -} - -// WithSpecResourceSelector adds the specResourceSelector to the override get override params -func (o *OverrideGetOverrideParams) WithSpecResourceSelector(specResourceSelector *string) *OverrideGetOverrideParams { - o.SetSpecResourceSelector(specResourceSelector) - return o -} - -// SetSpecResourceSelector adds the specResourceSelector to the override get override params -func (o *OverrideGetOverrideParams) SetSpecResourceSelector(specResourceSelector *string) { - o.SpecResourceSelector = specResourceSelector -} - -// WithSpecTemplateOverridesV2EventFrameworkFQDN adds the specTemplateOverridesV2EventFrameworkFQDN to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesV2EventFrameworkFQDN(specTemplateOverridesV2EventFrameworkFQDN *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesV2EventFrameworkFQDN(specTemplateOverridesV2EventFrameworkFQDN) - return o -} - -// SetSpecTemplateOverridesV2EventFrameworkFQDN adds the specTemplateOverridesV2EventFrameworkFQDN to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesV2EventFrameworkFQDN(specTemplateOverridesV2EventFrameworkFQDN *string) { - o.SpecTemplateOverridesV2EventFrameworkFQDN = specTemplateOverridesV2EventFrameworkFQDN -} - -// WithSpecTemplateOverridesClusterName adds the specTemplateOverridesClusterName to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesClusterName(specTemplateOverridesClusterName *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesClusterName(specTemplateOverridesClusterName) - return o -} - -// SetSpecTemplateOverridesClusterName adds the specTemplateOverridesClusterName to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesClusterName(specTemplateOverridesClusterName *string) { - o.SpecTemplateOverridesClusterName = specTemplateOverridesClusterName -} - -// WithSpecTemplateOverridesOrgDisplayName adds the specTemplateOverridesOrgDisplayName to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesOrgDisplayName(specTemplateOverridesOrgDisplayName *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesOrgDisplayName(specTemplateOverridesOrgDisplayName) - return o -} - -// SetSpecTemplateOverridesOrgDisplayName adds the specTemplateOverridesOrgDisplayName to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesOrgDisplayName(specTemplateOverridesOrgDisplayName *string) { - o.SpecTemplateOverridesOrgDisplayName = specTemplateOverridesOrgDisplayName -} - -// WithSpecTemplateOverridesOrganizationHash adds the specTemplateOverridesOrganizationHash to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesOrganizationHash(specTemplateOverridesOrganizationHash *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesOrganizationHash(specTemplateOverridesOrganizationHash) - return o -} - -// SetSpecTemplateOverridesOrganizationHash adds the specTemplateOverridesOrganizationHash to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesOrganizationHash(specTemplateOverridesOrganizationHash *string) { - o.SpecTemplateOverridesOrganizationHash = specTemplateOverridesOrganizationHash -} - -// WithSpecTemplateOverridesOrganizationID adds the specTemplateOverridesOrganizationID to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesOrganizationID(specTemplateOverridesOrganizationID *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesOrganizationID(specTemplateOverridesOrganizationID) - return o -} - -// SetSpecTemplateOverridesOrganizationID adds the specTemplateOverridesOrganizationId to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesOrganizationID(specTemplateOverridesOrganizationID *string) { - o.SpecTemplateOverridesOrganizationID = specTemplateOverridesOrganizationID -} - -// WithSpecTemplateOverridesPartnerDisplayName adds the specTemplateOverridesPartnerDisplayName to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesPartnerDisplayName(specTemplateOverridesPartnerDisplayName *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesPartnerDisplayName(specTemplateOverridesPartnerDisplayName) - return o -} - -// SetSpecTemplateOverridesPartnerDisplayName adds the specTemplateOverridesPartnerDisplayName to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesPartnerDisplayName(specTemplateOverridesPartnerDisplayName *string) { - o.SpecTemplateOverridesPartnerDisplayName = specTemplateOverridesPartnerDisplayName -} - -// WithSpecTemplateOverridesPartnerHash adds the specTemplateOverridesPartnerHash to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesPartnerHash(specTemplateOverridesPartnerHash *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesPartnerHash(specTemplateOverridesPartnerHash) - return o -} - -// SetSpecTemplateOverridesPartnerHash adds the specTemplateOverridesPartnerHash to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesPartnerHash(specTemplateOverridesPartnerHash *string) { - o.SpecTemplateOverridesPartnerHash = specTemplateOverridesPartnerHash -} - -// WithSpecTemplateOverridesPartnerID adds the specTemplateOverridesPartnerID to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesPartnerID(specTemplateOverridesPartnerID *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesPartnerID(specTemplateOverridesPartnerID) - return o -} - -// SetSpecTemplateOverridesPartnerID adds the specTemplateOverridesPartnerId to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesPartnerID(specTemplateOverridesPartnerID *string) { - o.SpecTemplateOverridesPartnerID = specTemplateOverridesPartnerID -} - -// WithSpecTemplateOverridesProjectID adds the specTemplateOverridesProjectID to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesProjectID(specTemplateOverridesProjectID *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesProjectID(specTemplateOverridesProjectID) - return o -} - -// SetSpecTemplateOverridesProjectID adds the specTemplateOverridesProjectId to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesProjectID(specTemplateOverridesProjectID *string) { - o.SpecTemplateOverridesProjectID = specTemplateOverridesProjectID -} - -// WithSpecTemplateOverridesProxyURL adds the specTemplateOverridesProxyURL to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesProxyURL(specTemplateOverridesProxyURL *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesProxyURL(specTemplateOverridesProxyURL) - return o -} - -// SetSpecTemplateOverridesProxyURL adds the specTemplateOverridesProxyUrl to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesProxyURL(specTemplateOverridesProxyURL *string) { - o.SpecTemplateOverridesProxyURL = specTemplateOverridesProxyURL -} - -// WithSpecTemplateOverridesV1DeploymentEnv adds the specTemplateOverridesV1DeploymentEnv to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesV1DeploymentEnv(specTemplateOverridesV1DeploymentEnv *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesV1DeploymentEnv(specTemplateOverridesV1DeploymentEnv) - return o -} - -// SetSpecTemplateOverridesV1DeploymentEnv adds the specTemplateOverridesV1DeploymentEnv to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesV1DeploymentEnv(specTemplateOverridesV1DeploymentEnv *string) { - o.SpecTemplateOverridesV1DeploymentEnv = specTemplateOverridesV1DeploymentEnv -} - -// WithSpecTemplateOverridesV1EdgeDisplayName adds the specTemplateOverridesV1EdgeDisplayName to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesV1EdgeDisplayName(specTemplateOverridesV1EdgeDisplayName *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesV1EdgeDisplayName(specTemplateOverridesV1EdgeDisplayName) - return o -} - -// SetSpecTemplateOverridesV1EdgeDisplayName adds the specTemplateOverridesV1EdgeDisplayName to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesV1EdgeDisplayName(specTemplateOverridesV1EdgeDisplayName *string) { - o.SpecTemplateOverridesV1EdgeDisplayName = specTemplateOverridesV1EdgeDisplayName -} - -// WithSpecTemplateOverridesV1EdgeID adds the specTemplateOverridesV1EdgeID to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesV1EdgeID(specTemplateOverridesV1EdgeID *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesV1EdgeID(specTemplateOverridesV1EdgeID) - return o -} - -// SetSpecTemplateOverridesV1EdgeID adds the specTemplateOverridesV1EdgeId to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesV1EdgeID(specTemplateOverridesV1EdgeID *string) { - o.SpecTemplateOverridesV1EdgeID = specTemplateOverridesV1EdgeID -} - -// WithSpecTemplateOverridesV1FluentdAggregatorAddr adds the specTemplateOverridesV1FluentdAggregatorAddr to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesV1FluentdAggregatorAddr(specTemplateOverridesV1FluentdAggregatorAddr *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesV1FluentdAggregatorAddr(specTemplateOverridesV1FluentdAggregatorAddr) - return o -} - -// SetSpecTemplateOverridesV1FluentdAggregatorAddr adds the specTemplateOverridesV1FluentdAggregatorAddr to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesV1FluentdAggregatorAddr(specTemplateOverridesV1FluentdAggregatorAddr *string) { - o.SpecTemplateOverridesV1FluentdAggregatorAddr = specTemplateOverridesV1FluentdAggregatorAddr -} - -// WithSpecTemplateOverridesV1InfluxDBFQDN adds the specTemplateOverridesV1InfluxDBFQDN to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesV1InfluxDBFQDN(specTemplateOverridesV1InfluxDBFQDN *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesV1InfluxDBFQDN(specTemplateOverridesV1InfluxDBFQDN) - return o -} - -// SetSpecTemplateOverridesV1InfluxDBFQDN adds the specTemplateOverridesV1InfluxDBFQDN to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesV1InfluxDBFQDN(specTemplateOverridesV1InfluxDBFQDN *string) { - o.SpecTemplateOverridesV1InfluxDBFQDN = specTemplateOverridesV1InfluxDBFQDN -} - -// WithSpecTemplateOverridesV1InfluxDBPassword adds the specTemplateOverridesV1InfluxDBPassword to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesV1InfluxDBPassword(specTemplateOverridesV1InfluxDBPassword *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesV1InfluxDBPassword(specTemplateOverridesV1InfluxDBPassword) - return o -} - -// SetSpecTemplateOverridesV1InfluxDBPassword adds the specTemplateOverridesV1InfluxDBPassword to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesV1InfluxDBPassword(specTemplateOverridesV1InfluxDBPassword *string) { - o.SpecTemplateOverridesV1InfluxDBPassword = specTemplateOverridesV1InfluxDBPassword -} - -// WithSpecTemplateOverridesV1PromethuesRelayFQDN adds the specTemplateOverridesV1PromethuesRelayFQDN to the override get override params -func (o *OverrideGetOverrideParams) WithSpecTemplateOverridesV1PromethuesRelayFQDN(specTemplateOverridesV1PromethuesRelayFQDN *string) *OverrideGetOverrideParams { - o.SetSpecTemplateOverridesV1PromethuesRelayFQDN(specTemplateOverridesV1PromethuesRelayFQDN) - return o -} - -// SetSpecTemplateOverridesV1PromethuesRelayFQDN adds the specTemplateOverridesV1PromethuesRelayFQDN to the override get override params -func (o *OverrideGetOverrideParams) SetSpecTemplateOverridesV1PromethuesRelayFQDN(specTemplateOverridesV1PromethuesRelayFQDN *string) { - o.SpecTemplateOverridesV1PromethuesRelayFQDN = specTemplateOverridesV1PromethuesRelayFQDN -} - -// WithSpecValuesFile adds the specValuesFile to the override get override params -func (o *OverrideGetOverrideParams) WithSpecValuesFile(specValuesFile *string) *OverrideGetOverrideParams { - o.SetSpecValuesFile(specValuesFile) - return o -} - -// SetSpecValuesFile adds the specValuesFile to the override get override params -func (o *OverrideGetOverrideParams) SetSpecValuesFile(specValuesFile *string) { - o.SpecValuesFile = specValuesFile -} - -// WithStatusConditionStatus adds the statusConditionStatus to the override get override params -func (o *OverrideGetOverrideParams) WithStatusConditionStatus(statusConditionStatus *string) *OverrideGetOverrideParams { - o.SetStatusConditionStatus(statusConditionStatus) - return o -} - -// SetStatusConditionStatus adds the statusConditionStatus to the override get override params -func (o *OverrideGetOverrideParams) SetStatusConditionStatus(statusConditionStatus *string) { - o.StatusConditionStatus = statusConditionStatus -} - -// WithStatusConditionType adds the statusConditionType to the override get override params -func (o *OverrideGetOverrideParams) WithStatusConditionType(statusConditionType *string) *OverrideGetOverrideParams { - o.SetStatusConditionType(statusConditionType) - return o -} - -// SetStatusConditionType adds the statusConditionType to the override get override params -func (o *OverrideGetOverrideParams) SetStatusConditionType(statusConditionType *string) { - o.StatusConditionType = statusConditionType -} - -// WithStatusLastUpdated adds the statusLastUpdated to the override get override params -func (o *OverrideGetOverrideParams) WithStatusLastUpdated(statusLastUpdated *strfmt.DateTime) *OverrideGetOverrideParams { - o.SetStatusLastUpdated(statusLastUpdated) - return o -} - -// SetStatusLastUpdated adds the statusLastUpdated to the override get override params -func (o *OverrideGetOverrideParams) SetStatusLastUpdated(statusLastUpdated *strfmt.DateTime) { - o.StatusLastUpdated = statusLastUpdated -} - -// WithStatusReason adds the statusReason to the override get override params -func (o *OverrideGetOverrideParams) WithStatusReason(statusReason *string) *OverrideGetOverrideParams { - o.SetStatusReason(statusReason) - return o -} - -// SetStatusReason adds the statusReason to the override get override params -func (o *OverrideGetOverrideParams) SetStatusReason(statusReason *string) { - o.StatusReason = statusReason -} - -// WriteToRequest writes these params to a swagger request -func (o *OverrideGetOverrideParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.APIVersion != nil { - - // query param apiVersion - var qrAPIVersion string - - if o.APIVersion != nil { - qrAPIVersion = *o.APIVersion - } - qAPIVersion := qrAPIVersion - if qAPIVersion != "" { - - if err := r.SetQueryParam("apiVersion", qAPIVersion); err != nil { - return err - } - } - } - - if o.Kind != nil { - - // query param kind - var qrKind string - - if o.Kind != nil { - qrKind = *o.Kind - } - qKind := qrKind - if qKind != "" { - - if err := r.SetQueryParam("kind", qKind); err != nil { - return err - } - } - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if o.SpecClusterPlacementClusterSelector != nil { - - // query param spec.clusterPlacement.clusterSelector - var qrSpecClusterPlacementClusterSelector string - - if o.SpecClusterPlacementClusterSelector != nil { - qrSpecClusterPlacementClusterSelector = *o.SpecClusterPlacementClusterSelector - } - qSpecClusterPlacementClusterSelector := qrSpecClusterPlacementClusterSelector - if qSpecClusterPlacementClusterSelector != "" { - - if err := r.SetQueryParam("spec.clusterPlacement.clusterSelector", qSpecClusterPlacementClusterSelector); err != nil { - return err - } - } - } - - if o.SpecClusterPlacementDriftAction != nil { - - // query param spec.clusterPlacement.driftAction - var qrSpecClusterPlacementDriftAction string - - if o.SpecClusterPlacementDriftAction != nil { - qrSpecClusterPlacementDriftAction = *o.SpecClusterPlacementDriftAction - } - qSpecClusterPlacementDriftAction := qrSpecClusterPlacementDriftAction - if qSpecClusterPlacementDriftAction != "" { - - if err := r.SetQueryParam("spec.clusterPlacement.driftAction", qSpecClusterPlacementDriftAction); err != nil { - return err - } - } - } - - if o.SpecClusterPlacementNodeGroupingKeys != nil { - - // binding items for spec.clusterPlacement.nodeGroupingKeys - joinedSpecClusterPlacementNodeGroupingKeys := o.bindParamSpecClusterPlacementNodeGroupingKeys(reg) - - // query array param spec.clusterPlacement.nodeGroupingKeys - if err := r.SetQueryParam("spec.clusterPlacement.nodeGroupingKeys", joinedSpecClusterPlacementNodeGroupingKeys...); err != nil { - return err - } - } - - if o.SpecClusterPlacementPlacementType != nil { - - // query param spec.clusterPlacement.placementType - var qrSpecClusterPlacementPlacementType string - - if o.SpecClusterPlacementPlacementType != nil { - qrSpecClusterPlacementPlacementType = *o.SpecClusterPlacementPlacementType - } - qSpecClusterPlacementPlacementType := qrSpecClusterPlacementPlacementType - if qSpecClusterPlacementPlacementType != "" { - - if err := r.SetQueryParam("spec.clusterPlacement.placementType", qSpecClusterPlacementPlacementType); err != nil { - return err - } - } - } - - if o.SpecClusterSelector != nil { - - // query param spec.clusterSelector - var qrSpecClusterSelector string - - if o.SpecClusterSelector != nil { - qrSpecClusterSelector = *o.SpecClusterSelector - } - qSpecClusterSelector := qrSpecClusterSelector - if qSpecClusterSelector != "" { - - if err := r.SetQueryParam("spec.clusterSelector", qSpecClusterSelector); err != nil { - return err - } - } - } - - if o.SpecRepoArtifactMetaGitRevision != nil { - - // query param spec.repoArtifactMeta.git.revision - var qrSpecRepoArtifactMetaGitRevision string - - if o.SpecRepoArtifactMetaGitRevision != nil { - qrSpecRepoArtifactMetaGitRevision = *o.SpecRepoArtifactMetaGitRevision - } - qSpecRepoArtifactMetaGitRevision := qrSpecRepoArtifactMetaGitRevision - if qSpecRepoArtifactMetaGitRevision != "" { - - if err := r.SetQueryParam("spec.repoArtifactMeta.git.revision", qSpecRepoArtifactMetaGitRevision); err != nil { - return err - } - } - } - - if o.SpecRepoArtifactMetaHelmChartName != nil { - - // query param spec.repoArtifactMeta.helm.chartName - var qrSpecRepoArtifactMetaHelmChartName string - - if o.SpecRepoArtifactMetaHelmChartName != nil { - qrSpecRepoArtifactMetaHelmChartName = *o.SpecRepoArtifactMetaHelmChartName - } - qSpecRepoArtifactMetaHelmChartName := qrSpecRepoArtifactMetaHelmChartName - if qSpecRepoArtifactMetaHelmChartName != "" { - - if err := r.SetQueryParam("spec.repoArtifactMeta.helm.chartName", qSpecRepoArtifactMetaHelmChartName); err != nil { - return err - } - } - } - - if o.SpecRepoArtifactMetaHelmTag != nil { - - // query param spec.repoArtifactMeta.helm.tag - var qrSpecRepoArtifactMetaHelmTag string - - if o.SpecRepoArtifactMetaHelmTag != nil { - qrSpecRepoArtifactMetaHelmTag = *o.SpecRepoArtifactMetaHelmTag - } - qSpecRepoArtifactMetaHelmTag := qrSpecRepoArtifactMetaHelmTag - if qSpecRepoArtifactMetaHelmTag != "" { - - if err := r.SetQueryParam("spec.repoArtifactMeta.helm.tag", qSpecRepoArtifactMetaHelmTag); err != nil { - return err - } - } - } - - if o.SpecRepoArtifactMetaTimeout != nil { - - // query param spec.repoArtifactMeta.timeout - var qrSpecRepoArtifactMetaTimeout string - - if o.SpecRepoArtifactMetaTimeout != nil { - qrSpecRepoArtifactMetaTimeout = *o.SpecRepoArtifactMetaTimeout - } - qSpecRepoArtifactMetaTimeout := qrSpecRepoArtifactMetaTimeout - if qSpecRepoArtifactMetaTimeout != "" { - - if err := r.SetQueryParam("spec.repoArtifactMeta.timeout", qSpecRepoArtifactMetaTimeout); err != nil { - return err - } - } - } - - if o.SpecRepositoryRef != nil { - - // query param spec.repositoryRef - var qrSpecRepositoryRef string - - if o.SpecRepositoryRef != nil { - qrSpecRepositoryRef = *o.SpecRepositoryRef - } - qSpecRepositoryRef := qrSpecRepositoryRef - if qSpecRepositoryRef != "" { - - if err := r.SetQueryParam("spec.repositoryRef", qSpecRepositoryRef); err != nil { - return err - } - } - } - - if o.SpecResourceSelector != nil { - - // query param spec.resourceSelector - var qrSpecResourceSelector string - - if o.SpecResourceSelector != nil { - qrSpecResourceSelector = *o.SpecResourceSelector - } - qSpecResourceSelector := qrSpecResourceSelector - if qSpecResourceSelector != "" { - - if err := r.SetQueryParam("spec.resourceSelector", qSpecResourceSelector); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV2EventFrameworkFQDN != nil { - - // query param spec.templateOverrides.V2EventFrameworkFQDN - var qrSpecTemplateOverridesV2EventFrameworkFQDN string - - if o.SpecTemplateOverridesV2EventFrameworkFQDN != nil { - qrSpecTemplateOverridesV2EventFrameworkFQDN = *o.SpecTemplateOverridesV2EventFrameworkFQDN - } - qSpecTemplateOverridesV2EventFrameworkFQDN := qrSpecTemplateOverridesV2EventFrameworkFQDN - if qSpecTemplateOverridesV2EventFrameworkFQDN != "" { - - if err := r.SetQueryParam("spec.templateOverrides.V2EventFrameworkFQDN", qSpecTemplateOverridesV2EventFrameworkFQDN); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesClusterName != nil { - - // query param spec.templateOverrides.clusterName - var qrSpecTemplateOverridesClusterName string - - if o.SpecTemplateOverridesClusterName != nil { - qrSpecTemplateOverridesClusterName = *o.SpecTemplateOverridesClusterName - } - qSpecTemplateOverridesClusterName := qrSpecTemplateOverridesClusterName - if qSpecTemplateOverridesClusterName != "" { - - if err := r.SetQueryParam("spec.templateOverrides.clusterName", qSpecTemplateOverridesClusterName); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesOrgDisplayName != nil { - - // query param spec.templateOverrides.orgDisplayName - var qrSpecTemplateOverridesOrgDisplayName string - - if o.SpecTemplateOverridesOrgDisplayName != nil { - qrSpecTemplateOverridesOrgDisplayName = *o.SpecTemplateOverridesOrgDisplayName - } - qSpecTemplateOverridesOrgDisplayName := qrSpecTemplateOverridesOrgDisplayName - if qSpecTemplateOverridesOrgDisplayName != "" { - - if err := r.SetQueryParam("spec.templateOverrides.orgDisplayName", qSpecTemplateOverridesOrgDisplayName); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesOrganizationHash != nil { - - // query param spec.templateOverrides.organizationHash - var qrSpecTemplateOverridesOrganizationHash string - - if o.SpecTemplateOverridesOrganizationHash != nil { - qrSpecTemplateOverridesOrganizationHash = *o.SpecTemplateOverridesOrganizationHash - } - qSpecTemplateOverridesOrganizationHash := qrSpecTemplateOverridesOrganizationHash - if qSpecTemplateOverridesOrganizationHash != "" { - - if err := r.SetQueryParam("spec.templateOverrides.organizationHash", qSpecTemplateOverridesOrganizationHash); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesOrganizationID != nil { - - // query param spec.templateOverrides.organizationID - var qrSpecTemplateOverridesOrganizationID string - - if o.SpecTemplateOverridesOrganizationID != nil { - qrSpecTemplateOverridesOrganizationID = *o.SpecTemplateOverridesOrganizationID - } - qSpecTemplateOverridesOrganizationID := qrSpecTemplateOverridesOrganizationID - if qSpecTemplateOverridesOrganizationID != "" { - - if err := r.SetQueryParam("spec.templateOverrides.organizationID", qSpecTemplateOverridesOrganizationID); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesPartnerDisplayName != nil { - - // query param spec.templateOverrides.partnerDisplayName - var qrSpecTemplateOverridesPartnerDisplayName string - - if o.SpecTemplateOverridesPartnerDisplayName != nil { - qrSpecTemplateOverridesPartnerDisplayName = *o.SpecTemplateOverridesPartnerDisplayName - } - qSpecTemplateOverridesPartnerDisplayName := qrSpecTemplateOverridesPartnerDisplayName - if qSpecTemplateOverridesPartnerDisplayName != "" { - - if err := r.SetQueryParam("spec.templateOverrides.partnerDisplayName", qSpecTemplateOverridesPartnerDisplayName); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesPartnerHash != nil { - - // query param spec.templateOverrides.partnerHash - var qrSpecTemplateOverridesPartnerHash string - - if o.SpecTemplateOverridesPartnerHash != nil { - qrSpecTemplateOverridesPartnerHash = *o.SpecTemplateOverridesPartnerHash - } - qSpecTemplateOverridesPartnerHash := qrSpecTemplateOverridesPartnerHash - if qSpecTemplateOverridesPartnerHash != "" { - - if err := r.SetQueryParam("spec.templateOverrides.partnerHash", qSpecTemplateOverridesPartnerHash); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesPartnerID != nil { - - // query param spec.templateOverrides.partnerID - var qrSpecTemplateOverridesPartnerID string - - if o.SpecTemplateOverridesPartnerID != nil { - qrSpecTemplateOverridesPartnerID = *o.SpecTemplateOverridesPartnerID - } - qSpecTemplateOverridesPartnerID := qrSpecTemplateOverridesPartnerID - if qSpecTemplateOverridesPartnerID != "" { - - if err := r.SetQueryParam("spec.templateOverrides.partnerID", qSpecTemplateOverridesPartnerID); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesProjectID != nil { - - // query param spec.templateOverrides.projectID - var qrSpecTemplateOverridesProjectID string - - if o.SpecTemplateOverridesProjectID != nil { - qrSpecTemplateOverridesProjectID = *o.SpecTemplateOverridesProjectID - } - qSpecTemplateOverridesProjectID := qrSpecTemplateOverridesProjectID - if qSpecTemplateOverridesProjectID != "" { - - if err := r.SetQueryParam("spec.templateOverrides.projectID", qSpecTemplateOverridesProjectID); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesProxyURL != nil { - - // query param spec.templateOverrides.proxyURL - var qrSpecTemplateOverridesProxyURL string - - if o.SpecTemplateOverridesProxyURL != nil { - qrSpecTemplateOverridesProxyURL = *o.SpecTemplateOverridesProxyURL - } - qSpecTemplateOverridesProxyURL := qrSpecTemplateOverridesProxyURL - if qSpecTemplateOverridesProxyURL != "" { - - if err := r.SetQueryParam("spec.templateOverrides.proxyURL", qSpecTemplateOverridesProxyURL); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1DeploymentEnv != nil { - - // query param spec.templateOverrides.v1DeploymentEnv - var qrSpecTemplateOverridesV1DeploymentEnv string - - if o.SpecTemplateOverridesV1DeploymentEnv != nil { - qrSpecTemplateOverridesV1DeploymentEnv = *o.SpecTemplateOverridesV1DeploymentEnv - } - qSpecTemplateOverridesV1DeploymentEnv := qrSpecTemplateOverridesV1DeploymentEnv - if qSpecTemplateOverridesV1DeploymentEnv != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1DeploymentEnv", qSpecTemplateOverridesV1DeploymentEnv); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1EdgeDisplayName != nil { - - // query param spec.templateOverrides.v1EdgeDisplayName - var qrSpecTemplateOverridesV1EdgeDisplayName string - - if o.SpecTemplateOverridesV1EdgeDisplayName != nil { - qrSpecTemplateOverridesV1EdgeDisplayName = *o.SpecTemplateOverridesV1EdgeDisplayName - } - qSpecTemplateOverridesV1EdgeDisplayName := qrSpecTemplateOverridesV1EdgeDisplayName - if qSpecTemplateOverridesV1EdgeDisplayName != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1EdgeDisplayName", qSpecTemplateOverridesV1EdgeDisplayName); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1EdgeID != nil { - - // query param spec.templateOverrides.v1EdgeID - var qrSpecTemplateOverridesV1EdgeID string - - if o.SpecTemplateOverridesV1EdgeID != nil { - qrSpecTemplateOverridesV1EdgeID = *o.SpecTemplateOverridesV1EdgeID - } - qSpecTemplateOverridesV1EdgeID := qrSpecTemplateOverridesV1EdgeID - if qSpecTemplateOverridesV1EdgeID != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1EdgeID", qSpecTemplateOverridesV1EdgeID); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1FluentdAggregatorAddr != nil { - - // query param spec.templateOverrides.v1FluentdAggregatorAddr - var qrSpecTemplateOverridesV1FluentdAggregatorAddr string - - if o.SpecTemplateOverridesV1FluentdAggregatorAddr != nil { - qrSpecTemplateOverridesV1FluentdAggregatorAddr = *o.SpecTemplateOverridesV1FluentdAggregatorAddr - } - qSpecTemplateOverridesV1FluentdAggregatorAddr := qrSpecTemplateOverridesV1FluentdAggregatorAddr - if qSpecTemplateOverridesV1FluentdAggregatorAddr != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1FluentdAggregatorAddr", qSpecTemplateOverridesV1FluentdAggregatorAddr); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1InfluxDBFQDN != nil { - - // query param spec.templateOverrides.v1InfluxDBFQDN - var qrSpecTemplateOverridesV1InfluxDBFQDN string - - if o.SpecTemplateOverridesV1InfluxDBFQDN != nil { - qrSpecTemplateOverridesV1InfluxDBFQDN = *o.SpecTemplateOverridesV1InfluxDBFQDN - } - qSpecTemplateOverridesV1InfluxDBFQDN := qrSpecTemplateOverridesV1InfluxDBFQDN - if qSpecTemplateOverridesV1InfluxDBFQDN != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1InfluxDBFQDN", qSpecTemplateOverridesV1InfluxDBFQDN); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1InfluxDBPassword != nil { - - // query param spec.templateOverrides.v1InfluxDBPassword - var qrSpecTemplateOverridesV1InfluxDBPassword string - - if o.SpecTemplateOverridesV1InfluxDBPassword != nil { - qrSpecTemplateOverridesV1InfluxDBPassword = *o.SpecTemplateOverridesV1InfluxDBPassword - } - qSpecTemplateOverridesV1InfluxDBPassword := qrSpecTemplateOverridesV1InfluxDBPassword - if qSpecTemplateOverridesV1InfluxDBPassword != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1InfluxDBPassword", qSpecTemplateOverridesV1InfluxDBPassword); err != nil { - return err - } - } - } - - if o.SpecTemplateOverridesV1PromethuesRelayFQDN != nil { - - // query param spec.templateOverrides.v1PromethuesRelayFQDN - var qrSpecTemplateOverridesV1PromethuesRelayFQDN string - - if o.SpecTemplateOverridesV1PromethuesRelayFQDN != nil { - qrSpecTemplateOverridesV1PromethuesRelayFQDN = *o.SpecTemplateOverridesV1PromethuesRelayFQDN - } - qSpecTemplateOverridesV1PromethuesRelayFQDN := qrSpecTemplateOverridesV1PromethuesRelayFQDN - if qSpecTemplateOverridesV1PromethuesRelayFQDN != "" { - - if err := r.SetQueryParam("spec.templateOverrides.v1PromethuesRelayFQDN", qSpecTemplateOverridesV1PromethuesRelayFQDN); err != nil { - return err - } - } - } - - if o.SpecValuesFile != nil { - - // query param spec.valuesFile - var qrSpecValuesFile string - - if o.SpecValuesFile != nil { - qrSpecValuesFile = *o.SpecValuesFile - } - qSpecValuesFile := qrSpecValuesFile - if qSpecValuesFile != "" { - - if err := r.SetQueryParam("spec.valuesFile", qSpecValuesFile); err != nil { - return err - } - } - } - - if o.StatusConditionStatus != nil { - - // query param status.conditionStatus - var qrStatusConditionStatus string - - if o.StatusConditionStatus != nil { - qrStatusConditionStatus = *o.StatusConditionStatus - } - qStatusConditionStatus := qrStatusConditionStatus - if qStatusConditionStatus != "" { - - if err := r.SetQueryParam("status.conditionStatus", qStatusConditionStatus); err != nil { - return err - } - } - } - - if o.StatusConditionType != nil { - - // query param status.conditionType - var qrStatusConditionType string - - if o.StatusConditionType != nil { - qrStatusConditionType = *o.StatusConditionType - } - qStatusConditionType := qrStatusConditionType - if qStatusConditionType != "" { - - if err := r.SetQueryParam("status.conditionType", qStatusConditionType); err != nil { - return err - } - } - } - - if o.StatusLastUpdated != nil { - - // query param status.lastUpdated - var qrStatusLastUpdated strfmt.DateTime - - if o.StatusLastUpdated != nil { - qrStatusLastUpdated = *o.StatusLastUpdated - } - qStatusLastUpdated := qrStatusLastUpdated.String() - if qStatusLastUpdated != "" { - - if err := r.SetQueryParam("status.lastUpdated", qStatusLastUpdated); err != nil { - return err - } - } - } - - if o.StatusReason != nil { - - // query param status.reason - var qrStatusReason string - - if o.StatusReason != nil { - qrStatusReason = *o.StatusReason - } - qStatusReason := qrStatusReason - if qStatusReason != "" { - - if err := r.SetQueryParam("status.reason", qStatusReason); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindParamOverrideGetOverride binds the parameter spec.clusterPlacement.nodeGroupingKeys -func (o *OverrideGetOverrideParams) bindParamSpecClusterPlacementNodeGroupingKeys(formats strfmt.Registry) []string { - specClusterPlacementNodeGroupingKeysIR := o.SpecClusterPlacementNodeGroupingKeys - - var specClusterPlacementNodeGroupingKeysIC []string - for _, specClusterPlacementNodeGroupingKeysIIR := range specClusterPlacementNodeGroupingKeysIR { // explode []string - - specClusterPlacementNodeGroupingKeysIIV := specClusterPlacementNodeGroupingKeysIIR // string as string - specClusterPlacementNodeGroupingKeysIC = append(specClusterPlacementNodeGroupingKeysIC, specClusterPlacementNodeGroupingKeysIIV) - } - - // items.CollectionFormat: "multi" - specClusterPlacementNodeGroupingKeysIS := swag.JoinByFormat(specClusterPlacementNodeGroupingKeysIC, "multi") - - return specClusterPlacementNodeGroupingKeysIS -} diff --git a/components/common/api/def/clients/config/client/override/override_get_override_responses.go b/components/common/api/def/clients/config/client/override/override_get_override_responses.go deleted file mode 100644 index 7ff8092..0000000 --- a/components/common/api/def/clients/config/client/override/override_get_override_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// OverrideGetOverrideReader is a Reader for the OverrideGetOverride structure. -type OverrideGetOverrideReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *OverrideGetOverrideReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewOverrideGetOverrideOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewOverrideGetOverrideForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewOverrideGetOverrideNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewOverrideGetOverrideDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewOverrideGetOverrideOK creates a OverrideGetOverrideOK with default headers values -func NewOverrideGetOverrideOK() *OverrideGetOverrideOK { - return &OverrideGetOverrideOK{} -} - -/* OverrideGetOverrideOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type OverrideGetOverrideOK struct { - Payload *models.ConfigOverride -} - -func (o *OverrideGetOverrideOK) Error() string { - return fmt.Sprintf("[GET /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideGetOverrideOK %+v", 200, o.Payload) -} -func (o *OverrideGetOverrideOK) GetPayload() *models.ConfigOverride { - return o.Payload -} - -func (o *OverrideGetOverrideOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.ConfigOverride) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideGetOverrideForbidden creates a OverrideGetOverrideForbidden with default headers values -func NewOverrideGetOverrideForbidden() *OverrideGetOverrideForbidden { - return &OverrideGetOverrideForbidden{} -} - -/* OverrideGetOverrideForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type OverrideGetOverrideForbidden struct { - Payload interface{} -} - -func (o *OverrideGetOverrideForbidden) Error() string { - return fmt.Sprintf("[GET /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideGetOverrideForbidden %+v", 403, o.Payload) -} -func (o *OverrideGetOverrideForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideGetOverrideForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideGetOverrideNotFound creates a OverrideGetOverrideNotFound with default headers values -func NewOverrideGetOverrideNotFound() *OverrideGetOverrideNotFound { - return &OverrideGetOverrideNotFound{} -} - -/* OverrideGetOverrideNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type OverrideGetOverrideNotFound struct { - Payload string -} - -func (o *OverrideGetOverrideNotFound) Error() string { - return fmt.Sprintf("[GET /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideGetOverrideNotFound %+v", 404, o.Payload) -} -func (o *OverrideGetOverrideNotFound) GetPayload() string { - return o.Payload -} - -func (o *OverrideGetOverrideNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideGetOverrideDefault creates a OverrideGetOverrideDefault with default headers values -func NewOverrideGetOverrideDefault(code int) *OverrideGetOverrideDefault { - return &OverrideGetOverrideDefault{ - _statusCode: code, - } -} - -/* OverrideGetOverrideDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type OverrideGetOverrideDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the override get override default response -func (o *OverrideGetOverrideDefault) Code() int { - return o._statusCode -} - -func (o *OverrideGetOverrideDefault) Error() string { - return fmt.Sprintf("[GET /v2/config/project/{metadata.project}/override/{metadata.name}][%d] Override_GetOverride default %+v", o._statusCode, o.Payload) -} -func (o *OverrideGetOverrideDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *OverrideGetOverrideDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_get_overrides_parameters.go b/components/common/api/def/clients/config/client/override/override_get_overrides_parameters.go deleted file mode 100644 index 8d6970c..0000000 --- a/components/common/api/def/clients/config/client/override/override_get_overrides_parameters.go +++ /dev/null @@ -1,866 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewOverrideGetOverridesParams creates a new OverrideGetOverridesParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewOverrideGetOverridesParams() *OverrideGetOverridesParams { - return &OverrideGetOverridesParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewOverrideGetOverridesParamsWithTimeout creates a new OverrideGetOverridesParams object -// with the ability to set a timeout on a request. -func NewOverrideGetOverridesParamsWithTimeout(timeout time.Duration) *OverrideGetOverridesParams { - return &OverrideGetOverridesParams{ - timeout: timeout, - } -} - -// NewOverrideGetOverridesParamsWithContext creates a new OverrideGetOverridesParams object -// with the ability to set a context for a request. -func NewOverrideGetOverridesParamsWithContext(ctx context.Context) *OverrideGetOverridesParams { - return &OverrideGetOverridesParams{ - Context: ctx, - } -} - -// NewOverrideGetOverridesParamsWithHTTPClient creates a new OverrideGetOverridesParams object -// with the ability to set a custom HTTPClient for a request. -func NewOverrideGetOverridesParamsWithHTTPClient(client *http.Client) *OverrideGetOverridesParams { - return &OverrideGetOverridesParams{ - HTTPClient: client, - } -} - -/* OverrideGetOverridesParams contains all the parameters to send to the API endpoint - for the override get overrides operation. - - Typically these are written to a http.Request. -*/ -type OverrideGetOverridesParams struct { - - // ID. - ID *string - - // BlueprintRef. - BlueprintRef *string - - // ClusterID. - ClusterID *string - - // Count. - // - // Format: int64 - Count *string - - // Deleted. - Deleted *bool - - /* DisplayName. - - displayName only used for update queries to set displayName (READONLY). - */ - DisplayName *string - - // Extended. - Extended *bool - - /* GlobalScope. - - globalScope sets partnerID,organizationID,projectID = 0. - */ - GlobalScope *bool - - // Groups. - Groups []string - - /* IgnoreScopeDefault. - - ignoreScopeDefault ignores default values for partnerID, organizationID and - projectID. - */ - IgnoreScopeDefault *bool - - // IsSSOUser. - IsSSOUser *bool - - // Limit. - // - // Format: int64 - Limit *string - - /* Name. - - name is unique ID of a resource along with (partnerID, organizationID, - projectID). - */ - Name *string - - // Offset. - // - // Format: int64 - Offset *string - - // Order. - Order *string - - // OrderBy. - OrderBy *string - - // OrganizationID. - OrganizationID *string - - // PartnerID. - PartnerID *string - - // ProjectID. - ProjectID *string - - // PublishedVersion. - PublishedVersion *string - - /* Selector. - - selector is used to filter the labels of a resource. - */ - Selector *string - - /* URLScope. - - urlScope is supposed to be passed in the URL as kind/HashID(value) - */ - URLScope string - - // Username. - Username *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the override get overrides params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideGetOverridesParams) WithDefaults() *OverrideGetOverridesParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the override get overrides params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideGetOverridesParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the override get overrides params -func (o *OverrideGetOverridesParams) WithTimeout(timeout time.Duration) *OverrideGetOverridesParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the override get overrides params -func (o *OverrideGetOverridesParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the override get overrides params -func (o *OverrideGetOverridesParams) WithContext(ctx context.Context) *OverrideGetOverridesParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the override get overrides params -func (o *OverrideGetOverridesParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the override get overrides params -func (o *OverrideGetOverridesParams) WithHTTPClient(client *http.Client) *OverrideGetOverridesParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the override get overrides params -func (o *OverrideGetOverridesParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithID adds the id to the override get overrides params -func (o *OverrideGetOverridesParams) WithID(id *string) *OverrideGetOverridesParams { - o.SetID(id) - return o -} - -// SetID adds the id to the override get overrides params -func (o *OverrideGetOverridesParams) SetID(id *string) { - o.ID = id -} - -// WithBlueprintRef adds the blueprintRef to the override get overrides params -func (o *OverrideGetOverridesParams) WithBlueprintRef(blueprintRef *string) *OverrideGetOverridesParams { - o.SetBlueprintRef(blueprintRef) - return o -} - -// SetBlueprintRef adds the blueprintRef to the override get overrides params -func (o *OverrideGetOverridesParams) SetBlueprintRef(blueprintRef *string) { - o.BlueprintRef = blueprintRef -} - -// WithClusterID adds the clusterID to the override get overrides params -func (o *OverrideGetOverridesParams) WithClusterID(clusterID *string) *OverrideGetOverridesParams { - o.SetClusterID(clusterID) - return o -} - -// SetClusterID adds the clusterId to the override get overrides params -func (o *OverrideGetOverridesParams) SetClusterID(clusterID *string) { - o.ClusterID = clusterID -} - -// WithCount adds the count to the override get overrides params -func (o *OverrideGetOverridesParams) WithCount(count *string) *OverrideGetOverridesParams { - o.SetCount(count) - return o -} - -// SetCount adds the count to the override get overrides params -func (o *OverrideGetOverridesParams) SetCount(count *string) { - o.Count = count -} - -// WithDeleted adds the deleted to the override get overrides params -func (o *OverrideGetOverridesParams) WithDeleted(deleted *bool) *OverrideGetOverridesParams { - o.SetDeleted(deleted) - return o -} - -// SetDeleted adds the deleted to the override get overrides params -func (o *OverrideGetOverridesParams) SetDeleted(deleted *bool) { - o.Deleted = deleted -} - -// WithDisplayName adds the displayName to the override get overrides params -func (o *OverrideGetOverridesParams) WithDisplayName(displayName *string) *OverrideGetOverridesParams { - o.SetDisplayName(displayName) - return o -} - -// SetDisplayName adds the displayName to the override get overrides params -func (o *OverrideGetOverridesParams) SetDisplayName(displayName *string) { - o.DisplayName = displayName -} - -// WithExtended adds the extended to the override get overrides params -func (o *OverrideGetOverridesParams) WithExtended(extended *bool) *OverrideGetOverridesParams { - o.SetExtended(extended) - return o -} - -// SetExtended adds the extended to the override get overrides params -func (o *OverrideGetOverridesParams) SetExtended(extended *bool) { - o.Extended = extended -} - -// WithGlobalScope adds the globalScope to the override get overrides params -func (o *OverrideGetOverridesParams) WithGlobalScope(globalScope *bool) *OverrideGetOverridesParams { - o.SetGlobalScope(globalScope) - return o -} - -// SetGlobalScope adds the globalScope to the override get overrides params -func (o *OverrideGetOverridesParams) SetGlobalScope(globalScope *bool) { - o.GlobalScope = globalScope -} - -// WithGroups adds the groups to the override get overrides params -func (o *OverrideGetOverridesParams) WithGroups(groups []string) *OverrideGetOverridesParams { - o.SetGroups(groups) - return o -} - -// SetGroups adds the groups to the override get overrides params -func (o *OverrideGetOverridesParams) SetGroups(groups []string) { - o.Groups = groups -} - -// WithIgnoreScopeDefault adds the ignoreScopeDefault to the override get overrides params -func (o *OverrideGetOverridesParams) WithIgnoreScopeDefault(ignoreScopeDefault *bool) *OverrideGetOverridesParams { - o.SetIgnoreScopeDefault(ignoreScopeDefault) - return o -} - -// SetIgnoreScopeDefault adds the ignoreScopeDefault to the override get overrides params -func (o *OverrideGetOverridesParams) SetIgnoreScopeDefault(ignoreScopeDefault *bool) { - o.IgnoreScopeDefault = ignoreScopeDefault -} - -// WithIsSSOUser adds the isSSOUser to the override get overrides params -func (o *OverrideGetOverridesParams) WithIsSSOUser(isSSOUser *bool) *OverrideGetOverridesParams { - o.SetIsSSOUser(isSSOUser) - return o -} - -// SetIsSSOUser adds the isSSOUser to the override get overrides params -func (o *OverrideGetOverridesParams) SetIsSSOUser(isSSOUser *bool) { - o.IsSSOUser = isSSOUser -} - -// WithLimit adds the limit to the override get overrides params -func (o *OverrideGetOverridesParams) WithLimit(limit *string) *OverrideGetOverridesParams { - o.SetLimit(limit) - return o -} - -// SetLimit adds the limit to the override get overrides params -func (o *OverrideGetOverridesParams) SetLimit(limit *string) { - o.Limit = limit -} - -// WithName adds the name to the override get overrides params -func (o *OverrideGetOverridesParams) WithName(name *string) *OverrideGetOverridesParams { - o.SetName(name) - return o -} - -// SetName adds the name to the override get overrides params -func (o *OverrideGetOverridesParams) SetName(name *string) { - o.Name = name -} - -// WithOffset adds the offset to the override get overrides params -func (o *OverrideGetOverridesParams) WithOffset(offset *string) *OverrideGetOverridesParams { - o.SetOffset(offset) - return o -} - -// SetOffset adds the offset to the override get overrides params -func (o *OverrideGetOverridesParams) SetOffset(offset *string) { - o.Offset = offset -} - -// WithOrder adds the order to the override get overrides params -func (o *OverrideGetOverridesParams) WithOrder(order *string) *OverrideGetOverridesParams { - o.SetOrder(order) - return o -} - -// SetOrder adds the order to the override get overrides params -func (o *OverrideGetOverridesParams) SetOrder(order *string) { - o.Order = order -} - -// WithOrderBy adds the orderBy to the override get overrides params -func (o *OverrideGetOverridesParams) WithOrderBy(orderBy *string) *OverrideGetOverridesParams { - o.SetOrderBy(orderBy) - return o -} - -// SetOrderBy adds the orderBy to the override get overrides params -func (o *OverrideGetOverridesParams) SetOrderBy(orderBy *string) { - o.OrderBy = orderBy -} - -// WithOrganizationID adds the organizationID to the override get overrides params -func (o *OverrideGetOverridesParams) WithOrganizationID(organizationID *string) *OverrideGetOverridesParams { - o.SetOrganizationID(organizationID) - return o -} - -// SetOrganizationID adds the organizationId to the override get overrides params -func (o *OverrideGetOverridesParams) SetOrganizationID(organizationID *string) { - o.OrganizationID = organizationID -} - -// WithPartnerID adds the partnerID to the override get overrides params -func (o *OverrideGetOverridesParams) WithPartnerID(partnerID *string) *OverrideGetOverridesParams { - o.SetPartnerID(partnerID) - return o -} - -// SetPartnerID adds the partnerId to the override get overrides params -func (o *OverrideGetOverridesParams) SetPartnerID(partnerID *string) { - o.PartnerID = partnerID -} - -// WithProjectID adds the projectID to the override get overrides params -func (o *OverrideGetOverridesParams) WithProjectID(projectID *string) *OverrideGetOverridesParams { - o.SetProjectID(projectID) - return o -} - -// SetProjectID adds the projectId to the override get overrides params -func (o *OverrideGetOverridesParams) SetProjectID(projectID *string) { - o.ProjectID = projectID -} - -// WithPublishedVersion adds the publishedVersion to the override get overrides params -func (o *OverrideGetOverridesParams) WithPublishedVersion(publishedVersion *string) *OverrideGetOverridesParams { - o.SetPublishedVersion(publishedVersion) - return o -} - -// SetPublishedVersion adds the publishedVersion to the override get overrides params -func (o *OverrideGetOverridesParams) SetPublishedVersion(publishedVersion *string) { - o.PublishedVersion = publishedVersion -} - -// WithSelector adds the selector to the override get overrides params -func (o *OverrideGetOverridesParams) WithSelector(selector *string) *OverrideGetOverridesParams { - o.SetSelector(selector) - return o -} - -// SetSelector adds the selector to the override get overrides params -func (o *OverrideGetOverridesParams) SetSelector(selector *string) { - o.Selector = selector -} - -// WithURLScope adds the uRLScope to the override get overrides params -func (o *OverrideGetOverridesParams) WithURLScope(uRLScope string) *OverrideGetOverridesParams { - o.SetURLScope(uRLScope) - return o -} - -// SetURLScope adds the urlScope to the override get overrides params -func (o *OverrideGetOverridesParams) SetURLScope(uRLScope string) { - o.URLScope = uRLScope -} - -// WithUsername adds the username to the override get overrides params -func (o *OverrideGetOverridesParams) WithUsername(username *string) *OverrideGetOverridesParams { - o.SetUsername(username) - return o -} - -// SetUsername adds the username to the override get overrides params -func (o *OverrideGetOverridesParams) SetUsername(username *string) { - o.Username = username -} - -// WriteToRequest writes these params to a swagger request -func (o *OverrideGetOverridesParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.ID != nil { - - // query param ID - var qrID string - - if o.ID != nil { - qrID = *o.ID - } - qID := qrID - if qID != "" { - - if err := r.SetQueryParam("ID", qID); err != nil { - return err - } - } - } - - if o.BlueprintRef != nil { - - // query param blueprintRef - var qrBlueprintRef string - - if o.BlueprintRef != nil { - qrBlueprintRef = *o.BlueprintRef - } - qBlueprintRef := qrBlueprintRef - if qBlueprintRef != "" { - - if err := r.SetQueryParam("blueprintRef", qBlueprintRef); err != nil { - return err - } - } - } - - if o.ClusterID != nil { - - // query param clusterID - var qrClusterID string - - if o.ClusterID != nil { - qrClusterID = *o.ClusterID - } - qClusterID := qrClusterID - if qClusterID != "" { - - if err := r.SetQueryParam("clusterID", qClusterID); err != nil { - return err - } - } - } - - if o.Count != nil { - - // query param count - var qrCount string - - if o.Count != nil { - qrCount = *o.Count - } - qCount := qrCount - if qCount != "" { - - if err := r.SetQueryParam("count", qCount); err != nil { - return err - } - } - } - - if o.Deleted != nil { - - // query param deleted - var qrDeleted bool - - if o.Deleted != nil { - qrDeleted = *o.Deleted - } - qDeleted := swag.FormatBool(qrDeleted) - if qDeleted != "" { - - if err := r.SetQueryParam("deleted", qDeleted); err != nil { - return err - } - } - } - - if o.DisplayName != nil { - - // query param displayName - var qrDisplayName string - - if o.DisplayName != nil { - qrDisplayName = *o.DisplayName - } - qDisplayName := qrDisplayName - if qDisplayName != "" { - - if err := r.SetQueryParam("displayName", qDisplayName); err != nil { - return err - } - } - } - - if o.Extended != nil { - - // query param extended - var qrExtended bool - - if o.Extended != nil { - qrExtended = *o.Extended - } - qExtended := swag.FormatBool(qrExtended) - if qExtended != "" { - - if err := r.SetQueryParam("extended", qExtended); err != nil { - return err - } - } - } - - if o.GlobalScope != nil { - - // query param globalScope - var qrGlobalScope bool - - if o.GlobalScope != nil { - qrGlobalScope = *o.GlobalScope - } - qGlobalScope := swag.FormatBool(qrGlobalScope) - if qGlobalScope != "" { - - if err := r.SetQueryParam("globalScope", qGlobalScope); err != nil { - return err - } - } - } - - if o.Groups != nil { - - // binding items for groups - joinedGroups := o.bindParamGroups(reg) - - // query array param groups - if err := r.SetQueryParam("groups", joinedGroups...); err != nil { - return err - } - } - - if o.IgnoreScopeDefault != nil { - - // query param ignoreScopeDefault - var qrIgnoreScopeDefault bool - - if o.IgnoreScopeDefault != nil { - qrIgnoreScopeDefault = *o.IgnoreScopeDefault - } - qIgnoreScopeDefault := swag.FormatBool(qrIgnoreScopeDefault) - if qIgnoreScopeDefault != "" { - - if err := r.SetQueryParam("ignoreScopeDefault", qIgnoreScopeDefault); err != nil { - return err - } - } - } - - if o.IsSSOUser != nil { - - // query param isSSOUser - var qrIsSSOUser bool - - if o.IsSSOUser != nil { - qrIsSSOUser = *o.IsSSOUser - } - qIsSSOUser := swag.FormatBool(qrIsSSOUser) - if qIsSSOUser != "" { - - if err := r.SetQueryParam("isSSOUser", qIsSSOUser); err != nil { - return err - } - } - } - - if o.Limit != nil { - - // query param limit - var qrLimit string - - if o.Limit != nil { - qrLimit = *o.Limit - } - qLimit := qrLimit - if qLimit != "" { - - if err := r.SetQueryParam("limit", qLimit); err != nil { - return err - } - } - } - - if o.Name != nil { - - // query param name - var qrName string - - if o.Name != nil { - qrName = *o.Name - } - qName := qrName - if qName != "" { - - if err := r.SetQueryParam("name", qName); err != nil { - return err - } - } - } - - if o.Offset != nil { - - // query param offset - var qrOffset string - - if o.Offset != nil { - qrOffset = *o.Offset - } - qOffset := qrOffset - if qOffset != "" { - - if err := r.SetQueryParam("offset", qOffset); err != nil { - return err - } - } - } - - if o.Order != nil { - - // query param order - var qrOrder string - - if o.Order != nil { - qrOrder = *o.Order - } - qOrder := qrOrder - if qOrder != "" { - - if err := r.SetQueryParam("order", qOrder); err != nil { - return err - } - } - } - - if o.OrderBy != nil { - - // query param orderBy - var qrOrderBy string - - if o.OrderBy != nil { - qrOrderBy = *o.OrderBy - } - qOrderBy := qrOrderBy - if qOrderBy != "" { - - if err := r.SetQueryParam("orderBy", qOrderBy); err != nil { - return err - } - } - } - - if o.OrganizationID != nil { - - // query param organizationID - var qrOrganizationID string - - if o.OrganizationID != nil { - qrOrganizationID = *o.OrganizationID - } - qOrganizationID := qrOrganizationID - if qOrganizationID != "" { - - if err := r.SetQueryParam("organizationID", qOrganizationID); err != nil { - return err - } - } - } - - if o.PartnerID != nil { - - // query param partnerID - var qrPartnerID string - - if o.PartnerID != nil { - qrPartnerID = *o.PartnerID - } - qPartnerID := qrPartnerID - if qPartnerID != "" { - - if err := r.SetQueryParam("partnerID", qPartnerID); err != nil { - return err - } - } - } - - if o.ProjectID != nil { - - // query param projectID - var qrProjectID string - - if o.ProjectID != nil { - qrProjectID = *o.ProjectID - } - qProjectID := qrProjectID - if qProjectID != "" { - - if err := r.SetQueryParam("projectID", qProjectID); err != nil { - return err - } - } - } - - if o.PublishedVersion != nil { - - // query param publishedVersion - var qrPublishedVersion string - - if o.PublishedVersion != nil { - qrPublishedVersion = *o.PublishedVersion - } - qPublishedVersion := qrPublishedVersion - if qPublishedVersion != "" { - - if err := r.SetQueryParam("publishedVersion", qPublishedVersion); err != nil { - return err - } - } - } - - if o.Selector != nil { - - // query param selector - var qrSelector string - - if o.Selector != nil { - qrSelector = *o.Selector - } - qSelector := qrSelector - if qSelector != "" { - - if err := r.SetQueryParam("selector", qSelector); err != nil { - return err - } - } - } - - // path param urlScope - if err := r.SetPathParam("urlScope", o.URLScope); err != nil { - return err - } - - if o.Username != nil { - - // query param username - var qrUsername string - - if o.Username != nil { - qrUsername = *o.Username - } - qUsername := qrUsername - if qUsername != "" { - - if err := r.SetQueryParam("username", qUsername); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindParamOverrideGetOverrides binds the parameter groups -func (o *OverrideGetOverridesParams) bindParamGroups(formats strfmt.Registry) []string { - groupsIR := o.Groups - - var groupsIC []string - for _, groupsIIR := range groupsIR { // explode []string - - groupsIIV := groupsIIR // string as string - groupsIC = append(groupsIC, groupsIIV) - } - - // items.CollectionFormat: "multi" - groupsIS := swag.JoinByFormat(groupsIC, "multi") - - return groupsIS -} diff --git a/components/common/api/def/clients/config/client/override/override_get_overrides_responses.go b/components/common/api/def/clients/config/client/override/override_get_overrides_responses.go deleted file mode 100644 index 5686a8f..0000000 --- a/components/common/api/def/clients/config/client/override/override_get_overrides_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// OverrideGetOverridesReader is a Reader for the OverrideGetOverrides structure. -type OverrideGetOverridesReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *OverrideGetOverridesReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewOverrideGetOverridesOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewOverrideGetOverridesForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewOverrideGetOverridesNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewOverrideGetOverridesDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewOverrideGetOverridesOK creates a OverrideGetOverridesOK with default headers values -func NewOverrideGetOverridesOK() *OverrideGetOverridesOK { - return &OverrideGetOverridesOK{} -} - -/* OverrideGetOverridesOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type OverrideGetOverridesOK struct { - Payload *models.ConfigOverrideList -} - -func (o *OverrideGetOverridesOK) Error() string { - return fmt.Sprintf("[GET /v2/config/{urlScope}/override][%d] overrideGetOverridesOK %+v", 200, o.Payload) -} -func (o *OverrideGetOverridesOK) GetPayload() *models.ConfigOverrideList { - return o.Payload -} - -func (o *OverrideGetOverridesOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.ConfigOverrideList) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideGetOverridesForbidden creates a OverrideGetOverridesForbidden with default headers values -func NewOverrideGetOverridesForbidden() *OverrideGetOverridesForbidden { - return &OverrideGetOverridesForbidden{} -} - -/* OverrideGetOverridesForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type OverrideGetOverridesForbidden struct { - Payload interface{} -} - -func (o *OverrideGetOverridesForbidden) Error() string { - return fmt.Sprintf("[GET /v2/config/{urlScope}/override][%d] overrideGetOverridesForbidden %+v", 403, o.Payload) -} -func (o *OverrideGetOverridesForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideGetOverridesForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideGetOverridesNotFound creates a OverrideGetOverridesNotFound with default headers values -func NewOverrideGetOverridesNotFound() *OverrideGetOverridesNotFound { - return &OverrideGetOverridesNotFound{} -} - -/* OverrideGetOverridesNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type OverrideGetOverridesNotFound struct { - Payload string -} - -func (o *OverrideGetOverridesNotFound) Error() string { - return fmt.Sprintf("[GET /v2/config/{urlScope}/override][%d] overrideGetOverridesNotFound %+v", 404, o.Payload) -} -func (o *OverrideGetOverridesNotFound) GetPayload() string { - return o.Payload -} - -func (o *OverrideGetOverridesNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideGetOverridesDefault creates a OverrideGetOverridesDefault with default headers values -func NewOverrideGetOverridesDefault(code int) *OverrideGetOverridesDefault { - return &OverrideGetOverridesDefault{ - _statusCode: code, - } -} - -/* OverrideGetOverridesDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type OverrideGetOverridesDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the override get overrides default response -func (o *OverrideGetOverridesDefault) Code() int { - return o._statusCode -} - -func (o *OverrideGetOverridesDefault) Error() string { - return fmt.Sprintf("[GET /v2/config/{urlScope}/override][%d] Override_GetOverrides default %+v", o._statusCode, o.Payload) -} -func (o *OverrideGetOverridesDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *OverrideGetOverridesDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_update_override_parameters.go b/components/common/api/def/clients/config/client/override/override_update_override_parameters.go deleted file mode 100644 index 53522e3..0000000 --- a/components/common/api/def/clients/config/client/override/override_update_override_parameters.go +++ /dev/null @@ -1,192 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// NewOverrideUpdateOverrideParams creates a new OverrideUpdateOverrideParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewOverrideUpdateOverrideParams() *OverrideUpdateOverrideParams { - return &OverrideUpdateOverrideParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewOverrideUpdateOverrideParamsWithTimeout creates a new OverrideUpdateOverrideParams object -// with the ability to set a timeout on a request. -func NewOverrideUpdateOverrideParamsWithTimeout(timeout time.Duration) *OverrideUpdateOverrideParams { - return &OverrideUpdateOverrideParams{ - timeout: timeout, - } -} - -// NewOverrideUpdateOverrideParamsWithContext creates a new OverrideUpdateOverrideParams object -// with the ability to set a context for a request. -func NewOverrideUpdateOverrideParamsWithContext(ctx context.Context) *OverrideUpdateOverrideParams { - return &OverrideUpdateOverrideParams{ - Context: ctx, - } -} - -// NewOverrideUpdateOverrideParamsWithHTTPClient creates a new OverrideUpdateOverrideParams object -// with the ability to set a custom HTTPClient for a request. -func NewOverrideUpdateOverrideParamsWithHTTPClient(client *http.Client) *OverrideUpdateOverrideParams { - return &OverrideUpdateOverrideParams{ - HTTPClient: client, - } -} - -/* OverrideUpdateOverrideParams contains all the parameters to send to the API endpoint - for the override update override operation. - - Typically these are written to a http.Request. -*/ -type OverrideUpdateOverrideParams struct { - - // Body. - Body *models.ConfigOverride - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the override update override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideUpdateOverrideParams) WithDefaults() *OverrideUpdateOverrideParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the override update override params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *OverrideUpdateOverrideParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the override update override params -func (o *OverrideUpdateOverrideParams) WithTimeout(timeout time.Duration) *OverrideUpdateOverrideParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the override update override params -func (o *OverrideUpdateOverrideParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the override update override params -func (o *OverrideUpdateOverrideParams) WithContext(ctx context.Context) *OverrideUpdateOverrideParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the override update override params -func (o *OverrideUpdateOverrideParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the override update override params -func (o *OverrideUpdateOverrideParams) WithHTTPClient(client *http.Client) *OverrideUpdateOverrideParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the override update override params -func (o *OverrideUpdateOverrideParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the override update override params -func (o *OverrideUpdateOverrideParams) WithBody(body *models.ConfigOverride) *OverrideUpdateOverrideParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the override update override params -func (o *OverrideUpdateOverrideParams) SetBody(body *models.ConfigOverride) { - o.Body = body -} - -// WithMetadataName adds the metadataName to the override update override params -func (o *OverrideUpdateOverrideParams) WithMetadataName(metadataName string) *OverrideUpdateOverrideParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the override update override params -func (o *OverrideUpdateOverrideParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataProject adds the metadataProject to the override update override params -func (o *OverrideUpdateOverrideParams) WithMetadataProject(metadataProject string) *OverrideUpdateOverrideParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the override update override params -func (o *OverrideUpdateOverrideParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WriteToRequest writes these params to a swagger request -func (o *OverrideUpdateOverrideParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/config/client/override/override_update_override_responses.go b/components/common/api/def/clients/config/client/override/override_update_override_responses.go deleted file mode 100644 index f2b6101..0000000 --- a/components/common/api/def/clients/config/client/override/override_update_override_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package override - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/models" -) - -// OverrideUpdateOverrideReader is a Reader for the OverrideUpdateOverride structure. -type OverrideUpdateOverrideReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *OverrideUpdateOverrideReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewOverrideUpdateOverrideOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewOverrideUpdateOverrideForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewOverrideUpdateOverrideNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewOverrideUpdateOverrideDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewOverrideUpdateOverrideOK creates a OverrideUpdateOverrideOK with default headers values -func NewOverrideUpdateOverrideOK() *OverrideUpdateOverrideOK { - return &OverrideUpdateOverrideOK{} -} - -/* OverrideUpdateOverrideOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type OverrideUpdateOverrideOK struct { - Payload *models.ConfigOverride -} - -func (o *OverrideUpdateOverrideOK) Error() string { - return fmt.Sprintf("[PUT /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideUpdateOverrideOK %+v", 200, o.Payload) -} -func (o *OverrideUpdateOverrideOK) GetPayload() *models.ConfigOverride { - return o.Payload -} - -func (o *OverrideUpdateOverrideOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.ConfigOverride) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideUpdateOverrideForbidden creates a OverrideUpdateOverrideForbidden with default headers values -func NewOverrideUpdateOverrideForbidden() *OverrideUpdateOverrideForbidden { - return &OverrideUpdateOverrideForbidden{} -} - -/* OverrideUpdateOverrideForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type OverrideUpdateOverrideForbidden struct { - Payload interface{} -} - -func (o *OverrideUpdateOverrideForbidden) Error() string { - return fmt.Sprintf("[PUT /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideUpdateOverrideForbidden %+v", 403, o.Payload) -} -func (o *OverrideUpdateOverrideForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *OverrideUpdateOverrideForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideUpdateOverrideNotFound creates a OverrideUpdateOverrideNotFound with default headers values -func NewOverrideUpdateOverrideNotFound() *OverrideUpdateOverrideNotFound { - return &OverrideUpdateOverrideNotFound{} -} - -/* OverrideUpdateOverrideNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type OverrideUpdateOverrideNotFound struct { - Payload string -} - -func (o *OverrideUpdateOverrideNotFound) Error() string { - return fmt.Sprintf("[PUT /v2/config/project/{metadata.project}/override/{metadata.name}][%d] overrideUpdateOverrideNotFound %+v", 404, o.Payload) -} -func (o *OverrideUpdateOverrideNotFound) GetPayload() string { - return o.Payload -} - -func (o *OverrideUpdateOverrideNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewOverrideUpdateOverrideDefault creates a OverrideUpdateOverrideDefault with default headers values -func NewOverrideUpdateOverrideDefault(code int) *OverrideUpdateOverrideDefault { - return &OverrideUpdateOverrideDefault{ - _statusCode: code, - } -} - -/* OverrideUpdateOverrideDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type OverrideUpdateOverrideDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the override update override default response -func (o *OverrideUpdateOverrideDefault) Code() int { - return o._statusCode -} - -func (o *OverrideUpdateOverrideDefault) Error() string { - return fmt.Sprintf("[PUT /v2/config/project/{metadata.project}/override/{metadata.name}][%d] Override_UpdateOverride default %+v", o._statusCode, o.Payload) -} -func (o *OverrideUpdateOverrideDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *OverrideUpdateOverrideDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/config/client/override_service_client.go b/components/common/api/def/clients/config/client/override_service_client.go deleted file mode 100644 index b9bfde1..0000000 --- a/components/common/api/def/clients/config/client/override_service_client.go +++ /dev/null @@ -1,112 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package client - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "github.com/go-openapi/runtime" - httptransport "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/config/client/override" -) - -// Default override service HTTP client. -var Default = NewHTTPClient(nil) - -const ( - // DefaultHost is the default Host - // found in Meta (info) section of spec file - DefaultHost string = "localhost" - // DefaultBasePath is the default BasePath - // found in Meta (info) section of spec file - DefaultBasePath string = "/" -) - -// DefaultSchemes are the default schemes found in Meta (info) section of spec file -var DefaultSchemes = []string{"https"} - -// NewHTTPClient creates a new override service HTTP client. -func NewHTTPClient(formats strfmt.Registry) *OverrideService { - return NewHTTPClientWithConfig(formats, nil) -} - -// NewHTTPClientWithConfig creates a new override service HTTP client, -// using a customizable transport config. -func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *OverrideService { - // ensure nullable parameters have default - if cfg == nil { - cfg = DefaultTransportConfig() - } - - // create transport and client - transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes) - return New(transport, formats) -} - -// New creates a new override service client -func New(transport runtime.ClientTransport, formats strfmt.Registry) *OverrideService { - // ensure nullable parameters have default - if formats == nil { - formats = strfmt.Default - } - - cli := new(OverrideService) - cli.Transport = transport - cli.Override = override.New(transport, formats) - return cli -} - -// DefaultTransportConfig creates a TransportConfig with the -// default settings taken from the meta section of the spec file. -func DefaultTransportConfig() *TransportConfig { - return &TransportConfig{ - Host: DefaultHost, - BasePath: DefaultBasePath, - Schemes: DefaultSchemes, - } -} - -// TransportConfig contains the transport related info, -// found in the meta section of the spec file. -type TransportConfig struct { - Host string - BasePath string - Schemes []string -} - -// WithHost overrides the default host, -// provided by the meta section of the spec file. -func (cfg *TransportConfig) WithHost(host string) *TransportConfig { - cfg.Host = host - return cfg -} - -// WithBasePath overrides the default basePath, -// provided by the meta section of the spec file. -func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig { - cfg.BasePath = basePath - return cfg -} - -// WithSchemes overrides the default schemes, -// provided by the meta section of the spec file. -func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig { - cfg.Schemes = schemes - return cfg -} - -// OverrideService is a client for override service -type OverrideService struct { - Override override.ClientService - - Transport runtime.ClientTransport -} - -// SetTransport changes the transport on the client and all its subresources -func (c *OverrideService) SetTransport(transport runtime.ClientTransport) { - c.Transport = transport - c.Override.SetTransport(transport) -} diff --git a/components/common/api/def/clients/config/models/commonv3_status.go b/components/common/api/def/clients/config/models/commonv3_status.go deleted file mode 100644 index f5e5828..0000000 --- a/components/common/api/def/clients/config/models/commonv3_status.go +++ /dev/null @@ -1,221 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// Commonv3Status Status -// -// status of a resource -// -// swagger:model commonv3Status -type Commonv3Status struct { - - // Condition Status - // - // status of the condition - // Read Only: true - // Enum: [StatusNotSet StatusSubmitted StatusOK StatusFailed] - ConditionStatus *V3ConditionStatus `json:"conditionStatus,omitempty"` - - // Condition Type - // - // type of the status condition - // Read Only: true - ConditionType string `json:"conditionType,omitempty"` - - // Last Updated - // - // when the condition status is last updated - // Read Only: true - // Format: date-time - LastUpdated strfmt.DateTime `json:"lastUpdated,omitempty"` - - // Reason - // - // reason of the last condition status - // Read Only: true - Reason string `json:"reason,omitempty"` -} - -// Validate validates this commonv3 status -func (m *Commonv3Status) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateConditionStatus(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLastUpdated(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -var commonv3StatusTypeConditionStatusPropEnum []interface{} - -func init() { - var res []V3ConditionStatus - if err := json.Unmarshal([]byte(`["StatusNotSet","StatusSubmitted","StatusOK","StatusFailed"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - commonv3StatusTypeConditionStatusPropEnum = append(commonv3StatusTypeConditionStatusPropEnum, v) - } -} - -const ( - - // Commonv3StatusConditionStatusStatusNotSet captures enum value "StatusNotSet" - Commonv3StatusConditionStatusStatusNotSet V3ConditionStatus = "StatusNotSet" - - // Commonv3StatusConditionStatusStatusSubmitted captures enum value "StatusSubmitted" - Commonv3StatusConditionStatusStatusSubmitted V3ConditionStatus = "StatusSubmitted" - - // Commonv3StatusConditionStatusStatusOK captures enum value "StatusOK" - Commonv3StatusConditionStatusStatusOK V3ConditionStatus = "StatusOK" - - // Commonv3StatusConditionStatusStatusFailed captures enum value "StatusFailed" - Commonv3StatusConditionStatusStatusFailed V3ConditionStatus = "StatusFailed" -) - -// prop value enum -func (m *Commonv3Status) validateConditionStatusEnum(path, location string, value V3ConditionStatus) error { - if err := validate.EnumCase(path, location, value, commonv3StatusTypeConditionStatusPropEnum, true); err != nil { - return err - } - return nil -} - -func (m *Commonv3Status) validateConditionStatus(formats strfmt.Registry) error { - if swag.IsZero(m.ConditionStatus) { // not required - return nil - } - - if m.ConditionStatus != nil { - if err := m.ConditionStatus.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("conditionStatus") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("conditionStatus") - } - return err - } - } - - return nil -} - -func (m *Commonv3Status) validateLastUpdated(formats strfmt.Registry) error { - if swag.IsZero(m.LastUpdated) { // not required - return nil - } - - if err := validate.FormatOf("lastUpdated", "body", "date-time", m.LastUpdated.String(), formats); err != nil { - return err - } - - return nil -} - -// ContextValidate validate this commonv3 status based on the context it is used -func (m *Commonv3Status) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateConditionStatus(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateConditionType(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLastUpdated(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateReason(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Commonv3Status) contextValidateConditionStatus(ctx context.Context, formats strfmt.Registry) error { - - if m.ConditionStatus != nil { - if err := m.ConditionStatus.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("conditionStatus") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("conditionStatus") - } - return err - } - } - - return nil -} - -func (m *Commonv3Status) contextValidateConditionType(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "conditionType", "body", string(m.ConditionType)); err != nil { - return err - } - - return nil -} - -func (m *Commonv3Status) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "lastUpdated", "body", strfmt.DateTime(m.LastUpdated)); err != nil { - return err - } - - return nil -} - -func (m *Commonv3Status) contextValidateReason(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "reason", "body", string(m.Reason)); err != nil { - return err - } - - return nil -} - -// MarshalBinary interface implementation -func (m *Commonv3Status) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Commonv3Status) UnmarshalBinary(b []byte) error { - var res Commonv3Status - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_drift_reconcillation_action.go b/components/common/api/def/clients/config/models/config_drift_reconcillation_action.go deleted file mode 100644 index 33f7bdf..0000000 --- a/components/common/api/def/clients/config/models/config_drift_reconcillation_action.go +++ /dev/null @@ -1,81 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// ConfigDriftReconcillationAction config drift reconcillation action -// -// swagger:model configDriftReconcillationAction -type ConfigDriftReconcillationAction string - -func NewConfigDriftReconcillationAction(value ConfigDriftReconcillationAction) *ConfigDriftReconcillationAction { - return &value -} - -// Pointer returns a pointer to a freshly-allocated ConfigDriftReconcillationAction. -func (m ConfigDriftReconcillationAction) Pointer() *ConfigDriftReconcillationAction { - return &m -} - -const ( - - // ConfigDriftReconcillationActionDriftReconcillationActionNotSet captures enum value "DriftReconcillationActionNotSet" - ConfigDriftReconcillationActionDriftReconcillationActionNotSet ConfigDriftReconcillationAction = "DriftReconcillationActionNotSet" - - // ConfigDriftReconcillationActionDriftReconcillationActionNotify captures enum value "DriftReconcillationActionNotify" - ConfigDriftReconcillationActionDriftReconcillationActionNotify ConfigDriftReconcillationAction = "DriftReconcillationActionNotify" - - // ConfigDriftReconcillationActionDriftReconcillationActionDeny captures enum value "DriftReconcillationActionDeny" - ConfigDriftReconcillationActionDriftReconcillationActionDeny ConfigDriftReconcillationAction = "DriftReconcillationActionDeny" -) - -// for schema -var configDriftReconcillationActionEnum []interface{} - -func init() { - var res []ConfigDriftReconcillationAction - if err := json.Unmarshal([]byte(`["DriftReconcillationActionNotSet","DriftReconcillationActionNotify","DriftReconcillationActionDeny"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - configDriftReconcillationActionEnum = append(configDriftReconcillationActionEnum, v) - } -} - -func (m ConfigDriftReconcillationAction) validateConfigDriftReconcillationActionEnum(path, location string, value ConfigDriftReconcillationAction) error { - if err := validate.EnumCase(path, location, value, configDriftReconcillationActionEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this config drift reconcillation action -func (m ConfigDriftReconcillationAction) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateConfigDriftReconcillationActionEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this config drift reconcillation action based on context it is used -func (m ConfigDriftReconcillationAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/config/models/config_file_type.go b/components/common/api/def/clients/config/models/config_file_type.go deleted file mode 100644 index 9afc45e..0000000 --- a/components/common/api/def/clients/config/models/config_file_type.go +++ /dev/null @@ -1,87 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// ConfigFileType config file type -// -// swagger:model configFileType -type ConfigFileType string - -func NewConfigFileType(value ConfigFileType) *ConfigFileType { - return &value -} - -// Pointer returns a pointer to a freshly-allocated ConfigFileType. -func (m ConfigFileType) Pointer() *ConfigFileType { - return &m -} - -const ( - - // ConfigFileTypeFileTypeNotSet captures enum value "FileTypeNotSet" - ConfigFileTypeFileTypeNotSet ConfigFileType = "FileTypeNotSet" - - // ConfigFileTypeK8sYAMLFile captures enum value "K8sYAMLFile" - ConfigFileTypeK8sYAMLFile ConfigFileType = "K8sYAMLFile" - - // ConfigFileTypeHelmChartFile captures enum value "HelmChartFile" - ConfigFileTypeHelmChartFile ConfigFileType = "HelmChartFile" - - // ConfigFileTypeHelmValuesFile captures enum value "HelmValuesFile" - ConfigFileTypeHelmValuesFile ConfigFileType = "HelmValuesFile" - - // ConfigFileTypeJSONFile captures enum value "JSONFile" - ConfigFileTypeJSONFile ConfigFileType = "JSONFile" -) - -// for schema -var configFileTypeEnum []interface{} - -func init() { - var res []ConfigFileType - if err := json.Unmarshal([]byte(`["FileTypeNotSet","K8sYAMLFile","HelmChartFile","HelmValuesFile","JSONFile"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - configFileTypeEnum = append(configFileTypeEnum, v) - } -} - -func (m ConfigFileType) validateConfigFileTypeEnum(path, location string, value ConfigFileType) error { - if err := validate.EnumCase(path, location, value, configFileTypeEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this config file type -func (m ConfigFileType) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateConfigFileTypeEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this config file type based on context it is used -func (m ConfigFileType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/config/models/config_git_options.go b/components/common/api/def/clients/config/models/config_git_options.go deleted file mode 100644 index 6f90386..0000000 --- a/components/common/api/def/clients/config/models/config_git_options.go +++ /dev/null @@ -1,119 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ConfigGitOptions config git options -// -// swagger:model configGitOptions -type ConfigGitOptions struct { - - // repo artifact files - RepoArtifactFiles []*ConfigRepoFile `json:"repoArtifactFiles"` - - // revision - Revision string `json:"revision,omitempty"` -} - -// Validate validates this config git options -func (m *ConfigGitOptions) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateRepoArtifactFiles(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigGitOptions) validateRepoArtifactFiles(formats strfmt.Registry) error { - if swag.IsZero(m.RepoArtifactFiles) { // not required - return nil - } - - for i := 0; i < len(m.RepoArtifactFiles); i++ { - if swag.IsZero(m.RepoArtifactFiles[i]) { // not required - continue - } - - if m.RepoArtifactFiles[i] != nil { - if err := m.RepoArtifactFiles[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("repoArtifactFiles" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("repoArtifactFiles" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this config git options based on the context it is used -func (m *ConfigGitOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateRepoArtifactFiles(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigGitOptions) contextValidateRepoArtifactFiles(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.RepoArtifactFiles); i++ { - - if m.RepoArtifactFiles[i] != nil { - if err := m.RepoArtifactFiles[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("repoArtifactFiles" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("repoArtifactFiles" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigGitOptions) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigGitOptions) UnmarshalBinary(b []byte) error { - var res ConfigGitOptions - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_helm_options.go b/components/common/api/def/clients/config/models/config_helm_options.go deleted file mode 100644 index e0fdcce..0000000 --- a/components/common/api/def/clients/config/models/config_helm_options.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ConfigHelmOptions config helm options -// -// swagger:model configHelmOptions -type ConfigHelmOptions struct { - - // chart name - ChartName string `json:"chartName,omitempty"` - - // tag - Tag string `json:"tag,omitempty"` -} - -// Validate validates this config helm options -func (m *ConfigHelmOptions) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this config helm options based on context it is used -func (m *ConfigHelmOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigHelmOptions) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigHelmOptions) UnmarshalBinary(b []byte) error { - var res ConfigHelmOptions - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_namespace_template.go b/components/common/api/def/clients/config/models/config_namespace_template.go deleted file mode 100644 index 9ed11bd..0000000 --- a/components/common/api/def/clients/config/models/config_namespace_template.go +++ /dev/null @@ -1,346 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ConfigNamespaceTemplate NamespaceTemplate is the template for creating namespace -// -// swagger:model configNamespaceTemplate -type ConfigNamespaceTemplate struct { - - // limit range - LimitRange *TypesconfigLimitRange `json:"limitRange,omitempty"` - - // namespace from file - NamespaceFromFile string `json:"namespaceFromFile,omitempty"` - - // namespace from repo - NamespaceFromRepo string `json:"namespaceFromRepo,omitempty"` - - // object meta - ObjectMeta *V1ObjectMeta `json:"objectMeta,omitempty"` - - // placement - Placement *TypesconfigPlacementSpec `json:"placement,omitempty"` - - // repo artifact meta - RepoArtifactMeta *ConfigRepoArtifactMeta `json:"repoArtifactMeta,omitempty"` - - // repo ref - RepoRef string `json:"repoRef,omitempty"` - - // resource quota - ResourceQuota *TypesconfigResourceQuota `json:"resourceQuota,omitempty"` - - // spec - Spec *TypescontrollerNamespaceSpec `json:"spec,omitempty"` - - // type - Type string `json:"type,omitempty"` -} - -// Validate validates this config namespace template -func (m *ConfigNamespaceTemplate) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLimitRange(formats); err != nil { - res = append(res, err) - } - - if err := m.validateObjectMeta(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePlacement(formats); err != nil { - res = append(res, err) - } - - if err := m.validateRepoArtifactMeta(formats); err != nil { - res = append(res, err) - } - - if err := m.validateResourceQuota(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSpec(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigNamespaceTemplate) validateLimitRange(formats strfmt.Registry) error { - if swag.IsZero(m.LimitRange) { // not required - return nil - } - - if m.LimitRange != nil { - if err := m.LimitRange.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("limitRange") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("limitRange") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) validateObjectMeta(formats strfmt.Registry) error { - if swag.IsZero(m.ObjectMeta) { // not required - return nil - } - - if m.ObjectMeta != nil { - if err := m.ObjectMeta.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("objectMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("objectMeta") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) validatePlacement(formats strfmt.Registry) error { - if swag.IsZero(m.Placement) { // not required - return nil - } - - if m.Placement != nil { - if err := m.Placement.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("placement") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("placement") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) validateRepoArtifactMeta(formats strfmt.Registry) error { - if swag.IsZero(m.RepoArtifactMeta) { // not required - return nil - } - - if m.RepoArtifactMeta != nil { - if err := m.RepoArtifactMeta.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("repoArtifactMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("repoArtifactMeta") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) validateResourceQuota(formats strfmt.Registry) error { - if swag.IsZero(m.ResourceQuota) { // not required - return nil - } - - if m.ResourceQuota != nil { - if err := m.ResourceQuota.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resourceQuota") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resourceQuota") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) validateSpec(formats strfmt.Registry) error { - if swag.IsZero(m.Spec) { // not required - return nil - } - - if m.Spec != nil { - if err := m.Spec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// ContextValidate validate this config namespace template based on the context it is used -func (m *ConfigNamespaceTemplate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLimitRange(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateObjectMeta(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePlacement(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateRepoArtifactMeta(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateResourceQuota(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSpec(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigNamespaceTemplate) contextValidateLimitRange(ctx context.Context, formats strfmt.Registry) error { - - if m.LimitRange != nil { - if err := m.LimitRange.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("limitRange") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("limitRange") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) contextValidateObjectMeta(ctx context.Context, formats strfmt.Registry) error { - - if m.ObjectMeta != nil { - if err := m.ObjectMeta.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("objectMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("objectMeta") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) contextValidatePlacement(ctx context.Context, formats strfmt.Registry) error { - - if m.Placement != nil { - if err := m.Placement.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("placement") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("placement") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) contextValidateRepoArtifactMeta(ctx context.Context, formats strfmt.Registry) error { - - if m.RepoArtifactMeta != nil { - if err := m.RepoArtifactMeta.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("repoArtifactMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("repoArtifactMeta") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) contextValidateResourceQuota(ctx context.Context, formats strfmt.Registry) error { - - if m.ResourceQuota != nil { - if err := m.ResourceQuota.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resourceQuota") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resourceQuota") - } - return err - } - } - - return nil -} - -func (m *ConfigNamespaceTemplate) contextValidateSpec(ctx context.Context, formats strfmt.Registry) error { - - if m.Spec != nil { - if err := m.Spec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigNamespaceTemplate) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigNamespaceTemplate) UnmarshalBinary(b []byte) error { - var res ConfigNamespaceTemplate - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_override.go b/components/common/api/def/clients/config/models/config_override.go deleted file mode 100644 index 8cf575a..0000000 --- a/components/common/api/def/clients/config/models/config_override.go +++ /dev/null @@ -1,274 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// ConfigOverride Override -// -// Override -// -// swagger:model configOverride -type ConfigOverride struct { - - // API Version - // - // API Version of the resource - // Required: true - // Read Only: true - APIVersion string `json:"apiVersion"` - - // Kind - // - // Kind of the resource - // Required: true - // Read Only: true - Kind string `json:"kind"` - - // Metadata - // - // Metadata of the resource - // Required: true - Metadata *V3Metadata `json:"metadata"` - - // spec - // Required: true - Spec *ConfigOverrideSpec `json:"spec"` - - // Status - // - // Status of the resource - // Read Only: true - Status *Commonv3Status `json:"status,omitempty"` -} - -// Validate validates this config override -func (m *ConfigOverride) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateAPIVersion(formats); err != nil { - res = append(res, err) - } - - if err := m.validateKind(formats); err != nil { - res = append(res, err) - } - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSpec(formats); err != nil { - res = append(res, err) - } - - if err := m.validateStatus(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigOverride) validateAPIVersion(formats strfmt.Registry) error { - - if err := validate.RequiredString("apiVersion", "body", m.APIVersion); err != nil { - return err - } - - return nil -} - -func (m *ConfigOverride) validateKind(formats strfmt.Registry) error { - - if err := validate.RequiredString("kind", "body", m.Kind); err != nil { - return err - } - - return nil -} - -func (m *ConfigOverride) validateMetadata(formats strfmt.Registry) error { - - if err := validate.Required("metadata", "body", m.Metadata); err != nil { - return err - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *ConfigOverride) validateSpec(formats strfmt.Registry) error { - - if err := validate.Required("spec", "body", m.Spec); err != nil { - return err - } - - if m.Spec != nil { - if err := m.Spec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -func (m *ConfigOverride) validateStatus(formats strfmt.Registry) error { - if swag.IsZero(m.Status) { // not required - return nil - } - - if m.Status != nil { - if err := m.Status.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("status") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("status") - } - return err - } - } - - return nil -} - -// ContextValidate validate this config override based on the context it is used -func (m *ConfigOverride) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAPIVersion(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateKind(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSpec(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateStatus(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigOverride) contextValidateAPIVersion(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "apiVersion", "body", string(m.APIVersion)); err != nil { - return err - } - - return nil -} - -func (m *ConfigOverride) contextValidateKind(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "kind", "body", string(m.Kind)); err != nil { - return err - } - - return nil -} - -func (m *ConfigOverride) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *ConfigOverride) contextValidateSpec(ctx context.Context, formats strfmt.Registry) error { - - if m.Spec != nil { - if err := m.Spec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -func (m *ConfigOverride) contextValidateStatus(ctx context.Context, formats strfmt.Registry) error { - - if m.Status != nil { - if err := m.Status.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("status") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("status") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigOverride) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigOverride) UnmarshalBinary(b []byte) error { - var res ConfigOverride - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_override_list.go b/components/common/api/def/clients/config/models/config_override_list.go deleted file mode 100644 index ca935a3..0000000 --- a/components/common/api/def/clients/config/models/config_override_list.go +++ /dev/null @@ -1,204 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// ConfigOverrideList OverrideList is a list of overrides -// -// swagger:model configOverrideList -type ConfigOverrideList struct { - - // API Version - // - // API Version of the list resource - // Read Only: true - APIVersion string `json:"apiVersion,omitempty"` - - // items - Items []*ConfigOverride `json:"items"` - - // Kind - // - // Kind of the list resource - // Read Only: true - Kind string `json:"kind,omitempty"` - - // ListMetadata - // - // Metadata of the list resource - // Read Only: true - Metadata *V3ListMetadata `json:"metadata,omitempty"` -} - -// Validate validates this config override list -func (m *ConfigOverrideList) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigOverrideList) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *ConfigOverrideList) validateMetadata(formats strfmt.Registry) error { - if swag.IsZero(m.Metadata) { // not required - return nil - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -// ContextValidate validate this config override list based on the context it is used -func (m *ConfigOverrideList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAPIVersion(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateKind(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigOverrideList) contextValidateAPIVersion(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "apiVersion", "body", string(m.APIVersion)); err != nil { - return err - } - - return nil -} - -func (m *ConfigOverrideList) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *ConfigOverrideList) contextValidateKind(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "kind", "body", string(m.Kind)); err != nil { - return err - } - - return nil -} - -func (m *ConfigOverrideList) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigOverrideList) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigOverrideList) UnmarshalBinary(b []byte) error { - var res ConfigOverrideList - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_override_spec.go b/components/common/api/def/clients/config/models/config_override_spec.go deleted file mode 100644 index 37c121f..0000000 --- a/components/common/api/def/clients/config/models/config_override_spec.go +++ /dev/null @@ -1,267 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ConfigOverrideSpec OverrideSpec is the specification of override -// -// swagger:model configOverrideSpec -type ConfigOverrideSpec struct { - - // cluster placement - ClusterPlacement *TypesconfigPlacementSpec `json:"clusterPlacement,omitempty"` - - // cluster selector - ClusterSelector string `json:"clusterSelector,omitempty"` - - // overrides is list of objects to be overriden - Overrides []*ControllerStepObject `json:"overrides"` - - // repo artifact meta - RepoArtifactMeta *ConfigRepoArtifactMeta `json:"repoArtifactMeta,omitempty"` - - // repository ref - RepositoryRef string `json:"repositoryRef,omitempty"` - - // an override is only applied if selector matches the taskset/namespace - // labels - ResourceSelector string `json:"resourceSelector,omitempty"` - - // template overrides - TemplateOverrides *ConfigTemplateOverrides `json:"templateOverrides,omitempty"` - - // values file - ValuesFile string `json:"valuesFile,omitempty"` -} - -// Validate validates this config override spec -func (m *ConfigOverrideSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateClusterPlacement(formats); err != nil { - res = append(res, err) - } - - if err := m.validateOverrides(formats); err != nil { - res = append(res, err) - } - - if err := m.validateRepoArtifactMeta(formats); err != nil { - res = append(res, err) - } - - if err := m.validateTemplateOverrides(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigOverrideSpec) validateClusterPlacement(formats strfmt.Registry) error { - if swag.IsZero(m.ClusterPlacement) { // not required - return nil - } - - if m.ClusterPlacement != nil { - if err := m.ClusterPlacement.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterPlacement") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterPlacement") - } - return err - } - } - - return nil -} - -func (m *ConfigOverrideSpec) validateOverrides(formats strfmt.Registry) error { - if swag.IsZero(m.Overrides) { // not required - return nil - } - - for i := 0; i < len(m.Overrides); i++ { - if swag.IsZero(m.Overrides[i]) { // not required - continue - } - - if m.Overrides[i] != nil { - if err := m.Overrides[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("overrides" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("overrides" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *ConfigOverrideSpec) validateRepoArtifactMeta(formats strfmt.Registry) error { - if swag.IsZero(m.RepoArtifactMeta) { // not required - return nil - } - - if m.RepoArtifactMeta != nil { - if err := m.RepoArtifactMeta.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("repoArtifactMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("repoArtifactMeta") - } - return err - } - } - - return nil -} - -func (m *ConfigOverrideSpec) validateTemplateOverrides(formats strfmt.Registry) error { - if swag.IsZero(m.TemplateOverrides) { // not required - return nil - } - - if m.TemplateOverrides != nil { - if err := m.TemplateOverrides.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("templateOverrides") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("templateOverrides") - } - return err - } - } - - return nil -} - -// ContextValidate validate this config override spec based on the context it is used -func (m *ConfigOverrideSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateClusterPlacement(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateOverrides(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateRepoArtifactMeta(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateTemplateOverrides(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigOverrideSpec) contextValidateClusterPlacement(ctx context.Context, formats strfmt.Registry) error { - - if m.ClusterPlacement != nil { - if err := m.ClusterPlacement.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterPlacement") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterPlacement") - } - return err - } - } - - return nil -} - -func (m *ConfigOverrideSpec) contextValidateOverrides(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Overrides); i++ { - - if m.Overrides[i] != nil { - if err := m.Overrides[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("overrides" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("overrides" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *ConfigOverrideSpec) contextValidateRepoArtifactMeta(ctx context.Context, formats strfmt.Registry) error { - - if m.RepoArtifactMeta != nil { - if err := m.RepoArtifactMeta.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("repoArtifactMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("repoArtifactMeta") - } - return err - } - } - - return nil -} - -func (m *ConfigOverrideSpec) contextValidateTemplateOverrides(ctx context.Context, formats strfmt.Registry) error { - - if m.TemplateOverrides != nil { - if err := m.TemplateOverrides.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("templateOverrides") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("templateOverrides") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigOverrideSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigOverrideSpec) UnmarshalBinary(b []byte) error { - var res ConfigOverrideSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_placement_type.go b/components/common/api/def/clients/config/models/config_placement_type.go deleted file mode 100644 index 77baa3c..0000000 --- a/components/common/api/def/clients/config/models/config_placement_type.go +++ /dev/null @@ -1,84 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// ConfigPlacementType config placement type -// -// swagger:model configPlacementType -type ConfigPlacementType string - -func NewConfigPlacementType(value ConfigPlacementType) *ConfigPlacementType { - return &value -} - -// Pointer returns a pointer to a freshly-allocated ConfigPlacementType. -func (m ConfigPlacementType) Pointer() *ConfigPlacementType { - return &m -} - -const ( - - // ConfigPlacementTypeClusterSelector captures enum value "ClusterSelector" - ConfigPlacementTypeClusterSelector ConfigPlacementType = "ClusterSelector" - - // ConfigPlacementTypeClusterLocations captures enum value "ClusterLocations" - ConfigPlacementTypeClusterLocations ConfigPlacementType = "ClusterLocations" - - // ConfigPlacementTypeClusterLabels captures enum value "ClusterLabels" - ConfigPlacementTypeClusterLabels ConfigPlacementType = "ClusterLabels" - - // ConfigPlacementTypeClusterSpecific captures enum value "ClusterSpecific" - ConfigPlacementTypeClusterSpecific ConfigPlacementType = "ClusterSpecific" -) - -// for schema -var configPlacementTypeEnum []interface{} - -func init() { - var res []ConfigPlacementType - if err := json.Unmarshal([]byte(`["ClusterSelector","ClusterLocations","ClusterLabels","ClusterSpecific"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - configPlacementTypeEnum = append(configPlacementTypeEnum, v) - } -} - -func (m ConfigPlacementType) validateConfigPlacementTypeEnum(path, location string, value ConfigPlacementType) error { - if err := validate.EnumCase(path, location, value, configPlacementTypeEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this config placement type -func (m ConfigPlacementType) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateConfigPlacementTypeEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this config placement type based on context it is used -func (m ConfigPlacementType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/config/models/config_repo_artifact_meta.go b/components/common/api/def/clients/config/models/config_repo_artifact_meta.go deleted file mode 100644 index 3548fef..0000000 --- a/components/common/api/def/clients/config/models/config_repo_artifact_meta.go +++ /dev/null @@ -1,153 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ConfigRepoArtifactMeta config repo artifact meta -// -// swagger:model configRepoArtifactMeta -type ConfigRepoArtifactMeta struct { - - // git - Git *ConfigGitOptions `json:"git,omitempty"` - - // helm - Helm *ConfigHelmOptions `json:"helm,omitempty"` - - // timeout - Timeout string `json:"timeout,omitempty"` -} - -// Validate validates this config repo artifact meta -func (m *ConfigRepoArtifactMeta) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateGit(formats); err != nil { - res = append(res, err) - } - - if err := m.validateHelm(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigRepoArtifactMeta) validateGit(formats strfmt.Registry) error { - if swag.IsZero(m.Git) { // not required - return nil - } - - if m.Git != nil { - if err := m.Git.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("git") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("git") - } - return err - } - } - - return nil -} - -func (m *ConfigRepoArtifactMeta) validateHelm(formats strfmt.Registry) error { - if swag.IsZero(m.Helm) { // not required - return nil - } - - if m.Helm != nil { - if err := m.Helm.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("helm") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("helm") - } - return err - } - } - - return nil -} - -// ContextValidate validate this config repo artifact meta based on the context it is used -func (m *ConfigRepoArtifactMeta) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateGit(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateHelm(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigRepoArtifactMeta) contextValidateGit(ctx context.Context, formats strfmt.Registry) error { - - if m.Git != nil { - if err := m.Git.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("git") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("git") - } - return err - } - } - - return nil -} - -func (m *ConfigRepoArtifactMeta) contextValidateHelm(ctx context.Context, formats strfmt.Registry) error { - - if m.Helm != nil { - if err := m.Helm.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("helm") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("helm") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigRepoArtifactMeta) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigRepoArtifactMeta) UnmarshalBinary(b []byte) error { - var res ConfigRepoArtifactMeta - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_repo_file.go b/components/common/api/def/clients/config/models/config_repo_file.go deleted file mode 100644 index 0cde5f9..0000000 --- a/components/common/api/def/clients/config/models/config_repo_file.go +++ /dev/null @@ -1,110 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ConfigRepoFile config repo file -// -// swagger:model configRepoFile -type ConfigRepoFile struct { - - // file type - FileType *ConfigFileType `json:"fileType,omitempty"` - - // name - Name string `json:"name,omitempty"` - - // rel path - RelPath string `json:"relPath,omitempty"` -} - -// Validate validates this config repo file -func (m *ConfigRepoFile) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateFileType(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigRepoFile) validateFileType(formats strfmt.Registry) error { - if swag.IsZero(m.FileType) { // not required - return nil - } - - if m.FileType != nil { - if err := m.FileType.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("fileType") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("fileType") - } - return err - } - } - - return nil -} - -// ContextValidate validate this config repo file based on the context it is used -func (m *ConfigRepoFile) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateFileType(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ConfigRepoFile) contextValidateFileType(ctx context.Context, formats strfmt.Registry) error { - - if m.FileType != nil { - if err := m.FileType.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("fileType") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("fileType") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigRepoFile) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigRepoFile) UnmarshalBinary(b []byte) error { - var res ConfigRepoFile - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/config_template_overrides.go b/components/common/api/def/clients/config/models/config_template_overrides.go deleted file mode 100644 index 6be7f86..0000000 --- a/components/common/api/def/clients/config/models/config_template_overrides.go +++ /dev/null @@ -1,98 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ConfigTemplateOverrides config template overrides -// -// swagger:model configTemplateOverrides -type ConfigTemplateOverrides struct { - - // v2 event framework f q d n - V2EventFrameworkFQDN string `json:"V2EventFrameworkFQDN,omitempty"` - - // cluster name - ClusterName string `json:"clusterName,omitempty"` - - // org display name - OrgDisplayName string `json:"orgDisplayName,omitempty"` - - // organization hash - OrganizationHash string `json:"organizationHash,omitempty"` - - // organization ID - OrganizationID string `json:"organizationID,omitempty"` - - // partner display name - PartnerDisplayName string `json:"partnerDisplayName,omitempty"` - - // partner hash - PartnerHash string `json:"partnerHash,omitempty"` - - // partner ID - PartnerID string `json:"partnerID,omitempty"` - - // project ID - ProjectID string `json:"projectID,omitempty"` - - // proxy URL - ProxyURL string `json:"proxyURL,omitempty"` - - // v1 deployment env - V1DeploymentEnv string `json:"v1DeploymentEnv,omitempty"` - - // v1 edge display name - V1EdgeDisplayName string `json:"v1EdgeDisplayName,omitempty"` - - // v1 edge ID - V1EdgeID string `json:"v1EdgeID,omitempty"` - - // v1 fluentd aggregator addr - V1FluentdAggregatorAddr string `json:"v1FluentdAggregatorAddr,omitempty"` - - // v1 influx d b f q d n - V1InfluxDBFQDN string `json:"v1InfluxDBFQDN,omitempty"` - - // v1 influx d b password - V1InfluxDBPassword string `json:"v1InfluxDBPassword,omitempty"` - - // v1 promethues relay f q d n - V1PromethuesRelayFQDN string `json:"v1PromethuesRelayFQDN,omitempty"` -} - -// Validate validates this config template overrides -func (m *ConfigTemplateOverrides) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this config template overrides based on context it is used -func (m *ConfigTemplateOverrides) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *ConfigTemplateOverrides) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ConfigTemplateOverrides) UnmarshalBinary(b []byte) error { - var res ConfigTemplateOverrides - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/controller_step_template.go b/components/common/api/def/clients/config/models/controller_step_template.go deleted file mode 100644 index b996834..0000000 --- a/components/common/api/def/clients/config/models/controller_step_template.go +++ /dev/null @@ -1,157 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ControllerStepTemplate +kubebuilder:object:generate=true -// StepTemplate is the description of a step -// -// swagger:model controllerStepTemplate -type ControllerStepTemplate struct { - - // job template - JobTemplate *V1beta1JobTemplateSpec `json:"jobTemplate,omitempty"` - - // name - Name string `json:"name,omitempty"` - - // object - Object *ControllerStepObject `json:"object,omitempty"` - - // on failed - OnFailed string `json:"onFailed,omitempty"` -} - -// Validate validates this controller step template -func (m *ControllerStepTemplate) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateJobTemplate(formats); err != nil { - res = append(res, err) - } - - if err := m.validateObject(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ControllerStepTemplate) validateJobTemplate(formats strfmt.Registry) error { - if swag.IsZero(m.JobTemplate) { // not required - return nil - } - - if m.JobTemplate != nil { - if err := m.JobTemplate.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("jobTemplate") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("jobTemplate") - } - return err - } - } - - return nil -} - -func (m *ControllerStepTemplate) validateObject(formats strfmt.Registry) error { - if swag.IsZero(m.Object) { // not required - return nil - } - - if m.Object != nil { - if err := m.Object.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("object") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("object") - } - return err - } - } - - return nil -} - -// ContextValidate validate this controller step template based on the context it is used -func (m *ControllerStepTemplate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateJobTemplate(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateObject(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ControllerStepTemplate) contextValidateJobTemplate(ctx context.Context, formats strfmt.Registry) error { - - if m.JobTemplate != nil { - if err := m.JobTemplate.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("jobTemplate") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("jobTemplate") - } - return err - } - } - - return nil -} - -func (m *ControllerStepTemplate) contextValidateObject(ctx context.Context, formats strfmt.Registry) error { - - if m.Object != nil { - if err := m.Object.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("object") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("object") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ControllerStepTemplate) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ControllerStepTemplate) UnmarshalBinary(b []byte) error { - var res ControllerStepTemplate - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/corev1_resource_requirements.go b/components/common/api/def/clients/config/models/corev1_resource_requirements.go deleted file mode 100644 index af1be73..0000000 --- a/components/common/api/def/clients/config/models/corev1_resource_requirements.go +++ /dev/null @@ -1,169 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// Corev1ResourceRequirements ResourceRequirements describes the compute resource requirements. -// -// swagger:model corev1ResourceRequirements -type Corev1ResourceRequirements struct { - - // Limits describes the maximum amount of compute resources allowed. - // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ - // +optional - Limits map[string]ResourceQuantity `json:"limits,omitempty"` - - // Requests describes the minimum amount of compute resources required. - // If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, - // otherwise to an implementation-defined value. - // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ - // +optional - Requests map[string]ResourceQuantity `json:"requests,omitempty"` -} - -// Validate validates this corev1 resource requirements -func (m *Corev1ResourceRequirements) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLimits(formats); err != nil { - res = append(res, err) - } - - if err := m.validateRequests(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Corev1ResourceRequirements) validateLimits(formats strfmt.Registry) error { - if swag.IsZero(m.Limits) { // not required - return nil - } - - for k := range m.Limits { - - if err := validate.Required("limits"+"."+k, "body", m.Limits[k]); err != nil { - return err - } - if val, ok := m.Limits[k]; ok { - if err := val.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("limits" + "." + k) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("limits" + "." + k) - } - return err - } - } - - } - - return nil -} - -func (m *Corev1ResourceRequirements) validateRequests(formats strfmt.Registry) error { - if swag.IsZero(m.Requests) { // not required - return nil - } - - for k := range m.Requests { - - if err := validate.Required("requests"+"."+k, "body", m.Requests[k]); err != nil { - return err - } - if val, ok := m.Requests[k]; ok { - if err := val.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("requests" + "." + k) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("requests" + "." + k) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this corev1 resource requirements based on the context it is used -func (m *Corev1ResourceRequirements) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLimits(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateRequests(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Corev1ResourceRequirements) contextValidateLimits(ctx context.Context, formats strfmt.Registry) error { - - for k := range m.Limits { - - if val, ok := m.Limits[k]; ok { - if err := val.ContextValidate(ctx, formats); err != nil { - return err - } - } - - } - - return nil -} - -func (m *Corev1ResourceRequirements) contextValidateRequests(ctx context.Context, formats strfmt.Registry) error { - - for k := range m.Requests { - - if val, ok := m.Requests[k]; ok { - if err := val.ContextValidate(ctx, formats); err != nil { - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *Corev1ResourceRequirements) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Corev1ResourceRequirements) UnmarshalBinary(b []byte) error { - var res Corev1ResourceRequirements - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/corev1_volume_mount.go b/components/common/api/def/clients/config/models/corev1_volume_mount.go deleted file mode 100644 index 9e2385a..0000000 --- a/components/common/api/def/clients/config/models/corev1_volume_mount.go +++ /dev/null @@ -1,78 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// Corev1VolumeMount VolumeMount describes a mounting of a Volume within a container. -// -// swagger:model corev1VolumeMount -type Corev1VolumeMount struct { - - // Path within the container at which the volume should be mounted. Must - // not contain ':'. - MountPath string `json:"mountPath,omitempty"` - - // mountPropagation determines how mounts are propagated from the host - // to container and the other way around. - // When not set, MountPropagationNone is used. - // This field is beta in 1.10. - // +optional - MountPropagation string `json:"mountPropagation,omitempty"` - - // This must match the Name of a Volume. - Name string `json:"name,omitempty"` - - // Mounted read-only if true, read-write otherwise (false or unspecified). - // Defaults to false. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Path within the volume from which the container's volume should be mounted. - // Defaults to "" (volume's root). - // +optional - SubPath string `json:"subPath,omitempty"` - - // Expanded path within the volume from which the container's volume should be mounted. - // Behaves similarly to SubPath but environment variable references $(VAR_NAME) are expanded using the container's environment. - // Defaults to "" (volume's root). - // SubPathExpr and SubPath are mutually exclusive. - // +optional - SubPathExpr string `json:"subPathExpr,omitempty"` -} - -// Validate validates this corev1 volume mount -func (m *Corev1VolumeMount) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this corev1 volume mount based on context it is used -func (m *Corev1VolumeMount) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *Corev1VolumeMount) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Corev1VolumeMount) UnmarshalBinary(b []byte) error { - var res Corev1VolumeMount - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/intstr_int_or_string.go b/components/common/api/def/clients/config/models/intstr_int_or_string.go deleted file mode 100644 index 2a0a5f7..0000000 --- a/components/common/api/def/clients/config/models/intstr_int_or_string.go +++ /dev/null @@ -1,64 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// IntstrIntOrString IntOrString is a type that can hold an int32 or a string. When used in -// JSON or YAML marshalling and unmarshalling, it produces or consumes the -// inner type. This allows you to have, for example, a JSON field that can -// accept a name or number. -// TODO: Rename to Int32OrString -// -// +protobuf=true -// +protobuf.options.(gogoproto.goproto_stringer)=false -// +k8s:openapi-gen=true -// -// swagger:model intstrIntOrString -type IntstrIntOrString struct { - - // int val - IntVal int32 `json:"intVal,omitempty"` - - // str val - StrVal string `json:"strVal,omitempty"` - - // type - Type string `json:"type,omitempty"` -} - -// Validate validates this intstr int or string -func (m *IntstrIntOrString) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this intstr int or string based on context it is used -func (m *IntstrIntOrString) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *IntstrIntOrString) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *IntstrIntOrString) UnmarshalBinary(b []byte) error { - var res IntstrIntOrString - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/resource_quantity.go b/components/common/api/def/clients/config/models/resource_quantity.go deleted file mode 100644 index 9467b74..0000000 --- a/components/common/api/def/clients/config/models/resource_quantity.go +++ /dev/null @@ -1,107 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ResourceQuantity Quantity is a fixed-point representation of a number. -// It provides convenient marshaling/unmarshaling in JSON and YAML, -// in addition to String() and AsInt64() accessors. -// -// The serialization format is: -// -// ::= -// (Note that may be empty, from the "" case in .) -// ::= 0 | 1 | ... | 9 -// ::= | -// ::= | . | . | . -// ::= "+" | "-" -// ::= | -// ::= | | -// ::= Ki | Mi | Gi | Ti | Pi | Ei -// (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) -// ::= m | "" | k | M | G | T | P | E -// (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) -// ::= "e" | "E" -// -// No matter which of the three exponent forms is used, no quantity may represent -// a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal -// places. Numbers larger or more precise will be capped or rounded up. -// (E.g.: 0.1m will rounded up to 1m.) -// This may be extended in the future if we require larger or smaller quantities. -// -// When a Quantity is parsed from a string, it will remember the type of suffix -// it had, and will use the same type again when it is serialized. -// -// Before serializing, Quantity will be put in "canonical form". -// This means that Exponent/suffix will be adjusted up or down (with a -// corresponding increase or decrease in Mantissa) such that: -// a. No precision is lost -// b. No fractional digits will be emitted -// c. The exponent (or suffix) is as large as possible. -// The sign will be omitted unless the number is negative. -// -// Examples: -// 1.5 will be serialized as "1500m" -// 1.5Gi will be serialized as "1536Mi" -// -// Note that the quantity will NEVER be internally represented by a -// floating point number. That is the whole point of this exercise. -// -// Non-canonical values will still parse as long as they are well formed, -// but will be re-emitted in their canonical form. (So always use canonical -// form, or don't diff.) -// -// This format is intended to make it difficult to use these numbers without -// writing some sort of special handling code in the hopes that that will -// cause implementors to also use a fixed point implementation. -// -// +protobuf=true -// +protobuf.embed=string -// +protobuf.options.marshal=false -// +protobuf.options.(gogoproto.goproto_stringer)=false -// +k8s:deepcopy-gen=true -// +k8s:openapi-gen=true -// -// swagger:model resourceQuantity -type ResourceQuantity struct { - - // string - String string `json:"string,omitempty"` -} - -// Validate validates this resource quantity -func (m *ResourceQuantity) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this resource quantity based on context it is used -func (m *ResourceQuantity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *ResourceQuantity) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ResourceQuantity) UnmarshalBinary(b []byte) error { - var res ResourceQuantity - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/rpc_add_default_overrides_request.go b/components/common/api/def/clients/config/models/rpc_add_default_overrides_request.go deleted file mode 100644 index a49ea92..0000000 --- a/components/common/api/def/clients/config/models/rpc_add_default_overrides_request.go +++ /dev/null @@ -1,230 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// RPCAddDefaultOverridesRequest rpc add default overrides request -// -// swagger:model rpcAddDefaultOverridesRequest -type RPCAddDefaultOverridesRequest struct { - - // v2 event framework f q d n - V2EventFrameworkFQDN string `json:"V2EventFrameworkFQDN,omitempty"` - - // api addr - APIAddr string `json:"apiAddr,omitempty"` - - // cluster name - ClusterName string `json:"clusterName,omitempty"` - - // cluster type - ClusterType string `json:"clusterType,omitempty"` - - // cni provider - CniProvider string `json:"cniProvider,omitempty"` - - // connector container spec override - ConnectorContainerSpecOverride string `json:"connectorContainerSpecOverride,omitempty"` - - // connector pod spec override - ConnectorPodSpecOverride string `json:"connectorPodSpecOverride,omitempty"` - - // control addr - ControlAddr string `json:"controlAddr,omitempty"` - - // ingress controller override - IngressControllerOverride string `json:"ingressControllerOverride,omitempty"` - - // org display name - OrgDisplayName string `json:"orgDisplayName,omitempty"` - - // organization hash - OrganizationHash string `json:"organizationHash,omitempty"` - - // organization ID - OrganizationID string `json:"organizationID,omitempty"` - - // partner display name - PartnerDisplayName string `json:"partnerDisplayName,omitempty"` - - // partner hash - PartnerHash string `json:"partnerHash,omitempty"` - - // partner ID - PartnerID string `json:"partnerID,omitempty"` - - // project ID - ProjectID string `json:"projectID,omitempty"` - - // proxy config - ProxyConfig *RPCProxyConfig `json:"proxyConfig,omitempty"` - - // pull secret - PullSecret string `json:"pullSecret,omitempty"` - - // token - Token string `json:"token,omitempty"` - - // v1 alert manager yaml - V1AlertManagerYaml string `json:"v1AlertManagerYaml,omitempty"` - - // v1 c a cert - V1CACert string `json:"v1CACert,omitempty"` - - // v1 config edge cert - V1ConfigEdgeCert string `json:"v1ConfigEdgeCert,omitempty"` - - // v1 config edge key - V1ConfigEdgeKey string `json:"v1ConfigEdgeKey,omitempty"` - - // v1 crypot k m i key - V1CrypotKMIKey string `json:"v1CrypotKMIKey,omitempty"` - - // v1 crypto edge cert - V1CryptoEdgeCert string `json:"v1CryptoEdgeCert,omitempty"` - - // v1 crypto edge key - V1CryptoEdgeKey string `json:"v1CryptoEdgeKey,omitempty"` - - // v1 debug cert - V1DebugCert string `json:"v1DebugCert,omitempty"` - - // v1 debug key - V1DebugKey string `json:"v1DebugKey,omitempty"` - - // v1 deployment env - V1DeploymentEnv string `json:"v1DeploymentEnv,omitempty"` - - // v1 edge client cert - V1EdgeClientCert string `json:"v1EdgeClientCert,omitempty"` - - // v1 edge client key - V1EdgeClientKey string `json:"v1EdgeClientKey,omitempty"` - - // v1 edge display name - V1EdgeDisplayName string `json:"v1EdgeDisplayName,omitempty"` - - // v1 edge ID - V1EdgeID string `json:"v1EdgeID,omitempty"` - - // v1 edge metadata - V1EdgeMetadata string `json:"v1EdgeMetadata,omitempty"` - - // v1 fluentd aggregator addr - V1FluentdAggregatorAddr string `json:"v1FluentdAggregatorAddr,omitempty"` - - // v1 influx d b f q d n - V1InfluxDBFQDN string `json:"v1InfluxDBFQDN,omitempty"` - - // v1 influx d b password - V1InfluxDBPassword string `json:"v1InfluxDBPassword,omitempty"` - - // v1 postgres password - V1PostgresPassword string `json:"v1PostgresPassword,omitempty"` - - // v1 promethues relay f q d n - V1PromethuesRelayFQDN string `json:"v1PromethuesRelayFQDN,omitempty"` - - // v1 workload client cert - V1WorkloadClientCert string `json:"v1WorkloadClientCert,omitempty"` - - // v1 workload client key - V1WorkloadClientKey string `json:"v1WorkloadClientKey,omitempty"` - - // v2 event frmwk cert - V2EventFrmwkCert string `json:"v2EventFrmwkCert,omitempty"` - - // v2 event frmwk key - V2EventFrmwkKey string `json:"v2EventFrmwkKey,omitempty"` -} - -// Validate validates this rpc add default overrides request -func (m *RPCAddDefaultOverridesRequest) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateProxyConfig(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *RPCAddDefaultOverridesRequest) validateProxyConfig(formats strfmt.Registry) error { - if swag.IsZero(m.ProxyConfig) { // not required - return nil - } - - if m.ProxyConfig != nil { - if err := m.ProxyConfig.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("proxyConfig") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("proxyConfig") - } - return err - } - } - - return nil -} - -// ContextValidate validate this rpc add default overrides request based on the context it is used -func (m *RPCAddDefaultOverridesRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateProxyConfig(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *RPCAddDefaultOverridesRequest) contextValidateProxyConfig(ctx context.Context, formats strfmt.Registry) error { - - if m.ProxyConfig != nil { - if err := m.ProxyConfig.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("proxyConfig") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("proxyConfig") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *RPCAddDefaultOverridesRequest) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *RPCAddDefaultOverridesRequest) UnmarshalBinary(b []byte) error { - var res RPCAddDefaultOverridesRequest - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/rpc_add_default_overrides_response.go b/components/common/api/def/clients/config/models/rpc_add_default_overrides_response.go deleted file mode 100644 index 0f1c02a..0000000 --- a/components/common/api/def/clients/config/models/rpc_add_default_overrides_response.go +++ /dev/null @@ -1,11 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// RPCAddDefaultOverridesResponse rpc add default overrides response -// -// swagger:model rpcAddDefaultOverridesResponse -type RPCAddDefaultOverridesResponse interface{} diff --git a/components/common/api/def/clients/config/models/rpc_apply_override_request.go b/components/common/api/def/clients/config/models/rpc_apply_override_request.go deleted file mode 100644 index 2615ed3..0000000 --- a/components/common/api/def/clients/config/models/rpc_apply_override_request.go +++ /dev/null @@ -1,125 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// RPCApplyOverrideRequest rpc apply override request -// -// swagger:model rpcApplyOverrideRequest -type RPCApplyOverrideRequest struct { - - // atleast one - AtleastOne bool `json:"atleastOne,omitempty"` - - // namespace - Namespace *ConfigNamespaceTemplate `json:"namespace,omitempty"` - - // organization ID - OrganizationID string `json:"organizationID,omitempty"` - - // partner ID - PartnerID string `json:"partnerID,omitempty"` - - // project ID - ProjectID string `json:"projectID,omitempty"` - - // selector - Selector string `json:"selector,omitempty"` - - // set namespace - SetNamespace bool `json:"setNamespace,omitempty"` - - // type - Type string `json:"type,omitempty"` -} - -// Validate validates this rpc apply override request -func (m *RPCApplyOverrideRequest) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateNamespace(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *RPCApplyOverrideRequest) validateNamespace(formats strfmt.Registry) error { - if swag.IsZero(m.Namespace) { // not required - return nil - } - - if m.Namespace != nil { - if err := m.Namespace.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("namespace") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("namespace") - } - return err - } - } - - return nil -} - -// ContextValidate validate this rpc apply override request based on the context it is used -func (m *RPCApplyOverrideRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateNamespace(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *RPCApplyOverrideRequest) contextValidateNamespace(ctx context.Context, formats strfmt.Registry) error { - - if m.Namespace != nil { - if err := m.Namespace.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("namespace") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("namespace") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *RPCApplyOverrideRequest) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *RPCApplyOverrideRequest) UnmarshalBinary(b []byte) error { - var res RPCApplyOverrideRequest - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/rpc_apply_override_response.go b/components/common/api/def/clients/config/models/rpc_apply_override_response.go deleted file mode 100644 index b39ed01..0000000 --- a/components/common/api/def/clients/config/models/rpc_apply_override_response.go +++ /dev/null @@ -1,104 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// RPCApplyOverrideResponse rpc apply override response -// -// swagger:model rpcApplyOverrideResponse -type RPCApplyOverrideResponse struct { - - // namespace - Namespace *ConfigNamespaceTemplate `json:"namespace,omitempty"` -} - -// Validate validates this rpc apply override response -func (m *RPCApplyOverrideResponse) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateNamespace(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *RPCApplyOverrideResponse) validateNamespace(formats strfmt.Registry) error { - if swag.IsZero(m.Namespace) { // not required - return nil - } - - if m.Namespace != nil { - if err := m.Namespace.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("namespace") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("namespace") - } - return err - } - } - - return nil -} - -// ContextValidate validate this rpc apply override response based on the context it is used -func (m *RPCApplyOverrideResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateNamespace(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *RPCApplyOverrideResponse) contextValidateNamespace(ctx context.Context, formats strfmt.Registry) error { - - if m.Namespace != nil { - if err := m.Namespace.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("namespace") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("namespace") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *RPCApplyOverrideResponse) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *RPCApplyOverrideResponse) UnmarshalBinary(b []byte) error { - var res RPCApplyOverrideResponse - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/rpc_delete_override_response.go b/components/common/api/def/clients/config/models/rpc_delete_override_response.go deleted file mode 100644 index 53951b7..0000000 --- a/components/common/api/def/clients/config/models/rpc_delete_override_response.go +++ /dev/null @@ -1,11 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// RPCDeleteOverrideResponse rpc delete override response -// -// swagger:model rpcDeleteOverrideResponse -type RPCDeleteOverrideResponse interface{} diff --git a/components/common/api/def/clients/config/models/rpc_proxy_config.go b/components/common/api/def/clients/config/models/rpc_proxy_config.go deleted file mode 100644 index 8d06ef7..0000000 --- a/components/common/api/def/clients/config/models/rpc_proxy_config.go +++ /dev/null @@ -1,68 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// RPCProxyConfig rpc proxy config -// -// swagger:model rpcProxyConfig -type RPCProxyConfig struct { - - // allow insecure bootstrap - AllowInsecureBootstrap bool `json:"allowInsecureBootstrap,omitempty"` - - // bootstrap c a - BootstrapCA string `json:"bootstrapCA,omitempty"` - - // enabled - Enabled bool `json:"enabled,omitempty"` - - // http proxy - HTTPProxy string `json:"httpProxy,omitempty"` - - // https proxy - HTTPSProxy string `json:"httpsProxy,omitempty"` - - // no proxy - NoProxy string `json:"noProxy,omitempty"` - - // proxy auth - ProxyAuth string `json:"proxyAuth,omitempty"` -} - -// Validate validates this rpc proxy config -func (m *RPCProxyConfig) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this rpc proxy config based on context it is used -func (m *RPCProxyConfig) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *RPCProxyConfig) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *RPCProxyConfig) UnmarshalBinary(b []byte) error { - var res RPCProxyConfig - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/typesconfig_limit_range.go b/components/common/api/def/clients/config/models/typesconfig_limit_range.go deleted file mode 100644 index d34c572..0000000 --- a/components/common/api/def/clients/config/models/typesconfig_limit_range.go +++ /dev/null @@ -1,150 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// TypesconfigLimitRange typesconfig limit range -// -// swagger:model typesconfigLimitRange -type TypesconfigLimitRange struct { - - // container limits - ContainerLimits *TypesconfigLimitRangeItem `json:"containerLimits,omitempty"` - - // pod limits - PodLimits *TypesconfigLimitRangeItem `json:"podLimits,omitempty"` -} - -// Validate validates this typesconfig limit range -func (m *TypesconfigLimitRange) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateContainerLimits(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePodLimits(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *TypesconfigLimitRange) validateContainerLimits(formats strfmt.Registry) error { - if swag.IsZero(m.ContainerLimits) { // not required - return nil - } - - if m.ContainerLimits != nil { - if err := m.ContainerLimits.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("containerLimits") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("containerLimits") - } - return err - } - } - - return nil -} - -func (m *TypesconfigLimitRange) validatePodLimits(formats strfmt.Registry) error { - if swag.IsZero(m.PodLimits) { // not required - return nil - } - - if m.PodLimits != nil { - if err := m.PodLimits.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("podLimits") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("podLimits") - } - return err - } - } - - return nil -} - -// ContextValidate validate this typesconfig limit range based on the context it is used -func (m *TypesconfigLimitRange) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateContainerLimits(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePodLimits(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *TypesconfigLimitRange) contextValidateContainerLimits(ctx context.Context, formats strfmt.Registry) error { - - if m.ContainerLimits != nil { - if err := m.ContainerLimits.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("containerLimits") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("containerLimits") - } - return err - } - } - - return nil -} - -func (m *TypesconfigLimitRange) contextValidatePodLimits(ctx context.Context, formats strfmt.Registry) error { - - if m.PodLimits != nil { - if err := m.PodLimits.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("podLimits") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("podLimits") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *TypesconfigLimitRange) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *TypesconfigLimitRange) UnmarshalBinary(b []byte) error { - var res TypesconfigLimitRange - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/typesconfig_limit_range_item.go b/components/common/api/def/clients/config/models/typesconfig_limit_range_item.go deleted file mode 100644 index fc839df..0000000 --- a/components/common/api/def/clients/config/models/typesconfig_limit_range_item.go +++ /dev/null @@ -1,77 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// TypesconfigLimitRangeItem typesconfig limit range item -// -// swagger:model typesconfigLimitRangeItem -type TypesconfigLimitRangeItem struct { - - // default Cpu - DefaultCPU float32 `json:"defaultCpu,omitempty"` - - // default memory - DefaultMemory float32 `json:"defaultMemory,omitempty"` - - // default request Cpu - DefaultRequestCPU float32 `json:"defaultRequestCpu,omitempty"` - - // default request memory - DefaultRequestMemory float32 `json:"defaultRequestMemory,omitempty"` - - // max Cpu - MaxCPU float32 `json:"maxCpu,omitempty"` - - // max limit request ratio Cpu - MaxLimitRequestRatioCPU float32 `json:"maxLimitRequestRatioCpu,omitempty"` - - // max limit request ratio memory - MaxLimitRequestRatioMemory float32 `json:"maxLimitRequestRatioMemory,omitempty"` - - // max memory - MaxMemory float32 `json:"maxMemory,omitempty"` - - // min Cpu - MinCPU float32 `json:"minCpu,omitempty"` - - // min memory - MinMemory float32 `json:"minMemory,omitempty"` -} - -// Validate validates this typesconfig limit range item -func (m *TypesconfigLimitRangeItem) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this typesconfig limit range item based on context it is used -func (m *TypesconfigLimitRangeItem) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *TypesconfigLimitRangeItem) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *TypesconfigLimitRangeItem) UnmarshalBinary(b []byte) error { - var res TypesconfigLimitRangeItem - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/typesconfig_placement_label.go b/components/common/api/def/clients/config/models/typesconfig_placement_label.go deleted file mode 100644 index 4d3e2fe..0000000 --- a/components/common/api/def/clients/config/models/typesconfig_placement_label.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// TypesconfigPlacementLabel typesconfig placement label -// -// swagger:model typesconfigPlacementLabel -type TypesconfigPlacementLabel struct { - - // key - Key string `json:"key,omitempty"` - - // value - Value string `json:"value,omitempty"` -} - -// Validate validates this typesconfig placement label -func (m *TypesconfigPlacementLabel) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this typesconfig placement label based on context it is used -func (m *TypesconfigPlacementLabel) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *TypesconfigPlacementLabel) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *TypesconfigPlacementLabel) UnmarshalBinary(b []byte) error { - var res TypesconfigPlacementLabel - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/typesconfig_placement_spec.go b/components/common/api/def/clients/config/models/typesconfig_placement_spec.go deleted file mode 100644 index e15e51a..0000000 --- a/components/common/api/def/clients/config/models/typesconfig_placement_spec.go +++ /dev/null @@ -1,214 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// TypesconfigPlacementSpec PlacementSpec is the specification of placement -// -// swagger:model typesconfigPlacementSpec -type TypesconfigPlacementSpec struct { - - // cluster labels - ClusterLabels []*TypesconfigPlacementLabel `json:"clusterLabels"` - - // cluster selector - ClusterSelector string `json:"clusterSelector,omitempty"` - - // drift action - DriftAction *ConfigDriftReconcillationAction `json:"driftAction,omitempty"` - - // node grouping keys - NodeGroupingKeys []string `json:"nodeGroupingKeys"` - - // placementType is the type of placement - PlacementType *ConfigPlacementType `json:"placementType,omitempty"` -} - -// Validate validates this typesconfig placement spec -func (m *TypesconfigPlacementSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateClusterLabels(formats); err != nil { - res = append(res, err) - } - - if err := m.validateDriftAction(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePlacementType(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *TypesconfigPlacementSpec) validateClusterLabels(formats strfmt.Registry) error { - if swag.IsZero(m.ClusterLabels) { // not required - return nil - } - - for i := 0; i < len(m.ClusterLabels); i++ { - if swag.IsZero(m.ClusterLabels[i]) { // not required - continue - } - - if m.ClusterLabels[i] != nil { - if err := m.ClusterLabels[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterLabels" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterLabels" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *TypesconfigPlacementSpec) validateDriftAction(formats strfmt.Registry) error { - if swag.IsZero(m.DriftAction) { // not required - return nil - } - - if m.DriftAction != nil { - if err := m.DriftAction.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("driftAction") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("driftAction") - } - return err - } - } - - return nil -} - -func (m *TypesconfigPlacementSpec) validatePlacementType(formats strfmt.Registry) error { - if swag.IsZero(m.PlacementType) { // not required - return nil - } - - if m.PlacementType != nil { - if err := m.PlacementType.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("placementType") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("placementType") - } - return err - } - } - - return nil -} - -// ContextValidate validate this typesconfig placement spec based on the context it is used -func (m *TypesconfigPlacementSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateClusterLabels(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateDriftAction(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePlacementType(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *TypesconfigPlacementSpec) contextValidateClusterLabels(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.ClusterLabels); i++ { - - if m.ClusterLabels[i] != nil { - if err := m.ClusterLabels[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterLabels" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterLabels" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *TypesconfigPlacementSpec) contextValidateDriftAction(ctx context.Context, formats strfmt.Registry) error { - - if m.DriftAction != nil { - if err := m.DriftAction.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("driftAction") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("driftAction") - } - return err - } - } - - return nil -} - -func (m *TypesconfigPlacementSpec) contextValidatePlacementType(ctx context.Context, formats strfmt.Registry) error { - - if m.PlacementType != nil { - if err := m.PlacementType.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("placementType") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("placementType") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *TypesconfigPlacementSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *TypesconfigPlacementSpec) UnmarshalBinary(b []byte) error { - var res TypesconfigPlacementSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/typesconfig_resource_quota.go b/components/common/api/def/clients/config/models/typesconfig_resource_quota.go deleted file mode 100644 index 5c8cfb3..0000000 --- a/components/common/api/def/clients/config/models/typesconfig_resource_quota.go +++ /dev/null @@ -1,59 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// TypesconfigResourceQuota typesconfig resource quota -// -// swagger:model typesconfigResourceQuota -type TypesconfigResourceQuota struct { - - // cpu limits - CPULimits float32 `json:"cpuLimits,omitempty"` - - // cpu requests - CPURequests float32 `json:"cpuRequests,omitempty"` - - // memory limits - MemoryLimits float32 `json:"memoryLimits,omitempty"` - - // memory requests - MemoryRequests float32 `json:"memoryRequests,omitempty"` -} - -// Validate validates this typesconfig resource quota -func (m *TypesconfigResourceQuota) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this typesconfig resource quota based on context it is used -func (m *TypesconfigResourceQuota) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *TypesconfigResourceQuota) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *TypesconfigResourceQuota) UnmarshalBinary(b []byte) error { - var res TypesconfigResourceQuota - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/typescontroller_namespace_spec.go b/components/common/api/def/clients/config/models/typescontroller_namespace_spec.go deleted file mode 100644 index 190b17b..0000000 --- a/components/common/api/def/clients/config/models/typescontroller_namespace_spec.go +++ /dev/null @@ -1,277 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// TypescontrollerNamespaceSpec +kubebuilder:object:generate=true -// NamespaceSpec is the spec of the namespace -// -// swagger:model typescontrollerNamespaceSpec -type TypescontrollerNamespaceSpec struct { - - // init - Init []*ControllerStepTemplate `json:"init"` - - // namespace meta - NamespaceMeta *V1ObjectMeta `json:"namespaceMeta,omitempty"` - - // post create - PostCreate []*ControllerStepTemplate `json:"postCreate"` - - // pre delete - PreDelete []*ControllerStepTemplate `json:"preDelete"` -} - -// Validate validates this typescontroller namespace spec -func (m *TypescontrollerNamespaceSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateInit(formats); err != nil { - res = append(res, err) - } - - if err := m.validateNamespaceMeta(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePostCreate(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePreDelete(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *TypescontrollerNamespaceSpec) validateInit(formats strfmt.Registry) error { - if swag.IsZero(m.Init) { // not required - return nil - } - - for i := 0; i < len(m.Init); i++ { - if swag.IsZero(m.Init[i]) { // not required - continue - } - - if m.Init[i] != nil { - if err := m.Init[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("init" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("init" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *TypescontrollerNamespaceSpec) validateNamespaceMeta(formats strfmt.Registry) error { - if swag.IsZero(m.NamespaceMeta) { // not required - return nil - } - - if m.NamespaceMeta != nil { - if err := m.NamespaceMeta.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("namespaceMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("namespaceMeta") - } - return err - } - } - - return nil -} - -func (m *TypescontrollerNamespaceSpec) validatePostCreate(formats strfmt.Registry) error { - if swag.IsZero(m.PostCreate) { // not required - return nil - } - - for i := 0; i < len(m.PostCreate); i++ { - if swag.IsZero(m.PostCreate[i]) { // not required - continue - } - - if m.PostCreate[i] != nil { - if err := m.PostCreate[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("postCreate" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("postCreate" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *TypescontrollerNamespaceSpec) validatePreDelete(formats strfmt.Registry) error { - if swag.IsZero(m.PreDelete) { // not required - return nil - } - - for i := 0; i < len(m.PreDelete); i++ { - if swag.IsZero(m.PreDelete[i]) { // not required - continue - } - - if m.PreDelete[i] != nil { - if err := m.PreDelete[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preDelete" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preDelete" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this typescontroller namespace spec based on the context it is used -func (m *TypescontrollerNamespaceSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateInit(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateNamespaceMeta(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePostCreate(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePreDelete(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *TypescontrollerNamespaceSpec) contextValidateInit(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Init); i++ { - - if m.Init[i] != nil { - if err := m.Init[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("init" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("init" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *TypescontrollerNamespaceSpec) contextValidateNamespaceMeta(ctx context.Context, formats strfmt.Registry) error { - - if m.NamespaceMeta != nil { - if err := m.NamespaceMeta.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("namespaceMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("namespaceMeta") - } - return err - } - } - - return nil -} - -func (m *TypescontrollerNamespaceSpec) contextValidatePostCreate(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.PostCreate); i++ { - - if m.PostCreate[i] != nil { - if err := m.PostCreate[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("postCreate" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("postCreate" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *TypescontrollerNamespaceSpec) contextValidatePreDelete(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.PreDelete); i++ { - - if m.PreDelete[i] != nil { - if err := m.PreDelete[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preDelete" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preDelete" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *TypescontrollerNamespaceSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *TypescontrollerNamespaceSpec) UnmarshalBinary(b []byte) error { - var res TypescontrollerNamespaceSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_a_w_s_elastic_block_store_volume_source.go b/components/common/api/def/clients/config/models/v1_a_w_s_elastic_block_store_volume_source.go deleted file mode 100644 index 6c23173..0000000 --- a/components/common/api/def/clients/config/models/v1_a_w_s_elastic_block_store_volume_source.go +++ /dev/null @@ -1,77 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1AWSElasticBlockStoreVolumeSource Represents a Persistent Disk resource in AWS. -// -// An AWS EBS disk must exist before mounting to a container. The disk -// must also be in the same AWS zone as the kubelet. An AWS EBS disk -// can only be mounted as read/write once. AWS EBS volumes support -// ownership management and SELinux relabeling. -// -// swagger:model v1AWSElasticBlockStoreVolumeSource -type V1AWSElasticBlockStoreVolumeSource struct { - - // Filesystem type of the volume that you want to mount. - // Tip: Ensure that the filesystem type is supported by the host operating system. - // Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore - // TODO: how do we prevent errors in the filesystem from compromising the machine - // +optional - FsType string `json:"fsType,omitempty"` - - // The partition in the volume that you want to mount. - // If omitted, the default is to mount by volume name. - // Examples: For volume /dev/sda1, you specify the partition as "1". - // Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). - // +optional - Partition int32 `json:"partition,omitempty"` - - // Specify "true" to force and set the ReadOnly property in VolumeMounts to "true". - // If omitted, the default is "false". - // More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Unique ID of the persistent disk resource in AWS (Amazon EBS volume). - // More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore - VolumeID string `json:"volumeID,omitempty"` -} - -// Validate validates this v1 a w s elastic block store volume source -func (m *V1AWSElasticBlockStoreVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 a w s elastic block store volume source based on context it is used -func (m *V1AWSElasticBlockStoreVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1AWSElasticBlockStoreVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1AWSElasticBlockStoreVolumeSource) UnmarshalBinary(b []byte) error { - var res V1AWSElasticBlockStoreVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_affinity.go b/components/common/api/def/clients/config/models/v1_affinity.go deleted file mode 100644 index d74d9f5..0000000 --- a/components/common/api/def/clients/config/models/v1_affinity.go +++ /dev/null @@ -1,199 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Affinity Affinity is a group of affinity scheduling rules. -// -// swagger:model v1Affinity -type V1Affinity struct { - - // Describes node affinity scheduling rules for the pod. - // +optional - NodeAffinity *V1NodeAffinity `json:"nodeAffinity,omitempty"` - - // Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s)). - // +optional - PodAffinity *V1PodAffinity `json:"podAffinity,omitempty"` - - // Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s)). - // +optional - PodAntiAffinity *V1PodAntiAffinity `json:"podAntiAffinity,omitempty"` -} - -// Validate validates this v1 affinity -func (m *V1Affinity) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateNodeAffinity(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePodAffinity(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePodAntiAffinity(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Affinity) validateNodeAffinity(formats strfmt.Registry) error { - if swag.IsZero(m.NodeAffinity) { // not required - return nil - } - - if m.NodeAffinity != nil { - if err := m.NodeAffinity.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodeAffinity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodeAffinity") - } - return err - } - } - - return nil -} - -func (m *V1Affinity) validatePodAffinity(formats strfmt.Registry) error { - if swag.IsZero(m.PodAffinity) { // not required - return nil - } - - if m.PodAffinity != nil { - if err := m.PodAffinity.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("podAffinity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("podAffinity") - } - return err - } - } - - return nil -} - -func (m *V1Affinity) validatePodAntiAffinity(formats strfmt.Registry) error { - if swag.IsZero(m.PodAntiAffinity) { // not required - return nil - } - - if m.PodAntiAffinity != nil { - if err := m.PodAntiAffinity.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("podAntiAffinity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("podAntiAffinity") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 affinity based on the context it is used -func (m *V1Affinity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateNodeAffinity(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePodAffinity(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePodAntiAffinity(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Affinity) contextValidateNodeAffinity(ctx context.Context, formats strfmt.Registry) error { - - if m.NodeAffinity != nil { - if err := m.NodeAffinity.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodeAffinity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodeAffinity") - } - return err - } - } - - return nil -} - -func (m *V1Affinity) contextValidatePodAffinity(ctx context.Context, formats strfmt.Registry) error { - - if m.PodAffinity != nil { - if err := m.PodAffinity.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("podAffinity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("podAffinity") - } - return err - } - } - - return nil -} - -func (m *V1Affinity) contextValidatePodAntiAffinity(ctx context.Context, formats strfmt.Registry) error { - - if m.PodAntiAffinity != nil { - if err := m.PodAntiAffinity.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("podAntiAffinity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("podAntiAffinity") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1Affinity) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Affinity) UnmarshalBinary(b []byte) error { - var res V1Affinity - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_azure_disk_volume_source.go b/components/common/api/def/clients/config/models/v1_azure_disk_volume_source.go deleted file mode 100644 index 308e0e6..0000000 --- a/components/common/api/def/clients/config/models/v1_azure_disk_volume_source.go +++ /dev/null @@ -1,71 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1AzureDiskVolumeSource AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. -// -// swagger:model v1AzureDiskVolumeSource -type V1AzureDiskVolumeSource struct { - - // Host Caching mode: None, Read Only, Read Write. - // +optional - CachingMode string `json:"cachingMode,omitempty"` - - // The Name of the data disk in the blob storage - DiskName string `json:"diskName,omitempty"` - - // The URI the data disk in the blob storage - DiskURI string `json:"diskURI,omitempty"` - - // Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // +optional - FsType string `json:"fsType,omitempty"` - - // Expected values Shared: multiple blob disks per storage account Dedicated: single blob disk per storage account Managed: azure managed data disk (only in managed availability set). defaults to shared - Kind string `json:"kind,omitempty"` - - // Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` -} - -// Validate validates this v1 azure disk volume source -func (m *V1AzureDiskVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 azure disk volume source based on context it is used -func (m *V1AzureDiskVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1AzureDiskVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1AzureDiskVolumeSource) UnmarshalBinary(b []byte) error { - var res V1AzureDiskVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_azure_file_volume_source.go b/components/common/api/def/clients/config/models/v1_azure_file_volume_source.go deleted file mode 100644 index 3dc2c38..0000000 --- a/components/common/api/def/clients/config/models/v1_azure_file_volume_source.go +++ /dev/null @@ -1,58 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1AzureFileVolumeSource AzureFile represents an Azure File Service mount on the host and bind mount to the pod. -// -// swagger:model v1AzureFileVolumeSource -type V1AzureFileVolumeSource struct { - - // Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // the name of secret that contains Azure Storage Account Name and Key - SecretName string `json:"secretName,omitempty"` - - // Share Name - ShareName string `json:"shareName,omitempty"` -} - -// Validate validates this v1 azure file volume source -func (m *V1AzureFileVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 azure file volume source based on context it is used -func (m *V1AzureFileVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1AzureFileVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1AzureFileVolumeSource) UnmarshalBinary(b []byte) error { - var res V1AzureFileVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_c_s_i_volume_source.go b/components/common/api/def/clients/config/models/v1_c_s_i_volume_source.go deleted file mode 100644 index 9a53d9b..0000000 --- a/components/common/api/def/clients/config/models/v1_c_s_i_volume_source.go +++ /dev/null @@ -1,129 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1CSIVolumeSource Represents a source location of a volume to mount, managed by an external CSI driver -// -// swagger:model v1CSIVolumeSource -type V1CSIVolumeSource struct { - - // Driver is the name of the CSI driver that handles this volume. - // Consult with your admin for the correct name as registered in the cluster. - Driver string `json:"driver,omitempty"` - - // Filesystem type to mount. Ex. "ext4", "xfs", "ntfs". - // If not provided, the empty value is passed to the associated CSI driver - // which will determine the default filesystem to apply. - // +optional - FsType string `json:"fsType,omitempty"` - - // NodePublishSecretRef is a reference to the secret object containing - // sensitive information to pass to the CSI driver to complete the CSI - // NodePublishVolume and NodeUnpublishVolume calls. - // This field is optional, and may be empty if no secret is required. If the - // secret object contains more than one secret, all secret references are passed. - // +optional - NodePublishSecretRef *V1LocalObjectReference `json:"nodePublishSecretRef,omitempty"` - - // Specifies a read-only configuration for the volume. - // Defaults to false (read/write). - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // VolumeAttributes stores driver-specific properties that are passed to the CSI - // driver. Consult your driver's documentation for supported values. - // +optional - VolumeAttributes map[string]string `json:"volumeAttributes,omitempty"` -} - -// Validate validates this v1 c s i volume source -func (m *V1CSIVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateNodePublishSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1CSIVolumeSource) validateNodePublishSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.NodePublishSecretRef) { // not required - return nil - } - - if m.NodePublishSecretRef != nil { - if err := m.NodePublishSecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodePublishSecretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodePublishSecretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 c s i volume source based on the context it is used -func (m *V1CSIVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateNodePublishSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1CSIVolumeSource) contextValidateNodePublishSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.NodePublishSecretRef != nil { - if err := m.NodePublishSecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodePublishSecretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodePublishSecretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1CSIVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1CSIVolumeSource) UnmarshalBinary(b []byte) error { - var res V1CSIVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_capabilities.go b/components/common/api/def/clients/config/models/v1_capabilities.go deleted file mode 100644 index c13156c..0000000 --- a/components/common/api/def/clients/config/models/v1_capabilities.go +++ /dev/null @@ -1,55 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Capabilities Adds and removes POSIX capabilities from running containers. -// -// swagger:model v1Capabilities -type V1Capabilities struct { - - // Added capabilities - // +optional - Add []string `json:"add"` - - // Removed capabilities - // +optional - Drop []string `json:"drop"` -} - -// Validate validates this v1 capabilities -func (m *V1Capabilities) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 capabilities based on context it is used -func (m *V1Capabilities) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1Capabilities) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Capabilities) UnmarshalBinary(b []byte) error { - var res V1Capabilities - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_ceph_f_s_volume_source.go b/components/common/api/def/clients/config/models/v1_ceph_f_s_volume_source.go deleted file mode 100644 index a141e03..0000000 --- a/components/common/api/def/clients/config/models/v1_ceph_f_s_volume_source.go +++ /dev/null @@ -1,131 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1CephFSVolumeSource Represents a Ceph Filesystem mount that lasts the lifetime of a pod -// Cephfs volumes do not support ownership management or SELinux relabeling. -// -// swagger:model v1CephFSVolumeSource -type V1CephFSVolumeSource struct { - - // Required: Monitors is a collection of Ceph monitors - // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it - Monitors []string `json:"monitors"` - - // Optional: Used as the mounted root, rather than the full Ceph tree, default is / - // +optional - Path string `json:"path,omitempty"` - - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Optional: SecretFile is the path to key ring for User, default is /etc/ceph/user.secret - // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it - // +optional - SecretFile string `json:"secretFile,omitempty"` - - // Optional: SecretRef is reference to the authentication secret for User, default is empty. - // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it - // +optional - SecretRef *V1LocalObjectReference `json:"secretRef,omitempty"` - - // Optional: User is the rados user name, default is admin - // More info: https://examples.k8s.io/volumes/cephfs/README.md#how-to-use-it - // +optional - User string `json:"user,omitempty"` -} - -// Validate validates this v1 ceph f s volume source -func (m *V1CephFSVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1CephFSVolumeSource) validateSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretRef) { // not required - return nil - } - - if m.SecretRef != nil { - if err := m.SecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 ceph f s volume source based on the context it is used -func (m *V1CephFSVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1CephFSVolumeSource) contextValidateSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretRef != nil { - if err := m.SecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1CephFSVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1CephFSVolumeSource) UnmarshalBinary(b []byte) error { - var res V1CephFSVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_cinder_volume_source.go b/components/common/api/def/clients/config/models/v1_cinder_volume_source.go deleted file mode 100644 index c9f7689..0000000 --- a/components/common/api/def/clients/config/models/v1_cinder_volume_source.go +++ /dev/null @@ -1,126 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1CinderVolumeSource Represents a cinder volume resource in Openstack. -// A Cinder volume must exist before mounting to a container. -// The volume must also be in the same region as the kubelet. -// Cinder volumes support ownership management and SELinux relabeling. -// -// swagger:model v1CinderVolumeSource -type V1CinderVolumeSource struct { - - // Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // More info: https://examples.k8s.io/mysql-cinder-pd/README.md - // +optional - FsType string `json:"fsType,omitempty"` - - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // More info: https://examples.k8s.io/mysql-cinder-pd/README.md - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Optional: points to a secret object containing parameters used to connect - // to OpenStack. - // +optional - SecretRef *V1LocalObjectReference `json:"secretRef,omitempty"` - - // volume id used to identify the volume in cinder. - // More info: https://examples.k8s.io/mysql-cinder-pd/README.md - VolumeID string `json:"volumeID,omitempty"` -} - -// Validate validates this v1 cinder volume source -func (m *V1CinderVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1CinderVolumeSource) validateSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretRef) { // not required - return nil - } - - if m.SecretRef != nil { - if err := m.SecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 cinder volume source based on the context it is used -func (m *V1CinderVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1CinderVolumeSource) contextValidateSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretRef != nil { - if err := m.SecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1CinderVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1CinderVolumeSource) UnmarshalBinary(b []byte) error { - var res V1CinderVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_config_map_env_source.go b/components/common/api/def/clients/config/models/v1_config_map_env_source.go deleted file mode 100644 index d7b7883..0000000 --- a/components/common/api/def/clients/config/models/v1_config_map_env_source.go +++ /dev/null @@ -1,112 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ConfigMapEnvSource ConfigMapEnvSource selects a ConfigMap to populate the environment -// variables with. -// -// The contents of the target ConfigMap's Data field will represent the -// key-value pairs as environment variables. -// -// swagger:model v1ConfigMapEnvSource -type V1ConfigMapEnvSource struct { - - // The ConfigMap to select from. - LocalObjectReference *V1LocalObjectReference `json:"localObjectReference,omitempty"` - - // Specify whether the ConfigMap must be defined - // +optional - Optional bool `json:"optional,omitempty"` -} - -// Validate validates this v1 config map env source -func (m *V1ConfigMapEnvSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLocalObjectReference(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ConfigMapEnvSource) validateLocalObjectReference(formats strfmt.Registry) error { - if swag.IsZero(m.LocalObjectReference) { // not required - return nil - } - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 config map env source based on the context it is used -func (m *V1ConfigMapEnvSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLocalObjectReference(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ConfigMapEnvSource) contextValidateLocalObjectReference(ctx context.Context, formats strfmt.Registry) error { - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1ConfigMapEnvSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ConfigMapEnvSource) UnmarshalBinary(b []byte) error { - var res V1ConfigMapEnvSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_config_map_key_selector.go b/components/common/api/def/clients/config/models/v1_config_map_key_selector.go deleted file mode 100644 index 3d9d5e6..0000000 --- a/components/common/api/def/clients/config/models/v1_config_map_key_selector.go +++ /dev/null @@ -1,111 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ConfigMapKeySelector Selects a key from a ConfigMap. -// -// swagger:model v1ConfigMapKeySelector -type V1ConfigMapKeySelector struct { - - // The key to select. - Key string `json:"key,omitempty"` - - // The ConfigMap to select from. - LocalObjectReference *V1LocalObjectReference `json:"localObjectReference,omitempty"` - - // Specify whether the ConfigMap or its key must be defined - // +optional - Optional bool `json:"optional,omitempty"` -} - -// Validate validates this v1 config map key selector -func (m *V1ConfigMapKeySelector) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLocalObjectReference(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ConfigMapKeySelector) validateLocalObjectReference(formats strfmt.Registry) error { - if swag.IsZero(m.LocalObjectReference) { // not required - return nil - } - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 config map key selector based on the context it is used -func (m *V1ConfigMapKeySelector) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLocalObjectReference(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ConfigMapKeySelector) contextValidateLocalObjectReference(ctx context.Context, formats strfmt.Registry) error { - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1ConfigMapKeySelector) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ConfigMapKeySelector) UnmarshalBinary(b []byte) error { - var res V1ConfigMapKeySelector - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_config_map_projection.go b/components/common/api/def/clients/config/models/v1_config_map_projection.go deleted file mode 100644 index bb70591..0000000 --- a/components/common/api/def/clients/config/models/v1_config_map_projection.go +++ /dev/null @@ -1,179 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ConfigMapProjection Adapts a ConfigMap into a projected volume. -// -// The contents of the target ConfigMap's Data field will be presented in a -// projected volume as files using the keys in the Data field as the file names, -// unless the items element is populated with specific mappings of keys to paths. -// Note that this is identical to a configmap volume source without the default -// mode. -// -// swagger:model v1ConfigMapProjection -type V1ConfigMapProjection struct { - - // If unspecified, each key-value pair in the Data field of the referenced - // ConfigMap will be projected into the volume as a file whose name is the - // key and content is the value. If specified, the listed keys will be - // projected into the specified paths, and unlisted keys will not be - // present. If a key is specified which is not present in the ConfigMap, - // the volume setup will error unless it is marked optional. Paths must be - // relative and may not contain the '..' path or start with '..'. - // +optional - Items []*V1KeyToPath `json:"items"` - - // local object reference - LocalObjectReference *V1LocalObjectReference `json:"localObjectReference,omitempty"` - - // Specify whether the ConfigMap or its keys must be defined - // +optional - Optional bool `json:"optional,omitempty"` -} - -// Validate validates this v1 config map projection -func (m *V1ConfigMapProjection) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLocalObjectReference(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ConfigMapProjection) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1ConfigMapProjection) validateLocalObjectReference(formats strfmt.Registry) error { - if swag.IsZero(m.LocalObjectReference) { // not required - return nil - } - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 config map projection based on the context it is used -func (m *V1ConfigMapProjection) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLocalObjectReference(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ConfigMapProjection) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1ConfigMapProjection) contextValidateLocalObjectReference(ctx context.Context, formats strfmt.Registry) error { - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1ConfigMapProjection) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ConfigMapProjection) UnmarshalBinary(b []byte) error { - var res V1ConfigMapProjection - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_config_map_volume_source.go b/components/common/api/def/clients/config/models/v1_config_map_volume_source.go deleted file mode 100644 index e46bb74..0000000 --- a/components/common/api/def/clients/config/models/v1_config_map_volume_source.go +++ /dev/null @@ -1,188 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ConfigMapVolumeSource Adapts a ConfigMap into a volume. -// -// The contents of the target ConfigMap's Data field will be presented in a -// volume as files using the keys in the Data field as the file names, unless -// the items element is populated with specific mappings of keys to paths. -// ConfigMap volumes support ownership management and SELinux relabeling. -// -// swagger:model v1ConfigMapVolumeSource -type V1ConfigMapVolumeSource struct { - - // Optional: mode bits used to set permissions on created files by default. - // Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. - // YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. - // Defaults to 0644. - // Directories within the path are not affected by this setting. - // This might be in conflict with other options that affect the file - // mode, like fsGroup, and the result can be other mode bits set. - // +optional - DefaultMode int32 `json:"defaultMode,omitempty"` - - // If unspecified, each key-value pair in the Data field of the referenced - // ConfigMap will be projected into the volume as a file whose name is the - // key and content is the value. If specified, the listed keys will be - // projected into the specified paths, and unlisted keys will not be - // present. If a key is specified which is not present in the ConfigMap, - // the volume setup will error unless it is marked optional. Paths must be - // relative and may not contain the '..' path or start with '..'. - // +optional - Items []*V1KeyToPath `json:"items"` - - // local object reference - LocalObjectReference *V1LocalObjectReference `json:"localObjectReference,omitempty"` - - // Specify whether the ConfigMap or its keys must be defined - // +optional - Optional bool `json:"optional,omitempty"` -} - -// Validate validates this v1 config map volume source -func (m *V1ConfigMapVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLocalObjectReference(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ConfigMapVolumeSource) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1ConfigMapVolumeSource) validateLocalObjectReference(formats strfmt.Registry) error { - if swag.IsZero(m.LocalObjectReference) { // not required - return nil - } - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 config map volume source based on the context it is used -func (m *V1ConfigMapVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLocalObjectReference(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ConfigMapVolumeSource) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1ConfigMapVolumeSource) contextValidateLocalObjectReference(ctx context.Context, formats strfmt.Registry) error { - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1ConfigMapVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ConfigMapVolumeSource) UnmarshalBinary(b []byte) error { - var res V1ConfigMapVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_container.go b/components/common/api/def/clients/config/models/v1_container.go deleted file mode 100644 index ca957e3..0000000 --- a/components/common/api/def/clients/config/models/v1_container.go +++ /dev/null @@ -1,762 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Container A single application container that you want to run within a pod. -// -// swagger:model v1Container -type V1Container struct { - - // Arguments to the entrypoint. - // The docker image's CMD is used if this is not provided. - // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax - // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - // regardless of whether the variable exists or not. - // Cannot be updated. - // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - // +optional - Args []string `json:"args"` - - // Entrypoint array. Not executed within a shell. - // The docker image's ENTRYPOINT is used if this is not provided. - // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax - // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - // regardless of whether the variable exists or not. - // Cannot be updated. - // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - // +optional - Command []string `json:"command"` - - // List of environment variables to set in the container. - // Cannot be updated. - // +optional - // +patchMergeKey=name - // +patchStrategy=merge - Env []*V1EnvVar `json:"env"` - - // List of sources to populate environment variables in the container. - // The keys defined within a source must be a C_IDENTIFIER. All invalid keys - // will be reported as an event when the container is starting. When a key exists in multiple - // sources, the value associated with the last source will take precedence. - // Values defined by an Env with a duplicate key will take precedence. - // Cannot be updated. - // +optional - EnvFrom []*V1EnvFromSource `json:"envFrom"` - - // Docker image name. - // More info: https://kubernetes.io/docs/concepts/containers/images - // This field is optional to allow higher level config management to default or override - // container images in workload controllers like Deployments and StatefulSets. - // +optional - Image string `json:"image,omitempty"` - - // Image pull policy. - // One of Always, Never, IfNotPresent. - // Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/containers/images#updating-images - // +optional - ImagePullPolicy string `json:"imagePullPolicy,omitempty"` - - // Actions that the management system should take in response to container lifecycle events. - // Cannot be updated. - // +optional - Lifecycle *V1Lifecycle `json:"lifecycle,omitempty"` - - // Periodic probe of container liveness. - // Container will be restarted if the probe fails. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - // +optional - LivenessProbe *V1Probe `json:"livenessProbe,omitempty"` - - // Name of the container specified as a DNS_LABEL. - // Each container in a pod must have a unique name (DNS_LABEL). - // Cannot be updated. - Name string `json:"name,omitempty"` - - // List of ports to expose from the container. Exposing a port here gives - // the system additional information about the network connections a - // container uses, but is primarily informational. Not specifying a port here - // DOES NOT prevent that port from being exposed. Any port which is - // listening on the default "0.0.0.0" address inside a container will be - // accessible from the network. - // Cannot be updated. - // +optional - // +patchMergeKey=containerPort - // +patchStrategy=merge - // +listType=map - // +listMapKey=containerPort - // +listMapKey=protocol - Ports []*V1ContainerPort `json:"ports"` - - // Periodic probe of container service readiness. - // Container will be removed from service endpoints if the probe fails. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - // +optional - ReadinessProbe *V1Probe `json:"readinessProbe,omitempty"` - - // Compute Resources required by this container. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/ - // +optional - Resources *Corev1ResourceRequirements `json:"resources,omitempty"` - - // Security options the pod should run with. - // More info: https://kubernetes.io/docs/concepts/policy/security-context/ - // More info: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/ - // +optional - SecurityContext *V1SecurityContext `json:"securityContext,omitempty"` - - // StartupProbe indicates that the Pod has successfully initialized. - // If specified, no other probes are executed until this completes successfully. - // If this probe fails, the Pod will be restarted, just as if the livenessProbe failed. - // This can be used to provide different probe parameters at the beginning of a Pod's lifecycle, - // when it might take a long time to load data or warm a cache, than during steady-state operation. - // This cannot be updated. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - // +optional - StartupProbe *V1Probe `json:"startupProbe,omitempty"` - - // Whether this container should allocate a buffer for stdin in the container runtime. If this - // is not set, reads from stdin in the container will always result in EOF. - // Default is false. - // +optional - Stdin bool `json:"stdin,omitempty"` - - // Whether the container runtime should close the stdin channel after it has been opened by - // a single attach. When stdin is true the stdin stream will remain open across multiple attach - // sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the - // first client attaches to stdin, and then remains open and accepts data until the client disconnects, - // at which time stdin is closed and remains closed until the container is restarted. If this - // flag is false, a container processes that reads from stdin will never receive an EOF. - // Default is false - // +optional - StdinOnce bool `json:"stdinOnce,omitempty"` - - // Optional: Path at which the file to which the container's termination message - // will be written is mounted into the container's filesystem. - // Message written is intended to be brief final status, such as an assertion failure message. - // Will be truncated by the node if greater than 4096 bytes. The total message length across - // all containers will be limited to 12kb. - // Defaults to /dev/termination-log. - // Cannot be updated. - // +optional - TerminationMessagePath string `json:"terminationMessagePath,omitempty"` - - // Indicate how the termination message should be populated. File will use the contents of - // terminationMessagePath to populate the container status message on both success and failure. - // FallbackToLogsOnError will use the last chunk of container log output if the termination - // message file is empty and the container exited with an error. - // The log output is limited to 2048 bytes or 80 lines, whichever is smaller. - // Defaults to File. - // Cannot be updated. - // +optional - TerminationMessagePolicy string `json:"terminationMessagePolicy,omitempty"` - - // Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. - // Default is false. - // +optional - Tty bool `json:"tty,omitempty"` - - // volumeDevices is the list of block devices to be used by the container. - // +patchMergeKey=devicePath - // +patchStrategy=merge - // +optional - VolumeDevices []*V1VolumeDevice `json:"volumeDevices"` - - // Pod volumes to mount into the container's filesystem. - // Cannot be updated. - // +optional - // +patchMergeKey=mountPath - // +patchStrategy=merge - VolumeMounts []*Corev1VolumeMount `json:"volumeMounts"` - - // Container's working directory. - // If not specified, the container runtime's default will be used, which - // might be configured in the container image. - // Cannot be updated. - // +optional - WorkingDir string `json:"workingDir,omitempty"` -} - -// Validate validates this v1 container -func (m *V1Container) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateEnv(formats); err != nil { - res = append(res, err) - } - - if err := m.validateEnvFrom(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLifecycle(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLivenessProbe(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePorts(formats); err != nil { - res = append(res, err) - } - - if err := m.validateReadinessProbe(formats); err != nil { - res = append(res, err) - } - - if err := m.validateResources(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSecurityContext(formats); err != nil { - res = append(res, err) - } - - if err := m.validateStartupProbe(formats); err != nil { - res = append(res, err) - } - - if err := m.validateVolumeDevices(formats); err != nil { - res = append(res, err) - } - - if err := m.validateVolumeMounts(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Container) validateEnv(formats strfmt.Registry) error { - if swag.IsZero(m.Env) { // not required - return nil - } - - for i := 0; i < len(m.Env); i++ { - if swag.IsZero(m.Env[i]) { // not required - continue - } - - if m.Env[i] != nil { - if err := m.Env[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("env" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("env" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1Container) validateEnvFrom(formats strfmt.Registry) error { - if swag.IsZero(m.EnvFrom) { // not required - return nil - } - - for i := 0; i < len(m.EnvFrom); i++ { - if swag.IsZero(m.EnvFrom[i]) { // not required - continue - } - - if m.EnvFrom[i] != nil { - if err := m.EnvFrom[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("envFrom" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("envFrom" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1Container) validateLifecycle(formats strfmt.Registry) error { - if swag.IsZero(m.Lifecycle) { // not required - return nil - } - - if m.Lifecycle != nil { - if err := m.Lifecycle.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lifecycle") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lifecycle") - } - return err - } - } - - return nil -} - -func (m *V1Container) validateLivenessProbe(formats strfmt.Registry) error { - if swag.IsZero(m.LivenessProbe) { // not required - return nil - } - - if m.LivenessProbe != nil { - if err := m.LivenessProbe.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("livenessProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("livenessProbe") - } - return err - } - } - - return nil -} - -func (m *V1Container) validatePorts(formats strfmt.Registry) error { - if swag.IsZero(m.Ports) { // not required - return nil - } - - for i := 0; i < len(m.Ports); i++ { - if swag.IsZero(m.Ports[i]) { // not required - continue - } - - if m.Ports[i] != nil { - if err := m.Ports[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ports" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ports" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1Container) validateReadinessProbe(formats strfmt.Registry) error { - if swag.IsZero(m.ReadinessProbe) { // not required - return nil - } - - if m.ReadinessProbe != nil { - if err := m.ReadinessProbe.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("readinessProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("readinessProbe") - } - return err - } - } - - return nil -} - -func (m *V1Container) validateResources(formats strfmt.Registry) error { - if swag.IsZero(m.Resources) { // not required - return nil - } - - if m.Resources != nil { - if err := m.Resources.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resources") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resources") - } - return err - } - } - - return nil -} - -func (m *V1Container) validateSecurityContext(formats strfmt.Registry) error { - if swag.IsZero(m.SecurityContext) { // not required - return nil - } - - if m.SecurityContext != nil { - if err := m.SecurityContext.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("securityContext") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("securityContext") - } - return err - } - } - - return nil -} - -func (m *V1Container) validateStartupProbe(formats strfmt.Registry) error { - if swag.IsZero(m.StartupProbe) { // not required - return nil - } - - if m.StartupProbe != nil { - if err := m.StartupProbe.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("startupProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("startupProbe") - } - return err - } - } - - return nil -} - -func (m *V1Container) validateVolumeDevices(formats strfmt.Registry) error { - if swag.IsZero(m.VolumeDevices) { // not required - return nil - } - - for i := 0; i < len(m.VolumeDevices); i++ { - if swag.IsZero(m.VolumeDevices[i]) { // not required - continue - } - - if m.VolumeDevices[i] != nil { - if err := m.VolumeDevices[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeDevices" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeDevices" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1Container) validateVolumeMounts(formats strfmt.Registry) error { - if swag.IsZero(m.VolumeMounts) { // not required - return nil - } - - for i := 0; i < len(m.VolumeMounts); i++ { - if swag.IsZero(m.VolumeMounts[i]) { // not required - continue - } - - if m.VolumeMounts[i] != nil { - if err := m.VolumeMounts[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeMounts" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeMounts" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 container based on the context it is used -func (m *V1Container) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateEnv(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateEnvFrom(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLifecycle(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLivenessProbe(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePorts(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateReadinessProbe(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateResources(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSecurityContext(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateStartupProbe(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateVolumeDevices(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateVolumeMounts(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Container) contextValidateEnv(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Env); i++ { - - if m.Env[i] != nil { - if err := m.Env[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("env" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("env" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1Container) contextValidateEnvFrom(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.EnvFrom); i++ { - - if m.EnvFrom[i] != nil { - if err := m.EnvFrom[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("envFrom" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("envFrom" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1Container) contextValidateLifecycle(ctx context.Context, formats strfmt.Registry) error { - - if m.Lifecycle != nil { - if err := m.Lifecycle.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lifecycle") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lifecycle") - } - return err - } - } - - return nil -} - -func (m *V1Container) contextValidateLivenessProbe(ctx context.Context, formats strfmt.Registry) error { - - if m.LivenessProbe != nil { - if err := m.LivenessProbe.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("livenessProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("livenessProbe") - } - return err - } - } - - return nil -} - -func (m *V1Container) contextValidatePorts(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Ports); i++ { - - if m.Ports[i] != nil { - if err := m.Ports[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ports" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ports" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1Container) contextValidateReadinessProbe(ctx context.Context, formats strfmt.Registry) error { - - if m.ReadinessProbe != nil { - if err := m.ReadinessProbe.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("readinessProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("readinessProbe") - } - return err - } - } - - return nil -} - -func (m *V1Container) contextValidateResources(ctx context.Context, formats strfmt.Registry) error { - - if m.Resources != nil { - if err := m.Resources.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resources") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resources") - } - return err - } - } - - return nil -} - -func (m *V1Container) contextValidateSecurityContext(ctx context.Context, formats strfmt.Registry) error { - - if m.SecurityContext != nil { - if err := m.SecurityContext.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("securityContext") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("securityContext") - } - return err - } - } - - return nil -} - -func (m *V1Container) contextValidateStartupProbe(ctx context.Context, formats strfmt.Registry) error { - - if m.StartupProbe != nil { - if err := m.StartupProbe.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("startupProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("startupProbe") - } - return err - } - } - - return nil -} - -func (m *V1Container) contextValidateVolumeDevices(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.VolumeDevices); i++ { - - if m.VolumeDevices[i] != nil { - if err := m.VolumeDevices[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeDevices" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeDevices" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1Container) contextValidateVolumeMounts(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.VolumeMounts); i++ { - - if m.VolumeMounts[i] != nil { - if err := m.VolumeMounts[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeMounts" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeMounts" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1Container) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Container) UnmarshalBinary(b []byte) error { - var res V1Container - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_container_port.go b/components/common/api/def/clients/config/models/v1_container_port.go deleted file mode 100644 index 286142a..0000000 --- a/components/common/api/def/clients/config/models/v1_container_port.go +++ /dev/null @@ -1,74 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ContainerPort ContainerPort represents a network port in a single container. -// -// swagger:model v1ContainerPort -type V1ContainerPort struct { - - // Number of port to expose on the pod's IP address. - // This must be a valid port number, 0 < x < 65536. - ContainerPort int32 `json:"containerPort,omitempty"` - - // What host IP to bind the external port to. - // +optional - HostIP string `json:"hostIP,omitempty"` - - // Number of port to expose on the host. - // If specified, this must be a valid port number, 0 < x < 65536. - // If HostNetwork is specified, this must match ContainerPort. - // Most containers do not need this. - // +optional - HostPort int32 `json:"hostPort,omitempty"` - - // If specified, this must be an IANA_SVC_NAME and unique within the pod. Each - // named port in a pod must have a unique name. Name for the port that can be - // referred to by services. - // +optional - Name string `json:"name,omitempty"` - - // Protocol for port. Must be UDP, TCP, or SCTP. - // Defaults to "TCP". - // +optional - // +default="TCP" - Protocol string `json:"protocol,omitempty"` -} - -// Validate validates this v1 container port -func (m *V1ContainerPort) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 container port based on context it is used -func (m *V1ContainerPort) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1ContainerPort) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ContainerPort) UnmarshalBinary(b []byte) error { - var res V1ContainerPort - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_downward_api_projection.go b/components/common/api/def/clients/config/models/v1_downward_api_projection.go deleted file mode 100644 index bb4c399..0000000 --- a/components/common/api/def/clients/config/models/v1_downward_api_projection.go +++ /dev/null @@ -1,119 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1DownwardAPIProjection Represents downward API info for projecting into a projected volume. -// Note that this is identical to a downwardAPI volume source without the default -// mode. -// -// swagger:model v1DownwardAPIProjection -type V1DownwardAPIProjection struct { - - // Items is a list of DownwardAPIVolume file - // +optional - Items []*V1DownwardAPIVolumeFile `json:"items"` -} - -// Validate validates this v1 downward API projection -func (m *V1DownwardAPIProjection) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1DownwardAPIProjection) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 downward API projection based on the context it is used -func (m *V1DownwardAPIProjection) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1DownwardAPIProjection) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1DownwardAPIProjection) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1DownwardAPIProjection) UnmarshalBinary(b []byte) error { - var res V1DownwardAPIProjection - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_downward_api_volume_file.go b/components/common/api/def/clients/config/models/v1_downward_api_volume_file.go deleted file mode 100644 index b92af62..0000000 --- a/components/common/api/def/clients/config/models/v1_downward_api_volume_file.go +++ /dev/null @@ -1,165 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1DownwardAPIVolumeFile DownwardAPIVolumeFile represents information to create the file containing the pod field -// -// swagger:model v1DownwardAPIVolumeFile -type V1DownwardAPIVolumeFile struct { - - // Required: Selects a field of the pod: only annotations, labels, name and namespace are supported. - // +optional - FieldRef *V1ObjectFieldSelector `json:"fieldRef,omitempty"` - - // Optional: mode bits used to set permissions on this file, must be an octal value - // between 0000 and 0777 or a decimal value between 0 and 511. - // YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. - // If not specified, the volume defaultMode will be used. - // This might be in conflict with other options that affect the file - // mode, like fsGroup, and the result can be other mode bits set. - // +optional - Mode int32 `json:"mode,omitempty"` - - // Required: Path is the relative path name of the file to be created. Must not be absolute or contain the '..' path. Must be utf-8 encoded. The first item of the relative path must not start with '..' - Path string `json:"path,omitempty"` - - // Selects a resource of the container: only resources limits and requests - // (limits.cpu, limits.memory, requests.cpu and requests.memory) are currently supported. - // +optional - ResourceFieldRef *V1ResourceFieldSelector `json:"resourceFieldRef,omitempty"` -} - -// Validate validates this v1 downward API volume file -func (m *V1DownwardAPIVolumeFile) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateFieldRef(formats); err != nil { - res = append(res, err) - } - - if err := m.validateResourceFieldRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1DownwardAPIVolumeFile) validateFieldRef(formats strfmt.Registry) error { - if swag.IsZero(m.FieldRef) { // not required - return nil - } - - if m.FieldRef != nil { - if err := m.FieldRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("fieldRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("fieldRef") - } - return err - } - } - - return nil -} - -func (m *V1DownwardAPIVolumeFile) validateResourceFieldRef(formats strfmt.Registry) error { - if swag.IsZero(m.ResourceFieldRef) { // not required - return nil - } - - if m.ResourceFieldRef != nil { - if err := m.ResourceFieldRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resourceFieldRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resourceFieldRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 downward API volume file based on the context it is used -func (m *V1DownwardAPIVolumeFile) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateFieldRef(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateResourceFieldRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1DownwardAPIVolumeFile) contextValidateFieldRef(ctx context.Context, formats strfmt.Registry) error { - - if m.FieldRef != nil { - if err := m.FieldRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("fieldRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("fieldRef") - } - return err - } - } - - return nil -} - -func (m *V1DownwardAPIVolumeFile) contextValidateResourceFieldRef(ctx context.Context, formats strfmt.Registry) error { - - if m.ResourceFieldRef != nil { - if err := m.ResourceFieldRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resourceFieldRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resourceFieldRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1DownwardAPIVolumeFile) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1DownwardAPIVolumeFile) UnmarshalBinary(b []byte) error { - var res V1DownwardAPIVolumeFile - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_downward_api_volume_source.go b/components/common/api/def/clients/config/models/v1_downward_api_volume_source.go deleted file mode 100644 index 4261376..0000000 --- a/components/common/api/def/clients/config/models/v1_downward_api_volume_source.go +++ /dev/null @@ -1,129 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1DownwardAPIVolumeSource DownwardAPIVolumeSource represents a volume containing downward API info. -// Downward API volumes support ownership management and SELinux relabeling. -// -// swagger:model v1DownwardAPIVolumeSource -type V1DownwardAPIVolumeSource struct { - - // Optional: mode bits to use on created files by default. Must be a - // Optional: mode bits used to set permissions on created files by default. - // Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. - // YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. - // Defaults to 0644. - // Directories within the path are not affected by this setting. - // This might be in conflict with other options that affect the file - // mode, like fsGroup, and the result can be other mode bits set. - // +optional - DefaultMode int32 `json:"defaultMode,omitempty"` - - // Items is a list of downward API volume file - // +optional - Items []*V1DownwardAPIVolumeFile `json:"items"` -} - -// Validate validates this v1 downward API volume source -func (m *V1DownwardAPIVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1DownwardAPIVolumeSource) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 downward API volume source based on the context it is used -func (m *V1DownwardAPIVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1DownwardAPIVolumeSource) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1DownwardAPIVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1DownwardAPIVolumeSource) UnmarshalBinary(b []byte) error { - var res V1DownwardAPIVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_empty_dir_volume_source.go b/components/common/api/def/clients/config/models/v1_empty_dir_volume_source.go deleted file mode 100644 index 4402497..0000000 --- a/components/common/api/def/clients/config/models/v1_empty_dir_volume_source.go +++ /dev/null @@ -1,118 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1EmptyDirVolumeSource Represents an empty directory for a pod. -// Empty directory volumes support ownership management and SELinux relabeling. -// -// swagger:model v1EmptyDirVolumeSource -type V1EmptyDirVolumeSource struct { - - // What type of storage medium should back this directory. - // The default is "" which means to use the node's default medium. - // Must be an empty string (default) or Memory. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir - // +optional - Medium string `json:"medium,omitempty"` - - // Total amount of local storage required for this EmptyDir volume. - // The size limit is also applicable for memory medium. - // The maximum usage on memory medium EmptyDir would be the minimum value between - // the SizeLimit specified here and the sum of memory limits of all containers in a pod. - // The default is nil which means that the limit is undefined. - // More info: http://kubernetes.io/docs/user-guide/volumes#emptydir - // +optional - SizeLimit *ResourceQuantity `json:"sizeLimit,omitempty"` -} - -// Validate validates this v1 empty dir volume source -func (m *V1EmptyDirVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSizeLimit(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EmptyDirVolumeSource) validateSizeLimit(formats strfmt.Registry) error { - if swag.IsZero(m.SizeLimit) { // not required - return nil - } - - if m.SizeLimit != nil { - if err := m.SizeLimit.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("sizeLimit") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("sizeLimit") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 empty dir volume source based on the context it is used -func (m *V1EmptyDirVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSizeLimit(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EmptyDirVolumeSource) contextValidateSizeLimit(ctx context.Context, formats strfmt.Registry) error { - - if m.SizeLimit != nil { - if err := m.SizeLimit.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("sizeLimit") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("sizeLimit") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1EmptyDirVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1EmptyDirVolumeSource) UnmarshalBinary(b []byte) error { - var res V1EmptyDirVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_env_from_source.go b/components/common/api/def/clients/config/models/v1_env_from_source.go deleted file mode 100644 index 1ca1f70..0000000 --- a/components/common/api/def/clients/config/models/v1_env_from_source.go +++ /dev/null @@ -1,156 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1EnvFromSource EnvFromSource represents the source of a set of ConfigMaps -// -// swagger:model v1EnvFromSource -type V1EnvFromSource struct { - - // The ConfigMap to select from - // +optional - ConfigMapRef *V1ConfigMapEnvSource `json:"configMapRef,omitempty"` - - // An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER. - // +optional - Prefix string `json:"prefix,omitempty"` - - // The Secret to select from - // +optional - SecretRef *V1SecretEnvSource `json:"secretRef,omitempty"` -} - -// Validate validates this v1 env from source -func (m *V1EnvFromSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateConfigMapRef(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EnvFromSource) validateConfigMapRef(formats strfmt.Registry) error { - if swag.IsZero(m.ConfigMapRef) { // not required - return nil - } - - if m.ConfigMapRef != nil { - if err := m.ConfigMapRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("configMapRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("configMapRef") - } - return err - } - } - - return nil -} - -func (m *V1EnvFromSource) validateSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretRef) { // not required - return nil - } - - if m.SecretRef != nil { - if err := m.SecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 env from source based on the context it is used -func (m *V1EnvFromSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateConfigMapRef(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EnvFromSource) contextValidateConfigMapRef(ctx context.Context, formats strfmt.Registry) error { - - if m.ConfigMapRef != nil { - if err := m.ConfigMapRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("configMapRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("configMapRef") - } - return err - } - } - - return nil -} - -func (m *V1EnvFromSource) contextValidateSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretRef != nil { - if err := m.SecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1EnvFromSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1EnvFromSource) UnmarshalBinary(b []byte) error { - var res V1EnvFromSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_env_var.go b/components/common/api/def/clients/config/models/v1_env_var.go deleted file mode 100644 index e96d55a..0000000 --- a/components/common/api/def/clients/config/models/v1_env_var.go +++ /dev/null @@ -1,119 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1EnvVar EnvVar represents an environment variable present in a Container. -// -// swagger:model v1EnvVar -type V1EnvVar struct { - - // Name of the environment variable. Must be a C_IDENTIFIER. - Name string `json:"name,omitempty"` - - // Variable references $(VAR_NAME) are expanded - // using the previous defined environment variables in the container and - // any service environment variables. If a variable cannot be resolved, - // the reference in the input string will be unchanged. The $(VAR_NAME) - // syntax can be escaped with a double $$, ie: $$(VAR_NAME). Escaped - // references will never be expanded, regardless of whether the variable - // exists or not. - // Defaults to "". - // +optional - Value string `json:"value,omitempty"` - - // Source for the environment variable's value. Cannot be used if value is not empty. - // +optional - ValueFrom *V1EnvVarSource `json:"valueFrom,omitempty"` -} - -// Validate validates this v1 env var -func (m *V1EnvVar) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateValueFrom(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EnvVar) validateValueFrom(formats strfmt.Registry) error { - if swag.IsZero(m.ValueFrom) { // not required - return nil - } - - if m.ValueFrom != nil { - if err := m.ValueFrom.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("valueFrom") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("valueFrom") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 env var based on the context it is used -func (m *V1EnvVar) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateValueFrom(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EnvVar) contextValidateValueFrom(ctx context.Context, formats strfmt.Registry) error { - - if m.ValueFrom != nil { - if err := m.ValueFrom.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("valueFrom") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("valueFrom") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1EnvVar) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1EnvVar) UnmarshalBinary(b []byte) error { - var res V1EnvVar - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_env_var_source.go b/components/common/api/def/clients/config/models/v1_env_var_source.go deleted file mode 100644 index 3f00b1c..0000000 --- a/components/common/api/def/clients/config/models/v1_env_var_source.go +++ /dev/null @@ -1,248 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1EnvVarSource EnvVarSource represents a source for the value of an EnvVar. -// -// swagger:model v1EnvVarSource -type V1EnvVarSource struct { - - // Selects a key of a ConfigMap. - // +optional - ConfigMapKeyRef *V1ConfigMapKeySelector `json:"configMapKeyRef,omitempty"` - - // Selects a field of the pod: supports metadata.name, metadata.namespace, `metadata.labels['']`, `metadata.annotations['']`, - // spec.nodeName, spec.serviceAccountName, status.hostIP, status.podIP, status.podIPs. - // +optional - FieldRef *V1ObjectFieldSelector `json:"fieldRef,omitempty"` - - // Selects a resource of the container: only resources limits and requests - // (limits.cpu, limits.memory, limits.ephemeral-storage, requests.cpu, requests.memory and requests.ephemeral-storage) are currently supported. - // +optional - ResourceFieldRef *V1ResourceFieldSelector `json:"resourceFieldRef,omitempty"` - - // Selects a key of a secret in the pod's namespace - // +optional - SecretKeyRef *V1SecretKeySelector `json:"secretKeyRef,omitempty"` -} - -// Validate validates this v1 env var source -func (m *V1EnvVarSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateConfigMapKeyRef(formats); err != nil { - res = append(res, err) - } - - if err := m.validateFieldRef(formats); err != nil { - res = append(res, err) - } - - if err := m.validateResourceFieldRef(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSecretKeyRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EnvVarSource) validateConfigMapKeyRef(formats strfmt.Registry) error { - if swag.IsZero(m.ConfigMapKeyRef) { // not required - return nil - } - - if m.ConfigMapKeyRef != nil { - if err := m.ConfigMapKeyRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("configMapKeyRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("configMapKeyRef") - } - return err - } - } - - return nil -} - -func (m *V1EnvVarSource) validateFieldRef(formats strfmt.Registry) error { - if swag.IsZero(m.FieldRef) { // not required - return nil - } - - if m.FieldRef != nil { - if err := m.FieldRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("fieldRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("fieldRef") - } - return err - } - } - - return nil -} - -func (m *V1EnvVarSource) validateResourceFieldRef(formats strfmt.Registry) error { - if swag.IsZero(m.ResourceFieldRef) { // not required - return nil - } - - if m.ResourceFieldRef != nil { - if err := m.ResourceFieldRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resourceFieldRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resourceFieldRef") - } - return err - } - } - - return nil -} - -func (m *V1EnvVarSource) validateSecretKeyRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretKeyRef) { // not required - return nil - } - - if m.SecretKeyRef != nil { - if err := m.SecretKeyRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretKeyRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretKeyRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 env var source based on the context it is used -func (m *V1EnvVarSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateConfigMapKeyRef(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateFieldRef(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateResourceFieldRef(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSecretKeyRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EnvVarSource) contextValidateConfigMapKeyRef(ctx context.Context, formats strfmt.Registry) error { - - if m.ConfigMapKeyRef != nil { - if err := m.ConfigMapKeyRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("configMapKeyRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("configMapKeyRef") - } - return err - } - } - - return nil -} - -func (m *V1EnvVarSource) contextValidateFieldRef(ctx context.Context, formats strfmt.Registry) error { - - if m.FieldRef != nil { - if err := m.FieldRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("fieldRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("fieldRef") - } - return err - } - } - - return nil -} - -func (m *V1EnvVarSource) contextValidateResourceFieldRef(ctx context.Context, formats strfmt.Registry) error { - - if m.ResourceFieldRef != nil { - if err := m.ResourceFieldRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resourceFieldRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resourceFieldRef") - } - return err - } - } - - return nil -} - -func (m *V1EnvVarSource) contextValidateSecretKeyRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretKeyRef != nil { - if err := m.SecretKeyRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretKeyRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretKeyRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1EnvVarSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1EnvVarSource) UnmarshalBinary(b []byte) error { - var res V1EnvVarSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_ephemeral_container.go b/components/common/api/def/clients/config/models/v1_ephemeral_container.go deleted file mode 100644 index cc6a322..0000000 --- a/components/common/api/def/clients/config/models/v1_ephemeral_container.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1EphemeralContainer An EphemeralContainer is a container that may be added temporarily to an existing pod for -// user-initiated activities such as debugging. Ephemeral containers have no resource or -// scheduling guarantees, and they will not be restarted when they exit or when a pod is -// removed or restarted. If an ephemeral container causes a pod to exceed its resource -// allocation, the pod may be evicted. -// Ephemeral containers may not be added by directly updating the pod spec. They must be added -// via the pod's ephemeralcontainers subresource, and they will appear in the pod spec -// once added. -// This is an alpha feature enabled by the EphemeralContainers feature flag. -// -// swagger:model v1EphemeralContainer -type V1EphemeralContainer struct { - - // Ephemeral containers have all of the fields of Container, plus additional fields - // specific to ephemeral containers. Fields in common with Container are in the - // following inlined struct so than an EphemeralContainer may easily be converted - // to a Container. - EphemeralContainerCommon *V1EphemeralContainerCommon `json:"ephemeralContainerCommon,omitempty"` - - // If set, the name of the container from PodSpec that this ephemeral container targets. - // The ephemeral container will be run in the namespaces (IPC, PID, etc) of this container. - // If not set then the ephemeral container is run in whatever namespaces are shared - // for the pod. Note that the container runtime must support this feature. - // +optional - TargetContainerName string `json:"targetContainerName,omitempty"` -} - -// Validate validates this v1 ephemeral container -func (m *V1EphemeralContainer) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateEphemeralContainerCommon(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EphemeralContainer) validateEphemeralContainerCommon(formats strfmt.Registry) error { - if swag.IsZero(m.EphemeralContainerCommon) { // not required - return nil - } - - if m.EphemeralContainerCommon != nil { - if err := m.EphemeralContainerCommon.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ephemeralContainerCommon") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ephemeralContainerCommon") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 ephemeral container based on the context it is used -func (m *V1EphemeralContainer) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateEphemeralContainerCommon(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EphemeralContainer) contextValidateEphemeralContainerCommon(ctx context.Context, formats strfmt.Registry) error { - - if m.EphemeralContainerCommon != nil { - if err := m.EphemeralContainerCommon.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ephemeralContainerCommon") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ephemeralContainerCommon") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1EphemeralContainer) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1EphemeralContainer) UnmarshalBinary(b []byte) error { - var res V1EphemeralContainer - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_ephemeral_container_common.go b/components/common/api/def/clients/config/models/v1_ephemeral_container_common.go deleted file mode 100644 index 9b4e281..0000000 --- a/components/common/api/def/clients/config/models/v1_ephemeral_container_common.go +++ /dev/null @@ -1,733 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1EphemeralContainerCommon EphemeralContainerCommon is a copy of all fields in Container to be inlined in -// EphemeralContainer. This separate type allows easy conversion from EphemeralContainer -// to Container and allows separate documentation for the fields of EphemeralContainer. -// When a new field is added to Container it must be added here as well. -// -// swagger:model v1EphemeralContainerCommon -type V1EphemeralContainerCommon struct { - - // Arguments to the entrypoint. - // The docker image's CMD is used if this is not provided. - // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax - // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - // regardless of whether the variable exists or not. - // Cannot be updated. - // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - // +optional - Args []string `json:"args"` - - // Entrypoint array. Not executed within a shell. - // The docker image's ENTRYPOINT is used if this is not provided. - // Variable references $(VAR_NAME) are expanded using the container's environment. If a variable - // cannot be resolved, the reference in the input string will be unchanged. The $(VAR_NAME) syntax - // can be escaped with a double $$, ie: $$(VAR_NAME). Escaped references will never be expanded, - // regardless of whether the variable exists or not. - // Cannot be updated. - // More info: https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#running-a-command-in-a-shell - // +optional - Command []string `json:"command"` - - // List of environment variables to set in the container. - // Cannot be updated. - // +optional - // +patchMergeKey=name - // +patchStrategy=merge - Env []*V1EnvVar `json:"env"` - - // List of sources to populate environment variables in the container. - // The keys defined within a source must be a C_IDENTIFIER. All invalid keys - // will be reported as an event when the container is starting. When a key exists in multiple - // sources, the value associated with the last source will take precedence. - // Values defined by an Env with a duplicate key will take precedence. - // Cannot be updated. - // +optional - EnvFrom []*V1EnvFromSource `json:"envFrom"` - - // Docker image name. - // More info: https://kubernetes.io/docs/concepts/containers/images - Image string `json:"image,omitempty"` - - // Image pull policy. - // One of Always, Never, IfNotPresent. - // Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/containers/images#updating-images - // +optional - ImagePullPolicy string `json:"imagePullPolicy,omitempty"` - - // Lifecycle is not allowed for ephemeral containers. - // +optional - Lifecycle *V1Lifecycle `json:"lifecycle,omitempty"` - - // Probes are not allowed for ephemeral containers. - // +optional - LivenessProbe *V1Probe `json:"livenessProbe,omitempty"` - - // Name of the ephemeral container specified as a DNS_LABEL. - // This name must be unique among all containers, init containers and ephemeral containers. - Name string `json:"name,omitempty"` - - // Ports are not allowed for ephemeral containers. - Ports []*V1ContainerPort `json:"ports"` - - // Probes are not allowed for ephemeral containers. - // +optional - ReadinessProbe *V1Probe `json:"readinessProbe,omitempty"` - - // Resources are not allowed for ephemeral containers. Ephemeral containers use spare resources - // already allocated to the pod. - // +optional - Resources *Corev1ResourceRequirements `json:"resources,omitempty"` - - // SecurityContext is not allowed for ephemeral containers. - // +optional - SecurityContext *V1SecurityContext `json:"securityContext,omitempty"` - - // Probes are not allowed for ephemeral containers. - // +optional - StartupProbe *V1Probe `json:"startupProbe,omitempty"` - - // Whether this container should allocate a buffer for stdin in the container runtime. If this - // is not set, reads from stdin in the container will always result in EOF. - // Default is false. - // +optional - Stdin bool `json:"stdin,omitempty"` - - // Whether the container runtime should close the stdin channel after it has been opened by - // a single attach. When stdin is true the stdin stream will remain open across multiple attach - // sessions. If stdinOnce is set to true, stdin is opened on container start, is empty until the - // first client attaches to stdin, and then remains open and accepts data until the client disconnects, - // at which time stdin is closed and remains closed until the container is restarted. If this - // flag is false, a container processes that reads from stdin will never receive an EOF. - // Default is false - // +optional - StdinOnce bool `json:"stdinOnce,omitempty"` - - // Optional: Path at which the file to which the container's termination message - // will be written is mounted into the container's filesystem. - // Message written is intended to be brief final status, such as an assertion failure message. - // Will be truncated by the node if greater than 4096 bytes. The total message length across - // all containers will be limited to 12kb. - // Defaults to /dev/termination-log. - // Cannot be updated. - // +optional - TerminationMessagePath string `json:"terminationMessagePath,omitempty"` - - // Indicate how the termination message should be populated. File will use the contents of - // terminationMessagePath to populate the container status message on both success and failure. - // FallbackToLogsOnError will use the last chunk of container log output if the termination - // message file is empty and the container exited with an error. - // The log output is limited to 2048 bytes or 80 lines, whichever is smaller. - // Defaults to File. - // Cannot be updated. - // +optional - TerminationMessagePolicy string `json:"terminationMessagePolicy,omitempty"` - - // Whether this container should allocate a TTY for itself, also requires 'stdin' to be true. - // Default is false. - // +optional - Tty bool `json:"tty,omitempty"` - - // volumeDevices is the list of block devices to be used by the container. - // +patchMergeKey=devicePath - // +patchStrategy=merge - // +optional - VolumeDevices []*V1VolumeDevice `json:"volumeDevices"` - - // Pod volumes to mount into the container's filesystem. - // Cannot be updated. - // +optional - // +patchMergeKey=mountPath - // +patchStrategy=merge - VolumeMounts []*Corev1VolumeMount `json:"volumeMounts"` - - // Container's working directory. - // If not specified, the container runtime's default will be used, which - // might be configured in the container image. - // Cannot be updated. - // +optional - WorkingDir string `json:"workingDir,omitempty"` -} - -// Validate validates this v1 ephemeral container common -func (m *V1EphemeralContainerCommon) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateEnv(formats); err != nil { - res = append(res, err) - } - - if err := m.validateEnvFrom(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLifecycle(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLivenessProbe(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePorts(formats); err != nil { - res = append(res, err) - } - - if err := m.validateReadinessProbe(formats); err != nil { - res = append(res, err) - } - - if err := m.validateResources(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSecurityContext(formats); err != nil { - res = append(res, err) - } - - if err := m.validateStartupProbe(formats); err != nil { - res = append(res, err) - } - - if err := m.validateVolumeDevices(formats); err != nil { - res = append(res, err) - } - - if err := m.validateVolumeMounts(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EphemeralContainerCommon) validateEnv(formats strfmt.Registry) error { - if swag.IsZero(m.Env) { // not required - return nil - } - - for i := 0; i < len(m.Env); i++ { - if swag.IsZero(m.Env[i]) { // not required - continue - } - - if m.Env[i] != nil { - if err := m.Env[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("env" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("env" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateEnvFrom(formats strfmt.Registry) error { - if swag.IsZero(m.EnvFrom) { // not required - return nil - } - - for i := 0; i < len(m.EnvFrom); i++ { - if swag.IsZero(m.EnvFrom[i]) { // not required - continue - } - - if m.EnvFrom[i] != nil { - if err := m.EnvFrom[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("envFrom" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("envFrom" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateLifecycle(formats strfmt.Registry) error { - if swag.IsZero(m.Lifecycle) { // not required - return nil - } - - if m.Lifecycle != nil { - if err := m.Lifecycle.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lifecycle") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lifecycle") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateLivenessProbe(formats strfmt.Registry) error { - if swag.IsZero(m.LivenessProbe) { // not required - return nil - } - - if m.LivenessProbe != nil { - if err := m.LivenessProbe.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("livenessProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("livenessProbe") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validatePorts(formats strfmt.Registry) error { - if swag.IsZero(m.Ports) { // not required - return nil - } - - for i := 0; i < len(m.Ports); i++ { - if swag.IsZero(m.Ports[i]) { // not required - continue - } - - if m.Ports[i] != nil { - if err := m.Ports[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ports" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ports" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateReadinessProbe(formats strfmt.Registry) error { - if swag.IsZero(m.ReadinessProbe) { // not required - return nil - } - - if m.ReadinessProbe != nil { - if err := m.ReadinessProbe.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("readinessProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("readinessProbe") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateResources(formats strfmt.Registry) error { - if swag.IsZero(m.Resources) { // not required - return nil - } - - if m.Resources != nil { - if err := m.Resources.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resources") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resources") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateSecurityContext(formats strfmt.Registry) error { - if swag.IsZero(m.SecurityContext) { // not required - return nil - } - - if m.SecurityContext != nil { - if err := m.SecurityContext.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("securityContext") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("securityContext") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateStartupProbe(formats strfmt.Registry) error { - if swag.IsZero(m.StartupProbe) { // not required - return nil - } - - if m.StartupProbe != nil { - if err := m.StartupProbe.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("startupProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("startupProbe") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateVolumeDevices(formats strfmt.Registry) error { - if swag.IsZero(m.VolumeDevices) { // not required - return nil - } - - for i := 0; i < len(m.VolumeDevices); i++ { - if swag.IsZero(m.VolumeDevices[i]) { // not required - continue - } - - if m.VolumeDevices[i] != nil { - if err := m.VolumeDevices[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeDevices" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeDevices" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1EphemeralContainerCommon) validateVolumeMounts(formats strfmt.Registry) error { - if swag.IsZero(m.VolumeMounts) { // not required - return nil - } - - for i := 0; i < len(m.VolumeMounts); i++ { - if swag.IsZero(m.VolumeMounts[i]) { // not required - continue - } - - if m.VolumeMounts[i] != nil { - if err := m.VolumeMounts[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeMounts" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeMounts" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 ephemeral container common based on the context it is used -func (m *V1EphemeralContainerCommon) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateEnv(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateEnvFrom(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLifecycle(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLivenessProbe(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePorts(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateReadinessProbe(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateResources(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSecurityContext(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateStartupProbe(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateVolumeDevices(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateVolumeMounts(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateEnv(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Env); i++ { - - if m.Env[i] != nil { - if err := m.Env[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("env" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("env" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateEnvFrom(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.EnvFrom); i++ { - - if m.EnvFrom[i] != nil { - if err := m.EnvFrom[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("envFrom" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("envFrom" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateLifecycle(ctx context.Context, formats strfmt.Registry) error { - - if m.Lifecycle != nil { - if err := m.Lifecycle.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lifecycle") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lifecycle") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateLivenessProbe(ctx context.Context, formats strfmt.Registry) error { - - if m.LivenessProbe != nil { - if err := m.LivenessProbe.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("livenessProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("livenessProbe") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidatePorts(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Ports); i++ { - - if m.Ports[i] != nil { - if err := m.Ports[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ports" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ports" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateReadinessProbe(ctx context.Context, formats strfmt.Registry) error { - - if m.ReadinessProbe != nil { - if err := m.ReadinessProbe.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("readinessProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("readinessProbe") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateResources(ctx context.Context, formats strfmt.Registry) error { - - if m.Resources != nil { - if err := m.Resources.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resources") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resources") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateSecurityContext(ctx context.Context, formats strfmt.Registry) error { - - if m.SecurityContext != nil { - if err := m.SecurityContext.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("securityContext") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("securityContext") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateStartupProbe(ctx context.Context, formats strfmt.Registry) error { - - if m.StartupProbe != nil { - if err := m.StartupProbe.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("startupProbe") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("startupProbe") - } - return err - } - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateVolumeDevices(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.VolumeDevices); i++ { - - if m.VolumeDevices[i] != nil { - if err := m.VolumeDevices[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeDevices" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeDevices" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1EphemeralContainerCommon) contextValidateVolumeMounts(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.VolumeMounts); i++ { - - if m.VolumeMounts[i] != nil { - if err := m.VolumeMounts[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeMounts" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeMounts" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1EphemeralContainerCommon) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1EphemeralContainerCommon) UnmarshalBinary(b []byte) error { - var res V1EphemeralContainerCommon - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_ephemeral_volume_source.go b/components/common/api/def/clients/config/models/v1_ephemeral_volume_source.go deleted file mode 100644 index 5bdddfa..0000000 --- a/components/common/api/def/clients/config/models/v1_ephemeral_volume_source.go +++ /dev/null @@ -1,129 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1EphemeralVolumeSource Represents an ephemeral volume that is handled by a normal storage driver. -// -// swagger:model v1EphemeralVolumeSource -type V1EphemeralVolumeSource struct { - - // Specifies a read-only configuration for the volume. - // Defaults to false (read/write). - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Will be used to create a stand-alone PVC to provision the volume. - // The pod in which this EphemeralVolumeSource is embedded will be the - // owner of the PVC, i.e. the PVC will be deleted together with the - // pod. The name of the PVC will be `-` where - // `` is the name from the `PodSpec.Volumes` array - // entry. Pod validation will reject the pod if the concatenated name - // is not valid for a PVC (for example, too long). - // - // An existing PVC with that name that is not owned by the pod - // will *not* be used for the pod to avoid using an unrelated - // volume by mistake. Starting the pod is then blocked until - // the unrelated PVC is removed. If such a pre-created PVC is - // meant to be used by the pod, the PVC has to updated with an - // owner reference to the pod once the pod exists. Normally - // this should not be necessary, but it may be useful when - // manually reconstructing a broken cluster. - // - // This field is read-only and no changes will be made by Kubernetes - // to the PVC after it has been created. - // - // Required, must not be nil. - VolumeClaimTemplate *V1PersistentVolumeClaimTemplate `json:"volumeClaimTemplate,omitempty"` -} - -// Validate validates this v1 ephemeral volume source -func (m *V1EphemeralVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateVolumeClaimTemplate(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EphemeralVolumeSource) validateVolumeClaimTemplate(formats strfmt.Registry) error { - if swag.IsZero(m.VolumeClaimTemplate) { // not required - return nil - } - - if m.VolumeClaimTemplate != nil { - if err := m.VolumeClaimTemplate.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeClaimTemplate") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeClaimTemplate") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 ephemeral volume source based on the context it is used -func (m *V1EphemeralVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateVolumeClaimTemplate(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1EphemeralVolumeSource) contextValidateVolumeClaimTemplate(ctx context.Context, formats strfmt.Registry) error { - - if m.VolumeClaimTemplate != nil { - if err := m.VolumeClaimTemplate.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeClaimTemplate") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeClaimTemplate") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1EphemeralVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1EphemeralVolumeSource) UnmarshalBinary(b []byte) error { - var res V1EphemeralVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_exec_action.go b/components/common/api/def/clients/config/models/v1_exec_action.go deleted file mode 100644 index 8499b0e..0000000 --- a/components/common/api/def/clients/config/models/v1_exec_action.go +++ /dev/null @@ -1,55 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ExecAction ExecAction describes a "run in container" action. -// -// swagger:model v1ExecAction -type V1ExecAction struct { - - // Command is the command line to execute inside the container, the working directory for the - // command is root ('/') in the container's filesystem. The command is simply exec'd, it is - // not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use - // a shell, you need to explicitly call out to that shell. - // Exit status of 0 is treated as live/healthy and non-zero is unhealthy. - // +optional - Command []string `json:"command"` -} - -// Validate validates this v1 exec action -func (m *V1ExecAction) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 exec action based on context it is used -func (m *V1ExecAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1ExecAction) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ExecAction) UnmarshalBinary(b []byte) error { - var res V1ExecAction - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_f_c_volume_source.go b/components/common/api/def/clients/config/models/v1_f_c_volume_source.go deleted file mode 100644 index c45386e..0000000 --- a/components/common/api/def/clients/config/models/v1_f_c_volume_source.go +++ /dev/null @@ -1,74 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1FCVolumeSource Represents a Fibre Channel volume. -// Fibre Channel volumes can only be mounted as read/write once. -// Fibre Channel volumes support ownership management and SELinux relabeling. -// -// swagger:model v1FCVolumeSource -type V1FCVolumeSource struct { - - // Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // TODO: how do we prevent errors in the filesystem from compromising the machine - // +optional - FsType string `json:"fsType,omitempty"` - - // Optional: FC target lun number - // +optional - Lun int32 `json:"lun,omitempty"` - - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Optional: FC target worldwide names (WWNs) - // +optional - TargetWWNs []string `json:"targetWWNs"` - - // Optional: FC volume world wide identifiers (wwids) - // Either wwids or combination of targetWWNs and lun must be set, but not both simultaneously. - // +optional - Wwids []string `json:"wwids"` -} - -// Validate validates this v1 f c volume source -func (m *V1FCVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 f c volume source based on context it is used -func (m *V1FCVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1FCVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1FCVolumeSource) UnmarshalBinary(b []byte) error { - var res V1FCVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_flex_volume_source.go b/components/common/api/def/clients/config/models/v1_flex_volume_source.go deleted file mode 100644 index 3c76cf4..0000000 --- a/components/common/api/def/clients/config/models/v1_flex_volume_source.go +++ /dev/null @@ -1,128 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1FlexVolumeSource FlexVolume represents a generic volume resource that is -// provisioned/attached using an exec based plugin. -// -// swagger:model v1FlexVolumeSource -type V1FlexVolumeSource struct { - - // Driver is the name of the driver to use for this volume. - Driver string `json:"driver,omitempty"` - - // Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs". The default filesystem depends on FlexVolume script. - // +optional - FsType string `json:"fsType,omitempty"` - - // Optional: Extra command options if any. - // +optional - Options map[string]string `json:"options,omitempty"` - - // Optional: Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Optional: SecretRef is reference to the secret object containing - // sensitive information to pass to the plugin scripts. This may be - // empty if no secret object is specified. If the secret object - // contains more than one secret, all secrets are passed to the plugin - // scripts. - // +optional - SecretRef *V1LocalObjectReference `json:"secretRef,omitempty"` -} - -// Validate validates this v1 flex volume source -func (m *V1FlexVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1FlexVolumeSource) validateSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretRef) { // not required - return nil - } - - if m.SecretRef != nil { - if err := m.SecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 flex volume source based on the context it is used -func (m *V1FlexVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1FlexVolumeSource) contextValidateSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretRef != nil { - if err := m.SecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1FlexVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1FlexVolumeSource) UnmarshalBinary(b []byte) error { - var res V1FlexVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_flocker_volume_source.go b/components/common/api/def/clients/config/models/v1_flocker_volume_source.go deleted file mode 100644 index 91cd3f0..0000000 --- a/components/common/api/def/clients/config/models/v1_flocker_volume_source.go +++ /dev/null @@ -1,58 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1FlockerVolumeSource Represents a Flocker volume mounted by the Flocker agent. -// One and only one of datasetName and datasetUUID should be set. -// Flocker volumes do not support ownership management or SELinux relabeling. -// -// swagger:model v1FlockerVolumeSource -type V1FlockerVolumeSource struct { - - // Name of the dataset stored as metadata -> name on the dataset for Flocker - // should be considered as deprecated - // +optional - DatasetName string `json:"datasetName,omitempty"` - - // UUID of the dataset. This is unique identifier of a Flocker dataset - // +optional - DatasetUUID string `json:"datasetUUID,omitempty"` -} - -// Validate validates this v1 flocker volume source -func (m *V1FlockerVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 flocker volume source based on context it is used -func (m *V1FlockerVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1FlockerVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1FlockerVolumeSource) UnmarshalBinary(b []byte) error { - var res V1FlockerVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_g_c_e_persistent_disk_volume_source.go b/components/common/api/def/clients/config/models/v1_g_c_e_persistent_disk_volume_source.go deleted file mode 100644 index 592a7d7..0000000 --- a/components/common/api/def/clients/config/models/v1_g_c_e_persistent_disk_volume_source.go +++ /dev/null @@ -1,78 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1GCEPersistentDiskVolumeSource Represents a Persistent Disk resource in Google Compute Engine. -// -// A GCE PD must exist before mounting to a container. The disk must -// also be in the same GCE project and zone as the kubelet. A GCE PD -// can only be mounted as read/write once or read-only many times. GCE -// PDs support ownership management and SELinux relabeling. -// -// swagger:model v1GCEPersistentDiskVolumeSource -type V1GCEPersistentDiskVolumeSource struct { - - // Filesystem type of the volume that you want to mount. - // Tip: Ensure that the filesystem type is supported by the host operating system. - // Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk - // TODO: how do we prevent errors in the filesystem from compromising the machine - // +optional - FsType string `json:"fsType,omitempty"` - - // The partition in the volume that you want to mount. - // If omitted, the default is to mount by volume name. - // Examples: For volume /dev/sda1, you specify the partition as "1". - // Similarly, the volume partition for /dev/sda is "0" (or you can leave the property empty). - // More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk - // +optional - Partition int32 `json:"partition,omitempty"` - - // Unique name of the PD resource in GCE. Used to identify the disk in GCE. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk - PdName string `json:"pdName,omitempty"` - - // ReadOnly here will force the ReadOnly setting in VolumeMounts. - // Defaults to false. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk - // +optional - ReadOnly bool `json:"readOnly,omitempty"` -} - -// Validate validates this v1 g c e persistent disk volume source -func (m *V1GCEPersistentDiskVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 g c e persistent disk volume source based on context it is used -func (m *V1GCEPersistentDiskVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1GCEPersistentDiskVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1GCEPersistentDiskVolumeSource) UnmarshalBinary(b []byte) error { - var res V1GCEPersistentDiskVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_git_repo_volume_source.go b/components/common/api/def/clients/config/models/v1_git_repo_volume_source.go deleted file mode 100644 index 1b417d1..0000000 --- a/components/common/api/def/clients/config/models/v1_git_repo_volume_source.go +++ /dev/null @@ -1,67 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1GitRepoVolumeSource Represents a volume that is populated with the contents of a git repository. -// Git repo volumes do not support ownership management. -// Git repo volumes support SELinux relabeling. -// -// DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an -// EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir -// into the Pod's container. -// -// swagger:model v1GitRepoVolumeSource -type V1GitRepoVolumeSource struct { - - // Target directory name. - // Must not contain or start with '..'. If '.' is supplied, the volume directory will be the - // git repository. Otherwise, if specified, the volume will contain the git repository in - // the subdirectory with the given name. - // +optional - Directory string `json:"directory,omitempty"` - - // Repository URL - Repository string `json:"repository,omitempty"` - - // Commit hash for the specified revision. - // +optional - Revision string `json:"revision,omitempty"` -} - -// Validate validates this v1 git repo volume source -func (m *V1GitRepoVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 git repo volume source based on context it is used -func (m *V1GitRepoVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1GitRepoVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1GitRepoVolumeSource) UnmarshalBinary(b []byte) error { - var res V1GitRepoVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_glusterfs_volume_source.go b/components/common/api/def/clients/config/models/v1_glusterfs_volume_source.go deleted file mode 100644 index ec92f9d..0000000 --- a/components/common/api/def/clients/config/models/v1_glusterfs_volume_source.go +++ /dev/null @@ -1,62 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1GlusterfsVolumeSource Represents a Glusterfs mount that lasts the lifetime of a pod. -// Glusterfs volumes do not support ownership management or SELinux relabeling. -// -// swagger:model v1GlusterfsVolumeSource -type V1GlusterfsVolumeSource struct { - - // EndpointsName is the endpoint name that details Glusterfs topology. - // More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod - Endpoints string `json:"endpoints,omitempty"` - - // Path is the Glusterfs volume path. - // More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod - Path string `json:"path,omitempty"` - - // ReadOnly here will force the Glusterfs volume to be mounted with read-only permissions. - // Defaults to false. - // More info: https://examples.k8s.io/volumes/glusterfs/README.md#create-a-pod - // +optional - ReadOnly bool `json:"readOnly,omitempty"` -} - -// Validate validates this v1 glusterfs volume source -func (m *V1GlusterfsVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 glusterfs volume source based on context it is used -func (m *V1GlusterfsVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1GlusterfsVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1GlusterfsVolumeSource) UnmarshalBinary(b []byte) error { - var res V1GlusterfsVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_handler.go b/components/common/api/def/clients/config/models/v1_handler.go deleted file mode 100644 index 84ef4a7..0000000 --- a/components/common/api/def/clients/config/models/v1_handler.go +++ /dev/null @@ -1,203 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Handler Handler defines a specific action that should be taken -// TODO: pass structured data to these actions, and document that data here. -// -// swagger:model v1Handler -type V1Handler struct { - - // One and only one of the following should be specified. - // Exec specifies the action to take. - // +optional - Exec *V1ExecAction `json:"exec,omitempty"` - - // HTTPGet specifies the http request to perform. - // +optional - HTTPGet *V1HTTPGetAction `json:"httpGet,omitempty"` - - // TCPSocket specifies an action involving a TCP port. - // TCP hooks not yet supported - // TODO: implement a realistic TCP lifecycle hook - // +optional - TCPSocket *V1TCPSocketAction `json:"tcpSocket,omitempty"` -} - -// Validate validates this v1 handler -func (m *V1Handler) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateExec(formats); err != nil { - res = append(res, err) - } - - if err := m.validateHTTPGet(formats); err != nil { - res = append(res, err) - } - - if err := m.validateTCPSocket(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Handler) validateExec(formats strfmt.Registry) error { - if swag.IsZero(m.Exec) { // not required - return nil - } - - if m.Exec != nil { - if err := m.Exec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("exec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("exec") - } - return err - } - } - - return nil -} - -func (m *V1Handler) validateHTTPGet(formats strfmt.Registry) error { - if swag.IsZero(m.HTTPGet) { // not required - return nil - } - - if m.HTTPGet != nil { - if err := m.HTTPGet.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("httpGet") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("httpGet") - } - return err - } - } - - return nil -} - -func (m *V1Handler) validateTCPSocket(formats strfmt.Registry) error { - if swag.IsZero(m.TCPSocket) { // not required - return nil - } - - if m.TCPSocket != nil { - if err := m.TCPSocket.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("tcpSocket") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("tcpSocket") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 handler based on the context it is used -func (m *V1Handler) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateExec(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateHTTPGet(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateTCPSocket(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Handler) contextValidateExec(ctx context.Context, formats strfmt.Registry) error { - - if m.Exec != nil { - if err := m.Exec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("exec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("exec") - } - return err - } - } - - return nil -} - -func (m *V1Handler) contextValidateHTTPGet(ctx context.Context, formats strfmt.Registry) error { - - if m.HTTPGet != nil { - if err := m.HTTPGet.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("httpGet") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("httpGet") - } - return err - } - } - - return nil -} - -func (m *V1Handler) contextValidateTCPSocket(ctx context.Context, formats strfmt.Registry) error { - - if m.TCPSocket != nil { - if err := m.TCPSocket.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("tcpSocket") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("tcpSocket") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1Handler) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Handler) UnmarshalBinary(b []byte) error { - var res V1Handler - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_host_alias.go b/components/common/api/def/clients/config/models/v1_host_alias.go deleted file mode 100644 index 66d6413..0000000 --- a/components/common/api/def/clients/config/models/v1_host_alias.go +++ /dev/null @@ -1,54 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1HostAlias HostAlias holds the mapping between IP and hostnames that will be injected as an entry in the -// pod's hosts file. -// -// swagger:model v1HostAlias -type V1HostAlias struct { - - // Hostnames for the above IP address. - Hostnames []string `json:"hostnames"` - - // IP address of the host file entry. - IP string `json:"ip,omitempty"` -} - -// Validate validates this v1 host alias -func (m *V1HostAlias) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 host alias based on context it is used -func (m *V1HostAlias) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1HostAlias) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1HostAlias) UnmarshalBinary(b []byte) error { - var res V1HostAlias - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_host_path_volume_source.go b/components/common/api/def/clients/config/models/v1_host_path_volume_source.go deleted file mode 100644 index 019b8ef..0000000 --- a/components/common/api/def/clients/config/models/v1_host_path_volume_source.go +++ /dev/null @@ -1,59 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1HostPathVolumeSource Represents a host path mapped into a pod. -// Host path volumes do not support ownership management or SELinux relabeling. -// -// swagger:model v1HostPathVolumeSource -type V1HostPathVolumeSource struct { - - // Path of the directory on the host. - // If the path is a symlink, it will follow the link to the real path. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath - Path string `json:"path,omitempty"` - - // Type for HostPath Volume - // Defaults to "" - // More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath - // +optional - Type string `json:"type,omitempty"` -} - -// Validate validates this v1 host path volume source -func (m *V1HostPathVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 host path volume source based on context it is used -func (m *V1HostPathVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1HostPathVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1HostPathVolumeSource) UnmarshalBinary(b []byte) error { - var res V1HostPathVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_http_get_action.go b/components/common/api/def/clients/config/models/v1_http_get_action.go deleted file mode 100644 index e784c4a..0000000 --- a/components/common/api/def/clients/config/models/v1_http_get_action.go +++ /dev/null @@ -1,179 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1HTTPGetAction HTTPGetAction describes an action based on HTTP Get requests. -// -// swagger:model v1HTTPGetAction -type V1HTTPGetAction struct { - - // Host name to connect to, defaults to the pod IP. You probably want to set - // "Host" in httpHeaders instead. - // +optional - Host string `json:"host,omitempty"` - - // Custom headers to set in the request. HTTP allows repeated headers. - // +optional - HTTPHeaders []*V1HTTPHeader `json:"httpHeaders"` - - // Path to access on the HTTP server. - // +optional - Path string `json:"path,omitempty"` - - // Name or number of the port to access on the container. - // Number must be in the range 1 to 65535. - // Name must be an IANA_SVC_NAME. - Port *IntstrIntOrString `json:"port,omitempty"` - - // Scheme to use for connecting to the host. - // Defaults to HTTP. - // +optional - Scheme string `json:"scheme,omitempty"` -} - -// Validate validates this v1 HTTP get action -func (m *V1HTTPGetAction) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateHTTPHeaders(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePort(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1HTTPGetAction) validateHTTPHeaders(formats strfmt.Registry) error { - if swag.IsZero(m.HTTPHeaders) { // not required - return nil - } - - for i := 0; i < len(m.HTTPHeaders); i++ { - if swag.IsZero(m.HTTPHeaders[i]) { // not required - continue - } - - if m.HTTPHeaders[i] != nil { - if err := m.HTTPHeaders[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("httpHeaders" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("httpHeaders" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1HTTPGetAction) validatePort(formats strfmt.Registry) error { - if swag.IsZero(m.Port) { // not required - return nil - } - - if m.Port != nil { - if err := m.Port.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("port") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("port") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 HTTP get action based on the context it is used -func (m *V1HTTPGetAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateHTTPHeaders(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePort(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1HTTPGetAction) contextValidateHTTPHeaders(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.HTTPHeaders); i++ { - - if m.HTTPHeaders[i] != nil { - if err := m.HTTPHeaders[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("httpHeaders" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("httpHeaders" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1HTTPGetAction) contextValidatePort(ctx context.Context, formats strfmt.Registry) error { - - if m.Port != nil { - if err := m.Port.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("port") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("port") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1HTTPGetAction) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1HTTPGetAction) UnmarshalBinary(b []byte) error { - var res V1HTTPGetAction - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_http_header.go b/components/common/api/def/clients/config/models/v1_http_header.go deleted file mode 100644 index 27999af..0000000 --- a/components/common/api/def/clients/config/models/v1_http_header.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1HTTPHeader HTTPHeader describes a custom header to be used in HTTP probes -// -// swagger:model v1HTTPHeader -type V1HTTPHeader struct { - - // The header field name - Name string `json:"name,omitempty"` - - // The header field value - Value string `json:"value,omitempty"` -} - -// Validate validates this v1 HTTP header -func (m *V1HTTPHeader) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 HTTP header based on context it is used -func (m *V1HTTPHeader) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1HTTPHeader) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1HTTPHeader) UnmarshalBinary(b []byte) error { - var res V1HTTPHeader - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_i_s_c_s_i_volume_source.go b/components/common/api/def/clients/config/models/v1_i_s_c_s_i_volume_source.go deleted file mode 100644 index f628854..0000000 --- a/components/common/api/def/clients/config/models/v1_i_s_c_s_i_volume_source.go +++ /dev/null @@ -1,154 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ISCSIVolumeSource Represents an ISCSI disk. -// ISCSI volumes can only be mounted as read/write once. -// ISCSI volumes support ownership management and SELinux relabeling. -// -// swagger:model v1ISCSIVolumeSource -type V1ISCSIVolumeSource struct { - - // whether support iSCSI Discovery CHAP authentication - // +optional - ChapAuthDiscovery bool `json:"chapAuthDiscovery,omitempty"` - - // whether support iSCSI Session CHAP authentication - // +optional - ChapAuthSession bool `json:"chapAuthSession,omitempty"` - - // Filesystem type of the volume that you want to mount. - // Tip: Ensure that the filesystem type is supported by the host operating system. - // Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#iscsi - // TODO: how do we prevent errors in the filesystem from compromising the machine - // +optional - FsType string `json:"fsType,omitempty"` - - // Custom iSCSI Initiator Name. - // If initiatorName is specified with iscsiInterface simultaneously, new iSCSI interface - // : will be created for the connection. - // +optional - InitiatorName string `json:"initiatorName,omitempty"` - - // Target iSCSI Qualified Name. - Iqn string `json:"iqn,omitempty"` - - // iSCSI Interface Name that uses an iSCSI transport. - // Defaults to 'default' (tcp). - // +optional - IscsiInterface string `json:"iscsiInterface,omitempty"` - - // iSCSI Target Lun number. - Lun int32 `json:"lun,omitempty"` - - // iSCSI Target Portal List. The portal is either an IP or ip_addr:port if the port - // is other than default (typically TCP ports 860 and 3260). - // +optional - Portals []string `json:"portals"` - - // ReadOnly here will force the ReadOnly setting in VolumeMounts. - // Defaults to false. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // CHAP Secret for iSCSI target and initiator authentication - // +optional - SecretRef *V1LocalObjectReference `json:"secretRef,omitempty"` - - // iSCSI Target Portal. The Portal is either an IP or ip_addr:port if the port - // is other than default (typically TCP ports 860 and 3260). - TargetPortal string `json:"targetPortal,omitempty"` -} - -// Validate validates this v1 i s c s i volume source -func (m *V1ISCSIVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ISCSIVolumeSource) validateSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretRef) { // not required - return nil - } - - if m.SecretRef != nil { - if err := m.SecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 i s c s i volume source based on the context it is used -func (m *V1ISCSIVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ISCSIVolumeSource) contextValidateSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretRef != nil { - if err := m.SecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1ISCSIVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ISCSIVolumeSource) UnmarshalBinary(b []byte) error { - var res V1ISCSIVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_job_spec.go b/components/common/api/def/clients/config/models/v1_job_spec.go deleted file mode 100644 index 9a425b1..0000000 --- a/components/common/api/def/clients/config/models/v1_job_spec.go +++ /dev/null @@ -1,206 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1JobSpec JobSpec describes how the job execution will look like. -// -// swagger:model v1JobSpec -type V1JobSpec struct { - - // Specifies the duration in seconds relative to the startTime that the job may be active - // before the system tries to terminate it; value must be positive integer - // +optional - ActiveDeadlineSeconds string `json:"activeDeadlineSeconds,omitempty"` - - // Specifies the number of retries before marking this job failed. - // Defaults to 6 - // +optional - BackoffLimit int32 `json:"backoffLimit,omitempty"` - - // Specifies the desired number of successfully finished pods the - // job should be run with. Setting to nil means that the success of any - // pod signals the success of all pods, and allows parallelism to have any positive - // value. Setting to 1 means that parallelism is limited to 1 and the success of that - // pod signals the success of the job. - // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ - // +optional - Completions int32 `json:"completions,omitempty"` - - // manualSelector controls generation of pod labels and pod selectors. - // Leave `manualSelector` unset unless you are certain what you are doing. - // When false or unset, the system pick labels unique to this job - // and appends those labels to the pod template. When true, - // the user is responsible for picking unique labels and specifying - // the selector. Failure to pick a unique label may cause this - // and other jobs to not function correctly. However, You may see - // `manualSelector=true` in jobs that were created with the old `extensions/v1beta1` - // API. - // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/#specifying-your-own-pod-selector - // +optional - ManualSelector bool `json:"manualSelector,omitempty"` - - // Specifies the maximum desired number of pods the job should - // run at any given time. The actual number of pods running in steady state will - // be less than this number when ((.spec.completions - .status.successful) < .spec.parallelism), - // i.e. when the work left to do is less than max parallelism. - // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ - // +optional - Parallelism int32 `json:"parallelism,omitempty"` - - // A label query over pods that should match the pod count. - // Normally, the system sets this field for you. - // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors - // +optional - Selector *V1LabelSelector `json:"selector,omitempty"` - - // Describes the pod that will be created when executing a job. - // More info: https://kubernetes.io/docs/concepts/workloads/controllers/jobs-run-to-completion/ - Template *V1PodTemplateSpec `json:"template,omitempty"` - - // ttlSecondsAfterFinished limits the lifetime of a Job that has finished - // execution (either Complete or Failed). If this field is set, - // ttlSecondsAfterFinished after the Job finishes, it is eligible to be - // automatically deleted. When the Job is being deleted, its lifecycle - // guarantees (e.g. finalizers) will be honored. If this field is unset, - // the Job won't be automatically deleted. If this field is set to zero, - // the Job becomes eligible to be deleted immediately after it finishes. - // This field is alpha-level and is only honored by servers that enable the - // TTLAfterFinished feature. - // +optional - TTLSecondsAfterFinished int32 `json:"ttlSecondsAfterFinished,omitempty"` -} - -// Validate validates this v1 job spec -func (m *V1JobSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSelector(formats); err != nil { - res = append(res, err) - } - - if err := m.validateTemplate(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1JobSpec) validateSelector(formats strfmt.Registry) error { - if swag.IsZero(m.Selector) { // not required - return nil - } - - if m.Selector != nil { - if err := m.Selector.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("selector") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("selector") - } - return err - } - } - - return nil -} - -func (m *V1JobSpec) validateTemplate(formats strfmt.Registry) error { - if swag.IsZero(m.Template) { // not required - return nil - } - - if m.Template != nil { - if err := m.Template.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("template") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("template") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 job spec based on the context it is used -func (m *V1JobSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSelector(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateTemplate(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1JobSpec) contextValidateSelector(ctx context.Context, formats strfmt.Registry) error { - - if m.Selector != nil { - if err := m.Selector.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("selector") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("selector") - } - return err - } - } - - return nil -} - -func (m *V1JobSpec) contextValidateTemplate(ctx context.Context, formats strfmt.Registry) error { - - if m.Template != nil { - if err := m.Template.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("template") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("template") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1JobSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1JobSpec) UnmarshalBinary(b []byte) error { - var res V1JobSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_key_to_path.go b/components/common/api/def/clients/config/models/v1_key_to_path.go deleted file mode 100644 index afd4c1c..0000000 --- a/components/common/api/def/clients/config/models/v1_key_to_path.go +++ /dev/null @@ -1,65 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1KeyToPath Maps a string key to a path within a volume. -// -// swagger:model v1KeyToPath -type V1KeyToPath struct { - - // The key to project. - Key string `json:"key,omitempty"` - - // Optional: mode bits used to set permissions on this file. - // Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. - // YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. - // If not specified, the volume defaultMode will be used. - // This might be in conflict with other options that affect the file - // mode, like fsGroup, and the result can be other mode bits set. - // +optional - Mode int32 `json:"mode,omitempty"` - - // The relative path of the file to map the key to. - // May not be an absolute path. - // May not contain the path element '..'. - // May not start with the string '..'. - Path string `json:"path,omitempty"` -} - -// Validate validates this v1 key to path -func (m *V1KeyToPath) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 key to path based on context it is used -func (m *V1KeyToPath) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1KeyToPath) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1KeyToPath) UnmarshalBinary(b []byte) error { - var res V1KeyToPath - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_label_selector.go b/components/common/api/def/clients/config/models/v1_label_selector.go deleted file mode 100644 index 8f0eb16..0000000 --- a/components/common/api/def/clients/config/models/v1_label_selector.go +++ /dev/null @@ -1,125 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1LabelSelector A label selector is a label query over a set of resources. The result of matchLabels and -// matchExpressions are ANDed. An empty label selector matches all objects. A null -// label selector matches no objects. -// -// swagger:model v1LabelSelector -type V1LabelSelector struct { - - // matchExpressions is a list of label selector requirements. The requirements are ANDed. - // +optional - MatchExpressions []*V1LabelSelectorRequirement `json:"matchExpressions"` - - // matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels - // map is equivalent to an element of matchExpressions, whose key field is "key", the - // operator is "In", and the values array contains only "value". The requirements are ANDed. - // +optional - MatchLabels map[string]string `json:"matchLabels,omitempty"` -} - -// Validate validates this v1 label selector -func (m *V1LabelSelector) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateMatchExpressions(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1LabelSelector) validateMatchExpressions(formats strfmt.Registry) error { - if swag.IsZero(m.MatchExpressions) { // not required - return nil - } - - for i := 0; i < len(m.MatchExpressions); i++ { - if swag.IsZero(m.MatchExpressions[i]) { // not required - continue - } - - if m.MatchExpressions[i] != nil { - if err := m.MatchExpressions[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("matchExpressions" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("matchExpressions" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 label selector based on the context it is used -func (m *V1LabelSelector) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateMatchExpressions(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1LabelSelector) contextValidateMatchExpressions(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.MatchExpressions); i++ { - - if m.MatchExpressions[i] != nil { - if err := m.MatchExpressions[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("matchExpressions" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("matchExpressions" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1LabelSelector) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1LabelSelector) UnmarshalBinary(b []byte) error { - var res V1LabelSelector - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_label_selector_requirement.go b/components/common/api/def/clients/config/models/v1_label_selector_requirement.go deleted file mode 100644 index 5a450d3..0000000 --- a/components/common/api/def/clients/config/models/v1_label_selector_requirement.go +++ /dev/null @@ -1,64 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1LabelSelectorRequirement A label selector requirement is a selector that contains values, a key, and an operator that -// relates the key and values. -// -// swagger:model v1LabelSelectorRequirement -type V1LabelSelectorRequirement struct { - - // key is the label key that the selector applies to. - // +patchMergeKey=key - // +patchStrategy=merge - Key string `json:"key,omitempty"` - - // operator represents a key's relationship to a set of values. - // Valid operators are In, NotIn, Exists and DoesNotExist. - Operator string `json:"operator,omitempty"` - - // values is an array of string values. If the operator is In or NotIn, - // the values array must be non-empty. If the operator is Exists or DoesNotExist, - // the values array must be empty. This array is replaced during a strategic - // merge patch. - // +optional - Values []string `json:"values"` -} - -// Validate validates this v1 label selector requirement -func (m *V1LabelSelectorRequirement) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 label selector requirement based on context it is used -func (m *V1LabelSelectorRequirement) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1LabelSelectorRequirement) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1LabelSelectorRequirement) UnmarshalBinary(b []byte) error { - var res V1LabelSelectorRequirement - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_lifecycle.go b/components/common/api/def/clients/config/models/v1_lifecycle.go deleted file mode 100644 index 1d9b7e4..0000000 --- a/components/common/api/def/clients/config/models/v1_lifecycle.go +++ /dev/null @@ -1,166 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Lifecycle Lifecycle describes actions that the management system should take in response to container lifecycle -// events. For the PostStart and PreStop lifecycle handlers, management of the container blocks -// until the action is complete, unless the container process fails, in which case the handler is aborted. -// -// swagger:model v1Lifecycle -type V1Lifecycle struct { - - // PostStart is called immediately after a container is created. If the handler fails, - // the container is terminated and restarted according to its restart policy. - // Other management of the container blocks until the hook completes. - // More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks - // +optional - PostStart *V1Handler `json:"postStart,omitempty"` - - // PreStop is called immediately before a container is terminated due to an - // API request or management event such as liveness/startup probe failure, - // preemption, resource contention, etc. The handler is not called if the - // container crashes or exits. The reason for termination is passed to the - // handler. The Pod's termination grace period countdown begins before the - // PreStop hooked is executed. Regardless of the outcome of the handler, the - // container will eventually terminate within the Pod's termination grace - // period. Other management of the container blocks until the hook completes - // or until the termination grace period is reached. - // More info: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/#container-hooks - // +optional - PreStop *V1Handler `json:"preStop,omitempty"` -} - -// Validate validates this v1 lifecycle -func (m *V1Lifecycle) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validatePostStart(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePreStop(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Lifecycle) validatePostStart(formats strfmt.Registry) error { - if swag.IsZero(m.PostStart) { // not required - return nil - } - - if m.PostStart != nil { - if err := m.PostStart.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("postStart") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("postStart") - } - return err - } - } - - return nil -} - -func (m *V1Lifecycle) validatePreStop(formats strfmt.Registry) error { - if swag.IsZero(m.PreStop) { // not required - return nil - } - - if m.PreStop != nil { - if err := m.PreStop.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preStop") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preStop") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 lifecycle based on the context it is used -func (m *V1Lifecycle) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidatePostStart(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePreStop(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Lifecycle) contextValidatePostStart(ctx context.Context, formats strfmt.Registry) error { - - if m.PostStart != nil { - if err := m.PostStart.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("postStart") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("postStart") - } - return err - } - } - - return nil -} - -func (m *V1Lifecycle) contextValidatePreStop(ctx context.Context, formats strfmt.Registry) error { - - if m.PreStop != nil { - if err := m.PreStop.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preStop") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preStop") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1Lifecycle) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Lifecycle) UnmarshalBinary(b []byte) error { - var res V1Lifecycle - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_local_object_reference.go b/components/common/api/def/clients/config/models/v1_local_object_reference.go deleted file mode 100644 index bb2dc1f..0000000 --- a/components/common/api/def/clients/config/models/v1_local_object_reference.go +++ /dev/null @@ -1,54 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1LocalObjectReference LocalObjectReference contains enough information to let you locate the -// referenced object inside the same namespace. -// -// swagger:model v1LocalObjectReference -type V1LocalObjectReference struct { - - // Name of the referent. - // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - // TODO: Add other useful fields. apiVersion, kind, uid? - // +optional - Name string `json:"name,omitempty"` -} - -// Validate validates this v1 local object reference -func (m *V1LocalObjectReference) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 local object reference based on context it is used -func (m *V1LocalObjectReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1LocalObjectReference) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1LocalObjectReference) UnmarshalBinary(b []byte) error { - var res V1LocalObjectReference - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_n_f_s_volume_source.go b/components/common/api/def/clients/config/models/v1_n_f_s_volume_source.go deleted file mode 100644 index b955d5d..0000000 --- a/components/common/api/def/clients/config/models/v1_n_f_s_volume_source.go +++ /dev/null @@ -1,63 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1NFSVolumeSource Represents an NFS mount that lasts the lifetime of a pod. -// NFS volumes do not support ownership management or SELinux relabeling. -// -// swagger:model v1NFSVolumeSource -type V1NFSVolumeSource struct { - - // Path that is exported by the NFS server. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs - Path string `json:"path,omitempty"` - - // ReadOnly here will force - // the NFS export to be mounted with read-only permissions. - // Defaults to false. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Server is the hostname or IP address of the NFS server. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs - Server string `json:"server,omitempty"` -} - -// Validate validates this v1 n f s volume source -func (m *V1NFSVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 n f s volume source based on context it is used -func (m *V1NFSVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1NFSVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1NFSVolumeSource) UnmarshalBinary(b []byte) error { - var res V1NFSVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_node_affinity.go b/components/common/api/def/clients/config/models/v1_node_affinity.go deleted file mode 100644 index 784c83c..0000000 --- a/components/common/api/def/clients/config/models/v1_node_affinity.go +++ /dev/null @@ -1,176 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1NodeAffinity Node affinity is a group of node affinity scheduling rules. -// -// swagger:model v1NodeAffinity -type V1NodeAffinity struct { - - // The scheduler will prefer to schedule pods to nodes that satisfy - // the affinity expressions specified by this field, but it may choose - // a node that violates one or more of the expressions. The node that is - // most preferred is the one with the greatest sum of weights, i.e. - // for each node that meets all of the scheduling requirements (resource - // request, requiredDuringScheduling affinity expressions, etc.), - // compute a sum by iterating through the elements of this field and adding - // "weight" to the sum if the node matches the corresponding matchExpressions; the - // node(s) with the highest sum are the most preferred. - // +optional - PreferredDuringSchedulingIgnoredDuringExecution []*V1PreferredSchedulingTerm `json:"preferredDuringSchedulingIgnoredDuringExecution"` - - // If the affinity requirements specified by this field are not met at - // scheduling time, the pod will not be scheduled onto the node. - // If the affinity requirements specified by this field cease to be met - // at some point during pod execution (e.g. due to an update), the system - // may or may not try to eventually evict the pod from its node. - // +optional - RequiredDuringSchedulingIgnoredDuringExecution *V1NodeSelector `json:"requiredDuringSchedulingIgnoredDuringExecution,omitempty"` -} - -// Validate validates this v1 node affinity -func (m *V1NodeAffinity) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validatePreferredDuringSchedulingIgnoredDuringExecution(formats); err != nil { - res = append(res, err) - } - - if err := m.validateRequiredDuringSchedulingIgnoredDuringExecution(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1NodeAffinity) validatePreferredDuringSchedulingIgnoredDuringExecution(formats strfmt.Registry) error { - if swag.IsZero(m.PreferredDuringSchedulingIgnoredDuringExecution) { // not required - return nil - } - - for i := 0; i < len(m.PreferredDuringSchedulingIgnoredDuringExecution); i++ { - if swag.IsZero(m.PreferredDuringSchedulingIgnoredDuringExecution[i]) { // not required - continue - } - - if m.PreferredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.PreferredDuringSchedulingIgnoredDuringExecution[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1NodeAffinity) validateRequiredDuringSchedulingIgnoredDuringExecution(formats strfmt.Registry) error { - if swag.IsZero(m.RequiredDuringSchedulingIgnoredDuringExecution) { // not required - return nil - } - - if m.RequiredDuringSchedulingIgnoredDuringExecution != nil { - if err := m.RequiredDuringSchedulingIgnoredDuringExecution.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("requiredDuringSchedulingIgnoredDuringExecution") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("requiredDuringSchedulingIgnoredDuringExecution") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 node affinity based on the context it is used -func (m *V1NodeAffinity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidatePreferredDuringSchedulingIgnoredDuringExecution(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateRequiredDuringSchedulingIgnoredDuringExecution(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1NodeAffinity) contextValidatePreferredDuringSchedulingIgnoredDuringExecution(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.PreferredDuringSchedulingIgnoredDuringExecution); i++ { - - if m.PreferredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.PreferredDuringSchedulingIgnoredDuringExecution[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1NodeAffinity) contextValidateRequiredDuringSchedulingIgnoredDuringExecution(ctx context.Context, formats strfmt.Registry) error { - - if m.RequiredDuringSchedulingIgnoredDuringExecution != nil { - if err := m.RequiredDuringSchedulingIgnoredDuringExecution.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("requiredDuringSchedulingIgnoredDuringExecution") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("requiredDuringSchedulingIgnoredDuringExecution") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1NodeAffinity) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1NodeAffinity) UnmarshalBinary(b []byte) error { - var res V1NodeAffinity - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_node_selector.go b/components/common/api/def/clients/config/models/v1_node_selector.go deleted file mode 100644 index 22e786c..0000000 --- a/components/common/api/def/clients/config/models/v1_node_selector.go +++ /dev/null @@ -1,118 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1NodeSelector A node selector represents the union of the results of one or more label queries -// over a set of nodes; that is, it represents the OR of the selectors represented -// by the node selector terms. -// -// swagger:model v1NodeSelector -type V1NodeSelector struct { - - // Required. A list of node selector terms. The terms are ORed. - NodeSelectorTerms []*V1NodeSelectorTerm `json:"nodeSelectorTerms"` -} - -// Validate validates this v1 node selector -func (m *V1NodeSelector) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateNodeSelectorTerms(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1NodeSelector) validateNodeSelectorTerms(formats strfmt.Registry) error { - if swag.IsZero(m.NodeSelectorTerms) { // not required - return nil - } - - for i := 0; i < len(m.NodeSelectorTerms); i++ { - if swag.IsZero(m.NodeSelectorTerms[i]) { // not required - continue - } - - if m.NodeSelectorTerms[i] != nil { - if err := m.NodeSelectorTerms[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodeSelectorTerms" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodeSelectorTerms" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 node selector based on the context it is used -func (m *V1NodeSelector) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateNodeSelectorTerms(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1NodeSelector) contextValidateNodeSelectorTerms(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.NodeSelectorTerms); i++ { - - if m.NodeSelectorTerms[i] != nil { - if err := m.NodeSelectorTerms[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodeSelectorTerms" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodeSelectorTerms" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1NodeSelector) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1NodeSelector) UnmarshalBinary(b []byte) error { - var res V1NodeSelector - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_node_selector_requirement.go b/components/common/api/def/clients/config/models/v1_node_selector_requirement.go deleted file mode 100644 index eff875f..0000000 --- a/components/common/api/def/clients/config/models/v1_node_selector_requirement.go +++ /dev/null @@ -1,63 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1NodeSelectorRequirement A node selector requirement is a selector that contains values, a key, and an operator -// that relates the key and values. -// -// swagger:model v1NodeSelectorRequirement -type V1NodeSelectorRequirement struct { - - // The label key that the selector applies to. - Key string `json:"key,omitempty"` - - // Represents a key's relationship to a set of values. - // Valid operators are In, NotIn, Exists, DoesNotExist. Gt, and Lt. - Operator string `json:"operator,omitempty"` - - // An array of string values. If the operator is In or NotIn, - // the values array must be non-empty. If the operator is Exists or DoesNotExist, - // the values array must be empty. If the operator is Gt or Lt, the values - // array must have a single element, which will be interpreted as an integer. - // This array is replaced during a strategic merge patch. - // +optional - Values []string `json:"values"` -} - -// Validate validates this v1 node selector requirement -func (m *V1NodeSelectorRequirement) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 node selector requirement based on context it is used -func (m *V1NodeSelectorRequirement) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1NodeSelectorRequirement) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1NodeSelectorRequirement) UnmarshalBinary(b []byte) error { - var res V1NodeSelectorRequirement - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_node_selector_term.go b/components/common/api/def/clients/config/models/v1_node_selector_term.go deleted file mode 100644 index 6d4932a..0000000 --- a/components/common/api/def/clients/config/models/v1_node_selector_term.go +++ /dev/null @@ -1,177 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1NodeSelectorTerm A null or empty node selector term matches no objects. The requirements of -// them are ANDed. -// The TopologySelectorTerm type implements a subset of the NodeSelectorTerm. -// -// swagger:model v1NodeSelectorTerm -type V1NodeSelectorTerm struct { - - // A list of node selector requirements by node's labels. - // +optional - MatchExpressions []*V1NodeSelectorRequirement `json:"matchExpressions"` - - // A list of node selector requirements by node's fields. - // +optional - MatchFields []*V1NodeSelectorRequirement `json:"matchFields"` -} - -// Validate validates this v1 node selector term -func (m *V1NodeSelectorTerm) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateMatchExpressions(formats); err != nil { - res = append(res, err) - } - - if err := m.validateMatchFields(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1NodeSelectorTerm) validateMatchExpressions(formats strfmt.Registry) error { - if swag.IsZero(m.MatchExpressions) { // not required - return nil - } - - for i := 0; i < len(m.MatchExpressions); i++ { - if swag.IsZero(m.MatchExpressions[i]) { // not required - continue - } - - if m.MatchExpressions[i] != nil { - if err := m.MatchExpressions[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("matchExpressions" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("matchExpressions" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1NodeSelectorTerm) validateMatchFields(formats strfmt.Registry) error { - if swag.IsZero(m.MatchFields) { // not required - return nil - } - - for i := 0; i < len(m.MatchFields); i++ { - if swag.IsZero(m.MatchFields[i]) { // not required - continue - } - - if m.MatchFields[i] != nil { - if err := m.MatchFields[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("matchFields" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("matchFields" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 node selector term based on the context it is used -func (m *V1NodeSelectorTerm) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateMatchExpressions(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateMatchFields(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1NodeSelectorTerm) contextValidateMatchExpressions(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.MatchExpressions); i++ { - - if m.MatchExpressions[i] != nil { - if err := m.MatchExpressions[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("matchExpressions" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("matchExpressions" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1NodeSelectorTerm) contextValidateMatchFields(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.MatchFields); i++ { - - if m.MatchFields[i] != nil { - if err := m.MatchFields[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("matchFields" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("matchFields" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1NodeSelectorTerm) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1NodeSelectorTerm) UnmarshalBinary(b []byte) error { - var res V1NodeSelectorTerm - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_object_field_selector.go b/components/common/api/def/clients/config/models/v1_object_field_selector.go deleted file mode 100644 index 76d7a5b..0000000 --- a/components/common/api/def/clients/config/models/v1_object_field_selector.go +++ /dev/null @@ -1,54 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ObjectFieldSelector ObjectFieldSelector selects an APIVersioned field of an object. -// -// swagger:model v1ObjectFieldSelector -type V1ObjectFieldSelector struct { - - // Version of the schema the FieldPath is written in terms of, defaults to "v1". - // +optional - APIVersion string `json:"apiVersion,omitempty"` - - // Path of the field to select in the specified API version. - FieldPath string `json:"fieldPath,omitempty"` -} - -// Validate validates this v1 object field selector -func (m *V1ObjectFieldSelector) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 object field selector based on context it is used -func (m *V1ObjectFieldSelector) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1ObjectFieldSelector) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ObjectFieldSelector) UnmarshalBinary(b []byte) error { - var res V1ObjectFieldSelector - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_persistent_volume_claim_spec.go b/components/common/api/def/clients/config/models/v1_persistent_volume_claim_spec.go deleted file mode 100644 index 88fd66a..0000000 --- a/components/common/api/def/clients/config/models/v1_persistent_volume_claim_spec.go +++ /dev/null @@ -1,227 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PersistentVolumeClaimSpec PersistentVolumeClaimSpec describes the common attributes of storage devices -// and allows a Source for provider-specific attributes -// -// swagger:model v1PersistentVolumeClaimSpec -type V1PersistentVolumeClaimSpec struct { - - // AccessModes contains the desired access modes the volume should have. - // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#access-modes-1 - // +optional - AccessModes []string `json:"accessModes"` - - // This field can be used to specify either: - // * An existing VolumeSnapshot object (snapshot.storage.k8s.io/VolumeSnapshot) - // * An existing PVC (PersistentVolumeClaim) - // * An existing custom resource that implements data population (Alpha) - // In order to use custom resource types that implement data population, - // the AnyVolumeDataSource feature gate must be enabled. - // If the provisioner or an external controller can support the specified data source, - // it will create a new volume based on the contents of the specified data source. - // +optional - DataSource *V1TypedLocalObjectReference `json:"dataSource,omitempty"` - - // Resources represents the minimum resources the volume should have. - // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#resources - // +optional - Resources *Corev1ResourceRequirements `json:"resources,omitempty"` - - // A label query over volumes to consider for binding. - // +optional - Selector *V1LabelSelector `json:"selector,omitempty"` - - // Name of the StorageClass required by the claim. - // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1 - // +optional - StorageClassName string `json:"storageClassName,omitempty"` - - // volumeMode defines what type of volume is required by the claim. - // Value of Filesystem is implied when not included in claim spec. - // +optional - VolumeMode string `json:"volumeMode,omitempty"` - - // VolumeName is the binding reference to the PersistentVolume backing this claim. - // +optional - VolumeName string `json:"volumeName,omitempty"` -} - -// Validate validates this v1 persistent volume claim spec -func (m *V1PersistentVolumeClaimSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateDataSource(formats); err != nil { - res = append(res, err) - } - - if err := m.validateResources(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSelector(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PersistentVolumeClaimSpec) validateDataSource(formats strfmt.Registry) error { - if swag.IsZero(m.DataSource) { // not required - return nil - } - - if m.DataSource != nil { - if err := m.DataSource.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("dataSource") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("dataSource") - } - return err - } - } - - return nil -} - -func (m *V1PersistentVolumeClaimSpec) validateResources(formats strfmt.Registry) error { - if swag.IsZero(m.Resources) { // not required - return nil - } - - if m.Resources != nil { - if err := m.Resources.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resources") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resources") - } - return err - } - } - - return nil -} - -func (m *V1PersistentVolumeClaimSpec) validateSelector(formats strfmt.Registry) error { - if swag.IsZero(m.Selector) { // not required - return nil - } - - if m.Selector != nil { - if err := m.Selector.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("selector") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("selector") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 persistent volume claim spec based on the context it is used -func (m *V1PersistentVolumeClaimSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateDataSource(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateResources(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSelector(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PersistentVolumeClaimSpec) contextValidateDataSource(ctx context.Context, formats strfmt.Registry) error { - - if m.DataSource != nil { - if err := m.DataSource.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("dataSource") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("dataSource") - } - return err - } - } - - return nil -} - -func (m *V1PersistentVolumeClaimSpec) contextValidateResources(ctx context.Context, formats strfmt.Registry) error { - - if m.Resources != nil { - if err := m.Resources.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("resources") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("resources") - } - return err - } - } - - return nil -} - -func (m *V1PersistentVolumeClaimSpec) contextValidateSelector(ctx context.Context, formats strfmt.Registry) error { - - if m.Selector != nil { - if err := m.Selector.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("selector") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("selector") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PersistentVolumeClaimSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PersistentVolumeClaimSpec) UnmarshalBinary(b []byte) error { - var res V1PersistentVolumeClaimSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_persistent_volume_claim_template.go b/components/common/api/def/clients/config/models/v1_persistent_volume_claim_template.go deleted file mode 100644 index 1010d62..0000000 --- a/components/common/api/def/clients/config/models/v1_persistent_volume_claim_template.go +++ /dev/null @@ -1,158 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PersistentVolumeClaimTemplate PersistentVolumeClaimTemplate is used to produce -// PersistentVolumeClaim objects as part of an EphemeralVolumeSource. -// -// swagger:model v1PersistentVolumeClaimTemplate -type V1PersistentVolumeClaimTemplate struct { - - // May contain labels and annotations that will be copied into the PVC - // when creating it. No other fields are allowed and will be rejected during - // validation. - // - // +optional - Metadata *V1ObjectMeta `json:"metadata,omitempty"` - - // The specification for the PersistentVolumeClaim. The entire content is - // copied unchanged into the PVC that gets created from this - // template. The same fields as in a PersistentVolumeClaim - // are also valid here. - Spec *V1PersistentVolumeClaimSpec `json:"spec,omitempty"` -} - -// Validate validates this v1 persistent volume claim template -func (m *V1PersistentVolumeClaimTemplate) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSpec(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PersistentVolumeClaimTemplate) validateMetadata(formats strfmt.Registry) error { - if swag.IsZero(m.Metadata) { // not required - return nil - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V1PersistentVolumeClaimTemplate) validateSpec(formats strfmt.Registry) error { - if swag.IsZero(m.Spec) { // not required - return nil - } - - if m.Spec != nil { - if err := m.Spec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 persistent volume claim template based on the context it is used -func (m *V1PersistentVolumeClaimTemplate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSpec(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PersistentVolumeClaimTemplate) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V1PersistentVolumeClaimTemplate) contextValidateSpec(ctx context.Context, formats strfmt.Registry) error { - - if m.Spec != nil { - if err := m.Spec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PersistentVolumeClaimTemplate) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PersistentVolumeClaimTemplate) UnmarshalBinary(b []byte) error { - var res V1PersistentVolumeClaimTemplate - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_persistent_volume_claim_volume_source.go b/components/common/api/def/clients/config/models/v1_persistent_volume_claim_volume_source.go deleted file mode 100644 index 97ab3bc..0000000 --- a/components/common/api/def/clients/config/models/v1_persistent_volume_claim_volume_source.go +++ /dev/null @@ -1,59 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PersistentVolumeClaimVolumeSource PersistentVolumeClaimVolumeSource references the user's PVC in the same namespace. -// This volume finds the bound PV and mounts that volume for the pod. A -// PersistentVolumeClaimVolumeSource is, essentially, a wrapper around another -// type of volume that is owned by someone else (the system). -// -// swagger:model v1PersistentVolumeClaimVolumeSource -type V1PersistentVolumeClaimVolumeSource struct { - - // ClaimName is the name of a PersistentVolumeClaim in the same namespace as the pod using this volume. - // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims - ClaimName string `json:"claimName,omitempty"` - - // Will force the ReadOnly setting in VolumeMounts. - // Default false. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` -} - -// Validate validates this v1 persistent volume claim volume source -func (m *V1PersistentVolumeClaimVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 persistent volume claim volume source based on context it is used -func (m *V1PersistentVolumeClaimVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1PersistentVolumeClaimVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PersistentVolumeClaimVolumeSource) UnmarshalBinary(b []byte) error { - var res V1PersistentVolumeClaimVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_photon_persistent_disk_volume_source.go b/components/common/api/def/clients/config/models/v1_photon_persistent_disk_volume_source.go deleted file mode 100644 index f8c8099..0000000 --- a/components/common/api/def/clients/config/models/v1_photon_persistent_disk_volume_source.go +++ /dev/null @@ -1,55 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PhotonPersistentDiskVolumeSource Represents a Photon Controller persistent disk resource. -// -// swagger:model v1PhotonPersistentDiskVolumeSource -type V1PhotonPersistentDiskVolumeSource struct { - - // Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - FsType string `json:"fsType,omitempty"` - - // ID that identifies Photon Controller persistent disk - PdID string `json:"pdID,omitempty"` -} - -// Validate validates this v1 photon persistent disk volume source -func (m *V1PhotonPersistentDiskVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 photon persistent disk volume source based on context it is used -func (m *V1PhotonPersistentDiskVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1PhotonPersistentDiskVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PhotonPersistentDiskVolumeSource) UnmarshalBinary(b []byte) error { - var res V1PhotonPersistentDiskVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_affinity.go b/components/common/api/def/clients/config/models/v1_pod_affinity.go deleted file mode 100644 index ee20821..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_affinity.go +++ /dev/null @@ -1,189 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PodAffinity Pod affinity is a group of inter pod affinity scheduling rules. -// -// swagger:model v1PodAffinity -type V1PodAffinity struct { - - // The scheduler will prefer to schedule pods to nodes that satisfy - // the affinity expressions specified by this field, but it may choose - // a node that violates one or more of the expressions. The node that is - // most preferred is the one with the greatest sum of weights, i.e. - // for each node that meets all of the scheduling requirements (resource - // request, requiredDuringScheduling affinity expressions, etc.), - // compute a sum by iterating through the elements of this field and adding - // "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the - // node(s) with the highest sum are the most preferred. - // +optional - PreferredDuringSchedulingIgnoredDuringExecution []*V1WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution"` - - // If the affinity requirements specified by this field are not met at - // scheduling time, the pod will not be scheduled onto the node. - // If the affinity requirements specified by this field cease to be met - // at some point during pod execution (e.g. due to a pod label update), the - // system may or may not try to eventually evict the pod from its node. - // When there are multiple elements, the lists of nodes corresponding to each - // podAffinityTerm are intersected, i.e. all terms must be satisfied. - // +optional - RequiredDuringSchedulingIgnoredDuringExecution []*V1PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution"` -} - -// Validate validates this v1 pod affinity -func (m *V1PodAffinity) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validatePreferredDuringSchedulingIgnoredDuringExecution(formats); err != nil { - res = append(res, err) - } - - if err := m.validateRequiredDuringSchedulingIgnoredDuringExecution(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodAffinity) validatePreferredDuringSchedulingIgnoredDuringExecution(formats strfmt.Registry) error { - if swag.IsZero(m.PreferredDuringSchedulingIgnoredDuringExecution) { // not required - return nil - } - - for i := 0; i < len(m.PreferredDuringSchedulingIgnoredDuringExecution); i++ { - if swag.IsZero(m.PreferredDuringSchedulingIgnoredDuringExecution[i]) { // not required - continue - } - - if m.PreferredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.PreferredDuringSchedulingIgnoredDuringExecution[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodAffinity) validateRequiredDuringSchedulingIgnoredDuringExecution(formats strfmt.Registry) error { - if swag.IsZero(m.RequiredDuringSchedulingIgnoredDuringExecution) { // not required - return nil - } - - for i := 0; i < len(m.RequiredDuringSchedulingIgnoredDuringExecution); i++ { - if swag.IsZero(m.RequiredDuringSchedulingIgnoredDuringExecution[i]) { // not required - continue - } - - if m.RequiredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.RequiredDuringSchedulingIgnoredDuringExecution[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("requiredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("requiredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 pod affinity based on the context it is used -func (m *V1PodAffinity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidatePreferredDuringSchedulingIgnoredDuringExecution(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateRequiredDuringSchedulingIgnoredDuringExecution(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodAffinity) contextValidatePreferredDuringSchedulingIgnoredDuringExecution(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.PreferredDuringSchedulingIgnoredDuringExecution); i++ { - - if m.PreferredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.PreferredDuringSchedulingIgnoredDuringExecution[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodAffinity) contextValidateRequiredDuringSchedulingIgnoredDuringExecution(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.RequiredDuringSchedulingIgnoredDuringExecution); i++ { - - if m.RequiredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.RequiredDuringSchedulingIgnoredDuringExecution[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("requiredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("requiredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodAffinity) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodAffinity) UnmarshalBinary(b []byte) error { - var res V1PodAffinity - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_affinity_term.go b/components/common/api/def/clients/config/models/v1_pod_affinity_term.go deleted file mode 100644 index 4cc20fb..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_affinity_term.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PodAffinityTerm Defines a set of pods (namely those matching the labelSelector -// relative to the given namespace(s)) that this pod should be -// co-located (affinity) or not co-located (anti-affinity) with, -// where co-located is defined as running on a node whose value of -// the label with key matches that of any node on which -// a pod of the set of pods is running -// -// swagger:model v1PodAffinityTerm -type V1PodAffinityTerm struct { - - // A label query over a set of resources, in this case pods. - // +optional - LabelSelector *V1LabelSelector `json:"labelSelector,omitempty"` - - // namespaces specifies which namespaces the labelSelector applies to (matches against); - // null or empty list means "this pod's namespace" - // +optional - Namespaces []string `json:"namespaces"` - - // This pod should be co-located (affinity) or not co-located (anti-affinity) with the pods matching - // the labelSelector in the specified namespaces, where co-located is defined as running on a node - // whose value of the label with key topologyKey matches that of any node on which any of the - // selected pods is running. - // Empty topologyKey is not allowed. - TopologyKey string `json:"topologyKey,omitempty"` -} - -// Validate validates this v1 pod affinity term -func (m *V1PodAffinityTerm) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLabelSelector(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodAffinityTerm) validateLabelSelector(formats strfmt.Registry) error { - if swag.IsZero(m.LabelSelector) { // not required - return nil - } - - if m.LabelSelector != nil { - if err := m.LabelSelector.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("labelSelector") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("labelSelector") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 pod affinity term based on the context it is used -func (m *V1PodAffinityTerm) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLabelSelector(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodAffinityTerm) contextValidateLabelSelector(ctx context.Context, formats strfmt.Registry) error { - - if m.LabelSelector != nil { - if err := m.LabelSelector.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("labelSelector") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("labelSelector") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodAffinityTerm) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodAffinityTerm) UnmarshalBinary(b []byte) error { - var res V1PodAffinityTerm - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_anti_affinity.go b/components/common/api/def/clients/config/models/v1_pod_anti_affinity.go deleted file mode 100644 index 48acfbf..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_anti_affinity.go +++ /dev/null @@ -1,189 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PodAntiAffinity Pod anti affinity is a group of inter pod anti affinity scheduling rules. -// -// swagger:model v1PodAntiAffinity -type V1PodAntiAffinity struct { - - // The scheduler will prefer to schedule pods to nodes that satisfy - // the anti-affinity expressions specified by this field, but it may choose - // a node that violates one or more of the expressions. The node that is - // most preferred is the one with the greatest sum of weights, i.e. - // for each node that meets all of the scheduling requirements (resource - // request, requiredDuringScheduling anti-affinity expressions, etc.), - // compute a sum by iterating through the elements of this field and adding - // "weight" to the sum if the node has pods which matches the corresponding podAffinityTerm; the - // node(s) with the highest sum are the most preferred. - // +optional - PreferredDuringSchedulingIgnoredDuringExecution []*V1WeightedPodAffinityTerm `json:"preferredDuringSchedulingIgnoredDuringExecution"` - - // If the anti-affinity requirements specified by this field are not met at - // scheduling time, the pod will not be scheduled onto the node. - // If the anti-affinity requirements specified by this field cease to be met - // at some point during pod execution (e.g. due to a pod label update), the - // system may or may not try to eventually evict the pod from its node. - // When there are multiple elements, the lists of nodes corresponding to each - // podAffinityTerm are intersected, i.e. all terms must be satisfied. - // +optional - RequiredDuringSchedulingIgnoredDuringExecution []*V1PodAffinityTerm `json:"requiredDuringSchedulingIgnoredDuringExecution"` -} - -// Validate validates this v1 pod anti affinity -func (m *V1PodAntiAffinity) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validatePreferredDuringSchedulingIgnoredDuringExecution(formats); err != nil { - res = append(res, err) - } - - if err := m.validateRequiredDuringSchedulingIgnoredDuringExecution(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodAntiAffinity) validatePreferredDuringSchedulingIgnoredDuringExecution(formats strfmt.Registry) error { - if swag.IsZero(m.PreferredDuringSchedulingIgnoredDuringExecution) { // not required - return nil - } - - for i := 0; i < len(m.PreferredDuringSchedulingIgnoredDuringExecution); i++ { - if swag.IsZero(m.PreferredDuringSchedulingIgnoredDuringExecution[i]) { // not required - continue - } - - if m.PreferredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.PreferredDuringSchedulingIgnoredDuringExecution[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodAntiAffinity) validateRequiredDuringSchedulingIgnoredDuringExecution(formats strfmt.Registry) error { - if swag.IsZero(m.RequiredDuringSchedulingIgnoredDuringExecution) { // not required - return nil - } - - for i := 0; i < len(m.RequiredDuringSchedulingIgnoredDuringExecution); i++ { - if swag.IsZero(m.RequiredDuringSchedulingIgnoredDuringExecution[i]) { // not required - continue - } - - if m.RequiredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.RequiredDuringSchedulingIgnoredDuringExecution[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("requiredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("requiredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 pod anti affinity based on the context it is used -func (m *V1PodAntiAffinity) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidatePreferredDuringSchedulingIgnoredDuringExecution(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateRequiredDuringSchedulingIgnoredDuringExecution(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodAntiAffinity) contextValidatePreferredDuringSchedulingIgnoredDuringExecution(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.PreferredDuringSchedulingIgnoredDuringExecution); i++ { - - if m.PreferredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.PreferredDuringSchedulingIgnoredDuringExecution[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preferredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodAntiAffinity) contextValidateRequiredDuringSchedulingIgnoredDuringExecution(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.RequiredDuringSchedulingIgnoredDuringExecution); i++ { - - if m.RequiredDuringSchedulingIgnoredDuringExecution[i] != nil { - if err := m.RequiredDuringSchedulingIgnoredDuringExecution[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("requiredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("requiredDuringSchedulingIgnoredDuringExecution" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodAntiAffinity) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodAntiAffinity) UnmarshalBinary(b []byte) error { - var res V1PodAntiAffinity - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_dns_config.go b/components/common/api/def/clients/config/models/v1_pod_dns_config.go deleted file mode 100644 index e4419a8..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_dns_config.go +++ /dev/null @@ -1,133 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PodDNSConfig PodDNSConfig defines the DNS parameters of a pod in addition to -// those generated from DNSPolicy. -// -// swagger:model v1PodDNSConfig -type V1PodDNSConfig struct { - - // A list of DNS name server IP addresses. - // This will be appended to the base nameservers generated from DNSPolicy. - // Duplicated nameservers will be removed. - // +optional - Nameservers []string `json:"nameservers"` - - // A list of DNS resolver options. - // This will be merged with the base options generated from DNSPolicy. - // Duplicated entries will be removed. Resolution options given in Options - // will override those that appear in the base DNSPolicy. - // +optional - Options []*V1PodDNSConfigOption `json:"options"` - - // A list of DNS search domains for host-name lookup. - // This will be appended to the base search paths generated from DNSPolicy. - // Duplicated search paths will be removed. - // +optional - Searches []string `json:"searches"` -} - -// Validate validates this v1 pod DNS config -func (m *V1PodDNSConfig) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateOptions(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodDNSConfig) validateOptions(formats strfmt.Registry) error { - if swag.IsZero(m.Options) { // not required - return nil - } - - for i := 0; i < len(m.Options); i++ { - if swag.IsZero(m.Options[i]) { // not required - continue - } - - if m.Options[i] != nil { - if err := m.Options[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("options" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("options" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 pod DNS config based on the context it is used -func (m *V1PodDNSConfig) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateOptions(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodDNSConfig) contextValidateOptions(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Options); i++ { - - if m.Options[i] != nil { - if err := m.Options[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("options" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("options" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodDNSConfig) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodDNSConfig) UnmarshalBinary(b []byte) error { - var res V1PodDNSConfig - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_dns_config_option.go b/components/common/api/def/clients/config/models/v1_pod_dns_config_option.go deleted file mode 100644 index 88abfcd..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_dns_config_option.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PodDNSConfigOption PodDNSConfigOption defines DNS resolver options of a pod. -// -// swagger:model v1PodDNSConfigOption -type V1PodDNSConfigOption struct { - - // Required. - Name string `json:"name,omitempty"` - - // +optional - Value string `json:"value,omitempty"` -} - -// Validate validates this v1 pod DNS config option -func (m *V1PodDNSConfigOption) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 pod DNS config option based on context it is used -func (m *V1PodDNSConfigOption) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodDNSConfigOption) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodDNSConfigOption) UnmarshalBinary(b []byte) error { - var res V1PodDNSConfigOption - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_readiness_gate.go b/components/common/api/def/clients/config/models/v1_pod_readiness_gate.go deleted file mode 100644 index b9a10a7..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_readiness_gate.go +++ /dev/null @@ -1,50 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PodReadinessGate PodReadinessGate contains the reference to a pod condition -// -// swagger:model v1PodReadinessGate -type V1PodReadinessGate struct { - - // ConditionType refers to a condition in the pod's condition list with matching type. - ConditionType string `json:"conditionType,omitempty"` -} - -// Validate validates this v1 pod readiness gate -func (m *V1PodReadinessGate) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 pod readiness gate based on context it is used -func (m *V1PodReadinessGate) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodReadinessGate) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodReadinessGate) UnmarshalBinary(b []byte) error { - var res V1PodReadinessGate - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_security_context.go b/components/common/api/def/clients/config/models/v1_pod_security_context.go deleted file mode 100644 index 4806761..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_security_context.go +++ /dev/null @@ -1,319 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PodSecurityContext PodSecurityContext holds pod-level security attributes and common container settings. -// Some fields are also present in container.securityContext. Field values of -// container.securityContext take precedence over field values of PodSecurityContext. -// -// swagger:model v1PodSecurityContext -type V1PodSecurityContext struct { - - // A special supplemental group that applies to all containers in a pod. - // Some volume types allow the Kubelet to change the ownership of that volume - // to be owned by the pod: - // - // 1. The owning GID will be the FSGroup - // 2. The setgid bit is set (new files created in the volume will be owned by FSGroup) - // 3. The permission bits are OR'd with rw-rw---- - // - // If unset, the Kubelet will not modify the ownership and permissions of any volume. - // +optional - FsGroup string `json:"fsGroup,omitempty"` - - // fsGroupChangePolicy defines behavior of changing ownership and permission of the volume - // before being exposed inside Pod. This field will only apply to - // volume types which support fsGroup based ownership(and permissions). - // It will have no effect on ephemeral volume types such as: secret, configmaps - // and emptydir. - // Valid values are "OnRootMismatch" and "Always". If not specified, "Always" is used. - // +optional - FsGroupChangePolicy string `json:"fsGroupChangePolicy,omitempty"` - - // The GID to run the entrypoint of the container process. - // Uses runtime default if unset. - // May also be set in SecurityContext. If set in both SecurityContext and - // PodSecurityContext, the value specified in SecurityContext takes precedence - // for that container. - // +optional - RunAsGroup string `json:"runAsGroup,omitempty"` - - // Indicates that the container must run as a non-root user. - // If true, the Kubelet will validate the image at runtime to ensure that it - // does not run as UID 0 (root) and fail to start the container if it does. - // If unset or false, no such validation will be performed. - // May also be set in SecurityContext. If set in both SecurityContext and - // PodSecurityContext, the value specified in SecurityContext takes precedence. - // +optional - RunAsNonRoot bool `json:"runAsNonRoot,omitempty"` - - // The UID to run the entrypoint of the container process. - // Defaults to user specified in image metadata if unspecified. - // May also be set in SecurityContext. If set in both SecurityContext and - // PodSecurityContext, the value specified in SecurityContext takes precedence - // for that container. - // +optional - RunAsUser string `json:"runAsUser,omitempty"` - - // The SELinux context to be applied to all containers. - // If unspecified, the container runtime will allocate a random SELinux context for each - // container. May also be set in SecurityContext. If set in - // both SecurityContext and PodSecurityContext, the value specified in SecurityContext - // takes precedence for that container. - // +optional - SeLinuxOptions *V1SELinuxOptions `json:"seLinuxOptions,omitempty"` - - // The seccomp options to use by the containers in this pod. - // +optional - SeccompProfile *V1SeccompProfile `json:"seccompProfile,omitempty"` - - // A list of groups applied to the first process run in each container, in addition - // to the container's primary GID. If unspecified, no groups will be added to - // any container. - // +optional - SupplementalGroups []string `json:"supplementalGroups"` - - // Sysctls hold a list of namespaced sysctls used for the pod. Pods with unsupported - // sysctls (by the container runtime) might fail to launch. - // +optional - Sysctls []*V1Sysctl `json:"sysctls"` - - // The Windows specific settings applied to all containers. - // If unspecified, the options within a container's SecurityContext will be used. - // If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. - // +optional - WindowsOptions *V1WindowsSecurityContextOptions `json:"windowsOptions,omitempty"` -} - -// Validate validates this v1 pod security context -func (m *V1PodSecurityContext) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSeLinuxOptions(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSeccompProfile(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSysctls(formats); err != nil { - res = append(res, err) - } - - if err := m.validateWindowsOptions(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodSecurityContext) validateSeLinuxOptions(formats strfmt.Registry) error { - if swag.IsZero(m.SeLinuxOptions) { // not required - return nil - } - - if m.SeLinuxOptions != nil { - if err := m.SeLinuxOptions.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("seLinuxOptions") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("seLinuxOptions") - } - return err - } - } - - return nil -} - -func (m *V1PodSecurityContext) validateSeccompProfile(formats strfmt.Registry) error { - if swag.IsZero(m.SeccompProfile) { // not required - return nil - } - - if m.SeccompProfile != nil { - if err := m.SeccompProfile.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("seccompProfile") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("seccompProfile") - } - return err - } - } - - return nil -} - -func (m *V1PodSecurityContext) validateSysctls(formats strfmt.Registry) error { - if swag.IsZero(m.Sysctls) { // not required - return nil - } - - for i := 0; i < len(m.Sysctls); i++ { - if swag.IsZero(m.Sysctls[i]) { // not required - continue - } - - if m.Sysctls[i] != nil { - if err := m.Sysctls[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("sysctls" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("sysctls" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSecurityContext) validateWindowsOptions(formats strfmt.Registry) error { - if swag.IsZero(m.WindowsOptions) { // not required - return nil - } - - if m.WindowsOptions != nil { - if err := m.WindowsOptions.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("windowsOptions") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("windowsOptions") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 pod security context based on the context it is used -func (m *V1PodSecurityContext) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSeLinuxOptions(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSeccompProfile(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSysctls(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateWindowsOptions(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodSecurityContext) contextValidateSeLinuxOptions(ctx context.Context, formats strfmt.Registry) error { - - if m.SeLinuxOptions != nil { - if err := m.SeLinuxOptions.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("seLinuxOptions") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("seLinuxOptions") - } - return err - } - } - - return nil -} - -func (m *V1PodSecurityContext) contextValidateSeccompProfile(ctx context.Context, formats strfmt.Registry) error { - - if m.SeccompProfile != nil { - if err := m.SeccompProfile.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("seccompProfile") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("seccompProfile") - } - return err - } - } - - return nil -} - -func (m *V1PodSecurityContext) contextValidateSysctls(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Sysctls); i++ { - - if m.Sysctls[i] != nil { - if err := m.Sysctls[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("sysctls" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("sysctls" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSecurityContext) contextValidateWindowsOptions(ctx context.Context, formats strfmt.Registry) error { - - if m.WindowsOptions != nil { - if err := m.WindowsOptions.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("windowsOptions") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("windowsOptions") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodSecurityContext) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodSecurityContext) UnmarshalBinary(b []byte) error { - var res V1PodSecurityContext - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_spec.go b/components/common/api/def/clients/config/models/v1_pod_spec.go deleted file mode 100644 index 411278c..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_spec.go +++ /dev/null @@ -1,979 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// V1PodSpec PodSpec is a description of a pod. -// -// swagger:model v1PodSpec -type V1PodSpec struct { - - // Optional duration in seconds the pod may be active on the node relative to - // StartTime before the system will actively try to mark it failed and kill associated containers. - // Value must be a positive integer. - // +optional - ActiveDeadlineSeconds string `json:"activeDeadlineSeconds,omitempty"` - - // If specified, the pod's scheduling constraints - // +optional - Affinity *V1Affinity `json:"affinity,omitempty"` - - // AutomountServiceAccountToken indicates whether a service account token should be automatically mounted. - // +optional - AutomountServiceAccountToken bool `json:"automountServiceAccountToken,omitempty"` - - // List of containers belonging to the pod. - // Containers cannot currently be added or removed. - // There must be at least one container in a Pod. - // Cannot be updated. - // +patchMergeKey=name - // +patchStrategy=merge - Containers []*V1Container `json:"containers"` - - // Specifies the DNS parameters of a pod. - // Parameters specified here will be merged to the generated DNS - // configuration based on DNSPolicy. - // +optional - DNSConfig *V1PodDNSConfig `json:"dnsConfig,omitempty"` - - // Set DNS policy for the pod. - // Defaults to "ClusterFirst". - // Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. - // DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. - // To have DNS options set along with hostNetwork, you have to specify DNS policy - // explicitly to 'ClusterFirstWithHostNet'. - // +optional - DNSPolicy string `json:"dnsPolicy,omitempty"` - - // EnableServiceLinks indicates whether information about services should be injected into pod's - // environment variables, matching the syntax of Docker links. - // Optional: Defaults to true. - // +optional - EnableServiceLinks bool `json:"enableServiceLinks,omitempty"` - - // List of ephemeral containers run in this pod. Ephemeral containers may be run in an existing - // pod to perform user-initiated actions such as debugging. This list cannot be specified when - // creating a pod, and it cannot be modified by updating the pod spec. In order to add an - // ephemeral container to an existing pod, use the pod's ephemeralcontainers subresource. - // This field is alpha-level and is only honored by servers that enable the EphemeralContainers feature. - // +optional - // +patchMergeKey=name - // +patchStrategy=merge - EphemeralContainers []*V1EphemeralContainer `json:"ephemeralContainers"` - - // HostAliases is an optional list of hosts and IPs that will be injected into the pod's hosts - // file if specified. This is only valid for non-hostNetwork pods. - // +optional - // +patchMergeKey=ip - // +patchStrategy=merge - HostAliases []*V1HostAlias `json:"hostAliases"` - - // Use the host's ipc namespace. - // Optional: Default to false. - // +k8s:conversion-gen=false - // +optional - HostIPC bool `json:"hostIPC,omitempty"` - - // Host networking requested for this pod. Use the host's network namespace. - // If this option is set, the ports that will be used must be specified. - // Default to false. - // +k8s:conversion-gen=false - // +optional - HostNetwork bool `json:"hostNetwork,omitempty"` - - // Use the host's pid namespace. - // Optional: Default to false. - // +k8s:conversion-gen=false - // +optional - HostPID bool `json:"hostPID,omitempty"` - - // Specifies the hostname of the Pod - // If not specified, the pod's hostname will be set to a system-defined value. - // +optional - Hostname string `json:"hostname,omitempty"` - - // ImagePullSecrets is an optional list of references to secrets in the same namespace to use for pulling any of the images used by this PodSpec. - // If specified, these secrets will be passed to individual puller implementations for them to use. For example, - // in the case of docker, only DockerConfig type secrets are honored. - // More info: https://kubernetes.io/docs/concepts/containers/images#specifying-imagepullsecrets-on-a-pod - // +optional - // +patchMergeKey=name - // +patchStrategy=merge - ImagePullSecrets []*V1LocalObjectReference `json:"imagePullSecrets"` - - // List of initialization containers belonging to the pod. - // Init containers are executed in order prior to containers being started. If any - // init container fails, the pod is considered to have failed and is handled according - // to its restartPolicy. The name for an init container or normal container must be - // unique among all containers. - // Init containers may not have Lifecycle actions, Readiness probes, Liveness probes, or Startup probes. - // The resourceRequirements of an init container are taken into account during scheduling - // by finding the highest request/limit for each resource type, and then using the max of - // of that value or the sum of the normal containers. Limits are applied to init containers - // in a similar fashion. - // Init containers cannot currently be added or removed. - // Cannot be updated. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/init-containers/ - // +patchMergeKey=name - // +patchStrategy=merge - InitContainers []*V1Container `json:"initContainers"` - - // NodeName is a request to schedule this pod onto a specific node. If it is non-empty, - // the scheduler simply schedules this pod onto that node, assuming that it fits resource - // requirements. - // +optional - NodeName string `json:"nodeName,omitempty"` - - // NodeSelector is a selector which must be true for the pod to fit on a node. - // Selector which must match a node's labels for the pod to be scheduled on that node. - // More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/ - // +optional - NodeSelector map[string]string `json:"nodeSelector,omitempty"` - - // Overhead represents the resource overhead associated with running a pod for a given RuntimeClass. - // This field will be autopopulated at admission time by the RuntimeClass admission controller. If - // the RuntimeClass admission controller is enabled, overhead must not be set in Pod create requests. - // The RuntimeClass admission controller will reject Pod create requests which have the overhead already - // set. If RuntimeClass is configured and selected in the PodSpec, Overhead will be set to the value - // defined in the corresponding RuntimeClass, otherwise it will remain unset and treated as zero. - // More info: https://git.k8s.io/enhancements/keps/sig-node/20190226-pod-overhead.md - // This field is alpha-level as of Kubernetes v1.16, and is only honored by servers that enable the PodOverhead feature. - // +optional - Overhead map[string]ResourceQuantity `json:"overhead,omitempty"` - - // PreemptionPolicy is the Policy for preempting pods with lower priority. - // One of Never, PreemptLowerPriority. - // Defaults to PreemptLowerPriority if unset. - // This field is beta-level, gated by the NonPreemptingPriority feature-gate. - // +optional - PreemptionPolicy string `json:"preemptionPolicy,omitempty"` - - // The priority value. Various system components use this field to find the - // priority of the pod. When Priority Admission Controller is enabled, it - // prevents users from setting this field. The admission controller populates - // this field from PriorityClassName. - // The higher the value, the higher the priority. - // +optional - Priority int32 `json:"priority,omitempty"` - - // If specified, indicates the pod's priority. "system-node-critical" and - // "system-cluster-critical" are two special keywords which indicate the - // highest priorities with the former being the highest priority. Any other - // name must be defined by creating a PriorityClass object with that name. - // If not specified, the pod priority will be default or zero if there is no - // default. - // +optional - PriorityClassName string `json:"priorityClassName,omitempty"` - - // If specified, all readiness gates will be evaluated for pod readiness. - // A pod is ready when all its containers are ready AND - // all conditions specified in the readiness gates have status equal to "True" - // More info: https://git.k8s.io/enhancements/keps/sig-network/0007-pod-ready%2B%2B.md - // +optional - ReadinessGates []*V1PodReadinessGate `json:"readinessGates"` - - // Restart policy for all containers within the pod. - // One of Always, OnFailure, Never. - // Default to Always. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy - // +optional - RestartPolicy string `json:"restartPolicy,omitempty"` - - // RuntimeClassName refers to a RuntimeClass object in the node.k8s.io group, which should be used - // to run this pod. If no RuntimeClass resource matches the named class, the pod will not be run. - // If unset or empty, the "legacy" RuntimeClass will be used, which is an implicit class with an - // empty definition that uses the default runtime handler. - // More info: https://git.k8s.io/enhancements/keps/sig-node/runtime-class.md - // This is a beta feature as of Kubernetes v1.14. - // +optional - RuntimeClassName string `json:"runtimeClassName,omitempty"` - - // If specified, the pod will be dispatched by specified scheduler. - // If not specified, the pod will be dispatched by default scheduler. - // +optional - SchedulerName string `json:"schedulerName,omitempty"` - - // SecurityContext holds pod-level security attributes and common container settings. - // Optional: Defaults to empty. See type description for default values of each field. - // +optional - SecurityContext *V1PodSecurityContext `json:"securityContext,omitempty"` - - // DeprecatedServiceAccount is a depreciated alias for ServiceAccountName. - // Deprecated: Use serviceAccountName instead. - // +k8s:conversion-gen=false - // +optional - ServiceAccount string `json:"serviceAccount,omitempty"` - - // ServiceAccountName is the name of the ServiceAccount to use to run this pod. - // More info: https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ - // +optional - ServiceAccountName string `json:"serviceAccountName,omitempty"` - - // If true the pod's hostname will be configured as the pod's FQDN, rather than the leaf name (the default). - // In Linux containers, this means setting the FQDN in the hostname field of the kernel (the nodename field of struct utsname). - // In Windows containers, this means setting the registry value of hostname for the registry key HKEY_LOCAL_MACHINE\\SYSTEM\\CurrentControlSet\\Services\\Tcpip\\Parameters to FQDN. - // If a pod does not have FQDN, this has no effect. - // Default to false. - // +optional - SetHostnameAsFQDN bool `json:"setHostnameAsFQDN,omitempty"` - - // Share a single process namespace between all of the containers in a pod. - // When this is set containers will be able to view and signal processes from other containers - // in the same pod, and the first process in each container will not be assigned PID 1. - // HostPID and ShareProcessNamespace cannot both be set. - // Optional: Default to false. - // +k8s:conversion-gen=false - // +optional - ShareProcessNamespace bool `json:"shareProcessNamespace,omitempty"` - - // If specified, the fully qualified Pod hostname will be "...svc.". - // If not specified, the pod will not have a domainname at all. - // +optional - Subdomain string `json:"subdomain,omitempty"` - - // Optional duration in seconds the pod needs to terminate gracefully. May be decreased in delete request. - // Value must be non-negative integer. The value zero indicates delete immediately. - // If this value is nil, the default grace period will be used instead. - // The grace period is the duration in seconds after the processes running in the pod are sent - // a termination signal and the time when the processes are forcibly halted with a kill signal. - // Set this value longer than the expected cleanup time for your process. - // Defaults to 30 seconds. - // +optional - TerminationGracePeriodSeconds string `json:"terminationGracePeriodSeconds,omitempty"` - - // If specified, the pod's tolerations. - // +optional - Tolerations []*V1Toleration `json:"tolerations"` - - // TopologySpreadConstraints describes how a group of pods ought to spread across topology - // domains. Scheduler will schedule pods in a way which abides by the constraints. - // All topologySpreadConstraints are ANDed. - // +optional - // +patchMergeKey=topologyKey - // +patchStrategy=merge - // +listType=map - // +listMapKey=topologyKey - // +listMapKey=whenUnsatisfiable - TopologySpreadConstraints []*V1TopologySpreadConstraint `json:"topologySpreadConstraints"` - - // List of volumes that can be mounted by containers belonging to the pod. - // More info: https://kubernetes.io/docs/concepts/storage/volumes - // +optional - // +patchMergeKey=name - // +patchStrategy=merge,retainKeys - Volumes []*V1Volume `json:"volumes"` -} - -// Validate validates this v1 pod spec -func (m *V1PodSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateAffinity(formats); err != nil { - res = append(res, err) - } - - if err := m.validateContainers(formats); err != nil { - res = append(res, err) - } - - if err := m.validateDNSConfig(formats); err != nil { - res = append(res, err) - } - - if err := m.validateEphemeralContainers(formats); err != nil { - res = append(res, err) - } - - if err := m.validateHostAliases(formats); err != nil { - res = append(res, err) - } - - if err := m.validateImagePullSecrets(formats); err != nil { - res = append(res, err) - } - - if err := m.validateInitContainers(formats); err != nil { - res = append(res, err) - } - - if err := m.validateOverhead(formats); err != nil { - res = append(res, err) - } - - if err := m.validateReadinessGates(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSecurityContext(formats); err != nil { - res = append(res, err) - } - - if err := m.validateTolerations(formats); err != nil { - res = append(res, err) - } - - if err := m.validateTopologySpreadConstraints(formats); err != nil { - res = append(res, err) - } - - if err := m.validateVolumes(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodSpec) validateAffinity(formats strfmt.Registry) error { - if swag.IsZero(m.Affinity) { // not required - return nil - } - - if m.Affinity != nil { - if err := m.Affinity.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("affinity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("affinity") - } - return err - } - } - - return nil -} - -func (m *V1PodSpec) validateContainers(formats strfmt.Registry) error { - if swag.IsZero(m.Containers) { // not required - return nil - } - - for i := 0; i < len(m.Containers); i++ { - if swag.IsZero(m.Containers[i]) { // not required - continue - } - - if m.Containers[i] != nil { - if err := m.Containers[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("containers" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("containers" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateDNSConfig(formats strfmt.Registry) error { - if swag.IsZero(m.DNSConfig) { // not required - return nil - } - - if m.DNSConfig != nil { - if err := m.DNSConfig.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("dnsConfig") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("dnsConfig") - } - return err - } - } - - return nil -} - -func (m *V1PodSpec) validateEphemeralContainers(formats strfmt.Registry) error { - if swag.IsZero(m.EphemeralContainers) { // not required - return nil - } - - for i := 0; i < len(m.EphemeralContainers); i++ { - if swag.IsZero(m.EphemeralContainers[i]) { // not required - continue - } - - if m.EphemeralContainers[i] != nil { - if err := m.EphemeralContainers[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ephemeralContainers" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ephemeralContainers" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateHostAliases(formats strfmt.Registry) error { - if swag.IsZero(m.HostAliases) { // not required - return nil - } - - for i := 0; i < len(m.HostAliases); i++ { - if swag.IsZero(m.HostAliases[i]) { // not required - continue - } - - if m.HostAliases[i] != nil { - if err := m.HostAliases[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("hostAliases" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("hostAliases" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateImagePullSecrets(formats strfmt.Registry) error { - if swag.IsZero(m.ImagePullSecrets) { // not required - return nil - } - - for i := 0; i < len(m.ImagePullSecrets); i++ { - if swag.IsZero(m.ImagePullSecrets[i]) { // not required - continue - } - - if m.ImagePullSecrets[i] != nil { - if err := m.ImagePullSecrets[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("imagePullSecrets" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("imagePullSecrets" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateInitContainers(formats strfmt.Registry) error { - if swag.IsZero(m.InitContainers) { // not required - return nil - } - - for i := 0; i < len(m.InitContainers); i++ { - if swag.IsZero(m.InitContainers[i]) { // not required - continue - } - - if m.InitContainers[i] != nil { - if err := m.InitContainers[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("initContainers" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("initContainers" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateOverhead(formats strfmt.Registry) error { - if swag.IsZero(m.Overhead) { // not required - return nil - } - - for k := range m.Overhead { - - if err := validate.Required("overhead"+"."+k, "body", m.Overhead[k]); err != nil { - return err - } - if val, ok := m.Overhead[k]; ok { - if err := val.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("overhead" + "." + k) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("overhead" + "." + k) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateReadinessGates(formats strfmt.Registry) error { - if swag.IsZero(m.ReadinessGates) { // not required - return nil - } - - for i := 0; i < len(m.ReadinessGates); i++ { - if swag.IsZero(m.ReadinessGates[i]) { // not required - continue - } - - if m.ReadinessGates[i] != nil { - if err := m.ReadinessGates[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("readinessGates" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("readinessGates" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateSecurityContext(formats strfmt.Registry) error { - if swag.IsZero(m.SecurityContext) { // not required - return nil - } - - if m.SecurityContext != nil { - if err := m.SecurityContext.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("securityContext") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("securityContext") - } - return err - } - } - - return nil -} - -func (m *V1PodSpec) validateTolerations(formats strfmt.Registry) error { - if swag.IsZero(m.Tolerations) { // not required - return nil - } - - for i := 0; i < len(m.Tolerations); i++ { - if swag.IsZero(m.Tolerations[i]) { // not required - continue - } - - if m.Tolerations[i] != nil { - if err := m.Tolerations[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("tolerations" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("tolerations" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateTopologySpreadConstraints(formats strfmt.Registry) error { - if swag.IsZero(m.TopologySpreadConstraints) { // not required - return nil - } - - for i := 0; i < len(m.TopologySpreadConstraints); i++ { - if swag.IsZero(m.TopologySpreadConstraints[i]) { // not required - continue - } - - if m.TopologySpreadConstraints[i] != nil { - if err := m.TopologySpreadConstraints[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("topologySpreadConstraints" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("topologySpreadConstraints" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) validateVolumes(formats strfmt.Registry) error { - if swag.IsZero(m.Volumes) { // not required - return nil - } - - for i := 0; i < len(m.Volumes); i++ { - if swag.IsZero(m.Volumes[i]) { // not required - continue - } - - if m.Volumes[i] != nil { - if err := m.Volumes[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumes" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumes" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 pod spec based on the context it is used -func (m *V1PodSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAffinity(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateContainers(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateDNSConfig(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateEphemeralContainers(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateHostAliases(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateImagePullSecrets(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateInitContainers(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateOverhead(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateReadinessGates(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSecurityContext(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateTolerations(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateTopologySpreadConstraints(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateVolumes(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodSpec) contextValidateAffinity(ctx context.Context, formats strfmt.Registry) error { - - if m.Affinity != nil { - if err := m.Affinity.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("affinity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("affinity") - } - return err - } - } - - return nil -} - -func (m *V1PodSpec) contextValidateContainers(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Containers); i++ { - - if m.Containers[i] != nil { - if err := m.Containers[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("containers" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("containers" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateDNSConfig(ctx context.Context, formats strfmt.Registry) error { - - if m.DNSConfig != nil { - if err := m.DNSConfig.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("dnsConfig") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("dnsConfig") - } - return err - } - } - - return nil -} - -func (m *V1PodSpec) contextValidateEphemeralContainers(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.EphemeralContainers); i++ { - - if m.EphemeralContainers[i] != nil { - if err := m.EphemeralContainers[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ephemeralContainers" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ephemeralContainers" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateHostAliases(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.HostAliases); i++ { - - if m.HostAliases[i] != nil { - if err := m.HostAliases[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("hostAliases" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("hostAliases" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateImagePullSecrets(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.ImagePullSecrets); i++ { - - if m.ImagePullSecrets[i] != nil { - if err := m.ImagePullSecrets[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("imagePullSecrets" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("imagePullSecrets" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateInitContainers(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.InitContainers); i++ { - - if m.InitContainers[i] != nil { - if err := m.InitContainers[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("initContainers" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("initContainers" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateOverhead(ctx context.Context, formats strfmt.Registry) error { - - for k := range m.Overhead { - - if val, ok := m.Overhead[k]; ok { - if err := val.ContextValidate(ctx, formats); err != nil { - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateReadinessGates(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.ReadinessGates); i++ { - - if m.ReadinessGates[i] != nil { - if err := m.ReadinessGates[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("readinessGates" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("readinessGates" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateSecurityContext(ctx context.Context, formats strfmt.Registry) error { - - if m.SecurityContext != nil { - if err := m.SecurityContext.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("securityContext") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("securityContext") - } - return err - } - } - - return nil -} - -func (m *V1PodSpec) contextValidateTolerations(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Tolerations); i++ { - - if m.Tolerations[i] != nil { - if err := m.Tolerations[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("tolerations" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("tolerations" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateTopologySpreadConstraints(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.TopologySpreadConstraints); i++ { - - if m.TopologySpreadConstraints[i] != nil { - if err := m.TopologySpreadConstraints[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("topologySpreadConstraints" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("topologySpreadConstraints" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1PodSpec) contextValidateVolumes(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Volumes); i++ { - - if m.Volumes[i] != nil { - if err := m.Volumes[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumes" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumes" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodSpec) UnmarshalBinary(b []byte) error { - var res V1PodSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_pod_template_spec.go b/components/common/api/def/clients/config/models/v1_pod_template_spec.go deleted file mode 100644 index c6208c9..0000000 --- a/components/common/api/def/clients/config/models/v1_pod_template_spec.go +++ /dev/null @@ -1,154 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PodTemplateSpec PodTemplateSpec describes the data a pod should have when created from a template -// -// swagger:model v1PodTemplateSpec -type V1PodTemplateSpec struct { - - // Standard object's metadata. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - // +optional - Metadata *V1ObjectMeta `json:"metadata,omitempty"` - - // Specification of the desired behavior of the pod. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - // +optional - Spec *V1PodSpec `json:"spec,omitempty"` -} - -// Validate validates this v1 pod template spec -func (m *V1PodTemplateSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSpec(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodTemplateSpec) validateMetadata(formats strfmt.Registry) error { - if swag.IsZero(m.Metadata) { // not required - return nil - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V1PodTemplateSpec) validateSpec(formats strfmt.Registry) error { - if swag.IsZero(m.Spec) { // not required - return nil - } - - if m.Spec != nil { - if err := m.Spec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 pod template spec based on the context it is used -func (m *V1PodTemplateSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSpec(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PodTemplateSpec) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V1PodTemplateSpec) contextValidateSpec(ctx context.Context, formats strfmt.Registry) error { - - if m.Spec != nil { - if err := m.Spec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PodTemplateSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PodTemplateSpec) UnmarshalBinary(b []byte) error { - var res V1PodTemplateSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_portworx_volume_source.go b/components/common/api/def/clients/config/models/v1_portworx_volume_source.go deleted file mode 100644 index cacbb32..0000000 --- a/components/common/api/def/clients/config/models/v1_portworx_volume_source.go +++ /dev/null @@ -1,60 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PortworxVolumeSource PortworxVolumeSource represents a Portworx volume resource. -// -// swagger:model v1PortworxVolumeSource -type V1PortworxVolumeSource struct { - - // FSType represents the filesystem type to mount - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs". Implicitly inferred to be "ext4" if unspecified. - FsType string `json:"fsType,omitempty"` - - // Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // VolumeID uniquely identifies a Portworx volume - VolumeID string `json:"volumeID,omitempty"` -} - -// Validate validates this v1 portworx volume source -func (m *V1PortworxVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 portworx volume source based on context it is used -func (m *V1PortworxVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1PortworxVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PortworxVolumeSource) UnmarshalBinary(b []byte) error { - var res V1PortworxVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_preferred_scheduling_term.go b/components/common/api/def/clients/config/models/v1_preferred_scheduling_term.go deleted file mode 100644 index 3503f4e..0000000 --- a/components/common/api/def/clients/config/models/v1_preferred_scheduling_term.go +++ /dev/null @@ -1,108 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1PreferredSchedulingTerm An empty preferred scheduling term matches all objects with implicit weight 0 -// (i.e. it's a no-op). A null preferred scheduling term matches no objects (i.e. is also a no-op). -// -// swagger:model v1PreferredSchedulingTerm -type V1PreferredSchedulingTerm struct { - - // A node selector term, associated with the corresponding weight. - Preference *V1NodeSelectorTerm `json:"preference,omitempty"` - - // Weight associated with matching the corresponding nodeSelectorTerm, in the range 1-100. - Weight int32 `json:"weight,omitempty"` -} - -// Validate validates this v1 preferred scheduling term -func (m *V1PreferredSchedulingTerm) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validatePreference(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PreferredSchedulingTerm) validatePreference(formats strfmt.Registry) error { - if swag.IsZero(m.Preference) { // not required - return nil - } - - if m.Preference != nil { - if err := m.Preference.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preference") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 preferred scheduling term based on the context it is used -func (m *V1PreferredSchedulingTerm) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidatePreference(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1PreferredSchedulingTerm) contextValidatePreference(ctx context.Context, formats strfmt.Registry) error { - - if m.Preference != nil { - if err := m.Preference.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("preference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("preference") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1PreferredSchedulingTerm) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1PreferredSchedulingTerm) UnmarshalBinary(b []byte) error { - var res V1PreferredSchedulingTerm - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_probe.go b/components/common/api/def/clients/config/models/v1_probe.go deleted file mode 100644 index 2368eb7..0000000 --- a/components/common/api/def/clients/config/models/v1_probe.go +++ /dev/null @@ -1,131 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Probe Probe describes a health check to be performed against a container to determine whether it is -// alive or ready to receive traffic. -// -// swagger:model v1Probe -type V1Probe struct { - - // Minimum consecutive failures for the probe to be considered failed after having succeeded. - // Defaults to 3. Minimum value is 1. - // +optional - FailureThreshold int32 `json:"failureThreshold,omitempty"` - - // The action taken to determine the health of a container - Handler *V1Handler `json:"handler,omitempty"` - - // Number of seconds after the container has started before liveness probes are initiated. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - // +optional - InitialDelaySeconds int32 `json:"initialDelaySeconds,omitempty"` - - // How often (in seconds) to perform the probe. - // Default to 10 seconds. Minimum value is 1. - // +optional - PeriodSeconds int32 `json:"periodSeconds,omitempty"` - - // Minimum consecutive successes for the probe to be considered successful after having failed. - // Defaults to 1. Must be 1 for liveness and startup. Minimum value is 1. - // +optional - SuccessThreshold int32 `json:"successThreshold,omitempty"` - - // Number of seconds after which the probe times out. - // Defaults to 1 second. Minimum value is 1. - // More info: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle#container-probes - // +optional - TimeoutSeconds int32 `json:"timeoutSeconds,omitempty"` -} - -// Validate validates this v1 probe -func (m *V1Probe) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateHandler(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Probe) validateHandler(formats strfmt.Registry) error { - if swag.IsZero(m.Handler) { // not required - return nil - } - - if m.Handler != nil { - if err := m.Handler.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("handler") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("handler") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 probe based on the context it is used -func (m *V1Probe) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateHandler(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Probe) contextValidateHandler(ctx context.Context, formats strfmt.Registry) error { - - if m.Handler != nil { - if err := m.Handler.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("handler") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("handler") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1Probe) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Probe) UnmarshalBinary(b []byte) error { - var res V1Probe - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_projected_volume_source.go b/components/common/api/def/clients/config/models/v1_projected_volume_source.go deleted file mode 100644 index 7e8cb12..0000000 --- a/components/common/api/def/clients/config/models/v1_projected_volume_source.go +++ /dev/null @@ -1,126 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ProjectedVolumeSource Represents a projected volume source -// -// swagger:model v1ProjectedVolumeSource -type V1ProjectedVolumeSource struct { - - // Mode bits used to set permissions on created files by default. - // Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. - // YAML accepts both octal and decimal values, JSON requires decimal values for mode bits. - // Directories within the path are not affected by this setting. - // This might be in conflict with other options that affect the file - // mode, like fsGroup, and the result can be other mode bits set. - // +optional - DefaultMode int32 `json:"defaultMode,omitempty"` - - // list of volume projections - // +optional - Sources []*V1VolumeProjection `json:"sources"` -} - -// Validate validates this v1 projected volume source -func (m *V1ProjectedVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSources(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ProjectedVolumeSource) validateSources(formats strfmt.Registry) error { - if swag.IsZero(m.Sources) { // not required - return nil - } - - for i := 0; i < len(m.Sources); i++ { - if swag.IsZero(m.Sources[i]) { // not required - continue - } - - if m.Sources[i] != nil { - if err := m.Sources[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("sources" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("sources" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 projected volume source based on the context it is used -func (m *V1ProjectedVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSources(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ProjectedVolumeSource) contextValidateSources(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Sources); i++ { - - if m.Sources[i] != nil { - if err := m.Sources[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("sources" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("sources" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1ProjectedVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ProjectedVolumeSource) UnmarshalBinary(b []byte) error { - var res V1ProjectedVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_quobyte_volume_source.go b/components/common/api/def/clients/config/models/v1_quobyte_volume_source.go deleted file mode 100644 index c515e2a..0000000 --- a/components/common/api/def/clients/config/models/v1_quobyte_volume_source.go +++ /dev/null @@ -1,76 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1QuobyteVolumeSource Represents a Quobyte mount that lasts the lifetime of a pod. -// Quobyte volumes do not support ownership management or SELinux relabeling. -// -// swagger:model v1QuobyteVolumeSource -type V1QuobyteVolumeSource struct { - - // Group to map volume access to - // Default is no group - // +optional - Group string `json:"group,omitempty"` - - // ReadOnly here will force the Quobyte volume to be mounted with read-only permissions. - // Defaults to false. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // Registry represents a single or multiple Quobyte Registry services - // specified as a string as host:port pair (multiple entries are separated with commas) - // which acts as the central registry for volumes - Registry string `json:"registry,omitempty"` - - // Tenant owning the given Quobyte volume in the Backend - // Used with dynamically provisioned Quobyte volumes, value is set by the plugin - // +optional - Tenant string `json:"tenant,omitempty"` - - // User to map volume access to - // Defaults to serivceaccount user - // +optional - User string `json:"user,omitempty"` - - // Volume is a string that references an already created Quobyte volume by name. - Volume string `json:"volume,omitempty"` -} - -// Validate validates this v1 quobyte volume source -func (m *V1QuobyteVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 quobyte volume source based on context it is used -func (m *V1QuobyteVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1QuobyteVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1QuobyteVolumeSource) UnmarshalBinary(b []byte) error { - var res V1QuobyteVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_r_b_d_volume_source.go b/components/common/api/def/clients/config/models/v1_r_b_d_volume_source.go deleted file mode 100644 index b63549b..0000000 --- a/components/common/api/def/clients/config/models/v1_r_b_d_volume_source.go +++ /dev/null @@ -1,149 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1RBDVolumeSource Represents a Rados Block Device mount that lasts the lifetime of a pod. -// RBD volumes support ownership management and SELinux relabeling. -// -// swagger:model v1RBDVolumeSource -type V1RBDVolumeSource struct { - - // Filesystem type of the volume that you want to mount. - // Tip: Ensure that the filesystem type is supported by the host operating system. - // Examples: "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#rbd - // TODO: how do we prevent errors in the filesystem from compromising the machine - // +optional - FsType string `json:"fsType,omitempty"` - - // The rados image name. - // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it - Image string `json:"image,omitempty"` - - // Keyring is the path to key ring for RBDUser. - // Default is /etc/ceph/keyring. - // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it - // +optional - Keyring string `json:"keyring,omitempty"` - - // A collection of Ceph monitors. - // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it - Monitors []string `json:"monitors"` - - // The rados pool name. - // Default is rbd. - // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it - // +optional - Pool string `json:"pool,omitempty"` - - // ReadOnly here will force the ReadOnly setting in VolumeMounts. - // Defaults to false. - // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // SecretRef is name of the authentication secret for RBDUser. If provided - // overrides keyring. - // Default is nil. - // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it - // +optional - SecretRef *V1LocalObjectReference `json:"secretRef,omitempty"` - - // The rados user name. - // Default is admin. - // More info: https://examples.k8s.io/volumes/rbd/README.md#how-to-use-it - // +optional - User string `json:"user,omitempty"` -} - -// Validate validates this v1 r b d volume source -func (m *V1RBDVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1RBDVolumeSource) validateSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretRef) { // not required - return nil - } - - if m.SecretRef != nil { - if err := m.SecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 r b d volume source based on the context it is used -func (m *V1RBDVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1RBDVolumeSource) contextValidateSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretRef != nil { - if err := m.SecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1RBDVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1RBDVolumeSource) UnmarshalBinary(b []byte) error { - var res V1RBDVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_resource_field_selector.go b/components/common/api/def/clients/config/models/v1_resource_field_selector.go deleted file mode 100644 index 6dcd227..0000000 --- a/components/common/api/def/clients/config/models/v1_resource_field_selector.go +++ /dev/null @@ -1,112 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ResourceFieldSelector ResourceFieldSelector represents container resources (cpu, memory) and their output format -// -// swagger:model v1ResourceFieldSelector -type V1ResourceFieldSelector struct { - - // Container name: required for volumes, optional for env vars - // +optional - ContainerName string `json:"containerName,omitempty"` - - // Specifies the output format of the exposed resources, defaults to "1" - // +optional - Divisor *ResourceQuantity `json:"divisor,omitempty"` - - // Required: resource to select - Resource string `json:"resource,omitempty"` -} - -// Validate validates this v1 resource field selector -func (m *V1ResourceFieldSelector) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateDivisor(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ResourceFieldSelector) validateDivisor(formats strfmt.Registry) error { - if swag.IsZero(m.Divisor) { // not required - return nil - } - - if m.Divisor != nil { - if err := m.Divisor.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("divisor") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("divisor") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 resource field selector based on the context it is used -func (m *V1ResourceFieldSelector) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateDivisor(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ResourceFieldSelector) contextValidateDivisor(ctx context.Context, formats strfmt.Registry) error { - - if m.Divisor != nil { - if err := m.Divisor.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("divisor") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("divisor") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1ResourceFieldSelector) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ResourceFieldSelector) UnmarshalBinary(b []byte) error { - var res V1ResourceFieldSelector - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_s_e_linux_options.go b/components/common/api/def/clients/config/models/v1_s_e_linux_options.go deleted file mode 100644 index 932910b..0000000 --- a/components/common/api/def/clients/config/models/v1_s_e_linux_options.go +++ /dev/null @@ -1,63 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1SELinuxOptions SELinuxOptions are the labels to be applied to the container -// -// swagger:model v1SELinuxOptions -type V1SELinuxOptions struct { - - // Level is SELinux level label that applies to the container. - // +optional - Level string `json:"level,omitempty"` - - // Role is a SELinux role label that applies to the container. - // +optional - Role string `json:"role,omitempty"` - - // Type is a SELinux type label that applies to the container. - // +optional - Type string `json:"type,omitempty"` - - // User is a SELinux user label that applies to the container. - // +optional - User string `json:"user,omitempty"` -} - -// Validate validates this v1 s e linux options -func (m *V1SELinuxOptions) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 s e linux options based on context it is used -func (m *V1SELinuxOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1SELinuxOptions) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1SELinuxOptions) UnmarshalBinary(b []byte) error { - var res V1SELinuxOptions - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_scale_i_o_volume_source.go b/components/common/api/def/clients/config/models/v1_scale_i_o_volume_source.go deleted file mode 100644 index c7e6264..0000000 --- a/components/common/api/def/clients/config/models/v1_scale_i_o_volume_source.go +++ /dev/null @@ -1,144 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ScaleIOVolumeSource ScaleIOVolumeSource represents a persistent ScaleIO volume -// -// swagger:model v1ScaleIOVolumeSource -type V1ScaleIOVolumeSource struct { - - // Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs". - // Default is "xfs". - // +optional - FsType string `json:"fsType,omitempty"` - - // The host address of the ScaleIO API Gateway. - Gateway string `json:"gateway,omitempty"` - - // The name of the ScaleIO Protection Domain for the configured storage. - // +optional - ProtectionDomain string `json:"protectionDomain,omitempty"` - - // Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // SecretRef references to the secret for ScaleIO user and other - // sensitive information. If this is not provided, Login operation will fail. - SecretRef *V1LocalObjectReference `json:"secretRef,omitempty"` - - // Flag to enable/disable SSL communication with Gateway, default false - // +optional - SslEnabled bool `json:"sslEnabled,omitempty"` - - // Indicates whether the storage for a volume should be ThickProvisioned or ThinProvisioned. - // Default is ThinProvisioned. - // +optional - StorageMode string `json:"storageMode,omitempty"` - - // The ScaleIO Storage Pool associated with the protection domain. - // +optional - StoragePool string `json:"storagePool,omitempty"` - - // The name of the storage system as configured in ScaleIO. - System string `json:"system,omitempty"` - - // The name of a volume already created in the ScaleIO system - // that is associated with this volume source. - VolumeName string `json:"volumeName,omitempty"` -} - -// Validate validates this v1 scale i o volume source -func (m *V1ScaleIOVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ScaleIOVolumeSource) validateSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretRef) { // not required - return nil - } - - if m.SecretRef != nil { - if err := m.SecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 scale i o volume source based on the context it is used -func (m *V1ScaleIOVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1ScaleIOVolumeSource) contextValidateSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretRef != nil { - if err := m.SecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1ScaleIOVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ScaleIOVolumeSource) UnmarshalBinary(b []byte) error { - var res V1ScaleIOVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_seccomp_profile.go b/components/common/api/def/clients/config/models/v1_seccomp_profile.go deleted file mode 100644 index c81d1e8..0000000 --- a/components/common/api/def/clients/config/models/v1_seccomp_profile.go +++ /dev/null @@ -1,65 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1SeccompProfile SeccompProfile defines a pod/container's seccomp profile settings. -// Only one profile source may be set. -// +union -// -// swagger:model v1SeccompProfile -type V1SeccompProfile struct { - - // localhostProfile indicates a profile defined in a file on the node should be used. - // The profile must be preconfigured on the node to work. - // Must be a descending path, relative to the kubelet's configured seccomp profile location. - // Must only be set if type is "Localhost". - // +optional - LocalhostProfile string `json:"localhostProfile,omitempty"` - - // type indicates which kind of seccomp profile will be applied. - // Valid options are: - // - // Localhost - a profile defined in a file on the node should be used. - // RuntimeDefault - the container runtime default profile should be used. - // Unconfined - no profile should be applied. - // +unionDiscriminator - Type string `json:"type,omitempty"` -} - -// Validate validates this v1 seccomp profile -func (m *V1SeccompProfile) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 seccomp profile based on context it is used -func (m *V1SeccompProfile) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1SeccompProfile) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1SeccompProfile) UnmarshalBinary(b []byte) error { - var res V1SeccompProfile - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_secret_env_source.go b/components/common/api/def/clients/config/models/v1_secret_env_source.go deleted file mode 100644 index f9d4923..0000000 --- a/components/common/api/def/clients/config/models/v1_secret_env_source.go +++ /dev/null @@ -1,112 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1SecretEnvSource SecretEnvSource selects a Secret to populate the environment -// variables with. -// -// The contents of the target Secret's Data field will represent the -// key-value pairs as environment variables. -// -// swagger:model v1SecretEnvSource -type V1SecretEnvSource struct { - - // The Secret to select from. - LocalObjectReference *V1LocalObjectReference `json:"localObjectReference,omitempty"` - - // Specify whether the Secret must be defined - // +optional - Optional bool `json:"optional,omitempty"` -} - -// Validate validates this v1 secret env source -func (m *V1SecretEnvSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLocalObjectReference(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecretEnvSource) validateLocalObjectReference(formats strfmt.Registry) error { - if swag.IsZero(m.LocalObjectReference) { // not required - return nil - } - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 secret env source based on the context it is used -func (m *V1SecretEnvSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLocalObjectReference(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecretEnvSource) contextValidateLocalObjectReference(ctx context.Context, formats strfmt.Registry) error { - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1SecretEnvSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1SecretEnvSource) UnmarshalBinary(b []byte) error { - var res V1SecretEnvSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_secret_key_selector.go b/components/common/api/def/clients/config/models/v1_secret_key_selector.go deleted file mode 100644 index 914a5c2..0000000 --- a/components/common/api/def/clients/config/models/v1_secret_key_selector.go +++ /dev/null @@ -1,111 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1SecretKeySelector SecretKeySelector selects a key of a Secret. -// -// swagger:model v1SecretKeySelector -type V1SecretKeySelector struct { - - // The key of the secret to select from. Must be a valid secret key. - Key string `json:"key,omitempty"` - - // The name of the secret in the pod's namespace to select from. - LocalObjectReference *V1LocalObjectReference `json:"localObjectReference,omitempty"` - - // Specify whether the Secret or its key must be defined - // +optional - Optional bool `json:"optional,omitempty"` -} - -// Validate validates this v1 secret key selector -func (m *V1SecretKeySelector) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLocalObjectReference(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecretKeySelector) validateLocalObjectReference(formats strfmt.Registry) error { - if swag.IsZero(m.LocalObjectReference) { // not required - return nil - } - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 secret key selector based on the context it is used -func (m *V1SecretKeySelector) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLocalObjectReference(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecretKeySelector) contextValidateLocalObjectReference(ctx context.Context, formats strfmt.Registry) error { - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1SecretKeySelector) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1SecretKeySelector) UnmarshalBinary(b []byte) error { - var res V1SecretKeySelector - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_secret_projection.go b/components/common/api/def/clients/config/models/v1_secret_projection.go deleted file mode 100644 index 0a5d912..0000000 --- a/components/common/api/def/clients/config/models/v1_secret_projection.go +++ /dev/null @@ -1,178 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1SecretProjection Adapts a secret into a projected volume. -// -// The contents of the target Secret's Data field will be presented in a -// projected volume as files using the keys in the Data field as the file names. -// Note that this is identical to a secret volume source without the default -// mode. -// -// swagger:model v1SecretProjection -type V1SecretProjection struct { - - // If unspecified, each key-value pair in the Data field of the referenced - // Secret will be projected into the volume as a file whose name is the - // key and content is the value. If specified, the listed keys will be - // projected into the specified paths, and unlisted keys will not be - // present. If a key is specified which is not present in the Secret, - // the volume setup will error unless it is marked optional. Paths must be - // relative and may not contain the '..' path or start with '..'. - // +optional - Items []*V1KeyToPath `json:"items"` - - // local object reference - LocalObjectReference *V1LocalObjectReference `json:"localObjectReference,omitempty"` - - // Specify whether the Secret or its key must be defined - // +optional - Optional bool `json:"optional,omitempty"` -} - -// Validate validates this v1 secret projection -func (m *V1SecretProjection) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLocalObjectReference(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecretProjection) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1SecretProjection) validateLocalObjectReference(formats strfmt.Registry) error { - if swag.IsZero(m.LocalObjectReference) { // not required - return nil - } - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 secret projection based on the context it is used -func (m *V1SecretProjection) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLocalObjectReference(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecretProjection) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V1SecretProjection) contextValidateLocalObjectReference(ctx context.Context, formats strfmt.Registry) error { - - if m.LocalObjectReference != nil { - if err := m.LocalObjectReference.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("localObjectReference") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("localObjectReference") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1SecretProjection) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1SecretProjection) UnmarshalBinary(b []byte) error { - var res V1SecretProjection - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_secret_volume_source.go b/components/common/api/def/clients/config/models/v1_secret_volume_source.go deleted file mode 100644 index 17ab0a9..0000000 --- a/components/common/api/def/clients/config/models/v1_secret_volume_source.go +++ /dev/null @@ -1,146 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1SecretVolumeSource Adapts a Secret into a volume. -// -// The contents of the target Secret's Data field will be presented in a volume -// as files using the keys in the Data field as the file names. -// Secret volumes support ownership management and SELinux relabeling. -// -// swagger:model v1SecretVolumeSource -type V1SecretVolumeSource struct { - - // Optional: mode bits used to set permissions on created files by default. - // Must be an octal value between 0000 and 0777 or a decimal value between 0 and 511. - // YAML accepts both octal and decimal values, JSON requires decimal values - // for mode bits. Defaults to 0644. - // Directories within the path are not affected by this setting. - // This might be in conflict with other options that affect the file - // mode, like fsGroup, and the result can be other mode bits set. - // +optional - DefaultMode int32 `json:"defaultMode,omitempty"` - - // If unspecified, each key-value pair in the Data field of the referenced - // Secret will be projected into the volume as a file whose name is the - // key and content is the value. If specified, the listed keys will be - // projected into the specified paths, and unlisted keys will not be - // present. If a key is specified which is not present in the Secret, - // the volume setup will error unless it is marked optional. Paths must be - // relative and may not contain the '..' path or start with '..'. - // +optional - Items []*V1KeyToPath `json:"items"` - - // Specify whether the Secret or its keys must be defined - // +optional - Optional bool `json:"optional,omitempty"` - - // Name of the secret in the pod's namespace to use. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#secret - // +optional - SecretName string `json:"secretName,omitempty"` -} - -// Validate validates this v1 secret volume source -func (m *V1SecretVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecretVolumeSource) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v1 secret volume source based on the context it is used -func (m *V1SecretVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecretVolumeSource) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1SecretVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1SecretVolumeSource) UnmarshalBinary(b []byte) error { - var res V1SecretVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_security_context.go b/components/common/api/def/clients/config/models/v1_security_context.go deleted file mode 100644 index ee2bd45..0000000 --- a/components/common/api/def/clients/config/models/v1_security_context.go +++ /dev/null @@ -1,306 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1SecurityContext SecurityContext holds security configuration that will be applied to a container. -// Some fields are present in both SecurityContext and PodSecurityContext. When both -// are set, the values in SecurityContext take precedence. -// -// swagger:model v1SecurityContext -type V1SecurityContext struct { - - // AllowPrivilegeEscalation controls whether a process can gain more - // privileges than its parent process. This bool directly controls if - // the no_new_privs flag will be set on the container process. - // AllowPrivilegeEscalation is true always when the container is: - // 1) run as Privileged - // 2) has CAP_SYS_ADMIN - // +optional - AllowPrivilegeEscalation bool `json:"allowPrivilegeEscalation,omitempty"` - - // The capabilities to add/drop when running containers. - // Defaults to the default set of capabilities granted by the container runtime. - // +optional - Capabilities *V1Capabilities `json:"capabilities,omitempty"` - - // Run container in privileged mode. - // Processes in privileged containers are essentially equivalent to root on the host. - // Defaults to false. - // +optional - Privileged bool `json:"privileged,omitempty"` - - // procMount denotes the type of proc mount to use for the containers. - // The default is DefaultProcMount which uses the container runtime defaults for - // readonly paths and masked paths. - // This requires the ProcMountType feature flag to be enabled. - // +optional - ProcMount string `json:"procMount,omitempty"` - - // Whether this container has a read-only root filesystem. - // Default is false. - // +optional - ReadOnlyRootFilesystem bool `json:"readOnlyRootFilesystem,omitempty"` - - // The GID to run the entrypoint of the container process. - // Uses runtime default if unset. - // May also be set in PodSecurityContext. If set in both SecurityContext and - // PodSecurityContext, the value specified in SecurityContext takes precedence. - // +optional - RunAsGroup string `json:"runAsGroup,omitempty"` - - // Indicates that the container must run as a non-root user. - // If true, the Kubelet will validate the image at runtime to ensure that it - // does not run as UID 0 (root) and fail to start the container if it does. - // If unset or false, no such validation will be performed. - // May also be set in PodSecurityContext. If set in both SecurityContext and - // PodSecurityContext, the value specified in SecurityContext takes precedence. - // +optional - RunAsNonRoot bool `json:"runAsNonRoot,omitempty"` - - // The UID to run the entrypoint of the container process. - // Defaults to user specified in image metadata if unspecified. - // May also be set in PodSecurityContext. If set in both SecurityContext and - // PodSecurityContext, the value specified in SecurityContext takes precedence. - // +optional - RunAsUser string `json:"runAsUser,omitempty"` - - // The SELinux context to be applied to the container. - // If unspecified, the container runtime will allocate a random SELinux context for each - // container. May also be set in PodSecurityContext. If set in both SecurityContext and - // PodSecurityContext, the value specified in SecurityContext takes precedence. - // +optional - SeLinuxOptions *V1SELinuxOptions `json:"seLinuxOptions,omitempty"` - - // The seccomp options to use by this container. If seccomp options are - // provided at both the pod & container level, the container options - // override the pod options. - // +optional - SeccompProfile *V1SeccompProfile `json:"seccompProfile,omitempty"` - - // The Windows specific settings applied to all containers. - // If unspecified, the options from the PodSecurityContext will be used. - // If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence. - // +optional - WindowsOptions *V1WindowsSecurityContextOptions `json:"windowsOptions,omitempty"` -} - -// Validate validates this v1 security context -func (m *V1SecurityContext) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateCapabilities(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSeLinuxOptions(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSeccompProfile(formats); err != nil { - res = append(res, err) - } - - if err := m.validateWindowsOptions(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecurityContext) validateCapabilities(formats strfmt.Registry) error { - if swag.IsZero(m.Capabilities) { // not required - return nil - } - - if m.Capabilities != nil { - if err := m.Capabilities.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("capabilities") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("capabilities") - } - return err - } - } - - return nil -} - -func (m *V1SecurityContext) validateSeLinuxOptions(formats strfmt.Registry) error { - if swag.IsZero(m.SeLinuxOptions) { // not required - return nil - } - - if m.SeLinuxOptions != nil { - if err := m.SeLinuxOptions.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("seLinuxOptions") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("seLinuxOptions") - } - return err - } - } - - return nil -} - -func (m *V1SecurityContext) validateSeccompProfile(formats strfmt.Registry) error { - if swag.IsZero(m.SeccompProfile) { // not required - return nil - } - - if m.SeccompProfile != nil { - if err := m.SeccompProfile.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("seccompProfile") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("seccompProfile") - } - return err - } - } - - return nil -} - -func (m *V1SecurityContext) validateWindowsOptions(formats strfmt.Registry) error { - if swag.IsZero(m.WindowsOptions) { // not required - return nil - } - - if m.WindowsOptions != nil { - if err := m.WindowsOptions.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("windowsOptions") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("windowsOptions") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 security context based on the context it is used -func (m *V1SecurityContext) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateCapabilities(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSeLinuxOptions(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSeccompProfile(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateWindowsOptions(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1SecurityContext) contextValidateCapabilities(ctx context.Context, formats strfmt.Registry) error { - - if m.Capabilities != nil { - if err := m.Capabilities.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("capabilities") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("capabilities") - } - return err - } - } - - return nil -} - -func (m *V1SecurityContext) contextValidateSeLinuxOptions(ctx context.Context, formats strfmt.Registry) error { - - if m.SeLinuxOptions != nil { - if err := m.SeLinuxOptions.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("seLinuxOptions") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("seLinuxOptions") - } - return err - } - } - - return nil -} - -func (m *V1SecurityContext) contextValidateSeccompProfile(ctx context.Context, formats strfmt.Registry) error { - - if m.SeccompProfile != nil { - if err := m.SeccompProfile.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("seccompProfile") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("seccompProfile") - } - return err - } - } - - return nil -} - -func (m *V1SecurityContext) contextValidateWindowsOptions(ctx context.Context, formats strfmt.Registry) error { - - if m.WindowsOptions != nil { - if err := m.WindowsOptions.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("windowsOptions") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("windowsOptions") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1SecurityContext) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1SecurityContext) UnmarshalBinary(b []byte) error { - var res V1SecurityContext - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_service_account_token_projection.go b/components/common/api/def/clients/config/models/v1_service_account_token_projection.go deleted file mode 100644 index b1c34e6..0000000 --- a/components/common/api/def/clients/config/models/v1_service_account_token_projection.go +++ /dev/null @@ -1,70 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1ServiceAccountTokenProjection ServiceAccountTokenProjection represents a projected service account token -// volume. This projection can be used to insert a service account token into -// the pods runtime filesystem for use against APIs (Kubernetes API Server or -// otherwise). -// -// swagger:model v1ServiceAccountTokenProjection -type V1ServiceAccountTokenProjection struct { - - // Audience is the intended audience of the token. A recipient of a token - // must identify itself with an identifier specified in the audience of the - // token, and otherwise should reject the token. The audience defaults to the - // identifier of the apiserver. - // +optional - Audience string `json:"audience,omitempty"` - - // ExpirationSeconds is the requested duration of validity of the service - // account token. As the token approaches expiration, the kubelet volume - // plugin will proactively rotate the service account token. The kubelet will - // start trying to rotate the token if the token is older than 80 percent of - // its time to live or if the token is older than 24 hours.Defaults to 1 hour - // and must be at least 10 minutes. - // +optional - ExpirationSeconds string `json:"expirationSeconds,omitempty"` - - // Path is the path relative to the mount point of the file to project the - // token into. - Path string `json:"path,omitempty"` -} - -// Validate validates this v1 service account token projection -func (m *V1ServiceAccountTokenProjection) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 service account token projection based on context it is used -func (m *V1ServiceAccountTokenProjection) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1ServiceAccountTokenProjection) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1ServiceAccountTokenProjection) UnmarshalBinary(b []byte) error { - var res V1ServiceAccountTokenProjection - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_storage_o_s_volume_source.go b/components/common/api/def/clients/config/models/v1_storage_o_s_volume_source.go deleted file mode 100644 index 089330d..0000000 --- a/components/common/api/def/clients/config/models/v1_storage_o_s_volume_source.go +++ /dev/null @@ -1,130 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1StorageOSVolumeSource Represents a StorageOS persistent volume resource. -// -// swagger:model v1StorageOSVolumeSource -type V1StorageOSVolumeSource struct { - - // Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // +optional - FsType string `json:"fsType,omitempty"` - - // Defaults to false (read/write). ReadOnly here will force - // the ReadOnly setting in VolumeMounts. - // +optional - ReadOnly bool `json:"readOnly,omitempty"` - - // SecretRef specifies the secret to use for obtaining the StorageOS API - // credentials. If not specified, default values will be attempted. - // +optional - SecretRef *V1LocalObjectReference `json:"secretRef,omitempty"` - - // VolumeName is the human-readable name of the StorageOS volume. Volume - // names are only unique within a namespace. - VolumeName string `json:"volumeName,omitempty"` - - // VolumeNamespace specifies the scope of the volume within StorageOS. If no - // namespace is specified then the Pod's namespace will be used. This allows the - // Kubernetes name scoping to be mirrored within StorageOS for tighter integration. - // Set VolumeName to any name to override the default behaviour. - // Set to "default" if you are not using namespaces within StorageOS. - // Namespaces that do not pre-exist within StorageOS will be created. - // +optional - VolumeNamespace string `json:"volumeNamespace,omitempty"` -} - -// Validate validates this v1 storage o s volume source -func (m *V1StorageOSVolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateSecretRef(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1StorageOSVolumeSource) validateSecretRef(formats strfmt.Registry) error { - if swag.IsZero(m.SecretRef) { // not required - return nil - } - - if m.SecretRef != nil { - if err := m.SecretRef.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 storage o s volume source based on the context it is used -func (m *V1StorageOSVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateSecretRef(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1StorageOSVolumeSource) contextValidateSecretRef(ctx context.Context, formats strfmt.Registry) error { - - if m.SecretRef != nil { - if err := m.SecretRef.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secretRef") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secretRef") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1StorageOSVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1StorageOSVolumeSource) UnmarshalBinary(b []byte) error { - var res V1StorageOSVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_sysctl.go b/components/common/api/def/clients/config/models/v1_sysctl.go deleted file mode 100644 index e8c446f..0000000 --- a/components/common/api/def/clients/config/models/v1_sysctl.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Sysctl Sysctl defines a kernel parameter to be set -// -// swagger:model v1Sysctl -type V1Sysctl struct { - - // Name of a property to set - Name string `json:"name,omitempty"` - - // Value of a property to set - Value string `json:"value,omitempty"` -} - -// Validate validates this v1 sysctl -func (m *V1Sysctl) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 sysctl based on context it is used -func (m *V1Sysctl) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1Sysctl) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Sysctl) UnmarshalBinary(b []byte) error { - var res V1Sysctl - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_tcp_socket_action.go b/components/common/api/def/clients/config/models/v1_tcp_socket_action.go deleted file mode 100644 index 38cc8c1..0000000 --- a/components/common/api/def/clients/config/models/v1_tcp_socket_action.go +++ /dev/null @@ -1,110 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1TCPSocketAction TCPSocketAction describes an action based on opening a socket -// -// swagger:model v1TCPSocketAction -type V1TCPSocketAction struct { - - // Optional: Host name to connect to, defaults to the pod IP. - // +optional - Host string `json:"host,omitempty"` - - // Number or name of the port to access on the container. - // Number must be in the range 1 to 65535. - // Name must be an IANA_SVC_NAME. - Port *IntstrIntOrString `json:"port,omitempty"` -} - -// Validate validates this v1 TCP socket action -func (m *V1TCPSocketAction) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validatePort(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1TCPSocketAction) validatePort(formats strfmt.Registry) error { - if swag.IsZero(m.Port) { // not required - return nil - } - - if m.Port != nil { - if err := m.Port.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("port") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("port") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 TCP socket action based on the context it is used -func (m *V1TCPSocketAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidatePort(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1TCPSocketAction) contextValidatePort(ctx context.Context, formats strfmt.Registry) error { - - if m.Port != nil { - if err := m.Port.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("port") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("port") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1TCPSocketAction) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1TCPSocketAction) UnmarshalBinary(b []byte) error { - var res V1TCPSocketAction - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_toleration.go b/components/common/api/def/clients/config/models/v1_toleration.go deleted file mode 100644 index 8c45809..0000000 --- a/components/common/api/def/clients/config/models/v1_toleration.go +++ /dev/null @@ -1,77 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Toleration The pod this Toleration is attached to tolerates any taint that matches -// the triple using the matching operator . -// -// swagger:model v1Toleration -type V1Toleration struct { - - // Effect indicates the taint effect to match. Empty means match all taint effects. - // When specified, allowed values are NoSchedule, PreferNoSchedule and NoExecute. - // +optional - Effect string `json:"effect,omitempty"` - - // Key is the taint key that the toleration applies to. Empty means match all taint keys. - // If the key is empty, operator must be Exists; this combination means to match all values and all keys. - // +optional - Key string `json:"key,omitempty"` - - // Operator represents a key's relationship to the value. - // Valid operators are Exists and Equal. Defaults to Equal. - // Exists is equivalent to wildcard for value, so that a pod can - // tolerate all taints of a particular category. - // +optional - Operator string `json:"operator,omitempty"` - - // TolerationSeconds represents the period of time the toleration (which must be - // of effect NoExecute, otherwise this field is ignored) tolerates the taint. By default, - // it is not set, which means tolerate the taint forever (do not evict). Zero and - // negative values will be treated as 0 (evict immediately) by the system. - // +optional - TolerationSeconds string `json:"tolerationSeconds,omitempty"` - - // Value is the taint value the toleration matches to. - // If the operator is Exists, the value should be empty, otherwise just a regular string. - // +optional - Value string `json:"value,omitempty"` -} - -// Validate validates this v1 toleration -func (m *V1Toleration) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 toleration based on context it is used -func (m *V1Toleration) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1Toleration) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Toleration) UnmarshalBinary(b []byte) error { - var res V1Toleration - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_topology_spread_constraint.go b/components/common/api/def/clients/config/models/v1_topology_spread_constraint.go deleted file mode 100644 index 78f05fb..0000000 --- a/components/common/api/def/clients/config/models/v1_topology_spread_constraint.go +++ /dev/null @@ -1,156 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1TopologySpreadConstraint TopologySpreadConstraint specifies how to spread matching pods among the given topology. -// -// swagger:model v1TopologySpreadConstraint -type V1TopologySpreadConstraint struct { - - // LabelSelector is used to find matching pods. - // Pods that match this label selector are counted to determine the number of pods - // in their corresponding topology domain. - // +optional - LabelSelector *V1LabelSelector `json:"labelSelector,omitempty"` - - // MaxSkew describes the degree to which pods may be unevenly distributed. - // When `whenUnsatisfiable=DoNotSchedule`, it is the maximum permitted difference - // between the number of matching pods in the target topology and the global minimum. - // For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same - // labelSelector spread as 1/1/0: - // +-------+-------+-------+ - // | zone1 | zone2 | zone3 | - // +-------+-------+-------+ - // | P | P | | - // +-------+-------+-------+ - // - if MaxSkew is 1, incoming pod can only be scheduled to zone3 to become 1/1/1; - // scheduling it onto zone1(zone2) would make the ActualSkew(2-0) on zone1(zone2) - // violate MaxSkew(1). - // - if MaxSkew is 2, incoming pod can be scheduled onto any zone. - // When `whenUnsatisfiable=ScheduleAnyway`, it is used to give higher precedence - // to topologies that satisfy it. - // It's a required field. Default value is 1 and 0 is not allowed. - MaxSkew int32 `json:"maxSkew,omitempty"` - - // TopologyKey is the key of node labels. Nodes that have a label with this key - // and identical values are considered to be in the same topology. - // We consider each as a "bucket", and try to put balanced number - // of pods into each bucket. - // It's a required field. - TopologyKey string `json:"topologyKey,omitempty"` - - // WhenUnsatisfiable indicates how to deal with a pod if it doesn't satisfy - // the spread constraint. - // - DoNotSchedule (default) tells the scheduler not to schedule it. - // - ScheduleAnyway tells the scheduler to schedule the pod in any location, - // but giving higher precedence to topologies that would help reduce the - // skew. - // A constraint is considered "Unsatisfiable" for an incoming pod - // if and only if every possible node assigment for that pod would violate - // "MaxSkew" on some topology. - // For example, in a 3-zone cluster, MaxSkew is set to 1, and pods with the same - // labelSelector spread as 3/1/1: - // +-------+-------+-------+ - // | zone1 | zone2 | zone3 | - // +-------+-------+-------+ - // | P P P | P | P | - // +-------+-------+-------+ - // If WhenUnsatisfiable is set to DoNotSchedule, incoming pod can only be scheduled - // to zone2(zone3) to become 3/2/1(3/1/2) as ActualSkew(2-1) on zone2(zone3) satisfies - // MaxSkew(1). In other words, the cluster can still be imbalanced, but scheduler - // won't make it *more* imbalanced. - // It's a required field. - WhenUnsatisfiable string `json:"whenUnsatisfiable,omitempty"` -} - -// Validate validates this v1 topology spread constraint -func (m *V1TopologySpreadConstraint) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLabelSelector(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1TopologySpreadConstraint) validateLabelSelector(formats strfmt.Registry) error { - if swag.IsZero(m.LabelSelector) { // not required - return nil - } - - if m.LabelSelector != nil { - if err := m.LabelSelector.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("labelSelector") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("labelSelector") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 topology spread constraint based on the context it is used -func (m *V1TopologySpreadConstraint) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLabelSelector(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1TopologySpreadConstraint) contextValidateLabelSelector(ctx context.Context, formats strfmt.Registry) error { - - if m.LabelSelector != nil { - if err := m.LabelSelector.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("labelSelector") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("labelSelector") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1TopologySpreadConstraint) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1TopologySpreadConstraint) UnmarshalBinary(b []byte) error { - var res V1TopologySpreadConstraint - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_typed_local_object_reference.go b/components/common/api/def/clients/config/models/v1_typed_local_object_reference.go deleted file mode 100644 index c672dec..0000000 --- a/components/common/api/def/clients/config/models/v1_typed_local_object_reference.go +++ /dev/null @@ -1,60 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1TypedLocalObjectReference TypedLocalObjectReference contains enough information to let you locate the -// typed referenced object inside the same namespace. -// -// swagger:model v1TypedLocalObjectReference -type V1TypedLocalObjectReference struct { - - // APIGroup is the group for the resource being referenced. - // If APIGroup is not specified, the specified Kind must be in the core API group. - // For any other third-party types, APIGroup is required. - // +optional - APIGroup string `json:"apiGroup,omitempty"` - - // Kind is the type of resource being referenced - Kind string `json:"kind,omitempty"` - - // Name is the name of resource being referenced - Name string `json:"name,omitempty"` -} - -// Validate validates this v1 typed local object reference -func (m *V1TypedLocalObjectReference) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 typed local object reference based on context it is used -func (m *V1TypedLocalObjectReference) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1TypedLocalObjectReference) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1TypedLocalObjectReference) UnmarshalBinary(b []byte) error { - var res V1TypedLocalObjectReference - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_volume.go b/components/common/api/def/clients/config/models/v1_volume.go deleted file mode 100644 index 15c9947..0000000 --- a/components/common/api/def/clients/config/models/v1_volume.go +++ /dev/null @@ -1,111 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Volume Volume represents a named volume in a pod that may be accessed by any container in the pod. -// -// swagger:model v1Volume -type V1Volume struct { - - // Volume's name. - // Must be a DNS_LABEL and unique within the pod. - // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names - Name string `json:"name,omitempty"` - - // VolumeSource represents the location and type of the mounted volume. - // If not specified, the Volume is implied to be an EmptyDir. - // This implied behavior is deprecated and will be removed in a future version. - VolumeSource *V1VolumeSource `json:"volumeSource,omitempty"` -} - -// Validate validates this v1 volume -func (m *V1Volume) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateVolumeSource(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Volume) validateVolumeSource(formats strfmt.Registry) error { - if swag.IsZero(m.VolumeSource) { // not required - return nil - } - - if m.VolumeSource != nil { - if err := m.VolumeSource.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeSource") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeSource") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 volume based on the context it is used -func (m *V1Volume) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateVolumeSource(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Volume) contextValidateVolumeSource(ctx context.Context, formats strfmt.Registry) error { - - if m.VolumeSource != nil { - if err := m.VolumeSource.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("volumeSource") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("volumeSource") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1Volume) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Volume) UnmarshalBinary(b []byte) error { - var res V1Volume - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_volume_device.go b/components/common/api/def/clients/config/models/v1_volume_device.go deleted file mode 100644 index 0321967..0000000 --- a/components/common/api/def/clients/config/models/v1_volume_device.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1VolumeDevice volumeDevice describes a mapping of a raw block device within a container. -// -// swagger:model v1VolumeDevice -type V1VolumeDevice struct { - - // devicePath is the path inside of the container that the device will be mapped to. - DevicePath string `json:"devicePath,omitempty"` - - // name must match the name of a persistentVolumeClaim in the pod - Name string `json:"name,omitempty"` -} - -// Validate validates this v1 volume device -func (m *V1VolumeDevice) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 volume device based on context it is used -func (m *V1VolumeDevice) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1VolumeDevice) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1VolumeDevice) UnmarshalBinary(b []byte) error { - var res V1VolumeDevice - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_volume_projection.go b/components/common/api/def/clients/config/models/v1_volume_projection.go deleted file mode 100644 index 927b4c6..0000000 --- a/components/common/api/def/clients/config/models/v1_volume_projection.go +++ /dev/null @@ -1,246 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1VolumeProjection Projection that may be projected along with other supported volume types -// -// swagger:model v1VolumeProjection -type V1VolumeProjection struct { - - // information about the configMap data to project - // +optional - ConfigMap *V1ConfigMapProjection `json:"configMap,omitempty"` - - // information about the downwardAPI data to project - // +optional - DownwardAPI *V1DownwardAPIProjection `json:"downwardAPI,omitempty"` - - // information about the secret data to project - // +optional - Secret *V1SecretProjection `json:"secret,omitempty"` - - // information about the serviceAccountToken data to project - // +optional - ServiceAccountToken *V1ServiceAccountTokenProjection `json:"serviceAccountToken,omitempty"` -} - -// Validate validates this v1 volume projection -func (m *V1VolumeProjection) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateConfigMap(formats); err != nil { - res = append(res, err) - } - - if err := m.validateDownwardAPI(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSecret(formats); err != nil { - res = append(res, err) - } - - if err := m.validateServiceAccountToken(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1VolumeProjection) validateConfigMap(formats strfmt.Registry) error { - if swag.IsZero(m.ConfigMap) { // not required - return nil - } - - if m.ConfigMap != nil { - if err := m.ConfigMap.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("configMap") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("configMap") - } - return err - } - } - - return nil -} - -func (m *V1VolumeProjection) validateDownwardAPI(formats strfmt.Registry) error { - if swag.IsZero(m.DownwardAPI) { // not required - return nil - } - - if m.DownwardAPI != nil { - if err := m.DownwardAPI.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("downwardAPI") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("downwardAPI") - } - return err - } - } - - return nil -} - -func (m *V1VolumeProjection) validateSecret(formats strfmt.Registry) error { - if swag.IsZero(m.Secret) { // not required - return nil - } - - if m.Secret != nil { - if err := m.Secret.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secret") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secret") - } - return err - } - } - - return nil -} - -func (m *V1VolumeProjection) validateServiceAccountToken(formats strfmt.Registry) error { - if swag.IsZero(m.ServiceAccountToken) { // not required - return nil - } - - if m.ServiceAccountToken != nil { - if err := m.ServiceAccountToken.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("serviceAccountToken") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("serviceAccountToken") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 volume projection based on the context it is used -func (m *V1VolumeProjection) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateConfigMap(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateDownwardAPI(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSecret(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateServiceAccountToken(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1VolumeProjection) contextValidateConfigMap(ctx context.Context, formats strfmt.Registry) error { - - if m.ConfigMap != nil { - if err := m.ConfigMap.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("configMap") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("configMap") - } - return err - } - } - - return nil -} - -func (m *V1VolumeProjection) contextValidateDownwardAPI(ctx context.Context, formats strfmt.Registry) error { - - if m.DownwardAPI != nil { - if err := m.DownwardAPI.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("downwardAPI") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("downwardAPI") - } - return err - } - } - - return nil -} - -func (m *V1VolumeProjection) contextValidateSecret(ctx context.Context, formats strfmt.Registry) error { - - if m.Secret != nil { - if err := m.Secret.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secret") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secret") - } - return err - } - } - - return nil -} - -func (m *V1VolumeProjection) contextValidateServiceAccountToken(ctx context.Context, formats strfmt.Registry) error { - - if m.ServiceAccountToken != nil { - if err := m.ServiceAccountToken.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("serviceAccountToken") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("serviceAccountToken") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1VolumeProjection) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1VolumeProjection) UnmarshalBinary(b []byte) error { - var res V1VolumeProjection - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_volume_source.go b/components/common/api/def/clients/config/models/v1_volume_source.go deleted file mode 100644 index 3363e4f..0000000 --- a/components/common/api/def/clients/config/models/v1_volume_source.go +++ /dev/null @@ -1,1469 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1VolumeSource Represents the source of a volume to mount. -// Only one of its members may be specified. -// -// swagger:model v1VolumeSource -type V1VolumeSource struct { - - // AWSElasticBlockStore represents an AWS Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#awselasticblockstore - // +optional - AwsElasticBlockStore *V1AWSElasticBlockStoreVolumeSource `json:"awsElasticBlockStore,omitempty"` - - // AzureDisk represents an Azure Data Disk mount on the host and bind mount to the pod. - // +optional - AzureDisk *V1AzureDiskVolumeSource `json:"azureDisk,omitempty"` - - // AzureFile represents an Azure File Service mount on the host and bind mount to the pod. - // +optional - AzureFile *V1AzureFileVolumeSource `json:"azureFile,omitempty"` - - // CephFS represents a Ceph FS mount on the host that shares a pod's lifetime - // +optional - Cephfs *V1CephFSVolumeSource `json:"cephfs,omitempty"` - - // Cinder represents a cinder volume attached and mounted on kubelets host machine. - // More info: https://examples.k8s.io/mysql-cinder-pd/README.md - // +optional - Cinder *V1CinderVolumeSource `json:"cinder,omitempty"` - - // ConfigMap represents a configMap that should populate this volume - // +optional - ConfigMap *V1ConfigMapVolumeSource `json:"configMap,omitempty"` - - // CSI (Container Storage Interface) represents ephemeral storage that is handled by certain external CSI drivers (Beta feature). - // +optional - Csi *V1CSIVolumeSource `json:"csi,omitempty"` - - // DownwardAPI represents downward API about the pod that should populate this volume - // +optional - DownwardAPI *V1DownwardAPIVolumeSource `json:"downwardAPI,omitempty"` - - // EmptyDir represents a temporary directory that shares a pod's lifetime. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#emptydir - // +optional - EmptyDir *V1EmptyDirVolumeSource `json:"emptyDir,omitempty"` - - // Ephemeral represents a volume that is handled by a cluster storage driver (Alpha feature). - // The volume's lifecycle is tied to the pod that defines it - it will be created before the pod starts, - // and deleted when the pod is removed. - // - // Use this if: - // a) the volume is only needed while the pod runs, - // b) features of normal volumes like restoring from snapshot or capacity - // tracking are needed, - // c) the storage driver is specified through a storage class, and - // d) the storage driver supports dynamic volume provisioning through - // a PersistentVolumeClaim (see EphemeralVolumeSource for more - // information on the connection between this volume type - // and PersistentVolumeClaim). - // - // Use PersistentVolumeClaim or one of the vendor-specific - // APIs for volumes that persist for longer than the lifecycle - // of an individual pod. - // - // Use CSI for light-weight local ephemeral volumes if the CSI driver is meant to - // be used that way - see the documentation of the driver for - // more information. - // - // A pod can use both types of ephemeral volumes and - // persistent volumes at the same time. - // - // +optional - Ephemeral *V1EphemeralVolumeSource `json:"ephemeral,omitempty"` - - // FC represents a Fibre Channel resource that is attached to a kubelet's host machine and then exposed to the pod. - // +optional - Fc *V1FCVolumeSource `json:"fc,omitempty"` - - // FlexVolume represents a generic volume resource that is - // provisioned/attached using an exec based plugin. - // +optional - FlexVolume *V1FlexVolumeSource `json:"flexVolume,omitempty"` - - // Flocker represents a Flocker volume attached to a kubelet's host machine. This depends on the Flocker control service being running - // +optional - Flocker *V1FlockerVolumeSource `json:"flocker,omitempty"` - - // GCEPersistentDisk represents a GCE Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#gcepersistentdisk - // +optional - GcePersistentDisk *V1GCEPersistentDiskVolumeSource `json:"gcePersistentDisk,omitempty"` - - // GitRepo represents a git repository at a particular revision. - // DEPRECATED: GitRepo is deprecated. To provision a container with a git repo, mount an - // EmptyDir into an InitContainer that clones the repo using git, then mount the EmptyDir - // into the Pod's container. - // +optional - GitRepo *V1GitRepoVolumeSource `json:"gitRepo,omitempty"` - - // Glusterfs represents a Glusterfs mount on the host that shares a pod's lifetime. - // More info: https://examples.k8s.io/volumes/glusterfs/README.md - // +optional - Glusterfs *V1GlusterfsVolumeSource `json:"glusterfs,omitempty"` - - // HostPath represents a pre-existing file or directory on the host - // machine that is directly exposed to the container. This is generally - // used for system agents or other privileged things that are allowed - // to see the host machine. Most containers will NOT need this. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#hostpath - // --- - // TODO(jonesdl) We need to restrict who can use host directory mounts and who can/can not - // mount host directories as read/write. - // +optional - HostPath *V1HostPathVolumeSource `json:"hostPath,omitempty"` - - // ISCSI represents an ISCSI Disk resource that is attached to a - // kubelet's host machine and then exposed to the pod. - // More info: https://examples.k8s.io/volumes/iscsi/README.md - // +optional - Iscsi *V1ISCSIVolumeSource `json:"iscsi,omitempty"` - - // NFS represents an NFS mount on the host that shares a pod's lifetime - // More info: https://kubernetes.io/docs/concepts/storage/volumes#nfs - // +optional - Nfs *V1NFSVolumeSource `json:"nfs,omitempty"` - - // PersistentVolumeClaimVolumeSource represents a reference to a - // PersistentVolumeClaim in the same namespace. - // More info: https://kubernetes.io/docs/concepts/storage/persistent-volumes#persistentvolumeclaims - // +optional - PersistentVolumeClaim *V1PersistentVolumeClaimVolumeSource `json:"persistentVolumeClaim,omitempty"` - - // PhotonPersistentDisk represents a PhotonController persistent disk attached and mounted on kubelets host machine - PhotonPersistentDisk *V1PhotonPersistentDiskVolumeSource `json:"photonPersistentDisk,omitempty"` - - // PortworxVolume represents a portworx volume attached and mounted on kubelets host machine - // +optional - PortworxVolume *V1PortworxVolumeSource `json:"portworxVolume,omitempty"` - - // Items for all in one resources secrets, configmaps, and downward API - Projected *V1ProjectedVolumeSource `json:"projected,omitempty"` - - // Quobyte represents a Quobyte mount on the host that shares a pod's lifetime - // +optional - Quobyte *V1QuobyteVolumeSource `json:"quobyte,omitempty"` - - // RBD represents a Rados Block Device mount on the host that shares a pod's lifetime. - // More info: https://examples.k8s.io/volumes/rbd/README.md - // +optional - Rbd *V1RBDVolumeSource `json:"rbd,omitempty"` - - // ScaleIO represents a ScaleIO persistent volume attached and mounted on Kubernetes nodes. - // +optional - ScaleIO *V1ScaleIOVolumeSource `json:"scaleIO,omitempty"` - - // Secret represents a secret that should populate this volume. - // More info: https://kubernetes.io/docs/concepts/storage/volumes#secret - // +optional - Secret *V1SecretVolumeSource `json:"secret,omitempty"` - - // StorageOS represents a StorageOS volume attached and mounted on Kubernetes nodes. - // +optional - Storageos *V1StorageOSVolumeSource `json:"storageos,omitempty"` - - // VsphereVolume represents a vSphere volume attached and mounted on kubelets host machine - // +optional - VsphereVolume *V1VsphereVirtualDiskVolumeSource `json:"vsphereVolume,omitempty"` -} - -// Validate validates this v1 volume source -func (m *V1VolumeSource) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateAwsElasticBlockStore(formats); err != nil { - res = append(res, err) - } - - if err := m.validateAzureDisk(formats); err != nil { - res = append(res, err) - } - - if err := m.validateAzureFile(formats); err != nil { - res = append(res, err) - } - - if err := m.validateCephfs(formats); err != nil { - res = append(res, err) - } - - if err := m.validateCinder(formats); err != nil { - res = append(res, err) - } - - if err := m.validateConfigMap(formats); err != nil { - res = append(res, err) - } - - if err := m.validateCsi(formats); err != nil { - res = append(res, err) - } - - if err := m.validateDownwardAPI(formats); err != nil { - res = append(res, err) - } - - if err := m.validateEmptyDir(formats); err != nil { - res = append(res, err) - } - - if err := m.validateEphemeral(formats); err != nil { - res = append(res, err) - } - - if err := m.validateFc(formats); err != nil { - res = append(res, err) - } - - if err := m.validateFlexVolume(formats); err != nil { - res = append(res, err) - } - - if err := m.validateFlocker(formats); err != nil { - res = append(res, err) - } - - if err := m.validateGcePersistentDisk(formats); err != nil { - res = append(res, err) - } - - if err := m.validateGitRepo(formats); err != nil { - res = append(res, err) - } - - if err := m.validateGlusterfs(formats); err != nil { - res = append(res, err) - } - - if err := m.validateHostPath(formats); err != nil { - res = append(res, err) - } - - if err := m.validateIscsi(formats); err != nil { - res = append(res, err) - } - - if err := m.validateNfs(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePersistentVolumeClaim(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePhotonPersistentDisk(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePortworxVolume(formats); err != nil { - res = append(res, err) - } - - if err := m.validateProjected(formats); err != nil { - res = append(res, err) - } - - if err := m.validateQuobyte(formats); err != nil { - res = append(res, err) - } - - if err := m.validateRbd(formats); err != nil { - res = append(res, err) - } - - if err := m.validateScaleIO(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSecret(formats); err != nil { - res = append(res, err) - } - - if err := m.validateStorageos(formats); err != nil { - res = append(res, err) - } - - if err := m.validateVsphereVolume(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1VolumeSource) validateAwsElasticBlockStore(formats strfmt.Registry) error { - if swag.IsZero(m.AwsElasticBlockStore) { // not required - return nil - } - - if m.AwsElasticBlockStore != nil { - if err := m.AwsElasticBlockStore.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("awsElasticBlockStore") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("awsElasticBlockStore") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateAzureDisk(formats strfmt.Registry) error { - if swag.IsZero(m.AzureDisk) { // not required - return nil - } - - if m.AzureDisk != nil { - if err := m.AzureDisk.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("azureDisk") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("azureDisk") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateAzureFile(formats strfmt.Registry) error { - if swag.IsZero(m.AzureFile) { // not required - return nil - } - - if m.AzureFile != nil { - if err := m.AzureFile.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("azureFile") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("azureFile") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateCephfs(formats strfmt.Registry) error { - if swag.IsZero(m.Cephfs) { // not required - return nil - } - - if m.Cephfs != nil { - if err := m.Cephfs.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("cephfs") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("cephfs") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateCinder(formats strfmt.Registry) error { - if swag.IsZero(m.Cinder) { // not required - return nil - } - - if m.Cinder != nil { - if err := m.Cinder.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("cinder") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("cinder") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateConfigMap(formats strfmt.Registry) error { - if swag.IsZero(m.ConfigMap) { // not required - return nil - } - - if m.ConfigMap != nil { - if err := m.ConfigMap.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("configMap") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("configMap") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateCsi(formats strfmt.Registry) error { - if swag.IsZero(m.Csi) { // not required - return nil - } - - if m.Csi != nil { - if err := m.Csi.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("csi") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("csi") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateDownwardAPI(formats strfmt.Registry) error { - if swag.IsZero(m.DownwardAPI) { // not required - return nil - } - - if m.DownwardAPI != nil { - if err := m.DownwardAPI.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("downwardAPI") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("downwardAPI") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateEmptyDir(formats strfmt.Registry) error { - if swag.IsZero(m.EmptyDir) { // not required - return nil - } - - if m.EmptyDir != nil { - if err := m.EmptyDir.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("emptyDir") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("emptyDir") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateEphemeral(formats strfmt.Registry) error { - if swag.IsZero(m.Ephemeral) { // not required - return nil - } - - if m.Ephemeral != nil { - if err := m.Ephemeral.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ephemeral") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ephemeral") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateFc(formats strfmt.Registry) error { - if swag.IsZero(m.Fc) { // not required - return nil - } - - if m.Fc != nil { - if err := m.Fc.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("fc") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("fc") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateFlexVolume(formats strfmt.Registry) error { - if swag.IsZero(m.FlexVolume) { // not required - return nil - } - - if m.FlexVolume != nil { - if err := m.FlexVolume.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("flexVolume") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("flexVolume") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateFlocker(formats strfmt.Registry) error { - if swag.IsZero(m.Flocker) { // not required - return nil - } - - if m.Flocker != nil { - if err := m.Flocker.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("flocker") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("flocker") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateGcePersistentDisk(formats strfmt.Registry) error { - if swag.IsZero(m.GcePersistentDisk) { // not required - return nil - } - - if m.GcePersistentDisk != nil { - if err := m.GcePersistentDisk.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("gcePersistentDisk") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("gcePersistentDisk") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateGitRepo(formats strfmt.Registry) error { - if swag.IsZero(m.GitRepo) { // not required - return nil - } - - if m.GitRepo != nil { - if err := m.GitRepo.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("gitRepo") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("gitRepo") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateGlusterfs(formats strfmt.Registry) error { - if swag.IsZero(m.Glusterfs) { // not required - return nil - } - - if m.Glusterfs != nil { - if err := m.Glusterfs.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("glusterfs") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("glusterfs") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateHostPath(formats strfmt.Registry) error { - if swag.IsZero(m.HostPath) { // not required - return nil - } - - if m.HostPath != nil { - if err := m.HostPath.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("hostPath") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("hostPath") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateIscsi(formats strfmt.Registry) error { - if swag.IsZero(m.Iscsi) { // not required - return nil - } - - if m.Iscsi != nil { - if err := m.Iscsi.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("iscsi") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("iscsi") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateNfs(formats strfmt.Registry) error { - if swag.IsZero(m.Nfs) { // not required - return nil - } - - if m.Nfs != nil { - if err := m.Nfs.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nfs") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nfs") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validatePersistentVolumeClaim(formats strfmt.Registry) error { - if swag.IsZero(m.PersistentVolumeClaim) { // not required - return nil - } - - if m.PersistentVolumeClaim != nil { - if err := m.PersistentVolumeClaim.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("persistentVolumeClaim") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("persistentVolumeClaim") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validatePhotonPersistentDisk(formats strfmt.Registry) error { - if swag.IsZero(m.PhotonPersistentDisk) { // not required - return nil - } - - if m.PhotonPersistentDisk != nil { - if err := m.PhotonPersistentDisk.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("photonPersistentDisk") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("photonPersistentDisk") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validatePortworxVolume(formats strfmt.Registry) error { - if swag.IsZero(m.PortworxVolume) { // not required - return nil - } - - if m.PortworxVolume != nil { - if err := m.PortworxVolume.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("portworxVolume") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("portworxVolume") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateProjected(formats strfmt.Registry) error { - if swag.IsZero(m.Projected) { // not required - return nil - } - - if m.Projected != nil { - if err := m.Projected.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("projected") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("projected") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateQuobyte(formats strfmt.Registry) error { - if swag.IsZero(m.Quobyte) { // not required - return nil - } - - if m.Quobyte != nil { - if err := m.Quobyte.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("quobyte") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("quobyte") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateRbd(formats strfmt.Registry) error { - if swag.IsZero(m.Rbd) { // not required - return nil - } - - if m.Rbd != nil { - if err := m.Rbd.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("rbd") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("rbd") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateScaleIO(formats strfmt.Registry) error { - if swag.IsZero(m.ScaleIO) { // not required - return nil - } - - if m.ScaleIO != nil { - if err := m.ScaleIO.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("scaleIO") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("scaleIO") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateSecret(formats strfmt.Registry) error { - if swag.IsZero(m.Secret) { // not required - return nil - } - - if m.Secret != nil { - if err := m.Secret.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secret") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secret") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateStorageos(formats strfmt.Registry) error { - if swag.IsZero(m.Storageos) { // not required - return nil - } - - if m.Storageos != nil { - if err := m.Storageos.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("storageos") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("storageos") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) validateVsphereVolume(formats strfmt.Registry) error { - if swag.IsZero(m.VsphereVolume) { // not required - return nil - } - - if m.VsphereVolume != nil { - if err := m.VsphereVolume.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("vsphereVolume") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("vsphereVolume") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 volume source based on the context it is used -func (m *V1VolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAwsElasticBlockStore(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateAzureDisk(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateAzureFile(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateCephfs(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateCinder(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateConfigMap(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateCsi(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateDownwardAPI(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateEmptyDir(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateEphemeral(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateFc(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateFlexVolume(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateFlocker(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateGcePersistentDisk(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateGitRepo(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateGlusterfs(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateHostPath(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateIscsi(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateNfs(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePersistentVolumeClaim(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePhotonPersistentDisk(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePortworxVolume(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateProjected(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateQuobyte(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateRbd(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateScaleIO(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSecret(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateStorageos(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateVsphereVolume(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1VolumeSource) contextValidateAwsElasticBlockStore(ctx context.Context, formats strfmt.Registry) error { - - if m.AwsElasticBlockStore != nil { - if err := m.AwsElasticBlockStore.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("awsElasticBlockStore") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("awsElasticBlockStore") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateAzureDisk(ctx context.Context, formats strfmt.Registry) error { - - if m.AzureDisk != nil { - if err := m.AzureDisk.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("azureDisk") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("azureDisk") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateAzureFile(ctx context.Context, formats strfmt.Registry) error { - - if m.AzureFile != nil { - if err := m.AzureFile.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("azureFile") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("azureFile") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateCephfs(ctx context.Context, formats strfmt.Registry) error { - - if m.Cephfs != nil { - if err := m.Cephfs.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("cephfs") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("cephfs") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateCinder(ctx context.Context, formats strfmt.Registry) error { - - if m.Cinder != nil { - if err := m.Cinder.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("cinder") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("cinder") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateConfigMap(ctx context.Context, formats strfmt.Registry) error { - - if m.ConfigMap != nil { - if err := m.ConfigMap.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("configMap") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("configMap") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateCsi(ctx context.Context, formats strfmt.Registry) error { - - if m.Csi != nil { - if err := m.Csi.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("csi") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("csi") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateDownwardAPI(ctx context.Context, formats strfmt.Registry) error { - - if m.DownwardAPI != nil { - if err := m.DownwardAPI.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("downwardAPI") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("downwardAPI") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateEmptyDir(ctx context.Context, formats strfmt.Registry) error { - - if m.EmptyDir != nil { - if err := m.EmptyDir.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("emptyDir") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("emptyDir") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateEphemeral(ctx context.Context, formats strfmt.Registry) error { - - if m.Ephemeral != nil { - if err := m.Ephemeral.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ephemeral") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ephemeral") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateFc(ctx context.Context, formats strfmt.Registry) error { - - if m.Fc != nil { - if err := m.Fc.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("fc") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("fc") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateFlexVolume(ctx context.Context, formats strfmt.Registry) error { - - if m.FlexVolume != nil { - if err := m.FlexVolume.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("flexVolume") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("flexVolume") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateFlocker(ctx context.Context, formats strfmt.Registry) error { - - if m.Flocker != nil { - if err := m.Flocker.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("flocker") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("flocker") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateGcePersistentDisk(ctx context.Context, formats strfmt.Registry) error { - - if m.GcePersistentDisk != nil { - if err := m.GcePersistentDisk.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("gcePersistentDisk") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("gcePersistentDisk") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateGitRepo(ctx context.Context, formats strfmt.Registry) error { - - if m.GitRepo != nil { - if err := m.GitRepo.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("gitRepo") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("gitRepo") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateGlusterfs(ctx context.Context, formats strfmt.Registry) error { - - if m.Glusterfs != nil { - if err := m.Glusterfs.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("glusterfs") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("glusterfs") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateHostPath(ctx context.Context, formats strfmt.Registry) error { - - if m.HostPath != nil { - if err := m.HostPath.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("hostPath") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("hostPath") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateIscsi(ctx context.Context, formats strfmt.Registry) error { - - if m.Iscsi != nil { - if err := m.Iscsi.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("iscsi") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("iscsi") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateNfs(ctx context.Context, formats strfmt.Registry) error { - - if m.Nfs != nil { - if err := m.Nfs.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nfs") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nfs") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidatePersistentVolumeClaim(ctx context.Context, formats strfmt.Registry) error { - - if m.PersistentVolumeClaim != nil { - if err := m.PersistentVolumeClaim.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("persistentVolumeClaim") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("persistentVolumeClaim") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidatePhotonPersistentDisk(ctx context.Context, formats strfmt.Registry) error { - - if m.PhotonPersistentDisk != nil { - if err := m.PhotonPersistentDisk.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("photonPersistentDisk") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("photonPersistentDisk") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidatePortworxVolume(ctx context.Context, formats strfmt.Registry) error { - - if m.PortworxVolume != nil { - if err := m.PortworxVolume.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("portworxVolume") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("portworxVolume") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateProjected(ctx context.Context, formats strfmt.Registry) error { - - if m.Projected != nil { - if err := m.Projected.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("projected") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("projected") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateQuobyte(ctx context.Context, formats strfmt.Registry) error { - - if m.Quobyte != nil { - if err := m.Quobyte.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("quobyte") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("quobyte") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateRbd(ctx context.Context, formats strfmt.Registry) error { - - if m.Rbd != nil { - if err := m.Rbd.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("rbd") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("rbd") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateScaleIO(ctx context.Context, formats strfmt.Registry) error { - - if m.ScaleIO != nil { - if err := m.ScaleIO.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("scaleIO") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("scaleIO") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateSecret(ctx context.Context, formats strfmt.Registry) error { - - if m.Secret != nil { - if err := m.Secret.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("secret") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("secret") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateStorageos(ctx context.Context, formats strfmt.Registry) error { - - if m.Storageos != nil { - if err := m.Storageos.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("storageos") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("storageos") - } - return err - } - } - - return nil -} - -func (m *V1VolumeSource) contextValidateVsphereVolume(ctx context.Context, formats strfmt.Registry) error { - - if m.VsphereVolume != nil { - if err := m.VsphereVolume.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("vsphereVolume") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("vsphereVolume") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1VolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1VolumeSource) UnmarshalBinary(b []byte) error { - var res V1VolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_vsphere_virtual_disk_volume_source.go b/components/common/api/def/clients/config/models/v1_vsphere_virtual_disk_volume_source.go deleted file mode 100644 index 609f3ab..0000000 --- a/components/common/api/def/clients/config/models/v1_vsphere_virtual_disk_volume_source.go +++ /dev/null @@ -1,64 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1VsphereVirtualDiskVolumeSource Represents a vSphere volume resource. -// -// swagger:model v1VsphereVirtualDiskVolumeSource -type V1VsphereVirtualDiskVolumeSource struct { - - // Filesystem type to mount. - // Must be a filesystem type supported by the host operating system. - // Ex. "ext4", "xfs", "ntfs". Implicitly inferred to be "ext4" if unspecified. - // +optional - FsType string `json:"fsType,omitempty"` - - // Storage Policy Based Management (SPBM) profile ID associated with the StoragePolicyName. - // +optional - StoragePolicyID string `json:"storagePolicyID,omitempty"` - - // Storage Policy Based Management (SPBM) profile name. - // +optional - StoragePolicyName string `json:"storagePolicyName,omitempty"` - - // Path that identifies vSphere volume vmdk - VolumePath string `json:"volumePath,omitempty"` -} - -// Validate validates this v1 vsphere virtual disk volume source -func (m *V1VsphereVirtualDiskVolumeSource) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 vsphere virtual disk volume source based on context it is used -func (m *V1VsphereVirtualDiskVolumeSource) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1VsphereVirtualDiskVolumeSource) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1VsphereVirtualDiskVolumeSource) UnmarshalBinary(b []byte) error { - var res V1VsphereVirtualDiskVolumeSource - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_weighted_pod_affinity_term.go b/components/common/api/def/clients/config/models/v1_weighted_pod_affinity_term.go deleted file mode 100644 index fcc9a17..0000000 --- a/components/common/api/def/clients/config/models/v1_weighted_pod_affinity_term.go +++ /dev/null @@ -1,108 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1WeightedPodAffinityTerm The weights of all of the matched WeightedPodAffinityTerm fields are added per-node to find the most preferred node(s) -// -// swagger:model v1WeightedPodAffinityTerm -type V1WeightedPodAffinityTerm struct { - - // Required. A pod affinity term, associated with the corresponding weight. - PodAffinityTerm *V1PodAffinityTerm `json:"podAffinityTerm,omitempty"` - - // weight associated with matching the corresponding podAffinityTerm, - // in the range 1-100. - Weight int32 `json:"weight,omitempty"` -} - -// Validate validates this v1 weighted pod affinity term -func (m *V1WeightedPodAffinityTerm) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validatePodAffinityTerm(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1WeightedPodAffinityTerm) validatePodAffinityTerm(formats strfmt.Registry) error { - if swag.IsZero(m.PodAffinityTerm) { // not required - return nil - } - - if m.PodAffinityTerm != nil { - if err := m.PodAffinityTerm.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("podAffinityTerm") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("podAffinityTerm") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 weighted pod affinity term based on the context it is used -func (m *V1WeightedPodAffinityTerm) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidatePodAffinityTerm(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1WeightedPodAffinityTerm) contextValidatePodAffinityTerm(ctx context.Context, formats strfmt.Registry) error { - - if m.PodAffinityTerm != nil { - if err := m.PodAffinityTerm.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("podAffinityTerm") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("podAffinityTerm") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1WeightedPodAffinityTerm) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1WeightedPodAffinityTerm) UnmarshalBinary(b []byte) error { - var res V1WeightedPodAffinityTerm - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1_windows_security_context_options.go b/components/common/api/def/clients/config/models/v1_windows_security_context_options.go deleted file mode 100644 index adb9b93..0000000 --- a/components/common/api/def/clients/config/models/v1_windows_security_context_options.go +++ /dev/null @@ -1,64 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1WindowsSecurityContextOptions WindowsSecurityContextOptions contain Windows-specific options and credentials. -// -// swagger:model v1WindowsSecurityContextOptions -type V1WindowsSecurityContextOptions struct { - - // GMSACredentialSpec is where the GMSA admission webhook - // (https://github.com/kubernetes-sigs/windows-gmsa) inlines the contents of the - // GMSA credential spec named by the GMSACredentialSpecName field. - // +optional - GmsaCredentialSpec string `json:"gmsaCredentialSpec,omitempty"` - - // GMSACredentialSpecName is the name of the GMSA credential spec to use. - // +optional - GmsaCredentialSpecName string `json:"gmsaCredentialSpecName,omitempty"` - - // The UserName in Windows to run the entrypoint of the container process. - // Defaults to the user specified in image metadata if unspecified. - // May also be set in PodSecurityContext. If set in both SecurityContext and - // PodSecurityContext, the value specified in SecurityContext takes precedence. - // +optional - RunAsUserName string `json:"runAsUserName,omitempty"` -} - -// Validate validates this v1 windows security context options -func (m *V1WindowsSecurityContextOptions) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 windows security context options based on context it is used -func (m *V1WindowsSecurityContextOptions) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1WindowsSecurityContextOptions) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1WindowsSecurityContextOptions) UnmarshalBinary(b []byte) error { - var res V1WindowsSecurityContextOptions - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v1beta1_job_template_spec.go b/components/common/api/def/clients/config/models/v1beta1_job_template_spec.go deleted file mode 100644 index 96b2d8c..0000000 --- a/components/common/api/def/clients/config/models/v1beta1_job_template_spec.go +++ /dev/null @@ -1,154 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1beta1JobTemplateSpec JobTemplateSpec describes the data a Job should have when created from a template -// -// swagger:model v1beta1JobTemplateSpec -type V1beta1JobTemplateSpec struct { - - // Standard object's metadata of the jobs created from this template. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata - // +optional - Metadata *V1ObjectMeta `json:"metadata,omitempty"` - - // Specification of the desired behavior of the job. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status - // +optional - Spec *V1JobSpec `json:"spec,omitempty"` -} - -// Validate validates this v1beta1 job template spec -func (m *V1beta1JobTemplateSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSpec(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1beta1JobTemplateSpec) validateMetadata(formats strfmt.Registry) error { - if swag.IsZero(m.Metadata) { // not required - return nil - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V1beta1JobTemplateSpec) validateSpec(formats strfmt.Registry) error { - if swag.IsZero(m.Spec) { // not required - return nil - } - - if m.Spec != nil { - if err := m.Spec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1beta1 job template spec based on the context it is used -func (m *V1beta1JobTemplateSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSpec(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1beta1JobTemplateSpec) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V1beta1JobTemplateSpec) contextValidateSpec(ctx context.Context, formats strfmt.Registry) error { - - if m.Spec != nil { - if err := m.Spec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1beta1JobTemplateSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1beta1JobTemplateSpec) UnmarshalBinary(b []byte) error { - var res V1beta1JobTemplateSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/config/models/v3_condition_status.go b/components/common/api/def/clients/config/models/v3_condition_status.go deleted file mode 100644 index ad93d27..0000000 --- a/components/common/api/def/clients/config/models/v3_condition_status.go +++ /dev/null @@ -1,85 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// V3ConditionStatus $title: ConditionStatus -// $description: status of a condition for a resource -// -// swagger:model v3ConditionStatus -type V3ConditionStatus string - -func NewV3ConditionStatus(value V3ConditionStatus) *V3ConditionStatus { - return &value -} - -// Pointer returns a pointer to a freshly-allocated V3ConditionStatus. -func (m V3ConditionStatus) Pointer() *V3ConditionStatus { - return &m -} - -const ( - - // V3ConditionStatusStatusNotSet captures enum value "StatusNotSet" - V3ConditionStatusStatusNotSet V3ConditionStatus = "StatusNotSet" - - // V3ConditionStatusStatusSubmitted captures enum value "StatusSubmitted" - V3ConditionStatusStatusSubmitted V3ConditionStatus = "StatusSubmitted" - - // V3ConditionStatusStatusOK captures enum value "StatusOK" - V3ConditionStatusStatusOK V3ConditionStatus = "StatusOK" - - // V3ConditionStatusStatusFailed captures enum value "StatusFailed" - V3ConditionStatusStatusFailed V3ConditionStatus = "StatusFailed" -) - -// for schema -var v3ConditionStatusEnum []interface{} - -func init() { - var res []V3ConditionStatus - if err := json.Unmarshal([]byte(`["StatusNotSet","StatusSubmitted","StatusOK","StatusFailed"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - v3ConditionStatusEnum = append(v3ConditionStatusEnum, v) - } -} - -func (m V3ConditionStatus) validateV3ConditionStatusEnum(path, location string, value V3ConditionStatus) error { - if err := validate.EnumCase(path, location, value, v3ConditionStatusEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this v3 condition status -func (m V3ConditionStatus) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateV3ConditionStatusEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this v3 condition status based on context it is used -func (m V3ConditionStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_client.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_client.go deleted file mode 100644 index 7da85e9..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_client.go +++ /dev/null @@ -1,321 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" -) - -// New creates a new cluster API client. -func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService { - return &Client{transport: transport, formats: formats} -} - -/* -Client for cluster API -*/ -type Client struct { - transport runtime.ClientTransport - formats strfmt.Registry -} - -// ClientOption is the option for Client methods -type ClientOption func(*runtime.ClientOperation) - -// ClientService is the interface for Client methods -type ClientService interface { - ClusterCreateCluster(params *ClusterCreateClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterCreateClusterOK, *ClusterCreateClusterCreated, error) - - ClusterDeleteCluster(params *ClusterDeleteClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterDeleteClusterOK, *ClusterDeleteClusterNoContent, error) - - ClusterDownloadCluster(params *ClusterDownloadClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterDownloadClusterOK, error) - - ClusterGetCluster(params *ClusterGetClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterGetClusterOK, error) - - ClusterGetClusters(params *ClusterGetClustersParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterGetClustersOK, error) - - ClusterRegisterCluster(params *ClusterRegisterClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterRegisterClusterOK, error) - - ClusterUpdateCluster(params *ClusterUpdateClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterUpdateClusterOK, error) - - SetTransport(transport runtime.ClientTransport) -} - -/* - ClusterCreateCluster cluster create cluster API -*/ -func (a *Client) ClusterCreateCluster(params *ClusterCreateClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterCreateClusterOK, *ClusterCreateClusterCreated, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewClusterCreateClusterParams() - } - op := &runtime.ClientOperation{ - ID: "Cluster_CreateCluster", - Method: "POST", - PathPattern: "/infra/v3/project/{metadata.project}/cluster", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &ClusterCreateClusterReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, nil, err - } - switch value := result.(type) { - case *ClusterCreateClusterOK: - return value, nil, nil - case *ClusterCreateClusterCreated: - return nil, value, nil - } - // unexpected success response - unexpectedSuccess := result.(*ClusterCreateClusterDefault) - return nil, nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - ClusterDeleteCluster cluster delete cluster API -*/ -func (a *Client) ClusterDeleteCluster(params *ClusterDeleteClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterDeleteClusterOK, *ClusterDeleteClusterNoContent, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewClusterDeleteClusterParams() - } - op := &runtime.ClientOperation{ - ID: "Cluster_DeleteCluster", - Method: "DELETE", - PathPattern: "/infra/v3/project/{metadata.project}/cluster/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &ClusterDeleteClusterReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, nil, err - } - switch value := result.(type) { - case *ClusterDeleteClusterOK: - return value, nil, nil - case *ClusterDeleteClusterNoContent: - return nil, value, nil - } - // unexpected success response - unexpectedSuccess := result.(*ClusterDeleteClusterDefault) - return nil, nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - ClusterDownloadCluster cluster download cluster API -*/ -func (a *Client) ClusterDownloadCluster(params *ClusterDownloadClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterDownloadClusterOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewClusterDownloadClusterParams() - } - op := &runtime.ClientOperation{ - ID: "Cluster_DownloadCluster", - Method: "GET", - PathPattern: "/infra/v3/project/{metadata.project}/cluster/{metadata.name}/download", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &ClusterDownloadClusterReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*ClusterDownloadClusterOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*ClusterDownloadClusterDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - ClusterGetCluster cluster get cluster API -*/ -func (a *Client) ClusterGetCluster(params *ClusterGetClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterGetClusterOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewClusterGetClusterParams() - } - op := &runtime.ClientOperation{ - ID: "Cluster_GetCluster", - Method: "GET", - PathPattern: "/infra/v3/project/{metadata.project}/cluster/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &ClusterGetClusterReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*ClusterGetClusterOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*ClusterGetClusterDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - ClusterGetClusters cluster get clusters API -*/ -func (a *Client) ClusterGetClusters(params *ClusterGetClustersParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterGetClustersOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewClusterGetClustersParams() - } - op := &runtime.ClientOperation{ - ID: "Cluster_GetClusters", - Method: "GET", - PathPattern: "/infra/v3/project/{projectID}/cluster", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &ClusterGetClustersReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*ClusterGetClustersOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*ClusterGetClustersDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - ClusterRegisterCluster cluster register cluster API -*/ -func (a *Client) ClusterRegisterCluster(params *ClusterRegisterClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterRegisterClusterOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewClusterRegisterClusterParams() - } - op := &runtime.ClientOperation{ - ID: "Cluster_RegisterCluster", - Method: "POST", - PathPattern: "/infra/v3/scheduler/cluster/register", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &ClusterRegisterClusterReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*ClusterRegisterClusterOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*ClusterRegisterClusterDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -/* - ClusterUpdateCluster cluster update cluster API -*/ -func (a *Client) ClusterUpdateCluster(params *ClusterUpdateClusterParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ClusterUpdateClusterOK, error) { - // TODO: Validate the params before sending - if params == nil { - params = NewClusterUpdateClusterParams() - } - op := &runtime.ClientOperation{ - ID: "Cluster_UpdateCluster", - Method: "PUT", - PathPattern: "/infra/v3/project/{metadata.project}/cluster/{metadata.name}", - ProducesMediaTypes: []string{"application/json", "application/yaml"}, - ConsumesMediaTypes: []string{"application/json", "application/yaml"}, - Schemes: []string{"https"}, - Params: params, - Reader: &ClusterUpdateClusterReader{formats: a.formats}, - AuthInfo: authInfo, - Context: params.Context, - Client: params.HTTPClient, - } - for _, opt := range opts { - opt(op) - } - - result, err := a.transport.Submit(op) - if err != nil { - return nil, err - } - success, ok := result.(*ClusterUpdateClusterOK) - if ok { - return success, nil - } - // unexpected success response - unexpectedSuccess := result.(*ClusterUpdateClusterDefault) - return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) -} - -// SetTransport changes the transport on the client -func (a *Client) SetTransport(transport runtime.ClientTransport) { - a.transport = transport -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_create_cluster_parameters.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_create_cluster_parameters.go deleted file mode 100644 index cae97fa..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_create_cluster_parameters.go +++ /dev/null @@ -1,170 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// NewClusterCreateClusterParams creates a new ClusterCreateClusterParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewClusterCreateClusterParams() *ClusterCreateClusterParams { - return &ClusterCreateClusterParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewClusterCreateClusterParamsWithTimeout creates a new ClusterCreateClusterParams object -// with the ability to set a timeout on a request. -func NewClusterCreateClusterParamsWithTimeout(timeout time.Duration) *ClusterCreateClusterParams { - return &ClusterCreateClusterParams{ - timeout: timeout, - } -} - -// NewClusterCreateClusterParamsWithContext creates a new ClusterCreateClusterParams object -// with the ability to set a context for a request. -func NewClusterCreateClusterParamsWithContext(ctx context.Context) *ClusterCreateClusterParams { - return &ClusterCreateClusterParams{ - Context: ctx, - } -} - -// NewClusterCreateClusterParamsWithHTTPClient creates a new ClusterCreateClusterParams object -// with the ability to set a custom HTTPClient for a request. -func NewClusterCreateClusterParamsWithHTTPClient(client *http.Client) *ClusterCreateClusterParams { - return &ClusterCreateClusterParams{ - HTTPClient: client, - } -} - -/* ClusterCreateClusterParams contains all the parameters to send to the API endpoint - for the cluster create cluster operation. - - Typically these are written to a http.Request. -*/ -type ClusterCreateClusterParams struct { - - // Body. - Body *models.V3Cluster - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the cluster create cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterCreateClusterParams) WithDefaults() *ClusterCreateClusterParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the cluster create cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterCreateClusterParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the cluster create cluster params -func (o *ClusterCreateClusterParams) WithTimeout(timeout time.Duration) *ClusterCreateClusterParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the cluster create cluster params -func (o *ClusterCreateClusterParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the cluster create cluster params -func (o *ClusterCreateClusterParams) WithContext(ctx context.Context) *ClusterCreateClusterParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the cluster create cluster params -func (o *ClusterCreateClusterParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the cluster create cluster params -func (o *ClusterCreateClusterParams) WithHTTPClient(client *http.Client) *ClusterCreateClusterParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the cluster create cluster params -func (o *ClusterCreateClusterParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the cluster create cluster params -func (o *ClusterCreateClusterParams) WithBody(body *models.V3Cluster) *ClusterCreateClusterParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the cluster create cluster params -func (o *ClusterCreateClusterParams) SetBody(body *models.V3Cluster) { - o.Body = body -} - -// WithMetadataProject adds the metadataProject to the cluster create cluster params -func (o *ClusterCreateClusterParams) WithMetadataProject(metadataProject string) *ClusterCreateClusterParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the cluster create cluster params -func (o *ClusterCreateClusterParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WriteToRequest writes these params to a swagger request -func (o *ClusterCreateClusterParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_create_cluster_responses.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_create_cluster_responses.go deleted file mode 100644 index 07e0402..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_create_cluster_responses.go +++ /dev/null @@ -1,223 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// ClusterCreateClusterReader is a Reader for the ClusterCreateCluster structure. -type ClusterCreateClusterReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *ClusterCreateClusterReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewClusterCreateClusterOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 201: - result := NewClusterCreateClusterCreated() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewClusterCreateClusterForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewClusterCreateClusterNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewClusterCreateClusterDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewClusterCreateClusterOK creates a ClusterCreateClusterOK with default headers values -func NewClusterCreateClusterOK() *ClusterCreateClusterOK { - return &ClusterCreateClusterOK{} -} - -/* ClusterCreateClusterOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type ClusterCreateClusterOK struct { - Payload *models.V3Cluster -} - -func (o *ClusterCreateClusterOK) Error() string { - return fmt.Sprintf("[POST /infra/v3/project/{metadata.project}/cluster][%d] clusterCreateClusterOK %+v", 200, o.Payload) -} -func (o *ClusterCreateClusterOK) GetPayload() *models.V3Cluster { - return o.Payload -} - -func (o *ClusterCreateClusterOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.V3Cluster) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterCreateClusterCreated creates a ClusterCreateClusterCreated with default headers values -func NewClusterCreateClusterCreated() *ClusterCreateClusterCreated { - return &ClusterCreateClusterCreated{} -} - -/* ClusterCreateClusterCreated describes a response with status code 201, with default header values. - -Returned when edge is created successfully. -*/ -type ClusterCreateClusterCreated struct { - Payload interface{} -} - -func (o *ClusterCreateClusterCreated) Error() string { - return fmt.Sprintf("[POST /infra/v3/project/{metadata.project}/cluster][%d] clusterCreateClusterCreated %+v", 201, o.Payload) -} -func (o *ClusterCreateClusterCreated) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterCreateClusterCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterCreateClusterForbidden creates a ClusterCreateClusterForbidden with default headers values -func NewClusterCreateClusterForbidden() *ClusterCreateClusterForbidden { - return &ClusterCreateClusterForbidden{} -} - -/* ClusterCreateClusterForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type ClusterCreateClusterForbidden struct { - Payload interface{} -} - -func (o *ClusterCreateClusterForbidden) Error() string { - return fmt.Sprintf("[POST /infra/v3/project/{metadata.project}/cluster][%d] clusterCreateClusterForbidden %+v", 403, o.Payload) -} -func (o *ClusterCreateClusterForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterCreateClusterForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterCreateClusterNotFound creates a ClusterCreateClusterNotFound with default headers values -func NewClusterCreateClusterNotFound() *ClusterCreateClusterNotFound { - return &ClusterCreateClusterNotFound{} -} - -/* ClusterCreateClusterNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type ClusterCreateClusterNotFound struct { - Payload string -} - -func (o *ClusterCreateClusterNotFound) Error() string { - return fmt.Sprintf("[POST /infra/v3/project/{metadata.project}/cluster][%d] clusterCreateClusterNotFound %+v", 404, o.Payload) -} -func (o *ClusterCreateClusterNotFound) GetPayload() string { - return o.Payload -} - -func (o *ClusterCreateClusterNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterCreateClusterDefault creates a ClusterCreateClusterDefault with default headers values -func NewClusterCreateClusterDefault(code int) *ClusterCreateClusterDefault { - return &ClusterCreateClusterDefault{ - _statusCode: code, - } -} - -/* ClusterCreateClusterDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type ClusterCreateClusterDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the cluster create cluster default response -func (o *ClusterCreateClusterDefault) Code() int { - return o._statusCode -} - -func (o *ClusterCreateClusterDefault) Error() string { - return fmt.Sprintf("[POST /infra/v3/project/{metadata.project}/cluster][%d] Cluster_CreateCluster default %+v", o._statusCode, o.Payload) -} -func (o *ClusterCreateClusterDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *ClusterCreateClusterDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_delete_cluster_parameters.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_delete_cluster_parameters.go deleted file mode 100644 index b0b60b0..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_delete_cluster_parameters.go +++ /dev/null @@ -1,1914 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewClusterDeleteClusterParams creates a new ClusterDeleteClusterParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewClusterDeleteClusterParams() *ClusterDeleteClusterParams { - return &ClusterDeleteClusterParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewClusterDeleteClusterParamsWithTimeout creates a new ClusterDeleteClusterParams object -// with the ability to set a timeout on a request. -func NewClusterDeleteClusterParamsWithTimeout(timeout time.Duration) *ClusterDeleteClusterParams { - return &ClusterDeleteClusterParams{ - timeout: timeout, - } -} - -// NewClusterDeleteClusterParamsWithContext creates a new ClusterDeleteClusterParams object -// with the ability to set a context for a request. -func NewClusterDeleteClusterParamsWithContext(ctx context.Context) *ClusterDeleteClusterParams { - return &ClusterDeleteClusterParams{ - Context: ctx, - } -} - -// NewClusterDeleteClusterParamsWithHTTPClient creates a new ClusterDeleteClusterParams object -// with the ability to set a custom HTTPClient for a request. -func NewClusterDeleteClusterParamsWithHTTPClient(client *http.Client) *ClusterDeleteClusterParams { - return &ClusterDeleteClusterParams{ - HTTPClient: client, - } -} - -/* ClusterDeleteClusterParams contains all the parameters to send to the API endpoint - for the cluster delete cluster operation. - - Typically these are written to a http.Request. -*/ -type ClusterDeleteClusterParams struct { - - /* APIVersion. - - API Version. API Version of the resource - - Default: "infra.k8smgmt.io/v3" - */ - APIVersion *string - - /* Kind. - - Kind. Kind of the resource - - Default: "Cluster" - */ - Kind *string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - /* SpecClusterDataArecord. - - DNS A Record. Entry for DNS A Record - */ - SpecClusterDataArecord *string - - /* SpecClusterDataClusterBlueprint. - - ClusterBlueprint. Cluster Blueprint - */ - SpecClusterDataClusterBlueprint *string - - /* SpecClusterDataClusterStatusAuxiliaryTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusAuxiliaryTaskCount *string - - /* SpecClusterDataClusterStatusCustomTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusCustomTaskCount *string - - /* SpecClusterDataClusterStatusPublishedBlueprint. - - Cluster Information. Override selector of the cluster - */ - SpecClusterDataClusterStatusPublishedBlueprint *string - - /* SpecClusterDataClusterStatusSystemTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusSystemTaskCount *string - - /* SpecClusterDataClusterStatusToken. - - Cluster Information. Override selector of the cluster - */ - SpecClusterDataClusterStatusToken *string - - /* SpecClusterDataCname. - - CNAME. cname of the cluster - */ - SpecClusterDataCname *string - - /* SpecClusterDataDisplayName. - - Display Name. Display Name - */ - SpecClusterDataDisplayName *string - - /* SpecClusterDataHealth. - - Health. Health - - Default: "EDGE_IGNORE" - */ - SpecClusterDataHealth *string - - /* SpecClusterDataManufacturer. - - Manufacturer. Manufacturer - */ - SpecClusterDataManufacturer *string - - /* SpecClusterDataPassphrase. - - Passphrase. passphrase of the cluster - */ - SpecClusterDataPassphrase *string - - /* SpecClusterDataProvider. - - Provider. Provider - */ - SpecClusterDataProvider *string - - /* SpecClusterType. - - Cluster Type. Type of the cluster being created - - Default: "Imported" - */ - SpecClusterType *string - - /* SpecMetroCity. - - City. City of the location - */ - SpecMetroCity *string - - /* SpecMetroCountry. - - Country. country of the location - */ - SpecMetroCountry *string - - /* SpecMetroCountryCode. - - CountryCode. CountryCode of the location - */ - SpecMetroCountryCode *string - - /* SpecMetroID. - - ID of Location. ID Location of the cluster - */ - SpecMetroID *string - - /* SpecMetroLatitude. - - Latitude. Latitude of the location - */ - SpecMetroLatitude *string - - /* SpecMetroLocale. - - Locale. locale of the location - */ - SpecMetroLocale *string - - /* SpecMetroLongitude. - - Longitude. Longitude of the location - */ - SpecMetroLongitude *string - - /* SpecMetroName. - - Location. Location of the cluster - */ - SpecMetroName *string - - /* SpecMetroState. - - State. State of the location - */ - SpecMetroState *string - - /* SpecMetroStateCode. - - StateCode. StateCode of the location - */ - SpecMetroStateCode *string - - /* SpecOverrideSelector. - - Override Selector. Override selector of the cluster - */ - SpecOverrideSelector *string - - /* SpecParamsEnvironmentProvider. - - EnvironmentProvider. environment provider of the cluster - */ - SpecParamsEnvironmentProvider *string - - /* SpecParamsKubernetesProvider. - - KubernetesProvider. kubernetes provider - */ - SpecParamsKubernetesProvider *string - - /* SpecParamsProvisionEnvironment. - - ProvisionEnvironment. provision environment - */ - SpecParamsProvisionEnvironment *string - - /* SpecParamsProvisionPackageType. - - ProvisionPackageType. provision package type - */ - SpecParamsProvisionPackageType *string - - /* SpecParamsProvisionType. - - ProvisionType. provision type - */ - SpecParamsProvisionType *string - - /* SpecParamsState. - - State. state - */ - SpecParamsState *string - - /* SpecProxyConfigAllowInsecureBootstrap. - - AllowInsecureBootstrap. Allow insecure bootstrap - */ - SpecProxyConfigAllowInsecureBootstrap *bool - - /* SpecProxyConfigBootstrapCA. - - BootstrapCA. Certificate Authority of bootstrap server - */ - SpecProxyConfigBootstrapCA *string - - /* SpecProxyConfigEnabled. - - Enabled. enabled - */ - SpecProxyConfigEnabled *bool - - /* SpecProxyConfigHTTPProxy. - - HttpProxy. http proxy - */ - SpecProxyConfigHTTPProxy *string - - /* SpecProxyConfigHTTPSProxy. - - HttpsProxy. https proxy - */ - SpecProxyConfigHTTPSProxy *string - - /* SpecProxyConfigNoProxy. - - noproxy. noproxy - */ - SpecProxyConfigNoProxy *string - - /* SpecProxyConfigProxyAuth. - - ProxyAuth. proxy auth - */ - SpecProxyConfigProxyAuth *string - - /* SpecShareMode. - - Override Selector. Override selector of the cluster - - Default: "ClusterShareModeNotSet" - */ - SpecShareMode *string - - /* StatusConditionStatus. - - Condition Status. status of the condition - - Default: "StatusNotSet" - */ - StatusConditionStatus *string - - /* StatusConditionType. - - Condition Type. type of the status condition - */ - StatusConditionType *string - - /* StatusLastUpdated. - - Last Updated. when the condition status is last updated - - Format: date-time - */ - StatusLastUpdated *strfmt.DateTime - - /* StatusReason. - - Reason. reason of the last condition status - */ - StatusReason *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the cluster delete cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterDeleteClusterParams) WithDefaults() *ClusterDeleteClusterParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the cluster delete cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterDeleteClusterParams) SetDefaults() { - var ( - aPIVersionDefault = string("infra.k8smgmt.io/v3") - - kindDefault = string("Cluster") - - specClusterDataHealthDefault = string("EDGE_IGNORE") - - specClusterTypeDefault = string("Imported") - - specShareModeDefault = string("ClusterShareModeNotSet") - - statusConditionStatusDefault = string("StatusNotSet") - ) - - val := ClusterDeleteClusterParams{ - APIVersion: &aPIVersionDefault, - Kind: &kindDefault, - SpecClusterDataHealth: &specClusterDataHealthDefault, - SpecClusterType: &specClusterTypeDefault, - SpecShareMode: &specShareModeDefault, - StatusConditionStatus: &statusConditionStatusDefault, - } - - val.timeout = o.timeout - val.Context = o.Context - val.HTTPClient = o.HTTPClient - *o = val -} - -// WithTimeout adds the timeout to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithTimeout(timeout time.Duration) *ClusterDeleteClusterParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithContext(ctx context.Context) *ClusterDeleteClusterParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithHTTPClient(client *http.Client) *ClusterDeleteClusterParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithAPIVersion adds the aPIVersion to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithAPIVersion(aPIVersion *string) *ClusterDeleteClusterParams { - o.SetAPIVersion(aPIVersion) - return o -} - -// SetAPIVersion adds the apiVersion to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetAPIVersion(aPIVersion *string) { - o.APIVersion = aPIVersion -} - -// WithKind adds the kind to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithKind(kind *string) *ClusterDeleteClusterParams { - o.SetKind(kind) - return o -} - -// SetKind adds the kind to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetKind(kind *string) { - o.Kind = kind -} - -// WithMetadataDescription adds the metadataDescription to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithMetadataDescription(metadataDescription *string) *ClusterDeleteClusterParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithMetadataID(metadataID *string) *ClusterDeleteClusterParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *ClusterDeleteClusterParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithMetadataName(metadataName string) *ClusterDeleteClusterParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithMetadataOrganization(metadataOrganization *string) *ClusterDeleteClusterParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithMetadataPartner(metadataPartner *string) *ClusterDeleteClusterParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithMetadataProject(metadataProject string) *ClusterDeleteClusterParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WithSpecClusterDataArecord adds the specClusterDataArecord to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataArecord(specClusterDataArecord *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataArecord(specClusterDataArecord) - return o -} - -// SetSpecClusterDataArecord adds the specClusterDataArecord to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataArecord(specClusterDataArecord *string) { - o.SpecClusterDataArecord = specClusterDataArecord -} - -// WithSpecClusterDataClusterBlueprint adds the specClusterDataClusterBlueprint to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint) - return o -} - -// SetSpecClusterDataClusterBlueprint adds the specClusterDataClusterBlueprint to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint *string) { - o.SpecClusterDataClusterBlueprint = specClusterDataClusterBlueprint -} - -// WithSpecClusterDataClusterStatusAuxiliaryTaskCount adds the specClusterDataClusterStatusAuxiliaryTaskCount to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusAuxiliaryTaskCount adds the specClusterDataClusterStatusAuxiliaryTaskCount to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount *string) { - o.SpecClusterDataClusterStatusAuxiliaryTaskCount = specClusterDataClusterStatusAuxiliaryTaskCount -} - -// WithSpecClusterDataClusterStatusCustomTaskCount adds the specClusterDataClusterStatusCustomTaskCount to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusCustomTaskCount adds the specClusterDataClusterStatusCustomTaskCount to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount *string) { - o.SpecClusterDataClusterStatusCustomTaskCount = specClusterDataClusterStatusCustomTaskCount -} - -// WithSpecClusterDataClusterStatusPublishedBlueprint adds the specClusterDataClusterStatusPublishedBlueprint to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint) - return o -} - -// SetSpecClusterDataClusterStatusPublishedBlueprint adds the specClusterDataClusterStatusPublishedBlueprint to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint *string) { - o.SpecClusterDataClusterStatusPublishedBlueprint = specClusterDataClusterStatusPublishedBlueprint -} - -// WithSpecClusterDataClusterStatusSystemTaskCount adds the specClusterDataClusterStatusSystemTaskCount to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusSystemTaskCount adds the specClusterDataClusterStatusSystemTaskCount to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount *string) { - o.SpecClusterDataClusterStatusSystemTaskCount = specClusterDataClusterStatusSystemTaskCount -} - -// WithSpecClusterDataClusterStatusToken adds the specClusterDataClusterStatusToken to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken) - return o -} - -// SetSpecClusterDataClusterStatusToken adds the specClusterDataClusterStatusToken to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken *string) { - o.SpecClusterDataClusterStatusToken = specClusterDataClusterStatusToken -} - -// WithSpecClusterDataCname adds the specClusterDataCname to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataCname(specClusterDataCname *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataCname(specClusterDataCname) - return o -} - -// SetSpecClusterDataCname adds the specClusterDataCname to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataCname(specClusterDataCname *string) { - o.SpecClusterDataCname = specClusterDataCname -} - -// WithSpecClusterDataDisplayName adds the specClusterDataDisplayName to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataDisplayName(specClusterDataDisplayName *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataDisplayName(specClusterDataDisplayName) - return o -} - -// SetSpecClusterDataDisplayName adds the specClusterDataDisplayName to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataDisplayName(specClusterDataDisplayName *string) { - o.SpecClusterDataDisplayName = specClusterDataDisplayName -} - -// WithSpecClusterDataHealth adds the specClusterDataHealth to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataHealth(specClusterDataHealth *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataHealth(specClusterDataHealth) - return o -} - -// SetSpecClusterDataHealth adds the specClusterDataHealth to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataHealth(specClusterDataHealth *string) { - o.SpecClusterDataHealth = specClusterDataHealth -} - -// WithSpecClusterDataManufacturer adds the specClusterDataManufacturer to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataManufacturer(specClusterDataManufacturer *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataManufacturer(specClusterDataManufacturer) - return o -} - -// SetSpecClusterDataManufacturer adds the specClusterDataManufacturer to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataManufacturer(specClusterDataManufacturer *string) { - o.SpecClusterDataManufacturer = specClusterDataManufacturer -} - -// WithSpecClusterDataPassphrase adds the specClusterDataPassphrase to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataPassphrase(specClusterDataPassphrase *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataPassphrase(specClusterDataPassphrase) - return o -} - -// SetSpecClusterDataPassphrase adds the specClusterDataPassphrase to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataPassphrase(specClusterDataPassphrase *string) { - o.SpecClusterDataPassphrase = specClusterDataPassphrase -} - -// WithSpecClusterDataProvider adds the specClusterDataProvider to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterDataProvider(specClusterDataProvider *string) *ClusterDeleteClusterParams { - o.SetSpecClusterDataProvider(specClusterDataProvider) - return o -} - -// SetSpecClusterDataProvider adds the specClusterDataProvider to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterDataProvider(specClusterDataProvider *string) { - o.SpecClusterDataProvider = specClusterDataProvider -} - -// WithSpecClusterType adds the specClusterType to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecClusterType(specClusterType *string) *ClusterDeleteClusterParams { - o.SetSpecClusterType(specClusterType) - return o -} - -// SetSpecClusterType adds the specClusterType to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecClusterType(specClusterType *string) { - o.SpecClusterType = specClusterType -} - -// WithSpecMetroCity adds the specMetroCity to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroCity(specMetroCity *string) *ClusterDeleteClusterParams { - o.SetSpecMetroCity(specMetroCity) - return o -} - -// SetSpecMetroCity adds the specMetroCity to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroCity(specMetroCity *string) { - o.SpecMetroCity = specMetroCity -} - -// WithSpecMetroCountry adds the specMetroCountry to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroCountry(specMetroCountry *string) *ClusterDeleteClusterParams { - o.SetSpecMetroCountry(specMetroCountry) - return o -} - -// SetSpecMetroCountry adds the specMetroCountry to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroCountry(specMetroCountry *string) { - o.SpecMetroCountry = specMetroCountry -} - -// WithSpecMetroCountryCode adds the specMetroCountryCode to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroCountryCode(specMetroCountryCode *string) *ClusterDeleteClusterParams { - o.SetSpecMetroCountryCode(specMetroCountryCode) - return o -} - -// SetSpecMetroCountryCode adds the specMetroCountryCode to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroCountryCode(specMetroCountryCode *string) { - o.SpecMetroCountryCode = specMetroCountryCode -} - -// WithSpecMetroID adds the specMetroID to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroID(specMetroID *string) *ClusterDeleteClusterParams { - o.SetSpecMetroID(specMetroID) - return o -} - -// SetSpecMetroID adds the specMetroId to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroID(specMetroID *string) { - o.SpecMetroID = specMetroID -} - -// WithSpecMetroLatitude adds the specMetroLatitude to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroLatitude(specMetroLatitude *string) *ClusterDeleteClusterParams { - o.SetSpecMetroLatitude(specMetroLatitude) - return o -} - -// SetSpecMetroLatitude adds the specMetroLatitude to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroLatitude(specMetroLatitude *string) { - o.SpecMetroLatitude = specMetroLatitude -} - -// WithSpecMetroLocale adds the specMetroLocale to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroLocale(specMetroLocale *string) *ClusterDeleteClusterParams { - o.SetSpecMetroLocale(specMetroLocale) - return o -} - -// SetSpecMetroLocale adds the specMetroLocale to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroLocale(specMetroLocale *string) { - o.SpecMetroLocale = specMetroLocale -} - -// WithSpecMetroLongitude adds the specMetroLongitude to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroLongitude(specMetroLongitude *string) *ClusterDeleteClusterParams { - o.SetSpecMetroLongitude(specMetroLongitude) - return o -} - -// SetSpecMetroLongitude adds the specMetroLongitude to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroLongitude(specMetroLongitude *string) { - o.SpecMetroLongitude = specMetroLongitude -} - -// WithSpecMetroName adds the specMetroName to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroName(specMetroName *string) *ClusterDeleteClusterParams { - o.SetSpecMetroName(specMetroName) - return o -} - -// SetSpecMetroName adds the specMetroName to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroName(specMetroName *string) { - o.SpecMetroName = specMetroName -} - -// WithSpecMetroState adds the specMetroState to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroState(specMetroState *string) *ClusterDeleteClusterParams { - o.SetSpecMetroState(specMetroState) - return o -} - -// SetSpecMetroState adds the specMetroState to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroState(specMetroState *string) { - o.SpecMetroState = specMetroState -} - -// WithSpecMetroStateCode adds the specMetroStateCode to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecMetroStateCode(specMetroStateCode *string) *ClusterDeleteClusterParams { - o.SetSpecMetroStateCode(specMetroStateCode) - return o -} - -// SetSpecMetroStateCode adds the specMetroStateCode to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecMetroStateCode(specMetroStateCode *string) { - o.SpecMetroStateCode = specMetroStateCode -} - -// WithSpecOverrideSelector adds the specOverrideSelector to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecOverrideSelector(specOverrideSelector *string) *ClusterDeleteClusterParams { - o.SetSpecOverrideSelector(specOverrideSelector) - return o -} - -// SetSpecOverrideSelector adds the specOverrideSelector to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecOverrideSelector(specOverrideSelector *string) { - o.SpecOverrideSelector = specOverrideSelector -} - -// WithSpecParamsEnvironmentProvider adds the specParamsEnvironmentProvider to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecParamsEnvironmentProvider(specParamsEnvironmentProvider *string) *ClusterDeleteClusterParams { - o.SetSpecParamsEnvironmentProvider(specParamsEnvironmentProvider) - return o -} - -// SetSpecParamsEnvironmentProvider adds the specParamsEnvironmentProvider to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecParamsEnvironmentProvider(specParamsEnvironmentProvider *string) { - o.SpecParamsEnvironmentProvider = specParamsEnvironmentProvider -} - -// WithSpecParamsKubernetesProvider adds the specParamsKubernetesProvider to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecParamsKubernetesProvider(specParamsKubernetesProvider *string) *ClusterDeleteClusterParams { - o.SetSpecParamsKubernetesProvider(specParamsKubernetesProvider) - return o -} - -// SetSpecParamsKubernetesProvider adds the specParamsKubernetesProvider to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecParamsKubernetesProvider(specParamsKubernetesProvider *string) { - o.SpecParamsKubernetesProvider = specParamsKubernetesProvider -} - -// WithSpecParamsProvisionEnvironment adds the specParamsProvisionEnvironment to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecParamsProvisionEnvironment(specParamsProvisionEnvironment *string) *ClusterDeleteClusterParams { - o.SetSpecParamsProvisionEnvironment(specParamsProvisionEnvironment) - return o -} - -// SetSpecParamsProvisionEnvironment adds the specParamsProvisionEnvironment to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecParamsProvisionEnvironment(specParamsProvisionEnvironment *string) { - o.SpecParamsProvisionEnvironment = specParamsProvisionEnvironment -} - -// WithSpecParamsProvisionPackageType adds the specParamsProvisionPackageType to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecParamsProvisionPackageType(specParamsProvisionPackageType *string) *ClusterDeleteClusterParams { - o.SetSpecParamsProvisionPackageType(specParamsProvisionPackageType) - return o -} - -// SetSpecParamsProvisionPackageType adds the specParamsProvisionPackageType to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecParamsProvisionPackageType(specParamsProvisionPackageType *string) { - o.SpecParamsProvisionPackageType = specParamsProvisionPackageType -} - -// WithSpecParamsProvisionType adds the specParamsProvisionType to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecParamsProvisionType(specParamsProvisionType *string) *ClusterDeleteClusterParams { - o.SetSpecParamsProvisionType(specParamsProvisionType) - return o -} - -// SetSpecParamsProvisionType adds the specParamsProvisionType to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecParamsProvisionType(specParamsProvisionType *string) { - o.SpecParamsProvisionType = specParamsProvisionType -} - -// WithSpecParamsState adds the specParamsState to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecParamsState(specParamsState *string) *ClusterDeleteClusterParams { - o.SetSpecParamsState(specParamsState) - return o -} - -// SetSpecParamsState adds the specParamsState to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecParamsState(specParamsState *string) { - o.SpecParamsState = specParamsState -} - -// WithSpecProxyConfigAllowInsecureBootstrap adds the specProxyConfigAllowInsecureBootstrap to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap *bool) *ClusterDeleteClusterParams { - o.SetSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap) - return o -} - -// SetSpecProxyConfigAllowInsecureBootstrap adds the specProxyConfigAllowInsecureBootstrap to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap *bool) { - o.SpecProxyConfigAllowInsecureBootstrap = specProxyConfigAllowInsecureBootstrap -} - -// WithSpecProxyConfigBootstrapCA adds the specProxyConfigBootstrapCA to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA *string) *ClusterDeleteClusterParams { - o.SetSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA) - return o -} - -// SetSpecProxyConfigBootstrapCA adds the specProxyConfigBootstrapCA to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA *string) { - o.SpecProxyConfigBootstrapCA = specProxyConfigBootstrapCA -} - -// WithSpecProxyConfigEnabled adds the specProxyConfigEnabled to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecProxyConfigEnabled(specProxyConfigEnabled *bool) *ClusterDeleteClusterParams { - o.SetSpecProxyConfigEnabled(specProxyConfigEnabled) - return o -} - -// SetSpecProxyConfigEnabled adds the specProxyConfigEnabled to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecProxyConfigEnabled(specProxyConfigEnabled *bool) { - o.SpecProxyConfigEnabled = specProxyConfigEnabled -} - -// WithSpecProxyConfigHTTPProxy adds the specProxyConfigHTTPProxy to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy *string) *ClusterDeleteClusterParams { - o.SetSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy) - return o -} - -// SetSpecProxyConfigHTTPProxy adds the specProxyConfigHttpProxy to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy *string) { - o.SpecProxyConfigHTTPProxy = specProxyConfigHTTPProxy -} - -// WithSpecProxyConfigHTTPSProxy adds the specProxyConfigHTTPSProxy to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy *string) *ClusterDeleteClusterParams { - o.SetSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy) - return o -} - -// SetSpecProxyConfigHTTPSProxy adds the specProxyConfigHttpsProxy to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy *string) { - o.SpecProxyConfigHTTPSProxy = specProxyConfigHTTPSProxy -} - -// WithSpecProxyConfigNoProxy adds the specProxyConfigNoProxy to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecProxyConfigNoProxy(specProxyConfigNoProxy *string) *ClusterDeleteClusterParams { - o.SetSpecProxyConfigNoProxy(specProxyConfigNoProxy) - return o -} - -// SetSpecProxyConfigNoProxy adds the specProxyConfigNoProxy to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecProxyConfigNoProxy(specProxyConfigNoProxy *string) { - o.SpecProxyConfigNoProxy = specProxyConfigNoProxy -} - -// WithSpecProxyConfigProxyAuth adds the specProxyConfigProxyAuth to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecProxyConfigProxyAuth(specProxyConfigProxyAuth *string) *ClusterDeleteClusterParams { - o.SetSpecProxyConfigProxyAuth(specProxyConfigProxyAuth) - return o -} - -// SetSpecProxyConfigProxyAuth adds the specProxyConfigProxyAuth to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecProxyConfigProxyAuth(specProxyConfigProxyAuth *string) { - o.SpecProxyConfigProxyAuth = specProxyConfigProxyAuth -} - -// WithSpecShareMode adds the specShareMode to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithSpecShareMode(specShareMode *string) *ClusterDeleteClusterParams { - o.SetSpecShareMode(specShareMode) - return o -} - -// SetSpecShareMode adds the specShareMode to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetSpecShareMode(specShareMode *string) { - o.SpecShareMode = specShareMode -} - -// WithStatusConditionStatus adds the statusConditionStatus to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithStatusConditionStatus(statusConditionStatus *string) *ClusterDeleteClusterParams { - o.SetStatusConditionStatus(statusConditionStatus) - return o -} - -// SetStatusConditionStatus adds the statusConditionStatus to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetStatusConditionStatus(statusConditionStatus *string) { - o.StatusConditionStatus = statusConditionStatus -} - -// WithStatusConditionType adds the statusConditionType to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithStatusConditionType(statusConditionType *string) *ClusterDeleteClusterParams { - o.SetStatusConditionType(statusConditionType) - return o -} - -// SetStatusConditionType adds the statusConditionType to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetStatusConditionType(statusConditionType *string) { - o.StatusConditionType = statusConditionType -} - -// WithStatusLastUpdated adds the statusLastUpdated to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithStatusLastUpdated(statusLastUpdated *strfmt.DateTime) *ClusterDeleteClusterParams { - o.SetStatusLastUpdated(statusLastUpdated) - return o -} - -// SetStatusLastUpdated adds the statusLastUpdated to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetStatusLastUpdated(statusLastUpdated *strfmt.DateTime) { - o.StatusLastUpdated = statusLastUpdated -} - -// WithStatusReason adds the statusReason to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) WithStatusReason(statusReason *string) *ClusterDeleteClusterParams { - o.SetStatusReason(statusReason) - return o -} - -// SetStatusReason adds the statusReason to the cluster delete cluster params -func (o *ClusterDeleteClusterParams) SetStatusReason(statusReason *string) { - o.StatusReason = statusReason -} - -// WriteToRequest writes these params to a swagger request -func (o *ClusterDeleteClusterParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.APIVersion != nil { - - // query param apiVersion - var qrAPIVersion string - - if o.APIVersion != nil { - qrAPIVersion = *o.APIVersion - } - qAPIVersion := qrAPIVersion - if qAPIVersion != "" { - - if err := r.SetQueryParam("apiVersion", qAPIVersion); err != nil { - return err - } - } - } - - if o.Kind != nil { - - // query param kind - var qrKind string - - if o.Kind != nil { - qrKind = *o.Kind - } - qKind := qrKind - if qKind != "" { - - if err := r.SetQueryParam("kind", qKind); err != nil { - return err - } - } - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if o.SpecClusterDataArecord != nil { - - // query param spec.clusterData.arecord - var qrSpecClusterDataArecord string - - if o.SpecClusterDataArecord != nil { - qrSpecClusterDataArecord = *o.SpecClusterDataArecord - } - qSpecClusterDataArecord := qrSpecClusterDataArecord - if qSpecClusterDataArecord != "" { - - if err := r.SetQueryParam("spec.clusterData.arecord", qSpecClusterDataArecord); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterBlueprint != nil { - - // query param spec.clusterData.clusterBlueprint - var qrSpecClusterDataClusterBlueprint string - - if o.SpecClusterDataClusterBlueprint != nil { - qrSpecClusterDataClusterBlueprint = *o.SpecClusterDataClusterBlueprint - } - qSpecClusterDataClusterBlueprint := qrSpecClusterDataClusterBlueprint - if qSpecClusterDataClusterBlueprint != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterBlueprint", qSpecClusterDataClusterBlueprint); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusAuxiliaryTaskCount != nil { - - // query param spec.clusterData.clusterStatus.auxiliaryTaskCount - var qrSpecClusterDataClusterStatusAuxiliaryTaskCount string - - if o.SpecClusterDataClusterStatusAuxiliaryTaskCount != nil { - qrSpecClusterDataClusterStatusAuxiliaryTaskCount = *o.SpecClusterDataClusterStatusAuxiliaryTaskCount - } - qSpecClusterDataClusterStatusAuxiliaryTaskCount := qrSpecClusterDataClusterStatusAuxiliaryTaskCount - if qSpecClusterDataClusterStatusAuxiliaryTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.auxiliaryTaskCount", qSpecClusterDataClusterStatusAuxiliaryTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusCustomTaskCount != nil { - - // query param spec.clusterData.clusterStatus.customTaskCount - var qrSpecClusterDataClusterStatusCustomTaskCount string - - if o.SpecClusterDataClusterStatusCustomTaskCount != nil { - qrSpecClusterDataClusterStatusCustomTaskCount = *o.SpecClusterDataClusterStatusCustomTaskCount - } - qSpecClusterDataClusterStatusCustomTaskCount := qrSpecClusterDataClusterStatusCustomTaskCount - if qSpecClusterDataClusterStatusCustomTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.customTaskCount", qSpecClusterDataClusterStatusCustomTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusPublishedBlueprint != nil { - - // query param spec.clusterData.clusterStatus.publishedBlueprint - var qrSpecClusterDataClusterStatusPublishedBlueprint string - - if o.SpecClusterDataClusterStatusPublishedBlueprint != nil { - qrSpecClusterDataClusterStatusPublishedBlueprint = *o.SpecClusterDataClusterStatusPublishedBlueprint - } - qSpecClusterDataClusterStatusPublishedBlueprint := qrSpecClusterDataClusterStatusPublishedBlueprint - if qSpecClusterDataClusterStatusPublishedBlueprint != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.publishedBlueprint", qSpecClusterDataClusterStatusPublishedBlueprint); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusSystemTaskCount != nil { - - // query param spec.clusterData.clusterStatus.systemTaskCount - var qrSpecClusterDataClusterStatusSystemTaskCount string - - if o.SpecClusterDataClusterStatusSystemTaskCount != nil { - qrSpecClusterDataClusterStatusSystemTaskCount = *o.SpecClusterDataClusterStatusSystemTaskCount - } - qSpecClusterDataClusterStatusSystemTaskCount := qrSpecClusterDataClusterStatusSystemTaskCount - if qSpecClusterDataClusterStatusSystemTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.systemTaskCount", qSpecClusterDataClusterStatusSystemTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusToken != nil { - - // query param spec.clusterData.clusterStatus.token - var qrSpecClusterDataClusterStatusToken string - - if o.SpecClusterDataClusterStatusToken != nil { - qrSpecClusterDataClusterStatusToken = *o.SpecClusterDataClusterStatusToken - } - qSpecClusterDataClusterStatusToken := qrSpecClusterDataClusterStatusToken - if qSpecClusterDataClusterStatusToken != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.token", qSpecClusterDataClusterStatusToken); err != nil { - return err - } - } - } - - if o.SpecClusterDataCname != nil { - - // query param spec.clusterData.cname - var qrSpecClusterDataCname string - - if o.SpecClusterDataCname != nil { - qrSpecClusterDataCname = *o.SpecClusterDataCname - } - qSpecClusterDataCname := qrSpecClusterDataCname - if qSpecClusterDataCname != "" { - - if err := r.SetQueryParam("spec.clusterData.cname", qSpecClusterDataCname); err != nil { - return err - } - } - } - - if o.SpecClusterDataDisplayName != nil { - - // query param spec.clusterData.displayName - var qrSpecClusterDataDisplayName string - - if o.SpecClusterDataDisplayName != nil { - qrSpecClusterDataDisplayName = *o.SpecClusterDataDisplayName - } - qSpecClusterDataDisplayName := qrSpecClusterDataDisplayName - if qSpecClusterDataDisplayName != "" { - - if err := r.SetQueryParam("spec.clusterData.displayName", qSpecClusterDataDisplayName); err != nil { - return err - } - } - } - - if o.SpecClusterDataHealth != nil { - - // query param spec.clusterData.health - var qrSpecClusterDataHealth string - - if o.SpecClusterDataHealth != nil { - qrSpecClusterDataHealth = *o.SpecClusterDataHealth - } - qSpecClusterDataHealth := qrSpecClusterDataHealth - if qSpecClusterDataHealth != "" { - - if err := r.SetQueryParam("spec.clusterData.health", qSpecClusterDataHealth); err != nil { - return err - } - } - } - - if o.SpecClusterDataManufacturer != nil { - - // query param spec.clusterData.manufacturer - var qrSpecClusterDataManufacturer string - - if o.SpecClusterDataManufacturer != nil { - qrSpecClusterDataManufacturer = *o.SpecClusterDataManufacturer - } - qSpecClusterDataManufacturer := qrSpecClusterDataManufacturer - if qSpecClusterDataManufacturer != "" { - - if err := r.SetQueryParam("spec.clusterData.manufacturer", qSpecClusterDataManufacturer); err != nil { - return err - } - } - } - - if o.SpecClusterDataPassphrase != nil { - - // query param spec.clusterData.passphrase - var qrSpecClusterDataPassphrase string - - if o.SpecClusterDataPassphrase != nil { - qrSpecClusterDataPassphrase = *o.SpecClusterDataPassphrase - } - qSpecClusterDataPassphrase := qrSpecClusterDataPassphrase - if qSpecClusterDataPassphrase != "" { - - if err := r.SetQueryParam("spec.clusterData.passphrase", qSpecClusterDataPassphrase); err != nil { - return err - } - } - } - - if o.SpecClusterDataProvider != nil { - - // query param spec.clusterData.provider - var qrSpecClusterDataProvider string - - if o.SpecClusterDataProvider != nil { - qrSpecClusterDataProvider = *o.SpecClusterDataProvider - } - qSpecClusterDataProvider := qrSpecClusterDataProvider - if qSpecClusterDataProvider != "" { - - if err := r.SetQueryParam("spec.clusterData.provider", qSpecClusterDataProvider); err != nil { - return err - } - } - } - - if o.SpecClusterType != nil { - - // query param spec.clusterType - var qrSpecClusterType string - - if o.SpecClusterType != nil { - qrSpecClusterType = *o.SpecClusterType - } - qSpecClusterType := qrSpecClusterType - if qSpecClusterType != "" { - - if err := r.SetQueryParam("spec.clusterType", qSpecClusterType); err != nil { - return err - } - } - } - - if o.SpecMetroCity != nil { - - // query param spec.metro.city - var qrSpecMetroCity string - - if o.SpecMetroCity != nil { - qrSpecMetroCity = *o.SpecMetroCity - } - qSpecMetroCity := qrSpecMetroCity - if qSpecMetroCity != "" { - - if err := r.SetQueryParam("spec.metro.city", qSpecMetroCity); err != nil { - return err - } - } - } - - if o.SpecMetroCountry != nil { - - // query param spec.metro.country - var qrSpecMetroCountry string - - if o.SpecMetroCountry != nil { - qrSpecMetroCountry = *o.SpecMetroCountry - } - qSpecMetroCountry := qrSpecMetroCountry - if qSpecMetroCountry != "" { - - if err := r.SetQueryParam("spec.metro.country", qSpecMetroCountry); err != nil { - return err - } - } - } - - if o.SpecMetroCountryCode != nil { - - // query param spec.metro.countryCode - var qrSpecMetroCountryCode string - - if o.SpecMetroCountryCode != nil { - qrSpecMetroCountryCode = *o.SpecMetroCountryCode - } - qSpecMetroCountryCode := qrSpecMetroCountryCode - if qSpecMetroCountryCode != "" { - - if err := r.SetQueryParam("spec.metro.countryCode", qSpecMetroCountryCode); err != nil { - return err - } - } - } - - if o.SpecMetroID != nil { - - // query param spec.metro.id - var qrSpecMetroID string - - if o.SpecMetroID != nil { - qrSpecMetroID = *o.SpecMetroID - } - qSpecMetroID := qrSpecMetroID - if qSpecMetroID != "" { - - if err := r.SetQueryParam("spec.metro.id", qSpecMetroID); err != nil { - return err - } - } - } - - if o.SpecMetroLatitude != nil { - - // query param spec.metro.latitude - var qrSpecMetroLatitude string - - if o.SpecMetroLatitude != nil { - qrSpecMetroLatitude = *o.SpecMetroLatitude - } - qSpecMetroLatitude := qrSpecMetroLatitude - if qSpecMetroLatitude != "" { - - if err := r.SetQueryParam("spec.metro.latitude", qSpecMetroLatitude); err != nil { - return err - } - } - } - - if o.SpecMetroLocale != nil { - - // query param spec.metro.locale - var qrSpecMetroLocale string - - if o.SpecMetroLocale != nil { - qrSpecMetroLocale = *o.SpecMetroLocale - } - qSpecMetroLocale := qrSpecMetroLocale - if qSpecMetroLocale != "" { - - if err := r.SetQueryParam("spec.metro.locale", qSpecMetroLocale); err != nil { - return err - } - } - } - - if o.SpecMetroLongitude != nil { - - // query param spec.metro.longitude - var qrSpecMetroLongitude string - - if o.SpecMetroLongitude != nil { - qrSpecMetroLongitude = *o.SpecMetroLongitude - } - qSpecMetroLongitude := qrSpecMetroLongitude - if qSpecMetroLongitude != "" { - - if err := r.SetQueryParam("spec.metro.longitude", qSpecMetroLongitude); err != nil { - return err - } - } - } - - if o.SpecMetroName != nil { - - // query param spec.metro.name - var qrSpecMetroName string - - if o.SpecMetroName != nil { - qrSpecMetroName = *o.SpecMetroName - } - qSpecMetroName := qrSpecMetroName - if qSpecMetroName != "" { - - if err := r.SetQueryParam("spec.metro.name", qSpecMetroName); err != nil { - return err - } - } - } - - if o.SpecMetroState != nil { - - // query param spec.metro.state - var qrSpecMetroState string - - if o.SpecMetroState != nil { - qrSpecMetroState = *o.SpecMetroState - } - qSpecMetroState := qrSpecMetroState - if qSpecMetroState != "" { - - if err := r.SetQueryParam("spec.metro.state", qSpecMetroState); err != nil { - return err - } - } - } - - if o.SpecMetroStateCode != nil { - - // query param spec.metro.stateCode - var qrSpecMetroStateCode string - - if o.SpecMetroStateCode != nil { - qrSpecMetroStateCode = *o.SpecMetroStateCode - } - qSpecMetroStateCode := qrSpecMetroStateCode - if qSpecMetroStateCode != "" { - - if err := r.SetQueryParam("spec.metro.stateCode", qSpecMetroStateCode); err != nil { - return err - } - } - } - - if o.SpecOverrideSelector != nil { - - // query param spec.overrideSelector - var qrSpecOverrideSelector string - - if o.SpecOverrideSelector != nil { - qrSpecOverrideSelector = *o.SpecOverrideSelector - } - qSpecOverrideSelector := qrSpecOverrideSelector - if qSpecOverrideSelector != "" { - - if err := r.SetQueryParam("spec.overrideSelector", qSpecOverrideSelector); err != nil { - return err - } - } - } - - if o.SpecParamsEnvironmentProvider != nil { - - // query param spec.params.environmentProvider - var qrSpecParamsEnvironmentProvider string - - if o.SpecParamsEnvironmentProvider != nil { - qrSpecParamsEnvironmentProvider = *o.SpecParamsEnvironmentProvider - } - qSpecParamsEnvironmentProvider := qrSpecParamsEnvironmentProvider - if qSpecParamsEnvironmentProvider != "" { - - if err := r.SetQueryParam("spec.params.environmentProvider", qSpecParamsEnvironmentProvider); err != nil { - return err - } - } - } - - if o.SpecParamsKubernetesProvider != nil { - - // query param spec.params.kubernetesProvider - var qrSpecParamsKubernetesProvider string - - if o.SpecParamsKubernetesProvider != nil { - qrSpecParamsKubernetesProvider = *o.SpecParamsKubernetesProvider - } - qSpecParamsKubernetesProvider := qrSpecParamsKubernetesProvider - if qSpecParamsKubernetesProvider != "" { - - if err := r.SetQueryParam("spec.params.kubernetesProvider", qSpecParamsKubernetesProvider); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionEnvironment != nil { - - // query param spec.params.provisionEnvironment - var qrSpecParamsProvisionEnvironment string - - if o.SpecParamsProvisionEnvironment != nil { - qrSpecParamsProvisionEnvironment = *o.SpecParamsProvisionEnvironment - } - qSpecParamsProvisionEnvironment := qrSpecParamsProvisionEnvironment - if qSpecParamsProvisionEnvironment != "" { - - if err := r.SetQueryParam("spec.params.provisionEnvironment", qSpecParamsProvisionEnvironment); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionPackageType != nil { - - // query param spec.params.provisionPackageType - var qrSpecParamsProvisionPackageType string - - if o.SpecParamsProvisionPackageType != nil { - qrSpecParamsProvisionPackageType = *o.SpecParamsProvisionPackageType - } - qSpecParamsProvisionPackageType := qrSpecParamsProvisionPackageType - if qSpecParamsProvisionPackageType != "" { - - if err := r.SetQueryParam("spec.params.provisionPackageType", qSpecParamsProvisionPackageType); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionType != nil { - - // query param spec.params.provisionType - var qrSpecParamsProvisionType string - - if o.SpecParamsProvisionType != nil { - qrSpecParamsProvisionType = *o.SpecParamsProvisionType - } - qSpecParamsProvisionType := qrSpecParamsProvisionType - if qSpecParamsProvisionType != "" { - - if err := r.SetQueryParam("spec.params.provisionType", qSpecParamsProvisionType); err != nil { - return err - } - } - } - - if o.SpecParamsState != nil { - - // query param spec.params.state - var qrSpecParamsState string - - if o.SpecParamsState != nil { - qrSpecParamsState = *o.SpecParamsState - } - qSpecParamsState := qrSpecParamsState - if qSpecParamsState != "" { - - if err := r.SetQueryParam("spec.params.state", qSpecParamsState); err != nil { - return err - } - } - } - - if o.SpecProxyConfigAllowInsecureBootstrap != nil { - - // query param spec.proxyConfig.allowInsecureBootstrap - var qrSpecProxyConfigAllowInsecureBootstrap bool - - if o.SpecProxyConfigAllowInsecureBootstrap != nil { - qrSpecProxyConfigAllowInsecureBootstrap = *o.SpecProxyConfigAllowInsecureBootstrap - } - qSpecProxyConfigAllowInsecureBootstrap := swag.FormatBool(qrSpecProxyConfigAllowInsecureBootstrap) - if qSpecProxyConfigAllowInsecureBootstrap != "" { - - if err := r.SetQueryParam("spec.proxyConfig.allowInsecureBootstrap", qSpecProxyConfigAllowInsecureBootstrap); err != nil { - return err - } - } - } - - if o.SpecProxyConfigBootstrapCA != nil { - - // query param spec.proxyConfig.bootstrapCA - var qrSpecProxyConfigBootstrapCA string - - if o.SpecProxyConfigBootstrapCA != nil { - qrSpecProxyConfigBootstrapCA = *o.SpecProxyConfigBootstrapCA - } - qSpecProxyConfigBootstrapCA := qrSpecProxyConfigBootstrapCA - if qSpecProxyConfigBootstrapCA != "" { - - if err := r.SetQueryParam("spec.proxyConfig.bootstrapCA", qSpecProxyConfigBootstrapCA); err != nil { - return err - } - } - } - - if o.SpecProxyConfigEnabled != nil { - - // query param spec.proxyConfig.enabled - var qrSpecProxyConfigEnabled bool - - if o.SpecProxyConfigEnabled != nil { - qrSpecProxyConfigEnabled = *o.SpecProxyConfigEnabled - } - qSpecProxyConfigEnabled := swag.FormatBool(qrSpecProxyConfigEnabled) - if qSpecProxyConfigEnabled != "" { - - if err := r.SetQueryParam("spec.proxyConfig.enabled", qSpecProxyConfigEnabled); err != nil { - return err - } - } - } - - if o.SpecProxyConfigHTTPProxy != nil { - - // query param spec.proxyConfig.httpProxy - var qrSpecProxyConfigHTTPProxy string - - if o.SpecProxyConfigHTTPProxy != nil { - qrSpecProxyConfigHTTPProxy = *o.SpecProxyConfigHTTPProxy - } - qSpecProxyConfigHTTPProxy := qrSpecProxyConfigHTTPProxy - if qSpecProxyConfigHTTPProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.httpProxy", qSpecProxyConfigHTTPProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigHTTPSProxy != nil { - - // query param spec.proxyConfig.httpsProxy - var qrSpecProxyConfigHTTPSProxy string - - if o.SpecProxyConfigHTTPSProxy != nil { - qrSpecProxyConfigHTTPSProxy = *o.SpecProxyConfigHTTPSProxy - } - qSpecProxyConfigHTTPSProxy := qrSpecProxyConfigHTTPSProxy - if qSpecProxyConfigHTTPSProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.httpsProxy", qSpecProxyConfigHTTPSProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigNoProxy != nil { - - // query param spec.proxyConfig.noProxy - var qrSpecProxyConfigNoProxy string - - if o.SpecProxyConfigNoProxy != nil { - qrSpecProxyConfigNoProxy = *o.SpecProxyConfigNoProxy - } - qSpecProxyConfigNoProxy := qrSpecProxyConfigNoProxy - if qSpecProxyConfigNoProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.noProxy", qSpecProxyConfigNoProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigProxyAuth != nil { - - // query param spec.proxyConfig.proxyAuth - var qrSpecProxyConfigProxyAuth string - - if o.SpecProxyConfigProxyAuth != nil { - qrSpecProxyConfigProxyAuth = *o.SpecProxyConfigProxyAuth - } - qSpecProxyConfigProxyAuth := qrSpecProxyConfigProxyAuth - if qSpecProxyConfigProxyAuth != "" { - - if err := r.SetQueryParam("spec.proxyConfig.proxyAuth", qSpecProxyConfigProxyAuth); err != nil { - return err - } - } - } - - if o.SpecShareMode != nil { - - // query param spec.shareMode - var qrSpecShareMode string - - if o.SpecShareMode != nil { - qrSpecShareMode = *o.SpecShareMode - } - qSpecShareMode := qrSpecShareMode - if qSpecShareMode != "" { - - if err := r.SetQueryParam("spec.shareMode", qSpecShareMode); err != nil { - return err - } - } - } - - if o.StatusConditionStatus != nil { - - // query param status.conditionStatus - var qrStatusConditionStatus string - - if o.StatusConditionStatus != nil { - qrStatusConditionStatus = *o.StatusConditionStatus - } - qStatusConditionStatus := qrStatusConditionStatus - if qStatusConditionStatus != "" { - - if err := r.SetQueryParam("status.conditionStatus", qStatusConditionStatus); err != nil { - return err - } - } - } - - if o.StatusConditionType != nil { - - // query param status.conditionType - var qrStatusConditionType string - - if o.StatusConditionType != nil { - qrStatusConditionType = *o.StatusConditionType - } - qStatusConditionType := qrStatusConditionType - if qStatusConditionType != "" { - - if err := r.SetQueryParam("status.conditionType", qStatusConditionType); err != nil { - return err - } - } - } - - if o.StatusLastUpdated != nil { - - // query param status.lastUpdated - var qrStatusLastUpdated strfmt.DateTime - - if o.StatusLastUpdated != nil { - qrStatusLastUpdated = *o.StatusLastUpdated - } - qStatusLastUpdated := qrStatusLastUpdated.String() - if qStatusLastUpdated != "" { - - if err := r.SetQueryParam("status.lastUpdated", qStatusLastUpdated); err != nil { - return err - } - } - } - - if o.StatusReason != nil { - - // query param status.reason - var qrStatusReason string - - if o.StatusReason != nil { - qrStatusReason = *o.StatusReason - } - qStatusReason := qrStatusReason - if qStatusReason != "" { - - if err := r.SetQueryParam("status.reason", qStatusReason); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_delete_cluster_responses.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_delete_cluster_responses.go deleted file mode 100644 index 6a99d8b..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_delete_cluster_responses.go +++ /dev/null @@ -1,221 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// ClusterDeleteClusterReader is a Reader for the ClusterDeleteCluster structure. -type ClusterDeleteClusterReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *ClusterDeleteClusterReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewClusterDeleteClusterOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 204: - result := NewClusterDeleteClusterNoContent() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewClusterDeleteClusterForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewClusterDeleteClusterNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewClusterDeleteClusterDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewClusterDeleteClusterOK creates a ClusterDeleteClusterOK with default headers values -func NewClusterDeleteClusterOK() *ClusterDeleteClusterOK { - return &ClusterDeleteClusterOK{} -} - -/* ClusterDeleteClusterOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type ClusterDeleteClusterOK struct { - Payload models.RPCDeleteClusterResponse -} - -func (o *ClusterDeleteClusterOK) Error() string { - return fmt.Sprintf("[DELETE /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterDeleteClusterOK %+v", 200, o.Payload) -} -func (o *ClusterDeleteClusterOK) GetPayload() models.RPCDeleteClusterResponse { - return o.Payload -} - -func (o *ClusterDeleteClusterOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterDeleteClusterNoContent creates a ClusterDeleteClusterNoContent with default headers values -func NewClusterDeleteClusterNoContent() *ClusterDeleteClusterNoContent { - return &ClusterDeleteClusterNoContent{} -} - -/* ClusterDeleteClusterNoContent describes a response with status code 204, with default header values. - -Returned when project is deleted successfully. -*/ -type ClusterDeleteClusterNoContent struct { - Payload interface{} -} - -func (o *ClusterDeleteClusterNoContent) Error() string { - return fmt.Sprintf("[DELETE /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterDeleteClusterNoContent %+v", 204, o.Payload) -} -func (o *ClusterDeleteClusterNoContent) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterDeleteClusterNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterDeleteClusterForbidden creates a ClusterDeleteClusterForbidden with default headers values -func NewClusterDeleteClusterForbidden() *ClusterDeleteClusterForbidden { - return &ClusterDeleteClusterForbidden{} -} - -/* ClusterDeleteClusterForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type ClusterDeleteClusterForbidden struct { - Payload interface{} -} - -func (o *ClusterDeleteClusterForbidden) Error() string { - return fmt.Sprintf("[DELETE /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterDeleteClusterForbidden %+v", 403, o.Payload) -} -func (o *ClusterDeleteClusterForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterDeleteClusterForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterDeleteClusterNotFound creates a ClusterDeleteClusterNotFound with default headers values -func NewClusterDeleteClusterNotFound() *ClusterDeleteClusterNotFound { - return &ClusterDeleteClusterNotFound{} -} - -/* ClusterDeleteClusterNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type ClusterDeleteClusterNotFound struct { - Payload string -} - -func (o *ClusterDeleteClusterNotFound) Error() string { - return fmt.Sprintf("[DELETE /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterDeleteClusterNotFound %+v", 404, o.Payload) -} -func (o *ClusterDeleteClusterNotFound) GetPayload() string { - return o.Payload -} - -func (o *ClusterDeleteClusterNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterDeleteClusterDefault creates a ClusterDeleteClusterDefault with default headers values -func NewClusterDeleteClusterDefault(code int) *ClusterDeleteClusterDefault { - return &ClusterDeleteClusterDefault{ - _statusCode: code, - } -} - -/* ClusterDeleteClusterDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type ClusterDeleteClusterDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the cluster delete cluster default response -func (o *ClusterDeleteClusterDefault) Code() int { - return o._statusCode -} - -func (o *ClusterDeleteClusterDefault) Error() string { - return fmt.Sprintf("[DELETE /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] Cluster_DeleteCluster default %+v", o._statusCode, o.Payload) -} -func (o *ClusterDeleteClusterDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *ClusterDeleteClusterDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_download_cluster_parameters.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_download_cluster_parameters.go deleted file mode 100644 index d5b30b6..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_download_cluster_parameters.go +++ /dev/null @@ -1,1914 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewClusterDownloadClusterParams creates a new ClusterDownloadClusterParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewClusterDownloadClusterParams() *ClusterDownloadClusterParams { - return &ClusterDownloadClusterParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewClusterDownloadClusterParamsWithTimeout creates a new ClusterDownloadClusterParams object -// with the ability to set a timeout on a request. -func NewClusterDownloadClusterParamsWithTimeout(timeout time.Duration) *ClusterDownloadClusterParams { - return &ClusterDownloadClusterParams{ - timeout: timeout, - } -} - -// NewClusterDownloadClusterParamsWithContext creates a new ClusterDownloadClusterParams object -// with the ability to set a context for a request. -func NewClusterDownloadClusterParamsWithContext(ctx context.Context) *ClusterDownloadClusterParams { - return &ClusterDownloadClusterParams{ - Context: ctx, - } -} - -// NewClusterDownloadClusterParamsWithHTTPClient creates a new ClusterDownloadClusterParams object -// with the ability to set a custom HTTPClient for a request. -func NewClusterDownloadClusterParamsWithHTTPClient(client *http.Client) *ClusterDownloadClusterParams { - return &ClusterDownloadClusterParams{ - HTTPClient: client, - } -} - -/* ClusterDownloadClusterParams contains all the parameters to send to the API endpoint - for the cluster download cluster operation. - - Typically these are written to a http.Request. -*/ -type ClusterDownloadClusterParams struct { - - /* APIVersion. - - API Version. API Version of the resource - - Default: "infra.k8smgmt.io/v3" - */ - APIVersion *string - - /* Kind. - - Kind. Kind of the resource - - Default: "Cluster" - */ - Kind *string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - /* SpecClusterDataArecord. - - DNS A Record. Entry for DNS A Record - */ - SpecClusterDataArecord *string - - /* SpecClusterDataClusterBlueprint. - - ClusterBlueprint. Cluster Blueprint - */ - SpecClusterDataClusterBlueprint *string - - /* SpecClusterDataClusterStatusAuxiliaryTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusAuxiliaryTaskCount *string - - /* SpecClusterDataClusterStatusCustomTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusCustomTaskCount *string - - /* SpecClusterDataClusterStatusPublishedBlueprint. - - Cluster Information. Override selector of the cluster - */ - SpecClusterDataClusterStatusPublishedBlueprint *string - - /* SpecClusterDataClusterStatusSystemTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusSystemTaskCount *string - - /* SpecClusterDataClusterStatusToken. - - Cluster Information. Override selector of the cluster - */ - SpecClusterDataClusterStatusToken *string - - /* SpecClusterDataCname. - - CNAME. cname of the cluster - */ - SpecClusterDataCname *string - - /* SpecClusterDataDisplayName. - - Display Name. Display Name - */ - SpecClusterDataDisplayName *string - - /* SpecClusterDataHealth. - - Health. Health - - Default: "EDGE_IGNORE" - */ - SpecClusterDataHealth *string - - /* SpecClusterDataManufacturer. - - Manufacturer. Manufacturer - */ - SpecClusterDataManufacturer *string - - /* SpecClusterDataPassphrase. - - Passphrase. passphrase of the cluster - */ - SpecClusterDataPassphrase *string - - /* SpecClusterDataProvider. - - Provider. Provider - */ - SpecClusterDataProvider *string - - /* SpecClusterType. - - Cluster Type. Type of the cluster being created - - Default: "Imported" - */ - SpecClusterType *string - - /* SpecMetroCity. - - City. City of the location - */ - SpecMetroCity *string - - /* SpecMetroCountry. - - Country. country of the location - */ - SpecMetroCountry *string - - /* SpecMetroCountryCode. - - CountryCode. CountryCode of the location - */ - SpecMetroCountryCode *string - - /* SpecMetroID. - - ID of Location. ID Location of the cluster - */ - SpecMetroID *string - - /* SpecMetroLatitude. - - Latitude. Latitude of the location - */ - SpecMetroLatitude *string - - /* SpecMetroLocale. - - Locale. locale of the location - */ - SpecMetroLocale *string - - /* SpecMetroLongitude. - - Longitude. Longitude of the location - */ - SpecMetroLongitude *string - - /* SpecMetroName. - - Location. Location of the cluster - */ - SpecMetroName *string - - /* SpecMetroState. - - State. State of the location - */ - SpecMetroState *string - - /* SpecMetroStateCode. - - StateCode. StateCode of the location - */ - SpecMetroStateCode *string - - /* SpecOverrideSelector. - - Override Selector. Override selector of the cluster - */ - SpecOverrideSelector *string - - /* SpecParamsEnvironmentProvider. - - EnvironmentProvider. environment provider of the cluster - */ - SpecParamsEnvironmentProvider *string - - /* SpecParamsKubernetesProvider. - - KubernetesProvider. kubernetes provider - */ - SpecParamsKubernetesProvider *string - - /* SpecParamsProvisionEnvironment. - - ProvisionEnvironment. provision environment - */ - SpecParamsProvisionEnvironment *string - - /* SpecParamsProvisionPackageType. - - ProvisionPackageType. provision package type - */ - SpecParamsProvisionPackageType *string - - /* SpecParamsProvisionType. - - ProvisionType. provision type - */ - SpecParamsProvisionType *string - - /* SpecParamsState. - - State. state - */ - SpecParamsState *string - - /* SpecProxyConfigAllowInsecureBootstrap. - - AllowInsecureBootstrap. Allow insecure bootstrap - */ - SpecProxyConfigAllowInsecureBootstrap *bool - - /* SpecProxyConfigBootstrapCA. - - BootstrapCA. Certificate Authority of bootstrap server - */ - SpecProxyConfigBootstrapCA *string - - /* SpecProxyConfigEnabled. - - Enabled. enabled - */ - SpecProxyConfigEnabled *bool - - /* SpecProxyConfigHTTPProxy. - - HttpProxy. http proxy - */ - SpecProxyConfigHTTPProxy *string - - /* SpecProxyConfigHTTPSProxy. - - HttpsProxy. https proxy - */ - SpecProxyConfigHTTPSProxy *string - - /* SpecProxyConfigNoProxy. - - noproxy. noproxy - */ - SpecProxyConfigNoProxy *string - - /* SpecProxyConfigProxyAuth. - - ProxyAuth. proxy auth - */ - SpecProxyConfigProxyAuth *string - - /* SpecShareMode. - - Override Selector. Override selector of the cluster - - Default: "ClusterShareModeNotSet" - */ - SpecShareMode *string - - /* StatusConditionStatus. - - Condition Status. status of the condition - - Default: "StatusNotSet" - */ - StatusConditionStatus *string - - /* StatusConditionType. - - Condition Type. type of the status condition - */ - StatusConditionType *string - - /* StatusLastUpdated. - - Last Updated. when the condition status is last updated - - Format: date-time - */ - StatusLastUpdated *strfmt.DateTime - - /* StatusReason. - - Reason. reason of the last condition status - */ - StatusReason *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the cluster download cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterDownloadClusterParams) WithDefaults() *ClusterDownloadClusterParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the cluster download cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterDownloadClusterParams) SetDefaults() { - var ( - aPIVersionDefault = string("infra.k8smgmt.io/v3") - - kindDefault = string("Cluster") - - specClusterDataHealthDefault = string("EDGE_IGNORE") - - specClusterTypeDefault = string("Imported") - - specShareModeDefault = string("ClusterShareModeNotSet") - - statusConditionStatusDefault = string("StatusNotSet") - ) - - val := ClusterDownloadClusterParams{ - APIVersion: &aPIVersionDefault, - Kind: &kindDefault, - SpecClusterDataHealth: &specClusterDataHealthDefault, - SpecClusterType: &specClusterTypeDefault, - SpecShareMode: &specShareModeDefault, - StatusConditionStatus: &statusConditionStatusDefault, - } - - val.timeout = o.timeout - val.Context = o.Context - val.HTTPClient = o.HTTPClient - *o = val -} - -// WithTimeout adds the timeout to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithTimeout(timeout time.Duration) *ClusterDownloadClusterParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithContext(ctx context.Context) *ClusterDownloadClusterParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithHTTPClient(client *http.Client) *ClusterDownloadClusterParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithAPIVersion adds the aPIVersion to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithAPIVersion(aPIVersion *string) *ClusterDownloadClusterParams { - o.SetAPIVersion(aPIVersion) - return o -} - -// SetAPIVersion adds the apiVersion to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetAPIVersion(aPIVersion *string) { - o.APIVersion = aPIVersion -} - -// WithKind adds the kind to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithKind(kind *string) *ClusterDownloadClusterParams { - o.SetKind(kind) - return o -} - -// SetKind adds the kind to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetKind(kind *string) { - o.Kind = kind -} - -// WithMetadataDescription adds the metadataDescription to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithMetadataDescription(metadataDescription *string) *ClusterDownloadClusterParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithMetadataID(metadataID *string) *ClusterDownloadClusterParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *ClusterDownloadClusterParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithMetadataName(metadataName string) *ClusterDownloadClusterParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithMetadataOrganization(metadataOrganization *string) *ClusterDownloadClusterParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithMetadataPartner(metadataPartner *string) *ClusterDownloadClusterParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithMetadataProject(metadataProject string) *ClusterDownloadClusterParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WithSpecClusterDataArecord adds the specClusterDataArecord to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataArecord(specClusterDataArecord *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataArecord(specClusterDataArecord) - return o -} - -// SetSpecClusterDataArecord adds the specClusterDataArecord to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataArecord(specClusterDataArecord *string) { - o.SpecClusterDataArecord = specClusterDataArecord -} - -// WithSpecClusterDataClusterBlueprint adds the specClusterDataClusterBlueprint to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint) - return o -} - -// SetSpecClusterDataClusterBlueprint adds the specClusterDataClusterBlueprint to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint *string) { - o.SpecClusterDataClusterBlueprint = specClusterDataClusterBlueprint -} - -// WithSpecClusterDataClusterStatusAuxiliaryTaskCount adds the specClusterDataClusterStatusAuxiliaryTaskCount to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusAuxiliaryTaskCount adds the specClusterDataClusterStatusAuxiliaryTaskCount to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount *string) { - o.SpecClusterDataClusterStatusAuxiliaryTaskCount = specClusterDataClusterStatusAuxiliaryTaskCount -} - -// WithSpecClusterDataClusterStatusCustomTaskCount adds the specClusterDataClusterStatusCustomTaskCount to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusCustomTaskCount adds the specClusterDataClusterStatusCustomTaskCount to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount *string) { - o.SpecClusterDataClusterStatusCustomTaskCount = specClusterDataClusterStatusCustomTaskCount -} - -// WithSpecClusterDataClusterStatusPublishedBlueprint adds the specClusterDataClusterStatusPublishedBlueprint to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint) - return o -} - -// SetSpecClusterDataClusterStatusPublishedBlueprint adds the specClusterDataClusterStatusPublishedBlueprint to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint *string) { - o.SpecClusterDataClusterStatusPublishedBlueprint = specClusterDataClusterStatusPublishedBlueprint -} - -// WithSpecClusterDataClusterStatusSystemTaskCount adds the specClusterDataClusterStatusSystemTaskCount to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusSystemTaskCount adds the specClusterDataClusterStatusSystemTaskCount to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount *string) { - o.SpecClusterDataClusterStatusSystemTaskCount = specClusterDataClusterStatusSystemTaskCount -} - -// WithSpecClusterDataClusterStatusToken adds the specClusterDataClusterStatusToken to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken) - return o -} - -// SetSpecClusterDataClusterStatusToken adds the specClusterDataClusterStatusToken to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken *string) { - o.SpecClusterDataClusterStatusToken = specClusterDataClusterStatusToken -} - -// WithSpecClusterDataCname adds the specClusterDataCname to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataCname(specClusterDataCname *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataCname(specClusterDataCname) - return o -} - -// SetSpecClusterDataCname adds the specClusterDataCname to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataCname(specClusterDataCname *string) { - o.SpecClusterDataCname = specClusterDataCname -} - -// WithSpecClusterDataDisplayName adds the specClusterDataDisplayName to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataDisplayName(specClusterDataDisplayName *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataDisplayName(specClusterDataDisplayName) - return o -} - -// SetSpecClusterDataDisplayName adds the specClusterDataDisplayName to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataDisplayName(specClusterDataDisplayName *string) { - o.SpecClusterDataDisplayName = specClusterDataDisplayName -} - -// WithSpecClusterDataHealth adds the specClusterDataHealth to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataHealth(specClusterDataHealth *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataHealth(specClusterDataHealth) - return o -} - -// SetSpecClusterDataHealth adds the specClusterDataHealth to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataHealth(specClusterDataHealth *string) { - o.SpecClusterDataHealth = specClusterDataHealth -} - -// WithSpecClusterDataManufacturer adds the specClusterDataManufacturer to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataManufacturer(specClusterDataManufacturer *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataManufacturer(specClusterDataManufacturer) - return o -} - -// SetSpecClusterDataManufacturer adds the specClusterDataManufacturer to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataManufacturer(specClusterDataManufacturer *string) { - o.SpecClusterDataManufacturer = specClusterDataManufacturer -} - -// WithSpecClusterDataPassphrase adds the specClusterDataPassphrase to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataPassphrase(specClusterDataPassphrase *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataPassphrase(specClusterDataPassphrase) - return o -} - -// SetSpecClusterDataPassphrase adds the specClusterDataPassphrase to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataPassphrase(specClusterDataPassphrase *string) { - o.SpecClusterDataPassphrase = specClusterDataPassphrase -} - -// WithSpecClusterDataProvider adds the specClusterDataProvider to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterDataProvider(specClusterDataProvider *string) *ClusterDownloadClusterParams { - o.SetSpecClusterDataProvider(specClusterDataProvider) - return o -} - -// SetSpecClusterDataProvider adds the specClusterDataProvider to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterDataProvider(specClusterDataProvider *string) { - o.SpecClusterDataProvider = specClusterDataProvider -} - -// WithSpecClusterType adds the specClusterType to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecClusterType(specClusterType *string) *ClusterDownloadClusterParams { - o.SetSpecClusterType(specClusterType) - return o -} - -// SetSpecClusterType adds the specClusterType to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecClusterType(specClusterType *string) { - o.SpecClusterType = specClusterType -} - -// WithSpecMetroCity adds the specMetroCity to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroCity(specMetroCity *string) *ClusterDownloadClusterParams { - o.SetSpecMetroCity(specMetroCity) - return o -} - -// SetSpecMetroCity adds the specMetroCity to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroCity(specMetroCity *string) { - o.SpecMetroCity = specMetroCity -} - -// WithSpecMetroCountry adds the specMetroCountry to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroCountry(specMetroCountry *string) *ClusterDownloadClusterParams { - o.SetSpecMetroCountry(specMetroCountry) - return o -} - -// SetSpecMetroCountry adds the specMetroCountry to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroCountry(specMetroCountry *string) { - o.SpecMetroCountry = specMetroCountry -} - -// WithSpecMetroCountryCode adds the specMetroCountryCode to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroCountryCode(specMetroCountryCode *string) *ClusterDownloadClusterParams { - o.SetSpecMetroCountryCode(specMetroCountryCode) - return o -} - -// SetSpecMetroCountryCode adds the specMetroCountryCode to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroCountryCode(specMetroCountryCode *string) { - o.SpecMetroCountryCode = specMetroCountryCode -} - -// WithSpecMetroID adds the specMetroID to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroID(specMetroID *string) *ClusterDownloadClusterParams { - o.SetSpecMetroID(specMetroID) - return o -} - -// SetSpecMetroID adds the specMetroId to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroID(specMetroID *string) { - o.SpecMetroID = specMetroID -} - -// WithSpecMetroLatitude adds the specMetroLatitude to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroLatitude(specMetroLatitude *string) *ClusterDownloadClusterParams { - o.SetSpecMetroLatitude(specMetroLatitude) - return o -} - -// SetSpecMetroLatitude adds the specMetroLatitude to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroLatitude(specMetroLatitude *string) { - o.SpecMetroLatitude = specMetroLatitude -} - -// WithSpecMetroLocale adds the specMetroLocale to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroLocale(specMetroLocale *string) *ClusterDownloadClusterParams { - o.SetSpecMetroLocale(specMetroLocale) - return o -} - -// SetSpecMetroLocale adds the specMetroLocale to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroLocale(specMetroLocale *string) { - o.SpecMetroLocale = specMetroLocale -} - -// WithSpecMetroLongitude adds the specMetroLongitude to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroLongitude(specMetroLongitude *string) *ClusterDownloadClusterParams { - o.SetSpecMetroLongitude(specMetroLongitude) - return o -} - -// SetSpecMetroLongitude adds the specMetroLongitude to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroLongitude(specMetroLongitude *string) { - o.SpecMetroLongitude = specMetroLongitude -} - -// WithSpecMetroName adds the specMetroName to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroName(specMetroName *string) *ClusterDownloadClusterParams { - o.SetSpecMetroName(specMetroName) - return o -} - -// SetSpecMetroName adds the specMetroName to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroName(specMetroName *string) { - o.SpecMetroName = specMetroName -} - -// WithSpecMetroState adds the specMetroState to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroState(specMetroState *string) *ClusterDownloadClusterParams { - o.SetSpecMetroState(specMetroState) - return o -} - -// SetSpecMetroState adds the specMetroState to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroState(specMetroState *string) { - o.SpecMetroState = specMetroState -} - -// WithSpecMetroStateCode adds the specMetroStateCode to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecMetroStateCode(specMetroStateCode *string) *ClusterDownloadClusterParams { - o.SetSpecMetroStateCode(specMetroStateCode) - return o -} - -// SetSpecMetroStateCode adds the specMetroStateCode to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecMetroStateCode(specMetroStateCode *string) { - o.SpecMetroStateCode = specMetroStateCode -} - -// WithSpecOverrideSelector adds the specOverrideSelector to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecOverrideSelector(specOverrideSelector *string) *ClusterDownloadClusterParams { - o.SetSpecOverrideSelector(specOverrideSelector) - return o -} - -// SetSpecOverrideSelector adds the specOverrideSelector to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecOverrideSelector(specOverrideSelector *string) { - o.SpecOverrideSelector = specOverrideSelector -} - -// WithSpecParamsEnvironmentProvider adds the specParamsEnvironmentProvider to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecParamsEnvironmentProvider(specParamsEnvironmentProvider *string) *ClusterDownloadClusterParams { - o.SetSpecParamsEnvironmentProvider(specParamsEnvironmentProvider) - return o -} - -// SetSpecParamsEnvironmentProvider adds the specParamsEnvironmentProvider to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecParamsEnvironmentProvider(specParamsEnvironmentProvider *string) { - o.SpecParamsEnvironmentProvider = specParamsEnvironmentProvider -} - -// WithSpecParamsKubernetesProvider adds the specParamsKubernetesProvider to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecParamsKubernetesProvider(specParamsKubernetesProvider *string) *ClusterDownloadClusterParams { - o.SetSpecParamsKubernetesProvider(specParamsKubernetesProvider) - return o -} - -// SetSpecParamsKubernetesProvider adds the specParamsKubernetesProvider to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecParamsKubernetesProvider(specParamsKubernetesProvider *string) { - o.SpecParamsKubernetesProvider = specParamsKubernetesProvider -} - -// WithSpecParamsProvisionEnvironment adds the specParamsProvisionEnvironment to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecParamsProvisionEnvironment(specParamsProvisionEnvironment *string) *ClusterDownloadClusterParams { - o.SetSpecParamsProvisionEnvironment(specParamsProvisionEnvironment) - return o -} - -// SetSpecParamsProvisionEnvironment adds the specParamsProvisionEnvironment to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecParamsProvisionEnvironment(specParamsProvisionEnvironment *string) { - o.SpecParamsProvisionEnvironment = specParamsProvisionEnvironment -} - -// WithSpecParamsProvisionPackageType adds the specParamsProvisionPackageType to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecParamsProvisionPackageType(specParamsProvisionPackageType *string) *ClusterDownloadClusterParams { - o.SetSpecParamsProvisionPackageType(specParamsProvisionPackageType) - return o -} - -// SetSpecParamsProvisionPackageType adds the specParamsProvisionPackageType to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecParamsProvisionPackageType(specParamsProvisionPackageType *string) { - o.SpecParamsProvisionPackageType = specParamsProvisionPackageType -} - -// WithSpecParamsProvisionType adds the specParamsProvisionType to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecParamsProvisionType(specParamsProvisionType *string) *ClusterDownloadClusterParams { - o.SetSpecParamsProvisionType(specParamsProvisionType) - return o -} - -// SetSpecParamsProvisionType adds the specParamsProvisionType to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecParamsProvisionType(specParamsProvisionType *string) { - o.SpecParamsProvisionType = specParamsProvisionType -} - -// WithSpecParamsState adds the specParamsState to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecParamsState(specParamsState *string) *ClusterDownloadClusterParams { - o.SetSpecParamsState(specParamsState) - return o -} - -// SetSpecParamsState adds the specParamsState to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecParamsState(specParamsState *string) { - o.SpecParamsState = specParamsState -} - -// WithSpecProxyConfigAllowInsecureBootstrap adds the specProxyConfigAllowInsecureBootstrap to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap *bool) *ClusterDownloadClusterParams { - o.SetSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap) - return o -} - -// SetSpecProxyConfigAllowInsecureBootstrap adds the specProxyConfigAllowInsecureBootstrap to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap *bool) { - o.SpecProxyConfigAllowInsecureBootstrap = specProxyConfigAllowInsecureBootstrap -} - -// WithSpecProxyConfigBootstrapCA adds the specProxyConfigBootstrapCA to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA *string) *ClusterDownloadClusterParams { - o.SetSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA) - return o -} - -// SetSpecProxyConfigBootstrapCA adds the specProxyConfigBootstrapCA to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA *string) { - o.SpecProxyConfigBootstrapCA = specProxyConfigBootstrapCA -} - -// WithSpecProxyConfigEnabled adds the specProxyConfigEnabled to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecProxyConfigEnabled(specProxyConfigEnabled *bool) *ClusterDownloadClusterParams { - o.SetSpecProxyConfigEnabled(specProxyConfigEnabled) - return o -} - -// SetSpecProxyConfigEnabled adds the specProxyConfigEnabled to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecProxyConfigEnabled(specProxyConfigEnabled *bool) { - o.SpecProxyConfigEnabled = specProxyConfigEnabled -} - -// WithSpecProxyConfigHTTPProxy adds the specProxyConfigHTTPProxy to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy *string) *ClusterDownloadClusterParams { - o.SetSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy) - return o -} - -// SetSpecProxyConfigHTTPProxy adds the specProxyConfigHttpProxy to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy *string) { - o.SpecProxyConfigHTTPProxy = specProxyConfigHTTPProxy -} - -// WithSpecProxyConfigHTTPSProxy adds the specProxyConfigHTTPSProxy to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy *string) *ClusterDownloadClusterParams { - o.SetSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy) - return o -} - -// SetSpecProxyConfigHTTPSProxy adds the specProxyConfigHttpsProxy to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy *string) { - o.SpecProxyConfigHTTPSProxy = specProxyConfigHTTPSProxy -} - -// WithSpecProxyConfigNoProxy adds the specProxyConfigNoProxy to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecProxyConfigNoProxy(specProxyConfigNoProxy *string) *ClusterDownloadClusterParams { - o.SetSpecProxyConfigNoProxy(specProxyConfigNoProxy) - return o -} - -// SetSpecProxyConfigNoProxy adds the specProxyConfigNoProxy to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecProxyConfigNoProxy(specProxyConfigNoProxy *string) { - o.SpecProxyConfigNoProxy = specProxyConfigNoProxy -} - -// WithSpecProxyConfigProxyAuth adds the specProxyConfigProxyAuth to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecProxyConfigProxyAuth(specProxyConfigProxyAuth *string) *ClusterDownloadClusterParams { - o.SetSpecProxyConfigProxyAuth(specProxyConfigProxyAuth) - return o -} - -// SetSpecProxyConfigProxyAuth adds the specProxyConfigProxyAuth to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecProxyConfigProxyAuth(specProxyConfigProxyAuth *string) { - o.SpecProxyConfigProxyAuth = specProxyConfigProxyAuth -} - -// WithSpecShareMode adds the specShareMode to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithSpecShareMode(specShareMode *string) *ClusterDownloadClusterParams { - o.SetSpecShareMode(specShareMode) - return o -} - -// SetSpecShareMode adds the specShareMode to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetSpecShareMode(specShareMode *string) { - o.SpecShareMode = specShareMode -} - -// WithStatusConditionStatus adds the statusConditionStatus to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithStatusConditionStatus(statusConditionStatus *string) *ClusterDownloadClusterParams { - o.SetStatusConditionStatus(statusConditionStatus) - return o -} - -// SetStatusConditionStatus adds the statusConditionStatus to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetStatusConditionStatus(statusConditionStatus *string) { - o.StatusConditionStatus = statusConditionStatus -} - -// WithStatusConditionType adds the statusConditionType to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithStatusConditionType(statusConditionType *string) *ClusterDownloadClusterParams { - o.SetStatusConditionType(statusConditionType) - return o -} - -// SetStatusConditionType adds the statusConditionType to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetStatusConditionType(statusConditionType *string) { - o.StatusConditionType = statusConditionType -} - -// WithStatusLastUpdated adds the statusLastUpdated to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithStatusLastUpdated(statusLastUpdated *strfmt.DateTime) *ClusterDownloadClusterParams { - o.SetStatusLastUpdated(statusLastUpdated) - return o -} - -// SetStatusLastUpdated adds the statusLastUpdated to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetStatusLastUpdated(statusLastUpdated *strfmt.DateTime) { - o.StatusLastUpdated = statusLastUpdated -} - -// WithStatusReason adds the statusReason to the cluster download cluster params -func (o *ClusterDownloadClusterParams) WithStatusReason(statusReason *string) *ClusterDownloadClusterParams { - o.SetStatusReason(statusReason) - return o -} - -// SetStatusReason adds the statusReason to the cluster download cluster params -func (o *ClusterDownloadClusterParams) SetStatusReason(statusReason *string) { - o.StatusReason = statusReason -} - -// WriteToRequest writes these params to a swagger request -func (o *ClusterDownloadClusterParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.APIVersion != nil { - - // query param apiVersion - var qrAPIVersion string - - if o.APIVersion != nil { - qrAPIVersion = *o.APIVersion - } - qAPIVersion := qrAPIVersion - if qAPIVersion != "" { - - if err := r.SetQueryParam("apiVersion", qAPIVersion); err != nil { - return err - } - } - } - - if o.Kind != nil { - - // query param kind - var qrKind string - - if o.Kind != nil { - qrKind = *o.Kind - } - qKind := qrKind - if qKind != "" { - - if err := r.SetQueryParam("kind", qKind); err != nil { - return err - } - } - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if o.SpecClusterDataArecord != nil { - - // query param spec.clusterData.arecord - var qrSpecClusterDataArecord string - - if o.SpecClusterDataArecord != nil { - qrSpecClusterDataArecord = *o.SpecClusterDataArecord - } - qSpecClusterDataArecord := qrSpecClusterDataArecord - if qSpecClusterDataArecord != "" { - - if err := r.SetQueryParam("spec.clusterData.arecord", qSpecClusterDataArecord); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterBlueprint != nil { - - // query param spec.clusterData.clusterBlueprint - var qrSpecClusterDataClusterBlueprint string - - if o.SpecClusterDataClusterBlueprint != nil { - qrSpecClusterDataClusterBlueprint = *o.SpecClusterDataClusterBlueprint - } - qSpecClusterDataClusterBlueprint := qrSpecClusterDataClusterBlueprint - if qSpecClusterDataClusterBlueprint != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterBlueprint", qSpecClusterDataClusterBlueprint); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusAuxiliaryTaskCount != nil { - - // query param spec.clusterData.clusterStatus.auxiliaryTaskCount - var qrSpecClusterDataClusterStatusAuxiliaryTaskCount string - - if o.SpecClusterDataClusterStatusAuxiliaryTaskCount != nil { - qrSpecClusterDataClusterStatusAuxiliaryTaskCount = *o.SpecClusterDataClusterStatusAuxiliaryTaskCount - } - qSpecClusterDataClusterStatusAuxiliaryTaskCount := qrSpecClusterDataClusterStatusAuxiliaryTaskCount - if qSpecClusterDataClusterStatusAuxiliaryTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.auxiliaryTaskCount", qSpecClusterDataClusterStatusAuxiliaryTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusCustomTaskCount != nil { - - // query param spec.clusterData.clusterStatus.customTaskCount - var qrSpecClusterDataClusterStatusCustomTaskCount string - - if o.SpecClusterDataClusterStatusCustomTaskCount != nil { - qrSpecClusterDataClusterStatusCustomTaskCount = *o.SpecClusterDataClusterStatusCustomTaskCount - } - qSpecClusterDataClusterStatusCustomTaskCount := qrSpecClusterDataClusterStatusCustomTaskCount - if qSpecClusterDataClusterStatusCustomTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.customTaskCount", qSpecClusterDataClusterStatusCustomTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusPublishedBlueprint != nil { - - // query param spec.clusterData.clusterStatus.publishedBlueprint - var qrSpecClusterDataClusterStatusPublishedBlueprint string - - if o.SpecClusterDataClusterStatusPublishedBlueprint != nil { - qrSpecClusterDataClusterStatusPublishedBlueprint = *o.SpecClusterDataClusterStatusPublishedBlueprint - } - qSpecClusterDataClusterStatusPublishedBlueprint := qrSpecClusterDataClusterStatusPublishedBlueprint - if qSpecClusterDataClusterStatusPublishedBlueprint != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.publishedBlueprint", qSpecClusterDataClusterStatusPublishedBlueprint); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusSystemTaskCount != nil { - - // query param spec.clusterData.clusterStatus.systemTaskCount - var qrSpecClusterDataClusterStatusSystemTaskCount string - - if o.SpecClusterDataClusterStatusSystemTaskCount != nil { - qrSpecClusterDataClusterStatusSystemTaskCount = *o.SpecClusterDataClusterStatusSystemTaskCount - } - qSpecClusterDataClusterStatusSystemTaskCount := qrSpecClusterDataClusterStatusSystemTaskCount - if qSpecClusterDataClusterStatusSystemTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.systemTaskCount", qSpecClusterDataClusterStatusSystemTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusToken != nil { - - // query param spec.clusterData.clusterStatus.token - var qrSpecClusterDataClusterStatusToken string - - if o.SpecClusterDataClusterStatusToken != nil { - qrSpecClusterDataClusterStatusToken = *o.SpecClusterDataClusterStatusToken - } - qSpecClusterDataClusterStatusToken := qrSpecClusterDataClusterStatusToken - if qSpecClusterDataClusterStatusToken != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.token", qSpecClusterDataClusterStatusToken); err != nil { - return err - } - } - } - - if o.SpecClusterDataCname != nil { - - // query param spec.clusterData.cname - var qrSpecClusterDataCname string - - if o.SpecClusterDataCname != nil { - qrSpecClusterDataCname = *o.SpecClusterDataCname - } - qSpecClusterDataCname := qrSpecClusterDataCname - if qSpecClusterDataCname != "" { - - if err := r.SetQueryParam("spec.clusterData.cname", qSpecClusterDataCname); err != nil { - return err - } - } - } - - if o.SpecClusterDataDisplayName != nil { - - // query param spec.clusterData.displayName - var qrSpecClusterDataDisplayName string - - if o.SpecClusterDataDisplayName != nil { - qrSpecClusterDataDisplayName = *o.SpecClusterDataDisplayName - } - qSpecClusterDataDisplayName := qrSpecClusterDataDisplayName - if qSpecClusterDataDisplayName != "" { - - if err := r.SetQueryParam("spec.clusterData.displayName", qSpecClusterDataDisplayName); err != nil { - return err - } - } - } - - if o.SpecClusterDataHealth != nil { - - // query param spec.clusterData.health - var qrSpecClusterDataHealth string - - if o.SpecClusterDataHealth != nil { - qrSpecClusterDataHealth = *o.SpecClusterDataHealth - } - qSpecClusterDataHealth := qrSpecClusterDataHealth - if qSpecClusterDataHealth != "" { - - if err := r.SetQueryParam("spec.clusterData.health", qSpecClusterDataHealth); err != nil { - return err - } - } - } - - if o.SpecClusterDataManufacturer != nil { - - // query param spec.clusterData.manufacturer - var qrSpecClusterDataManufacturer string - - if o.SpecClusterDataManufacturer != nil { - qrSpecClusterDataManufacturer = *o.SpecClusterDataManufacturer - } - qSpecClusterDataManufacturer := qrSpecClusterDataManufacturer - if qSpecClusterDataManufacturer != "" { - - if err := r.SetQueryParam("spec.clusterData.manufacturer", qSpecClusterDataManufacturer); err != nil { - return err - } - } - } - - if o.SpecClusterDataPassphrase != nil { - - // query param spec.clusterData.passphrase - var qrSpecClusterDataPassphrase string - - if o.SpecClusterDataPassphrase != nil { - qrSpecClusterDataPassphrase = *o.SpecClusterDataPassphrase - } - qSpecClusterDataPassphrase := qrSpecClusterDataPassphrase - if qSpecClusterDataPassphrase != "" { - - if err := r.SetQueryParam("spec.clusterData.passphrase", qSpecClusterDataPassphrase); err != nil { - return err - } - } - } - - if o.SpecClusterDataProvider != nil { - - // query param spec.clusterData.provider - var qrSpecClusterDataProvider string - - if o.SpecClusterDataProvider != nil { - qrSpecClusterDataProvider = *o.SpecClusterDataProvider - } - qSpecClusterDataProvider := qrSpecClusterDataProvider - if qSpecClusterDataProvider != "" { - - if err := r.SetQueryParam("spec.clusterData.provider", qSpecClusterDataProvider); err != nil { - return err - } - } - } - - if o.SpecClusterType != nil { - - // query param spec.clusterType - var qrSpecClusterType string - - if o.SpecClusterType != nil { - qrSpecClusterType = *o.SpecClusterType - } - qSpecClusterType := qrSpecClusterType - if qSpecClusterType != "" { - - if err := r.SetQueryParam("spec.clusterType", qSpecClusterType); err != nil { - return err - } - } - } - - if o.SpecMetroCity != nil { - - // query param spec.metro.city - var qrSpecMetroCity string - - if o.SpecMetroCity != nil { - qrSpecMetroCity = *o.SpecMetroCity - } - qSpecMetroCity := qrSpecMetroCity - if qSpecMetroCity != "" { - - if err := r.SetQueryParam("spec.metro.city", qSpecMetroCity); err != nil { - return err - } - } - } - - if o.SpecMetroCountry != nil { - - // query param spec.metro.country - var qrSpecMetroCountry string - - if o.SpecMetroCountry != nil { - qrSpecMetroCountry = *o.SpecMetroCountry - } - qSpecMetroCountry := qrSpecMetroCountry - if qSpecMetroCountry != "" { - - if err := r.SetQueryParam("spec.metro.country", qSpecMetroCountry); err != nil { - return err - } - } - } - - if o.SpecMetroCountryCode != nil { - - // query param spec.metro.countryCode - var qrSpecMetroCountryCode string - - if o.SpecMetroCountryCode != nil { - qrSpecMetroCountryCode = *o.SpecMetroCountryCode - } - qSpecMetroCountryCode := qrSpecMetroCountryCode - if qSpecMetroCountryCode != "" { - - if err := r.SetQueryParam("spec.metro.countryCode", qSpecMetroCountryCode); err != nil { - return err - } - } - } - - if o.SpecMetroID != nil { - - // query param spec.metro.id - var qrSpecMetroID string - - if o.SpecMetroID != nil { - qrSpecMetroID = *o.SpecMetroID - } - qSpecMetroID := qrSpecMetroID - if qSpecMetroID != "" { - - if err := r.SetQueryParam("spec.metro.id", qSpecMetroID); err != nil { - return err - } - } - } - - if o.SpecMetroLatitude != nil { - - // query param spec.metro.latitude - var qrSpecMetroLatitude string - - if o.SpecMetroLatitude != nil { - qrSpecMetroLatitude = *o.SpecMetroLatitude - } - qSpecMetroLatitude := qrSpecMetroLatitude - if qSpecMetroLatitude != "" { - - if err := r.SetQueryParam("spec.metro.latitude", qSpecMetroLatitude); err != nil { - return err - } - } - } - - if o.SpecMetroLocale != nil { - - // query param spec.metro.locale - var qrSpecMetroLocale string - - if o.SpecMetroLocale != nil { - qrSpecMetroLocale = *o.SpecMetroLocale - } - qSpecMetroLocale := qrSpecMetroLocale - if qSpecMetroLocale != "" { - - if err := r.SetQueryParam("spec.metro.locale", qSpecMetroLocale); err != nil { - return err - } - } - } - - if o.SpecMetroLongitude != nil { - - // query param spec.metro.longitude - var qrSpecMetroLongitude string - - if o.SpecMetroLongitude != nil { - qrSpecMetroLongitude = *o.SpecMetroLongitude - } - qSpecMetroLongitude := qrSpecMetroLongitude - if qSpecMetroLongitude != "" { - - if err := r.SetQueryParam("spec.metro.longitude", qSpecMetroLongitude); err != nil { - return err - } - } - } - - if o.SpecMetroName != nil { - - // query param spec.metro.name - var qrSpecMetroName string - - if o.SpecMetroName != nil { - qrSpecMetroName = *o.SpecMetroName - } - qSpecMetroName := qrSpecMetroName - if qSpecMetroName != "" { - - if err := r.SetQueryParam("spec.metro.name", qSpecMetroName); err != nil { - return err - } - } - } - - if o.SpecMetroState != nil { - - // query param spec.metro.state - var qrSpecMetroState string - - if o.SpecMetroState != nil { - qrSpecMetroState = *o.SpecMetroState - } - qSpecMetroState := qrSpecMetroState - if qSpecMetroState != "" { - - if err := r.SetQueryParam("spec.metro.state", qSpecMetroState); err != nil { - return err - } - } - } - - if o.SpecMetroStateCode != nil { - - // query param spec.metro.stateCode - var qrSpecMetroStateCode string - - if o.SpecMetroStateCode != nil { - qrSpecMetroStateCode = *o.SpecMetroStateCode - } - qSpecMetroStateCode := qrSpecMetroStateCode - if qSpecMetroStateCode != "" { - - if err := r.SetQueryParam("spec.metro.stateCode", qSpecMetroStateCode); err != nil { - return err - } - } - } - - if o.SpecOverrideSelector != nil { - - // query param spec.overrideSelector - var qrSpecOverrideSelector string - - if o.SpecOverrideSelector != nil { - qrSpecOverrideSelector = *o.SpecOverrideSelector - } - qSpecOverrideSelector := qrSpecOverrideSelector - if qSpecOverrideSelector != "" { - - if err := r.SetQueryParam("spec.overrideSelector", qSpecOverrideSelector); err != nil { - return err - } - } - } - - if o.SpecParamsEnvironmentProvider != nil { - - // query param spec.params.environmentProvider - var qrSpecParamsEnvironmentProvider string - - if o.SpecParamsEnvironmentProvider != nil { - qrSpecParamsEnvironmentProvider = *o.SpecParamsEnvironmentProvider - } - qSpecParamsEnvironmentProvider := qrSpecParamsEnvironmentProvider - if qSpecParamsEnvironmentProvider != "" { - - if err := r.SetQueryParam("spec.params.environmentProvider", qSpecParamsEnvironmentProvider); err != nil { - return err - } - } - } - - if o.SpecParamsKubernetesProvider != nil { - - // query param spec.params.kubernetesProvider - var qrSpecParamsKubernetesProvider string - - if o.SpecParamsKubernetesProvider != nil { - qrSpecParamsKubernetesProvider = *o.SpecParamsKubernetesProvider - } - qSpecParamsKubernetesProvider := qrSpecParamsKubernetesProvider - if qSpecParamsKubernetesProvider != "" { - - if err := r.SetQueryParam("spec.params.kubernetesProvider", qSpecParamsKubernetesProvider); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionEnvironment != nil { - - // query param spec.params.provisionEnvironment - var qrSpecParamsProvisionEnvironment string - - if o.SpecParamsProvisionEnvironment != nil { - qrSpecParamsProvisionEnvironment = *o.SpecParamsProvisionEnvironment - } - qSpecParamsProvisionEnvironment := qrSpecParamsProvisionEnvironment - if qSpecParamsProvisionEnvironment != "" { - - if err := r.SetQueryParam("spec.params.provisionEnvironment", qSpecParamsProvisionEnvironment); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionPackageType != nil { - - // query param spec.params.provisionPackageType - var qrSpecParamsProvisionPackageType string - - if o.SpecParamsProvisionPackageType != nil { - qrSpecParamsProvisionPackageType = *o.SpecParamsProvisionPackageType - } - qSpecParamsProvisionPackageType := qrSpecParamsProvisionPackageType - if qSpecParamsProvisionPackageType != "" { - - if err := r.SetQueryParam("spec.params.provisionPackageType", qSpecParamsProvisionPackageType); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionType != nil { - - // query param spec.params.provisionType - var qrSpecParamsProvisionType string - - if o.SpecParamsProvisionType != nil { - qrSpecParamsProvisionType = *o.SpecParamsProvisionType - } - qSpecParamsProvisionType := qrSpecParamsProvisionType - if qSpecParamsProvisionType != "" { - - if err := r.SetQueryParam("spec.params.provisionType", qSpecParamsProvisionType); err != nil { - return err - } - } - } - - if o.SpecParamsState != nil { - - // query param spec.params.state - var qrSpecParamsState string - - if o.SpecParamsState != nil { - qrSpecParamsState = *o.SpecParamsState - } - qSpecParamsState := qrSpecParamsState - if qSpecParamsState != "" { - - if err := r.SetQueryParam("spec.params.state", qSpecParamsState); err != nil { - return err - } - } - } - - if o.SpecProxyConfigAllowInsecureBootstrap != nil { - - // query param spec.proxyConfig.allowInsecureBootstrap - var qrSpecProxyConfigAllowInsecureBootstrap bool - - if o.SpecProxyConfigAllowInsecureBootstrap != nil { - qrSpecProxyConfigAllowInsecureBootstrap = *o.SpecProxyConfigAllowInsecureBootstrap - } - qSpecProxyConfigAllowInsecureBootstrap := swag.FormatBool(qrSpecProxyConfigAllowInsecureBootstrap) - if qSpecProxyConfigAllowInsecureBootstrap != "" { - - if err := r.SetQueryParam("spec.proxyConfig.allowInsecureBootstrap", qSpecProxyConfigAllowInsecureBootstrap); err != nil { - return err - } - } - } - - if o.SpecProxyConfigBootstrapCA != nil { - - // query param spec.proxyConfig.bootstrapCA - var qrSpecProxyConfigBootstrapCA string - - if o.SpecProxyConfigBootstrapCA != nil { - qrSpecProxyConfigBootstrapCA = *o.SpecProxyConfigBootstrapCA - } - qSpecProxyConfigBootstrapCA := qrSpecProxyConfigBootstrapCA - if qSpecProxyConfigBootstrapCA != "" { - - if err := r.SetQueryParam("spec.proxyConfig.bootstrapCA", qSpecProxyConfigBootstrapCA); err != nil { - return err - } - } - } - - if o.SpecProxyConfigEnabled != nil { - - // query param spec.proxyConfig.enabled - var qrSpecProxyConfigEnabled bool - - if o.SpecProxyConfigEnabled != nil { - qrSpecProxyConfigEnabled = *o.SpecProxyConfigEnabled - } - qSpecProxyConfigEnabled := swag.FormatBool(qrSpecProxyConfigEnabled) - if qSpecProxyConfigEnabled != "" { - - if err := r.SetQueryParam("spec.proxyConfig.enabled", qSpecProxyConfigEnabled); err != nil { - return err - } - } - } - - if o.SpecProxyConfigHTTPProxy != nil { - - // query param spec.proxyConfig.httpProxy - var qrSpecProxyConfigHTTPProxy string - - if o.SpecProxyConfigHTTPProxy != nil { - qrSpecProxyConfigHTTPProxy = *o.SpecProxyConfigHTTPProxy - } - qSpecProxyConfigHTTPProxy := qrSpecProxyConfigHTTPProxy - if qSpecProxyConfigHTTPProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.httpProxy", qSpecProxyConfigHTTPProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigHTTPSProxy != nil { - - // query param spec.proxyConfig.httpsProxy - var qrSpecProxyConfigHTTPSProxy string - - if o.SpecProxyConfigHTTPSProxy != nil { - qrSpecProxyConfigHTTPSProxy = *o.SpecProxyConfigHTTPSProxy - } - qSpecProxyConfigHTTPSProxy := qrSpecProxyConfigHTTPSProxy - if qSpecProxyConfigHTTPSProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.httpsProxy", qSpecProxyConfigHTTPSProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigNoProxy != nil { - - // query param spec.proxyConfig.noProxy - var qrSpecProxyConfigNoProxy string - - if o.SpecProxyConfigNoProxy != nil { - qrSpecProxyConfigNoProxy = *o.SpecProxyConfigNoProxy - } - qSpecProxyConfigNoProxy := qrSpecProxyConfigNoProxy - if qSpecProxyConfigNoProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.noProxy", qSpecProxyConfigNoProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigProxyAuth != nil { - - // query param spec.proxyConfig.proxyAuth - var qrSpecProxyConfigProxyAuth string - - if o.SpecProxyConfigProxyAuth != nil { - qrSpecProxyConfigProxyAuth = *o.SpecProxyConfigProxyAuth - } - qSpecProxyConfigProxyAuth := qrSpecProxyConfigProxyAuth - if qSpecProxyConfigProxyAuth != "" { - - if err := r.SetQueryParam("spec.proxyConfig.proxyAuth", qSpecProxyConfigProxyAuth); err != nil { - return err - } - } - } - - if o.SpecShareMode != nil { - - // query param spec.shareMode - var qrSpecShareMode string - - if o.SpecShareMode != nil { - qrSpecShareMode = *o.SpecShareMode - } - qSpecShareMode := qrSpecShareMode - if qSpecShareMode != "" { - - if err := r.SetQueryParam("spec.shareMode", qSpecShareMode); err != nil { - return err - } - } - } - - if o.StatusConditionStatus != nil { - - // query param status.conditionStatus - var qrStatusConditionStatus string - - if o.StatusConditionStatus != nil { - qrStatusConditionStatus = *o.StatusConditionStatus - } - qStatusConditionStatus := qrStatusConditionStatus - if qStatusConditionStatus != "" { - - if err := r.SetQueryParam("status.conditionStatus", qStatusConditionStatus); err != nil { - return err - } - } - } - - if o.StatusConditionType != nil { - - // query param status.conditionType - var qrStatusConditionType string - - if o.StatusConditionType != nil { - qrStatusConditionType = *o.StatusConditionType - } - qStatusConditionType := qrStatusConditionType - if qStatusConditionType != "" { - - if err := r.SetQueryParam("status.conditionType", qStatusConditionType); err != nil { - return err - } - } - } - - if o.StatusLastUpdated != nil { - - // query param status.lastUpdated - var qrStatusLastUpdated strfmt.DateTime - - if o.StatusLastUpdated != nil { - qrStatusLastUpdated = *o.StatusLastUpdated - } - qStatusLastUpdated := qrStatusLastUpdated.String() - if qStatusLastUpdated != "" { - - if err := r.SetQueryParam("status.lastUpdated", qStatusLastUpdated); err != nil { - return err - } - } - } - - if o.StatusReason != nil { - - // query param status.reason - var qrStatusReason string - - if o.StatusReason != nil { - qrStatusReason = *o.StatusReason - } - qStatusReason := qrStatusReason - if qStatusReason != "" { - - if err := r.SetQueryParam("status.reason", qStatusReason); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_download_cluster_responses.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_download_cluster_responses.go deleted file mode 100644 index 367a7c2..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_download_cluster_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// ClusterDownloadClusterReader is a Reader for the ClusterDownloadCluster structure. -type ClusterDownloadClusterReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *ClusterDownloadClusterReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewClusterDownloadClusterOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewClusterDownloadClusterForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewClusterDownloadClusterNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewClusterDownloadClusterDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewClusterDownloadClusterOK creates a ClusterDownloadClusterOK with default headers values -func NewClusterDownloadClusterOK() *ClusterDownloadClusterOK { - return &ClusterDownloadClusterOK{} -} - -/* ClusterDownloadClusterOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type ClusterDownloadClusterOK struct { - Payload *models.V3HTTPBody -} - -func (o *ClusterDownloadClusterOK) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{metadata.project}/cluster/{metadata.name}/download][%d] clusterDownloadClusterOK %+v", 200, o.Payload) -} -func (o *ClusterDownloadClusterOK) GetPayload() *models.V3HTTPBody { - return o.Payload -} - -func (o *ClusterDownloadClusterOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.V3HTTPBody) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterDownloadClusterForbidden creates a ClusterDownloadClusterForbidden with default headers values -func NewClusterDownloadClusterForbidden() *ClusterDownloadClusterForbidden { - return &ClusterDownloadClusterForbidden{} -} - -/* ClusterDownloadClusterForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type ClusterDownloadClusterForbidden struct { - Payload interface{} -} - -func (o *ClusterDownloadClusterForbidden) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{metadata.project}/cluster/{metadata.name}/download][%d] clusterDownloadClusterForbidden %+v", 403, o.Payload) -} -func (o *ClusterDownloadClusterForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterDownloadClusterForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterDownloadClusterNotFound creates a ClusterDownloadClusterNotFound with default headers values -func NewClusterDownloadClusterNotFound() *ClusterDownloadClusterNotFound { - return &ClusterDownloadClusterNotFound{} -} - -/* ClusterDownloadClusterNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type ClusterDownloadClusterNotFound struct { - Payload string -} - -func (o *ClusterDownloadClusterNotFound) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{metadata.project}/cluster/{metadata.name}/download][%d] clusterDownloadClusterNotFound %+v", 404, o.Payload) -} -func (o *ClusterDownloadClusterNotFound) GetPayload() string { - return o.Payload -} - -func (o *ClusterDownloadClusterNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterDownloadClusterDefault creates a ClusterDownloadClusterDefault with default headers values -func NewClusterDownloadClusterDefault(code int) *ClusterDownloadClusterDefault { - return &ClusterDownloadClusterDefault{ - _statusCode: code, - } -} - -/* ClusterDownloadClusterDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type ClusterDownloadClusterDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the cluster download cluster default response -func (o *ClusterDownloadClusterDefault) Code() int { - return o._statusCode -} - -func (o *ClusterDownloadClusterDefault) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{metadata.project}/cluster/{metadata.name}/download][%d] Cluster_DownloadCluster default %+v", o._statusCode, o.Payload) -} -func (o *ClusterDownloadClusterDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *ClusterDownloadClusterDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_get_cluster_parameters.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_get_cluster_parameters.go deleted file mode 100644 index 0991ee1..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_get_cluster_parameters.go +++ /dev/null @@ -1,1914 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewClusterGetClusterParams creates a new ClusterGetClusterParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewClusterGetClusterParams() *ClusterGetClusterParams { - return &ClusterGetClusterParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewClusterGetClusterParamsWithTimeout creates a new ClusterGetClusterParams object -// with the ability to set a timeout on a request. -func NewClusterGetClusterParamsWithTimeout(timeout time.Duration) *ClusterGetClusterParams { - return &ClusterGetClusterParams{ - timeout: timeout, - } -} - -// NewClusterGetClusterParamsWithContext creates a new ClusterGetClusterParams object -// with the ability to set a context for a request. -func NewClusterGetClusterParamsWithContext(ctx context.Context) *ClusterGetClusterParams { - return &ClusterGetClusterParams{ - Context: ctx, - } -} - -// NewClusterGetClusterParamsWithHTTPClient creates a new ClusterGetClusterParams object -// with the ability to set a custom HTTPClient for a request. -func NewClusterGetClusterParamsWithHTTPClient(client *http.Client) *ClusterGetClusterParams { - return &ClusterGetClusterParams{ - HTTPClient: client, - } -} - -/* ClusterGetClusterParams contains all the parameters to send to the API endpoint - for the cluster get cluster operation. - - Typically these are written to a http.Request. -*/ -type ClusterGetClusterParams struct { - - /* APIVersion. - - API Version. API Version of the resource - - Default: "infra.k8smgmt.io/v3" - */ - APIVersion *string - - /* Kind. - - Kind. Kind of the resource - - Default: "Cluster" - */ - Kind *string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - /* SpecClusterDataArecord. - - DNS A Record. Entry for DNS A Record - */ - SpecClusterDataArecord *string - - /* SpecClusterDataClusterBlueprint. - - ClusterBlueprint. Cluster Blueprint - */ - SpecClusterDataClusterBlueprint *string - - /* SpecClusterDataClusterStatusAuxiliaryTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusAuxiliaryTaskCount *string - - /* SpecClusterDataClusterStatusCustomTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusCustomTaskCount *string - - /* SpecClusterDataClusterStatusPublishedBlueprint. - - Cluster Information. Override selector of the cluster - */ - SpecClusterDataClusterStatusPublishedBlueprint *string - - /* SpecClusterDataClusterStatusSystemTaskCount. - - Cluster Information. Override selector of the cluster - - Format: int64 - */ - SpecClusterDataClusterStatusSystemTaskCount *string - - /* SpecClusterDataClusterStatusToken. - - Cluster Information. Override selector of the cluster - */ - SpecClusterDataClusterStatusToken *string - - /* SpecClusterDataCname. - - CNAME. cname of the cluster - */ - SpecClusterDataCname *string - - /* SpecClusterDataDisplayName. - - Display Name. Display Name - */ - SpecClusterDataDisplayName *string - - /* SpecClusterDataHealth. - - Health. Health - - Default: "EDGE_IGNORE" - */ - SpecClusterDataHealth *string - - /* SpecClusterDataManufacturer. - - Manufacturer. Manufacturer - */ - SpecClusterDataManufacturer *string - - /* SpecClusterDataPassphrase. - - Passphrase. passphrase of the cluster - */ - SpecClusterDataPassphrase *string - - /* SpecClusterDataProvider. - - Provider. Provider - */ - SpecClusterDataProvider *string - - /* SpecClusterType. - - Cluster Type. Type of the cluster being created - - Default: "Imported" - */ - SpecClusterType *string - - /* SpecMetroCity. - - City. City of the location - */ - SpecMetroCity *string - - /* SpecMetroCountry. - - Country. country of the location - */ - SpecMetroCountry *string - - /* SpecMetroCountryCode. - - CountryCode. CountryCode of the location - */ - SpecMetroCountryCode *string - - /* SpecMetroID. - - ID of Location. ID Location of the cluster - */ - SpecMetroID *string - - /* SpecMetroLatitude. - - Latitude. Latitude of the location - */ - SpecMetroLatitude *string - - /* SpecMetroLocale. - - Locale. locale of the location - */ - SpecMetroLocale *string - - /* SpecMetroLongitude. - - Longitude. Longitude of the location - */ - SpecMetroLongitude *string - - /* SpecMetroName. - - Location. Location of the cluster - */ - SpecMetroName *string - - /* SpecMetroState. - - State. State of the location - */ - SpecMetroState *string - - /* SpecMetroStateCode. - - StateCode. StateCode of the location - */ - SpecMetroStateCode *string - - /* SpecOverrideSelector. - - Override Selector. Override selector of the cluster - */ - SpecOverrideSelector *string - - /* SpecParamsEnvironmentProvider. - - EnvironmentProvider. environment provider of the cluster - */ - SpecParamsEnvironmentProvider *string - - /* SpecParamsKubernetesProvider. - - KubernetesProvider. kubernetes provider - */ - SpecParamsKubernetesProvider *string - - /* SpecParamsProvisionEnvironment. - - ProvisionEnvironment. provision environment - */ - SpecParamsProvisionEnvironment *string - - /* SpecParamsProvisionPackageType. - - ProvisionPackageType. provision package type - */ - SpecParamsProvisionPackageType *string - - /* SpecParamsProvisionType. - - ProvisionType. provision type - */ - SpecParamsProvisionType *string - - /* SpecParamsState. - - State. state - */ - SpecParamsState *string - - /* SpecProxyConfigAllowInsecureBootstrap. - - AllowInsecureBootstrap. Allow insecure bootstrap - */ - SpecProxyConfigAllowInsecureBootstrap *bool - - /* SpecProxyConfigBootstrapCA. - - BootstrapCA. Certificate Authority of bootstrap server - */ - SpecProxyConfigBootstrapCA *string - - /* SpecProxyConfigEnabled. - - Enabled. enabled - */ - SpecProxyConfigEnabled *bool - - /* SpecProxyConfigHTTPProxy. - - HttpProxy. http proxy - */ - SpecProxyConfigHTTPProxy *string - - /* SpecProxyConfigHTTPSProxy. - - HttpsProxy. https proxy - */ - SpecProxyConfigHTTPSProxy *string - - /* SpecProxyConfigNoProxy. - - noproxy. noproxy - */ - SpecProxyConfigNoProxy *string - - /* SpecProxyConfigProxyAuth. - - ProxyAuth. proxy auth - */ - SpecProxyConfigProxyAuth *string - - /* SpecShareMode. - - Override Selector. Override selector of the cluster - - Default: "ClusterShareModeNotSet" - */ - SpecShareMode *string - - /* StatusConditionStatus. - - Condition Status. status of the condition - - Default: "StatusNotSet" - */ - StatusConditionStatus *string - - /* StatusConditionType. - - Condition Type. type of the status condition - */ - StatusConditionType *string - - /* StatusLastUpdated. - - Last Updated. when the condition status is last updated - - Format: date-time - */ - StatusLastUpdated *strfmt.DateTime - - /* StatusReason. - - Reason. reason of the last condition status - */ - StatusReason *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the cluster get cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterGetClusterParams) WithDefaults() *ClusterGetClusterParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the cluster get cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterGetClusterParams) SetDefaults() { - var ( - aPIVersionDefault = string("infra.k8smgmt.io/v3") - - kindDefault = string("Cluster") - - specClusterDataHealthDefault = string("EDGE_IGNORE") - - specClusterTypeDefault = string("Imported") - - specShareModeDefault = string("ClusterShareModeNotSet") - - statusConditionStatusDefault = string("StatusNotSet") - ) - - val := ClusterGetClusterParams{ - APIVersion: &aPIVersionDefault, - Kind: &kindDefault, - SpecClusterDataHealth: &specClusterDataHealthDefault, - SpecClusterType: &specClusterTypeDefault, - SpecShareMode: &specShareModeDefault, - StatusConditionStatus: &statusConditionStatusDefault, - } - - val.timeout = o.timeout - val.Context = o.Context - val.HTTPClient = o.HTTPClient - *o = val -} - -// WithTimeout adds the timeout to the cluster get cluster params -func (o *ClusterGetClusterParams) WithTimeout(timeout time.Duration) *ClusterGetClusterParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the cluster get cluster params -func (o *ClusterGetClusterParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the cluster get cluster params -func (o *ClusterGetClusterParams) WithContext(ctx context.Context) *ClusterGetClusterParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the cluster get cluster params -func (o *ClusterGetClusterParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the cluster get cluster params -func (o *ClusterGetClusterParams) WithHTTPClient(client *http.Client) *ClusterGetClusterParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the cluster get cluster params -func (o *ClusterGetClusterParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithAPIVersion adds the aPIVersion to the cluster get cluster params -func (o *ClusterGetClusterParams) WithAPIVersion(aPIVersion *string) *ClusterGetClusterParams { - o.SetAPIVersion(aPIVersion) - return o -} - -// SetAPIVersion adds the apiVersion to the cluster get cluster params -func (o *ClusterGetClusterParams) SetAPIVersion(aPIVersion *string) { - o.APIVersion = aPIVersion -} - -// WithKind adds the kind to the cluster get cluster params -func (o *ClusterGetClusterParams) WithKind(kind *string) *ClusterGetClusterParams { - o.SetKind(kind) - return o -} - -// SetKind adds the kind to the cluster get cluster params -func (o *ClusterGetClusterParams) SetKind(kind *string) { - o.Kind = kind -} - -// WithMetadataDescription adds the metadataDescription to the cluster get cluster params -func (o *ClusterGetClusterParams) WithMetadataDescription(metadataDescription *string) *ClusterGetClusterParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the cluster get cluster params -func (o *ClusterGetClusterParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the cluster get cluster params -func (o *ClusterGetClusterParams) WithMetadataID(metadataID *string) *ClusterGetClusterParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the cluster get cluster params -func (o *ClusterGetClusterParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the cluster get cluster params -func (o *ClusterGetClusterParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *ClusterGetClusterParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the cluster get cluster params -func (o *ClusterGetClusterParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the cluster get cluster params -func (o *ClusterGetClusterParams) WithMetadataName(metadataName string) *ClusterGetClusterParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the cluster get cluster params -func (o *ClusterGetClusterParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the cluster get cluster params -func (o *ClusterGetClusterParams) WithMetadataOrganization(metadataOrganization *string) *ClusterGetClusterParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the cluster get cluster params -func (o *ClusterGetClusterParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the cluster get cluster params -func (o *ClusterGetClusterParams) WithMetadataPartner(metadataPartner *string) *ClusterGetClusterParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the cluster get cluster params -func (o *ClusterGetClusterParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the cluster get cluster params -func (o *ClusterGetClusterParams) WithMetadataProject(metadataProject string) *ClusterGetClusterParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the cluster get cluster params -func (o *ClusterGetClusterParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WithSpecClusterDataArecord adds the specClusterDataArecord to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataArecord(specClusterDataArecord *string) *ClusterGetClusterParams { - o.SetSpecClusterDataArecord(specClusterDataArecord) - return o -} - -// SetSpecClusterDataArecord adds the specClusterDataArecord to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataArecord(specClusterDataArecord *string) { - o.SpecClusterDataArecord = specClusterDataArecord -} - -// WithSpecClusterDataClusterBlueprint adds the specClusterDataClusterBlueprint to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint *string) *ClusterGetClusterParams { - o.SetSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint) - return o -} - -// SetSpecClusterDataClusterBlueprint adds the specClusterDataClusterBlueprint to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataClusterBlueprint(specClusterDataClusterBlueprint *string) { - o.SpecClusterDataClusterBlueprint = specClusterDataClusterBlueprint -} - -// WithSpecClusterDataClusterStatusAuxiliaryTaskCount adds the specClusterDataClusterStatusAuxiliaryTaskCount to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount *string) *ClusterGetClusterParams { - o.SetSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusAuxiliaryTaskCount adds the specClusterDataClusterStatusAuxiliaryTaskCount to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataClusterStatusAuxiliaryTaskCount(specClusterDataClusterStatusAuxiliaryTaskCount *string) { - o.SpecClusterDataClusterStatusAuxiliaryTaskCount = specClusterDataClusterStatusAuxiliaryTaskCount -} - -// WithSpecClusterDataClusterStatusCustomTaskCount adds the specClusterDataClusterStatusCustomTaskCount to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount *string) *ClusterGetClusterParams { - o.SetSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusCustomTaskCount adds the specClusterDataClusterStatusCustomTaskCount to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataClusterStatusCustomTaskCount(specClusterDataClusterStatusCustomTaskCount *string) { - o.SpecClusterDataClusterStatusCustomTaskCount = specClusterDataClusterStatusCustomTaskCount -} - -// WithSpecClusterDataClusterStatusPublishedBlueprint adds the specClusterDataClusterStatusPublishedBlueprint to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint *string) *ClusterGetClusterParams { - o.SetSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint) - return o -} - -// SetSpecClusterDataClusterStatusPublishedBlueprint adds the specClusterDataClusterStatusPublishedBlueprint to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataClusterStatusPublishedBlueprint(specClusterDataClusterStatusPublishedBlueprint *string) { - o.SpecClusterDataClusterStatusPublishedBlueprint = specClusterDataClusterStatusPublishedBlueprint -} - -// WithSpecClusterDataClusterStatusSystemTaskCount adds the specClusterDataClusterStatusSystemTaskCount to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount *string) *ClusterGetClusterParams { - o.SetSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount) - return o -} - -// SetSpecClusterDataClusterStatusSystemTaskCount adds the specClusterDataClusterStatusSystemTaskCount to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataClusterStatusSystemTaskCount(specClusterDataClusterStatusSystemTaskCount *string) { - o.SpecClusterDataClusterStatusSystemTaskCount = specClusterDataClusterStatusSystemTaskCount -} - -// WithSpecClusterDataClusterStatusToken adds the specClusterDataClusterStatusToken to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken *string) *ClusterGetClusterParams { - o.SetSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken) - return o -} - -// SetSpecClusterDataClusterStatusToken adds the specClusterDataClusterStatusToken to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataClusterStatusToken(specClusterDataClusterStatusToken *string) { - o.SpecClusterDataClusterStatusToken = specClusterDataClusterStatusToken -} - -// WithSpecClusterDataCname adds the specClusterDataCname to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataCname(specClusterDataCname *string) *ClusterGetClusterParams { - o.SetSpecClusterDataCname(specClusterDataCname) - return o -} - -// SetSpecClusterDataCname adds the specClusterDataCname to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataCname(specClusterDataCname *string) { - o.SpecClusterDataCname = specClusterDataCname -} - -// WithSpecClusterDataDisplayName adds the specClusterDataDisplayName to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataDisplayName(specClusterDataDisplayName *string) *ClusterGetClusterParams { - o.SetSpecClusterDataDisplayName(specClusterDataDisplayName) - return o -} - -// SetSpecClusterDataDisplayName adds the specClusterDataDisplayName to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataDisplayName(specClusterDataDisplayName *string) { - o.SpecClusterDataDisplayName = specClusterDataDisplayName -} - -// WithSpecClusterDataHealth adds the specClusterDataHealth to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataHealth(specClusterDataHealth *string) *ClusterGetClusterParams { - o.SetSpecClusterDataHealth(specClusterDataHealth) - return o -} - -// SetSpecClusterDataHealth adds the specClusterDataHealth to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataHealth(specClusterDataHealth *string) { - o.SpecClusterDataHealth = specClusterDataHealth -} - -// WithSpecClusterDataManufacturer adds the specClusterDataManufacturer to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataManufacturer(specClusterDataManufacturer *string) *ClusterGetClusterParams { - o.SetSpecClusterDataManufacturer(specClusterDataManufacturer) - return o -} - -// SetSpecClusterDataManufacturer adds the specClusterDataManufacturer to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataManufacturer(specClusterDataManufacturer *string) { - o.SpecClusterDataManufacturer = specClusterDataManufacturer -} - -// WithSpecClusterDataPassphrase adds the specClusterDataPassphrase to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataPassphrase(specClusterDataPassphrase *string) *ClusterGetClusterParams { - o.SetSpecClusterDataPassphrase(specClusterDataPassphrase) - return o -} - -// SetSpecClusterDataPassphrase adds the specClusterDataPassphrase to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataPassphrase(specClusterDataPassphrase *string) { - o.SpecClusterDataPassphrase = specClusterDataPassphrase -} - -// WithSpecClusterDataProvider adds the specClusterDataProvider to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterDataProvider(specClusterDataProvider *string) *ClusterGetClusterParams { - o.SetSpecClusterDataProvider(specClusterDataProvider) - return o -} - -// SetSpecClusterDataProvider adds the specClusterDataProvider to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterDataProvider(specClusterDataProvider *string) { - o.SpecClusterDataProvider = specClusterDataProvider -} - -// WithSpecClusterType adds the specClusterType to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecClusterType(specClusterType *string) *ClusterGetClusterParams { - o.SetSpecClusterType(specClusterType) - return o -} - -// SetSpecClusterType adds the specClusterType to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecClusterType(specClusterType *string) { - o.SpecClusterType = specClusterType -} - -// WithSpecMetroCity adds the specMetroCity to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroCity(specMetroCity *string) *ClusterGetClusterParams { - o.SetSpecMetroCity(specMetroCity) - return o -} - -// SetSpecMetroCity adds the specMetroCity to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroCity(specMetroCity *string) { - o.SpecMetroCity = specMetroCity -} - -// WithSpecMetroCountry adds the specMetroCountry to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroCountry(specMetroCountry *string) *ClusterGetClusterParams { - o.SetSpecMetroCountry(specMetroCountry) - return o -} - -// SetSpecMetroCountry adds the specMetroCountry to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroCountry(specMetroCountry *string) { - o.SpecMetroCountry = specMetroCountry -} - -// WithSpecMetroCountryCode adds the specMetroCountryCode to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroCountryCode(specMetroCountryCode *string) *ClusterGetClusterParams { - o.SetSpecMetroCountryCode(specMetroCountryCode) - return o -} - -// SetSpecMetroCountryCode adds the specMetroCountryCode to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroCountryCode(specMetroCountryCode *string) { - o.SpecMetroCountryCode = specMetroCountryCode -} - -// WithSpecMetroID adds the specMetroID to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroID(specMetroID *string) *ClusterGetClusterParams { - o.SetSpecMetroID(specMetroID) - return o -} - -// SetSpecMetroID adds the specMetroId to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroID(specMetroID *string) { - o.SpecMetroID = specMetroID -} - -// WithSpecMetroLatitude adds the specMetroLatitude to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroLatitude(specMetroLatitude *string) *ClusterGetClusterParams { - o.SetSpecMetroLatitude(specMetroLatitude) - return o -} - -// SetSpecMetroLatitude adds the specMetroLatitude to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroLatitude(specMetroLatitude *string) { - o.SpecMetroLatitude = specMetroLatitude -} - -// WithSpecMetroLocale adds the specMetroLocale to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroLocale(specMetroLocale *string) *ClusterGetClusterParams { - o.SetSpecMetroLocale(specMetroLocale) - return o -} - -// SetSpecMetroLocale adds the specMetroLocale to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroLocale(specMetroLocale *string) { - o.SpecMetroLocale = specMetroLocale -} - -// WithSpecMetroLongitude adds the specMetroLongitude to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroLongitude(specMetroLongitude *string) *ClusterGetClusterParams { - o.SetSpecMetroLongitude(specMetroLongitude) - return o -} - -// SetSpecMetroLongitude adds the specMetroLongitude to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroLongitude(specMetroLongitude *string) { - o.SpecMetroLongitude = specMetroLongitude -} - -// WithSpecMetroName adds the specMetroName to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroName(specMetroName *string) *ClusterGetClusterParams { - o.SetSpecMetroName(specMetroName) - return o -} - -// SetSpecMetroName adds the specMetroName to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroName(specMetroName *string) { - o.SpecMetroName = specMetroName -} - -// WithSpecMetroState adds the specMetroState to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroState(specMetroState *string) *ClusterGetClusterParams { - o.SetSpecMetroState(specMetroState) - return o -} - -// SetSpecMetroState adds the specMetroState to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroState(specMetroState *string) { - o.SpecMetroState = specMetroState -} - -// WithSpecMetroStateCode adds the specMetroStateCode to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecMetroStateCode(specMetroStateCode *string) *ClusterGetClusterParams { - o.SetSpecMetroStateCode(specMetroStateCode) - return o -} - -// SetSpecMetroStateCode adds the specMetroStateCode to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecMetroStateCode(specMetroStateCode *string) { - o.SpecMetroStateCode = specMetroStateCode -} - -// WithSpecOverrideSelector adds the specOverrideSelector to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecOverrideSelector(specOverrideSelector *string) *ClusterGetClusterParams { - o.SetSpecOverrideSelector(specOverrideSelector) - return o -} - -// SetSpecOverrideSelector adds the specOverrideSelector to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecOverrideSelector(specOverrideSelector *string) { - o.SpecOverrideSelector = specOverrideSelector -} - -// WithSpecParamsEnvironmentProvider adds the specParamsEnvironmentProvider to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecParamsEnvironmentProvider(specParamsEnvironmentProvider *string) *ClusterGetClusterParams { - o.SetSpecParamsEnvironmentProvider(specParamsEnvironmentProvider) - return o -} - -// SetSpecParamsEnvironmentProvider adds the specParamsEnvironmentProvider to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecParamsEnvironmentProvider(specParamsEnvironmentProvider *string) { - o.SpecParamsEnvironmentProvider = specParamsEnvironmentProvider -} - -// WithSpecParamsKubernetesProvider adds the specParamsKubernetesProvider to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecParamsKubernetesProvider(specParamsKubernetesProvider *string) *ClusterGetClusterParams { - o.SetSpecParamsKubernetesProvider(specParamsKubernetesProvider) - return o -} - -// SetSpecParamsKubernetesProvider adds the specParamsKubernetesProvider to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecParamsKubernetesProvider(specParamsKubernetesProvider *string) { - o.SpecParamsKubernetesProvider = specParamsKubernetesProvider -} - -// WithSpecParamsProvisionEnvironment adds the specParamsProvisionEnvironment to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecParamsProvisionEnvironment(specParamsProvisionEnvironment *string) *ClusterGetClusterParams { - o.SetSpecParamsProvisionEnvironment(specParamsProvisionEnvironment) - return o -} - -// SetSpecParamsProvisionEnvironment adds the specParamsProvisionEnvironment to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecParamsProvisionEnvironment(specParamsProvisionEnvironment *string) { - o.SpecParamsProvisionEnvironment = specParamsProvisionEnvironment -} - -// WithSpecParamsProvisionPackageType adds the specParamsProvisionPackageType to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecParamsProvisionPackageType(specParamsProvisionPackageType *string) *ClusterGetClusterParams { - o.SetSpecParamsProvisionPackageType(specParamsProvisionPackageType) - return o -} - -// SetSpecParamsProvisionPackageType adds the specParamsProvisionPackageType to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecParamsProvisionPackageType(specParamsProvisionPackageType *string) { - o.SpecParamsProvisionPackageType = specParamsProvisionPackageType -} - -// WithSpecParamsProvisionType adds the specParamsProvisionType to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecParamsProvisionType(specParamsProvisionType *string) *ClusterGetClusterParams { - o.SetSpecParamsProvisionType(specParamsProvisionType) - return o -} - -// SetSpecParamsProvisionType adds the specParamsProvisionType to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecParamsProvisionType(specParamsProvisionType *string) { - o.SpecParamsProvisionType = specParamsProvisionType -} - -// WithSpecParamsState adds the specParamsState to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecParamsState(specParamsState *string) *ClusterGetClusterParams { - o.SetSpecParamsState(specParamsState) - return o -} - -// SetSpecParamsState adds the specParamsState to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecParamsState(specParamsState *string) { - o.SpecParamsState = specParamsState -} - -// WithSpecProxyConfigAllowInsecureBootstrap adds the specProxyConfigAllowInsecureBootstrap to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap *bool) *ClusterGetClusterParams { - o.SetSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap) - return o -} - -// SetSpecProxyConfigAllowInsecureBootstrap adds the specProxyConfigAllowInsecureBootstrap to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecProxyConfigAllowInsecureBootstrap(specProxyConfigAllowInsecureBootstrap *bool) { - o.SpecProxyConfigAllowInsecureBootstrap = specProxyConfigAllowInsecureBootstrap -} - -// WithSpecProxyConfigBootstrapCA adds the specProxyConfigBootstrapCA to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA *string) *ClusterGetClusterParams { - o.SetSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA) - return o -} - -// SetSpecProxyConfigBootstrapCA adds the specProxyConfigBootstrapCA to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecProxyConfigBootstrapCA(specProxyConfigBootstrapCA *string) { - o.SpecProxyConfigBootstrapCA = specProxyConfigBootstrapCA -} - -// WithSpecProxyConfigEnabled adds the specProxyConfigEnabled to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecProxyConfigEnabled(specProxyConfigEnabled *bool) *ClusterGetClusterParams { - o.SetSpecProxyConfigEnabled(specProxyConfigEnabled) - return o -} - -// SetSpecProxyConfigEnabled adds the specProxyConfigEnabled to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecProxyConfigEnabled(specProxyConfigEnabled *bool) { - o.SpecProxyConfigEnabled = specProxyConfigEnabled -} - -// WithSpecProxyConfigHTTPProxy adds the specProxyConfigHTTPProxy to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy *string) *ClusterGetClusterParams { - o.SetSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy) - return o -} - -// SetSpecProxyConfigHTTPProxy adds the specProxyConfigHttpProxy to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecProxyConfigHTTPProxy(specProxyConfigHTTPProxy *string) { - o.SpecProxyConfigHTTPProxy = specProxyConfigHTTPProxy -} - -// WithSpecProxyConfigHTTPSProxy adds the specProxyConfigHTTPSProxy to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy *string) *ClusterGetClusterParams { - o.SetSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy) - return o -} - -// SetSpecProxyConfigHTTPSProxy adds the specProxyConfigHttpsProxy to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecProxyConfigHTTPSProxy(specProxyConfigHTTPSProxy *string) { - o.SpecProxyConfigHTTPSProxy = specProxyConfigHTTPSProxy -} - -// WithSpecProxyConfigNoProxy adds the specProxyConfigNoProxy to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecProxyConfigNoProxy(specProxyConfigNoProxy *string) *ClusterGetClusterParams { - o.SetSpecProxyConfigNoProxy(specProxyConfigNoProxy) - return o -} - -// SetSpecProxyConfigNoProxy adds the specProxyConfigNoProxy to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecProxyConfigNoProxy(specProxyConfigNoProxy *string) { - o.SpecProxyConfigNoProxy = specProxyConfigNoProxy -} - -// WithSpecProxyConfigProxyAuth adds the specProxyConfigProxyAuth to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecProxyConfigProxyAuth(specProxyConfigProxyAuth *string) *ClusterGetClusterParams { - o.SetSpecProxyConfigProxyAuth(specProxyConfigProxyAuth) - return o -} - -// SetSpecProxyConfigProxyAuth adds the specProxyConfigProxyAuth to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecProxyConfigProxyAuth(specProxyConfigProxyAuth *string) { - o.SpecProxyConfigProxyAuth = specProxyConfigProxyAuth -} - -// WithSpecShareMode adds the specShareMode to the cluster get cluster params -func (o *ClusterGetClusterParams) WithSpecShareMode(specShareMode *string) *ClusterGetClusterParams { - o.SetSpecShareMode(specShareMode) - return o -} - -// SetSpecShareMode adds the specShareMode to the cluster get cluster params -func (o *ClusterGetClusterParams) SetSpecShareMode(specShareMode *string) { - o.SpecShareMode = specShareMode -} - -// WithStatusConditionStatus adds the statusConditionStatus to the cluster get cluster params -func (o *ClusterGetClusterParams) WithStatusConditionStatus(statusConditionStatus *string) *ClusterGetClusterParams { - o.SetStatusConditionStatus(statusConditionStatus) - return o -} - -// SetStatusConditionStatus adds the statusConditionStatus to the cluster get cluster params -func (o *ClusterGetClusterParams) SetStatusConditionStatus(statusConditionStatus *string) { - o.StatusConditionStatus = statusConditionStatus -} - -// WithStatusConditionType adds the statusConditionType to the cluster get cluster params -func (o *ClusterGetClusterParams) WithStatusConditionType(statusConditionType *string) *ClusterGetClusterParams { - o.SetStatusConditionType(statusConditionType) - return o -} - -// SetStatusConditionType adds the statusConditionType to the cluster get cluster params -func (o *ClusterGetClusterParams) SetStatusConditionType(statusConditionType *string) { - o.StatusConditionType = statusConditionType -} - -// WithStatusLastUpdated adds the statusLastUpdated to the cluster get cluster params -func (o *ClusterGetClusterParams) WithStatusLastUpdated(statusLastUpdated *strfmt.DateTime) *ClusterGetClusterParams { - o.SetStatusLastUpdated(statusLastUpdated) - return o -} - -// SetStatusLastUpdated adds the statusLastUpdated to the cluster get cluster params -func (o *ClusterGetClusterParams) SetStatusLastUpdated(statusLastUpdated *strfmt.DateTime) { - o.StatusLastUpdated = statusLastUpdated -} - -// WithStatusReason adds the statusReason to the cluster get cluster params -func (o *ClusterGetClusterParams) WithStatusReason(statusReason *string) *ClusterGetClusterParams { - o.SetStatusReason(statusReason) - return o -} - -// SetStatusReason adds the statusReason to the cluster get cluster params -func (o *ClusterGetClusterParams) SetStatusReason(statusReason *string) { - o.StatusReason = statusReason -} - -// WriteToRequest writes these params to a swagger request -func (o *ClusterGetClusterParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.APIVersion != nil { - - // query param apiVersion - var qrAPIVersion string - - if o.APIVersion != nil { - qrAPIVersion = *o.APIVersion - } - qAPIVersion := qrAPIVersion - if qAPIVersion != "" { - - if err := r.SetQueryParam("apiVersion", qAPIVersion); err != nil { - return err - } - } - } - - if o.Kind != nil { - - // query param kind - var qrKind string - - if o.Kind != nil { - qrKind = *o.Kind - } - qKind := qrKind - if qKind != "" { - - if err := r.SetQueryParam("kind", qKind); err != nil { - return err - } - } - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if o.SpecClusterDataArecord != nil { - - // query param spec.clusterData.arecord - var qrSpecClusterDataArecord string - - if o.SpecClusterDataArecord != nil { - qrSpecClusterDataArecord = *o.SpecClusterDataArecord - } - qSpecClusterDataArecord := qrSpecClusterDataArecord - if qSpecClusterDataArecord != "" { - - if err := r.SetQueryParam("spec.clusterData.arecord", qSpecClusterDataArecord); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterBlueprint != nil { - - // query param spec.clusterData.clusterBlueprint - var qrSpecClusterDataClusterBlueprint string - - if o.SpecClusterDataClusterBlueprint != nil { - qrSpecClusterDataClusterBlueprint = *o.SpecClusterDataClusterBlueprint - } - qSpecClusterDataClusterBlueprint := qrSpecClusterDataClusterBlueprint - if qSpecClusterDataClusterBlueprint != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterBlueprint", qSpecClusterDataClusterBlueprint); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusAuxiliaryTaskCount != nil { - - // query param spec.clusterData.clusterStatus.auxiliaryTaskCount - var qrSpecClusterDataClusterStatusAuxiliaryTaskCount string - - if o.SpecClusterDataClusterStatusAuxiliaryTaskCount != nil { - qrSpecClusterDataClusterStatusAuxiliaryTaskCount = *o.SpecClusterDataClusterStatusAuxiliaryTaskCount - } - qSpecClusterDataClusterStatusAuxiliaryTaskCount := qrSpecClusterDataClusterStatusAuxiliaryTaskCount - if qSpecClusterDataClusterStatusAuxiliaryTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.auxiliaryTaskCount", qSpecClusterDataClusterStatusAuxiliaryTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusCustomTaskCount != nil { - - // query param spec.clusterData.clusterStatus.customTaskCount - var qrSpecClusterDataClusterStatusCustomTaskCount string - - if o.SpecClusterDataClusterStatusCustomTaskCount != nil { - qrSpecClusterDataClusterStatusCustomTaskCount = *o.SpecClusterDataClusterStatusCustomTaskCount - } - qSpecClusterDataClusterStatusCustomTaskCount := qrSpecClusterDataClusterStatusCustomTaskCount - if qSpecClusterDataClusterStatusCustomTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.customTaskCount", qSpecClusterDataClusterStatusCustomTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusPublishedBlueprint != nil { - - // query param spec.clusterData.clusterStatus.publishedBlueprint - var qrSpecClusterDataClusterStatusPublishedBlueprint string - - if o.SpecClusterDataClusterStatusPublishedBlueprint != nil { - qrSpecClusterDataClusterStatusPublishedBlueprint = *o.SpecClusterDataClusterStatusPublishedBlueprint - } - qSpecClusterDataClusterStatusPublishedBlueprint := qrSpecClusterDataClusterStatusPublishedBlueprint - if qSpecClusterDataClusterStatusPublishedBlueprint != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.publishedBlueprint", qSpecClusterDataClusterStatusPublishedBlueprint); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusSystemTaskCount != nil { - - // query param spec.clusterData.clusterStatus.systemTaskCount - var qrSpecClusterDataClusterStatusSystemTaskCount string - - if o.SpecClusterDataClusterStatusSystemTaskCount != nil { - qrSpecClusterDataClusterStatusSystemTaskCount = *o.SpecClusterDataClusterStatusSystemTaskCount - } - qSpecClusterDataClusterStatusSystemTaskCount := qrSpecClusterDataClusterStatusSystemTaskCount - if qSpecClusterDataClusterStatusSystemTaskCount != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.systemTaskCount", qSpecClusterDataClusterStatusSystemTaskCount); err != nil { - return err - } - } - } - - if o.SpecClusterDataClusterStatusToken != nil { - - // query param spec.clusterData.clusterStatus.token - var qrSpecClusterDataClusterStatusToken string - - if o.SpecClusterDataClusterStatusToken != nil { - qrSpecClusterDataClusterStatusToken = *o.SpecClusterDataClusterStatusToken - } - qSpecClusterDataClusterStatusToken := qrSpecClusterDataClusterStatusToken - if qSpecClusterDataClusterStatusToken != "" { - - if err := r.SetQueryParam("spec.clusterData.clusterStatus.token", qSpecClusterDataClusterStatusToken); err != nil { - return err - } - } - } - - if o.SpecClusterDataCname != nil { - - // query param spec.clusterData.cname - var qrSpecClusterDataCname string - - if o.SpecClusterDataCname != nil { - qrSpecClusterDataCname = *o.SpecClusterDataCname - } - qSpecClusterDataCname := qrSpecClusterDataCname - if qSpecClusterDataCname != "" { - - if err := r.SetQueryParam("spec.clusterData.cname", qSpecClusterDataCname); err != nil { - return err - } - } - } - - if o.SpecClusterDataDisplayName != nil { - - // query param spec.clusterData.displayName - var qrSpecClusterDataDisplayName string - - if o.SpecClusterDataDisplayName != nil { - qrSpecClusterDataDisplayName = *o.SpecClusterDataDisplayName - } - qSpecClusterDataDisplayName := qrSpecClusterDataDisplayName - if qSpecClusterDataDisplayName != "" { - - if err := r.SetQueryParam("spec.clusterData.displayName", qSpecClusterDataDisplayName); err != nil { - return err - } - } - } - - if o.SpecClusterDataHealth != nil { - - // query param spec.clusterData.health - var qrSpecClusterDataHealth string - - if o.SpecClusterDataHealth != nil { - qrSpecClusterDataHealth = *o.SpecClusterDataHealth - } - qSpecClusterDataHealth := qrSpecClusterDataHealth - if qSpecClusterDataHealth != "" { - - if err := r.SetQueryParam("spec.clusterData.health", qSpecClusterDataHealth); err != nil { - return err - } - } - } - - if o.SpecClusterDataManufacturer != nil { - - // query param spec.clusterData.manufacturer - var qrSpecClusterDataManufacturer string - - if o.SpecClusterDataManufacturer != nil { - qrSpecClusterDataManufacturer = *o.SpecClusterDataManufacturer - } - qSpecClusterDataManufacturer := qrSpecClusterDataManufacturer - if qSpecClusterDataManufacturer != "" { - - if err := r.SetQueryParam("spec.clusterData.manufacturer", qSpecClusterDataManufacturer); err != nil { - return err - } - } - } - - if o.SpecClusterDataPassphrase != nil { - - // query param spec.clusterData.passphrase - var qrSpecClusterDataPassphrase string - - if o.SpecClusterDataPassphrase != nil { - qrSpecClusterDataPassphrase = *o.SpecClusterDataPassphrase - } - qSpecClusterDataPassphrase := qrSpecClusterDataPassphrase - if qSpecClusterDataPassphrase != "" { - - if err := r.SetQueryParam("spec.clusterData.passphrase", qSpecClusterDataPassphrase); err != nil { - return err - } - } - } - - if o.SpecClusterDataProvider != nil { - - // query param spec.clusterData.provider - var qrSpecClusterDataProvider string - - if o.SpecClusterDataProvider != nil { - qrSpecClusterDataProvider = *o.SpecClusterDataProvider - } - qSpecClusterDataProvider := qrSpecClusterDataProvider - if qSpecClusterDataProvider != "" { - - if err := r.SetQueryParam("spec.clusterData.provider", qSpecClusterDataProvider); err != nil { - return err - } - } - } - - if o.SpecClusterType != nil { - - // query param spec.clusterType - var qrSpecClusterType string - - if o.SpecClusterType != nil { - qrSpecClusterType = *o.SpecClusterType - } - qSpecClusterType := qrSpecClusterType - if qSpecClusterType != "" { - - if err := r.SetQueryParam("spec.clusterType", qSpecClusterType); err != nil { - return err - } - } - } - - if o.SpecMetroCity != nil { - - // query param spec.metro.city - var qrSpecMetroCity string - - if o.SpecMetroCity != nil { - qrSpecMetroCity = *o.SpecMetroCity - } - qSpecMetroCity := qrSpecMetroCity - if qSpecMetroCity != "" { - - if err := r.SetQueryParam("spec.metro.city", qSpecMetroCity); err != nil { - return err - } - } - } - - if o.SpecMetroCountry != nil { - - // query param spec.metro.country - var qrSpecMetroCountry string - - if o.SpecMetroCountry != nil { - qrSpecMetroCountry = *o.SpecMetroCountry - } - qSpecMetroCountry := qrSpecMetroCountry - if qSpecMetroCountry != "" { - - if err := r.SetQueryParam("spec.metro.country", qSpecMetroCountry); err != nil { - return err - } - } - } - - if o.SpecMetroCountryCode != nil { - - // query param spec.metro.countryCode - var qrSpecMetroCountryCode string - - if o.SpecMetroCountryCode != nil { - qrSpecMetroCountryCode = *o.SpecMetroCountryCode - } - qSpecMetroCountryCode := qrSpecMetroCountryCode - if qSpecMetroCountryCode != "" { - - if err := r.SetQueryParam("spec.metro.countryCode", qSpecMetroCountryCode); err != nil { - return err - } - } - } - - if o.SpecMetroID != nil { - - // query param spec.metro.id - var qrSpecMetroID string - - if o.SpecMetroID != nil { - qrSpecMetroID = *o.SpecMetroID - } - qSpecMetroID := qrSpecMetroID - if qSpecMetroID != "" { - - if err := r.SetQueryParam("spec.metro.id", qSpecMetroID); err != nil { - return err - } - } - } - - if o.SpecMetroLatitude != nil { - - // query param spec.metro.latitude - var qrSpecMetroLatitude string - - if o.SpecMetroLatitude != nil { - qrSpecMetroLatitude = *o.SpecMetroLatitude - } - qSpecMetroLatitude := qrSpecMetroLatitude - if qSpecMetroLatitude != "" { - - if err := r.SetQueryParam("spec.metro.latitude", qSpecMetroLatitude); err != nil { - return err - } - } - } - - if o.SpecMetroLocale != nil { - - // query param spec.metro.locale - var qrSpecMetroLocale string - - if o.SpecMetroLocale != nil { - qrSpecMetroLocale = *o.SpecMetroLocale - } - qSpecMetroLocale := qrSpecMetroLocale - if qSpecMetroLocale != "" { - - if err := r.SetQueryParam("spec.metro.locale", qSpecMetroLocale); err != nil { - return err - } - } - } - - if o.SpecMetroLongitude != nil { - - // query param spec.metro.longitude - var qrSpecMetroLongitude string - - if o.SpecMetroLongitude != nil { - qrSpecMetroLongitude = *o.SpecMetroLongitude - } - qSpecMetroLongitude := qrSpecMetroLongitude - if qSpecMetroLongitude != "" { - - if err := r.SetQueryParam("spec.metro.longitude", qSpecMetroLongitude); err != nil { - return err - } - } - } - - if o.SpecMetroName != nil { - - // query param spec.metro.name - var qrSpecMetroName string - - if o.SpecMetroName != nil { - qrSpecMetroName = *o.SpecMetroName - } - qSpecMetroName := qrSpecMetroName - if qSpecMetroName != "" { - - if err := r.SetQueryParam("spec.metro.name", qSpecMetroName); err != nil { - return err - } - } - } - - if o.SpecMetroState != nil { - - // query param spec.metro.state - var qrSpecMetroState string - - if o.SpecMetroState != nil { - qrSpecMetroState = *o.SpecMetroState - } - qSpecMetroState := qrSpecMetroState - if qSpecMetroState != "" { - - if err := r.SetQueryParam("spec.metro.state", qSpecMetroState); err != nil { - return err - } - } - } - - if o.SpecMetroStateCode != nil { - - // query param spec.metro.stateCode - var qrSpecMetroStateCode string - - if o.SpecMetroStateCode != nil { - qrSpecMetroStateCode = *o.SpecMetroStateCode - } - qSpecMetroStateCode := qrSpecMetroStateCode - if qSpecMetroStateCode != "" { - - if err := r.SetQueryParam("spec.metro.stateCode", qSpecMetroStateCode); err != nil { - return err - } - } - } - - if o.SpecOverrideSelector != nil { - - // query param spec.overrideSelector - var qrSpecOverrideSelector string - - if o.SpecOverrideSelector != nil { - qrSpecOverrideSelector = *o.SpecOverrideSelector - } - qSpecOverrideSelector := qrSpecOverrideSelector - if qSpecOverrideSelector != "" { - - if err := r.SetQueryParam("spec.overrideSelector", qSpecOverrideSelector); err != nil { - return err - } - } - } - - if o.SpecParamsEnvironmentProvider != nil { - - // query param spec.params.environmentProvider - var qrSpecParamsEnvironmentProvider string - - if o.SpecParamsEnvironmentProvider != nil { - qrSpecParamsEnvironmentProvider = *o.SpecParamsEnvironmentProvider - } - qSpecParamsEnvironmentProvider := qrSpecParamsEnvironmentProvider - if qSpecParamsEnvironmentProvider != "" { - - if err := r.SetQueryParam("spec.params.environmentProvider", qSpecParamsEnvironmentProvider); err != nil { - return err - } - } - } - - if o.SpecParamsKubernetesProvider != nil { - - // query param spec.params.kubernetesProvider - var qrSpecParamsKubernetesProvider string - - if o.SpecParamsKubernetesProvider != nil { - qrSpecParamsKubernetesProvider = *o.SpecParamsKubernetesProvider - } - qSpecParamsKubernetesProvider := qrSpecParamsKubernetesProvider - if qSpecParamsKubernetesProvider != "" { - - if err := r.SetQueryParam("spec.params.kubernetesProvider", qSpecParamsKubernetesProvider); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionEnvironment != nil { - - // query param spec.params.provisionEnvironment - var qrSpecParamsProvisionEnvironment string - - if o.SpecParamsProvisionEnvironment != nil { - qrSpecParamsProvisionEnvironment = *o.SpecParamsProvisionEnvironment - } - qSpecParamsProvisionEnvironment := qrSpecParamsProvisionEnvironment - if qSpecParamsProvisionEnvironment != "" { - - if err := r.SetQueryParam("spec.params.provisionEnvironment", qSpecParamsProvisionEnvironment); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionPackageType != nil { - - // query param spec.params.provisionPackageType - var qrSpecParamsProvisionPackageType string - - if o.SpecParamsProvisionPackageType != nil { - qrSpecParamsProvisionPackageType = *o.SpecParamsProvisionPackageType - } - qSpecParamsProvisionPackageType := qrSpecParamsProvisionPackageType - if qSpecParamsProvisionPackageType != "" { - - if err := r.SetQueryParam("spec.params.provisionPackageType", qSpecParamsProvisionPackageType); err != nil { - return err - } - } - } - - if o.SpecParamsProvisionType != nil { - - // query param spec.params.provisionType - var qrSpecParamsProvisionType string - - if o.SpecParamsProvisionType != nil { - qrSpecParamsProvisionType = *o.SpecParamsProvisionType - } - qSpecParamsProvisionType := qrSpecParamsProvisionType - if qSpecParamsProvisionType != "" { - - if err := r.SetQueryParam("spec.params.provisionType", qSpecParamsProvisionType); err != nil { - return err - } - } - } - - if o.SpecParamsState != nil { - - // query param spec.params.state - var qrSpecParamsState string - - if o.SpecParamsState != nil { - qrSpecParamsState = *o.SpecParamsState - } - qSpecParamsState := qrSpecParamsState - if qSpecParamsState != "" { - - if err := r.SetQueryParam("spec.params.state", qSpecParamsState); err != nil { - return err - } - } - } - - if o.SpecProxyConfigAllowInsecureBootstrap != nil { - - // query param spec.proxyConfig.allowInsecureBootstrap - var qrSpecProxyConfigAllowInsecureBootstrap bool - - if o.SpecProxyConfigAllowInsecureBootstrap != nil { - qrSpecProxyConfigAllowInsecureBootstrap = *o.SpecProxyConfigAllowInsecureBootstrap - } - qSpecProxyConfigAllowInsecureBootstrap := swag.FormatBool(qrSpecProxyConfigAllowInsecureBootstrap) - if qSpecProxyConfigAllowInsecureBootstrap != "" { - - if err := r.SetQueryParam("spec.proxyConfig.allowInsecureBootstrap", qSpecProxyConfigAllowInsecureBootstrap); err != nil { - return err - } - } - } - - if o.SpecProxyConfigBootstrapCA != nil { - - // query param spec.proxyConfig.bootstrapCA - var qrSpecProxyConfigBootstrapCA string - - if o.SpecProxyConfigBootstrapCA != nil { - qrSpecProxyConfigBootstrapCA = *o.SpecProxyConfigBootstrapCA - } - qSpecProxyConfigBootstrapCA := qrSpecProxyConfigBootstrapCA - if qSpecProxyConfigBootstrapCA != "" { - - if err := r.SetQueryParam("spec.proxyConfig.bootstrapCA", qSpecProxyConfigBootstrapCA); err != nil { - return err - } - } - } - - if o.SpecProxyConfigEnabled != nil { - - // query param spec.proxyConfig.enabled - var qrSpecProxyConfigEnabled bool - - if o.SpecProxyConfigEnabled != nil { - qrSpecProxyConfigEnabled = *o.SpecProxyConfigEnabled - } - qSpecProxyConfigEnabled := swag.FormatBool(qrSpecProxyConfigEnabled) - if qSpecProxyConfigEnabled != "" { - - if err := r.SetQueryParam("spec.proxyConfig.enabled", qSpecProxyConfigEnabled); err != nil { - return err - } - } - } - - if o.SpecProxyConfigHTTPProxy != nil { - - // query param spec.proxyConfig.httpProxy - var qrSpecProxyConfigHTTPProxy string - - if o.SpecProxyConfigHTTPProxy != nil { - qrSpecProxyConfigHTTPProxy = *o.SpecProxyConfigHTTPProxy - } - qSpecProxyConfigHTTPProxy := qrSpecProxyConfigHTTPProxy - if qSpecProxyConfigHTTPProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.httpProxy", qSpecProxyConfigHTTPProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigHTTPSProxy != nil { - - // query param spec.proxyConfig.httpsProxy - var qrSpecProxyConfigHTTPSProxy string - - if o.SpecProxyConfigHTTPSProxy != nil { - qrSpecProxyConfigHTTPSProxy = *o.SpecProxyConfigHTTPSProxy - } - qSpecProxyConfigHTTPSProxy := qrSpecProxyConfigHTTPSProxy - if qSpecProxyConfigHTTPSProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.httpsProxy", qSpecProxyConfigHTTPSProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigNoProxy != nil { - - // query param spec.proxyConfig.noProxy - var qrSpecProxyConfigNoProxy string - - if o.SpecProxyConfigNoProxy != nil { - qrSpecProxyConfigNoProxy = *o.SpecProxyConfigNoProxy - } - qSpecProxyConfigNoProxy := qrSpecProxyConfigNoProxy - if qSpecProxyConfigNoProxy != "" { - - if err := r.SetQueryParam("spec.proxyConfig.noProxy", qSpecProxyConfigNoProxy); err != nil { - return err - } - } - } - - if o.SpecProxyConfigProxyAuth != nil { - - // query param spec.proxyConfig.proxyAuth - var qrSpecProxyConfigProxyAuth string - - if o.SpecProxyConfigProxyAuth != nil { - qrSpecProxyConfigProxyAuth = *o.SpecProxyConfigProxyAuth - } - qSpecProxyConfigProxyAuth := qrSpecProxyConfigProxyAuth - if qSpecProxyConfigProxyAuth != "" { - - if err := r.SetQueryParam("spec.proxyConfig.proxyAuth", qSpecProxyConfigProxyAuth); err != nil { - return err - } - } - } - - if o.SpecShareMode != nil { - - // query param spec.shareMode - var qrSpecShareMode string - - if o.SpecShareMode != nil { - qrSpecShareMode = *o.SpecShareMode - } - qSpecShareMode := qrSpecShareMode - if qSpecShareMode != "" { - - if err := r.SetQueryParam("spec.shareMode", qSpecShareMode); err != nil { - return err - } - } - } - - if o.StatusConditionStatus != nil { - - // query param status.conditionStatus - var qrStatusConditionStatus string - - if o.StatusConditionStatus != nil { - qrStatusConditionStatus = *o.StatusConditionStatus - } - qStatusConditionStatus := qrStatusConditionStatus - if qStatusConditionStatus != "" { - - if err := r.SetQueryParam("status.conditionStatus", qStatusConditionStatus); err != nil { - return err - } - } - } - - if o.StatusConditionType != nil { - - // query param status.conditionType - var qrStatusConditionType string - - if o.StatusConditionType != nil { - qrStatusConditionType = *o.StatusConditionType - } - qStatusConditionType := qrStatusConditionType - if qStatusConditionType != "" { - - if err := r.SetQueryParam("status.conditionType", qStatusConditionType); err != nil { - return err - } - } - } - - if o.StatusLastUpdated != nil { - - // query param status.lastUpdated - var qrStatusLastUpdated strfmt.DateTime - - if o.StatusLastUpdated != nil { - qrStatusLastUpdated = *o.StatusLastUpdated - } - qStatusLastUpdated := qrStatusLastUpdated.String() - if qStatusLastUpdated != "" { - - if err := r.SetQueryParam("status.lastUpdated", qStatusLastUpdated); err != nil { - return err - } - } - } - - if o.StatusReason != nil { - - // query param status.reason - var qrStatusReason string - - if o.StatusReason != nil { - qrStatusReason = *o.StatusReason - } - qStatusReason := qrStatusReason - if qStatusReason != "" { - - if err := r.SetQueryParam("status.reason", qStatusReason); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_get_cluster_responses.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_get_cluster_responses.go deleted file mode 100644 index 2e06de1..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_get_cluster_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// ClusterGetClusterReader is a Reader for the ClusterGetCluster structure. -type ClusterGetClusterReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *ClusterGetClusterReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewClusterGetClusterOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewClusterGetClusterForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewClusterGetClusterNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewClusterGetClusterDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewClusterGetClusterOK creates a ClusterGetClusterOK with default headers values -func NewClusterGetClusterOK() *ClusterGetClusterOK { - return &ClusterGetClusterOK{} -} - -/* ClusterGetClusterOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type ClusterGetClusterOK struct { - Payload *models.V3Cluster -} - -func (o *ClusterGetClusterOK) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterGetClusterOK %+v", 200, o.Payload) -} -func (o *ClusterGetClusterOK) GetPayload() *models.V3Cluster { - return o.Payload -} - -func (o *ClusterGetClusterOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.V3Cluster) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterGetClusterForbidden creates a ClusterGetClusterForbidden with default headers values -func NewClusterGetClusterForbidden() *ClusterGetClusterForbidden { - return &ClusterGetClusterForbidden{} -} - -/* ClusterGetClusterForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type ClusterGetClusterForbidden struct { - Payload interface{} -} - -func (o *ClusterGetClusterForbidden) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterGetClusterForbidden %+v", 403, o.Payload) -} -func (o *ClusterGetClusterForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterGetClusterForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterGetClusterNotFound creates a ClusterGetClusterNotFound with default headers values -func NewClusterGetClusterNotFound() *ClusterGetClusterNotFound { - return &ClusterGetClusterNotFound{} -} - -/* ClusterGetClusterNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type ClusterGetClusterNotFound struct { - Payload string -} - -func (o *ClusterGetClusterNotFound) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterGetClusterNotFound %+v", 404, o.Payload) -} -func (o *ClusterGetClusterNotFound) GetPayload() string { - return o.Payload -} - -func (o *ClusterGetClusterNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterGetClusterDefault creates a ClusterGetClusterDefault with default headers values -func NewClusterGetClusterDefault(code int) *ClusterGetClusterDefault { - return &ClusterGetClusterDefault{ - _statusCode: code, - } -} - -/* ClusterGetClusterDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type ClusterGetClusterDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the cluster get cluster default response -func (o *ClusterGetClusterDefault) Code() int { - return o._statusCode -} - -func (o *ClusterGetClusterDefault) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] Cluster_GetCluster default %+v", o._statusCode, o.Payload) -} -func (o *ClusterGetClusterDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *ClusterGetClusterDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_get_clusters_parameters.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_get_clusters_parameters.go deleted file mode 100644 index 2cf7984..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_get_clusters_parameters.go +++ /dev/null @@ -1,866 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewClusterGetClustersParams creates a new ClusterGetClustersParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewClusterGetClustersParams() *ClusterGetClustersParams { - return &ClusterGetClustersParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewClusterGetClustersParamsWithTimeout creates a new ClusterGetClustersParams object -// with the ability to set a timeout on a request. -func NewClusterGetClustersParamsWithTimeout(timeout time.Duration) *ClusterGetClustersParams { - return &ClusterGetClustersParams{ - timeout: timeout, - } -} - -// NewClusterGetClustersParamsWithContext creates a new ClusterGetClustersParams object -// with the ability to set a context for a request. -func NewClusterGetClustersParamsWithContext(ctx context.Context) *ClusterGetClustersParams { - return &ClusterGetClustersParams{ - Context: ctx, - } -} - -// NewClusterGetClustersParamsWithHTTPClient creates a new ClusterGetClustersParams object -// with the ability to set a custom HTTPClient for a request. -func NewClusterGetClustersParamsWithHTTPClient(client *http.Client) *ClusterGetClustersParams { - return &ClusterGetClustersParams{ - HTTPClient: client, - } -} - -/* ClusterGetClustersParams contains all the parameters to send to the API endpoint - for the cluster get clusters operation. - - Typically these are written to a http.Request. -*/ -type ClusterGetClustersParams struct { - - // ID. - ID *string - - // BlueprintRef. - BlueprintRef *string - - // ClusterID. - ClusterID *string - - // Count. - // - // Format: int64 - Count *string - - // Deleted. - Deleted *bool - - /* DisplayName. - - displayName only used for update queries to set displayName (READONLY). - */ - DisplayName *string - - // Extended. - Extended *bool - - /* GlobalScope. - - globalScope sets partnerID,organizationID,projectID = 0. - */ - GlobalScope *bool - - // Groups. - Groups []string - - /* IgnoreScopeDefault. - - ignoreScopeDefault ignores default values for partnerID, organizationID and - projectID. - */ - IgnoreScopeDefault *bool - - // IsSSOUser. - IsSSOUser *bool - - // Limit. - // - // Format: int64 - Limit *string - - /* Name. - - name is unique ID of a resource along with (partnerID, organizationID, - projectID). - */ - Name *string - - // Offset. - // - // Format: int64 - Offset *string - - // Order. - Order *string - - // OrderBy. - OrderBy *string - - // OrganizationID. - OrganizationID *string - - // PartnerID. - PartnerID *string - - // ProjectID. - ProjectID string - - // PublishedVersion. - PublishedVersion *string - - /* Selector. - - selector is used to filter the labels of a resource. - */ - Selector *string - - /* URLScope. - - urlScope is supposed to be passed in the URL as kind/HashID(value). - */ - URLScope *string - - // Username. - Username *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the cluster get clusters params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterGetClustersParams) WithDefaults() *ClusterGetClustersParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the cluster get clusters params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterGetClustersParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the cluster get clusters params -func (o *ClusterGetClustersParams) WithTimeout(timeout time.Duration) *ClusterGetClustersParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the cluster get clusters params -func (o *ClusterGetClustersParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the cluster get clusters params -func (o *ClusterGetClustersParams) WithContext(ctx context.Context) *ClusterGetClustersParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the cluster get clusters params -func (o *ClusterGetClustersParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the cluster get clusters params -func (o *ClusterGetClustersParams) WithHTTPClient(client *http.Client) *ClusterGetClustersParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the cluster get clusters params -func (o *ClusterGetClustersParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithID adds the id to the cluster get clusters params -func (o *ClusterGetClustersParams) WithID(id *string) *ClusterGetClustersParams { - o.SetID(id) - return o -} - -// SetID adds the id to the cluster get clusters params -func (o *ClusterGetClustersParams) SetID(id *string) { - o.ID = id -} - -// WithBlueprintRef adds the blueprintRef to the cluster get clusters params -func (o *ClusterGetClustersParams) WithBlueprintRef(blueprintRef *string) *ClusterGetClustersParams { - o.SetBlueprintRef(blueprintRef) - return o -} - -// SetBlueprintRef adds the blueprintRef to the cluster get clusters params -func (o *ClusterGetClustersParams) SetBlueprintRef(blueprintRef *string) { - o.BlueprintRef = blueprintRef -} - -// WithClusterID adds the clusterID to the cluster get clusters params -func (o *ClusterGetClustersParams) WithClusterID(clusterID *string) *ClusterGetClustersParams { - o.SetClusterID(clusterID) - return o -} - -// SetClusterID adds the clusterId to the cluster get clusters params -func (o *ClusterGetClustersParams) SetClusterID(clusterID *string) { - o.ClusterID = clusterID -} - -// WithCount adds the count to the cluster get clusters params -func (o *ClusterGetClustersParams) WithCount(count *string) *ClusterGetClustersParams { - o.SetCount(count) - return o -} - -// SetCount adds the count to the cluster get clusters params -func (o *ClusterGetClustersParams) SetCount(count *string) { - o.Count = count -} - -// WithDeleted adds the deleted to the cluster get clusters params -func (o *ClusterGetClustersParams) WithDeleted(deleted *bool) *ClusterGetClustersParams { - o.SetDeleted(deleted) - return o -} - -// SetDeleted adds the deleted to the cluster get clusters params -func (o *ClusterGetClustersParams) SetDeleted(deleted *bool) { - o.Deleted = deleted -} - -// WithDisplayName adds the displayName to the cluster get clusters params -func (o *ClusterGetClustersParams) WithDisplayName(displayName *string) *ClusterGetClustersParams { - o.SetDisplayName(displayName) - return o -} - -// SetDisplayName adds the displayName to the cluster get clusters params -func (o *ClusterGetClustersParams) SetDisplayName(displayName *string) { - o.DisplayName = displayName -} - -// WithExtended adds the extended to the cluster get clusters params -func (o *ClusterGetClustersParams) WithExtended(extended *bool) *ClusterGetClustersParams { - o.SetExtended(extended) - return o -} - -// SetExtended adds the extended to the cluster get clusters params -func (o *ClusterGetClustersParams) SetExtended(extended *bool) { - o.Extended = extended -} - -// WithGlobalScope adds the globalScope to the cluster get clusters params -func (o *ClusterGetClustersParams) WithGlobalScope(globalScope *bool) *ClusterGetClustersParams { - o.SetGlobalScope(globalScope) - return o -} - -// SetGlobalScope adds the globalScope to the cluster get clusters params -func (o *ClusterGetClustersParams) SetGlobalScope(globalScope *bool) { - o.GlobalScope = globalScope -} - -// WithGroups adds the groups to the cluster get clusters params -func (o *ClusterGetClustersParams) WithGroups(groups []string) *ClusterGetClustersParams { - o.SetGroups(groups) - return o -} - -// SetGroups adds the groups to the cluster get clusters params -func (o *ClusterGetClustersParams) SetGroups(groups []string) { - o.Groups = groups -} - -// WithIgnoreScopeDefault adds the ignoreScopeDefault to the cluster get clusters params -func (o *ClusterGetClustersParams) WithIgnoreScopeDefault(ignoreScopeDefault *bool) *ClusterGetClustersParams { - o.SetIgnoreScopeDefault(ignoreScopeDefault) - return o -} - -// SetIgnoreScopeDefault adds the ignoreScopeDefault to the cluster get clusters params -func (o *ClusterGetClustersParams) SetIgnoreScopeDefault(ignoreScopeDefault *bool) { - o.IgnoreScopeDefault = ignoreScopeDefault -} - -// WithIsSSOUser adds the isSSOUser to the cluster get clusters params -func (o *ClusterGetClustersParams) WithIsSSOUser(isSSOUser *bool) *ClusterGetClustersParams { - o.SetIsSSOUser(isSSOUser) - return o -} - -// SetIsSSOUser adds the isSSOUser to the cluster get clusters params -func (o *ClusterGetClustersParams) SetIsSSOUser(isSSOUser *bool) { - o.IsSSOUser = isSSOUser -} - -// WithLimit adds the limit to the cluster get clusters params -func (o *ClusterGetClustersParams) WithLimit(limit *string) *ClusterGetClustersParams { - o.SetLimit(limit) - return o -} - -// SetLimit adds the limit to the cluster get clusters params -func (o *ClusterGetClustersParams) SetLimit(limit *string) { - o.Limit = limit -} - -// WithName adds the name to the cluster get clusters params -func (o *ClusterGetClustersParams) WithName(name *string) *ClusterGetClustersParams { - o.SetName(name) - return o -} - -// SetName adds the name to the cluster get clusters params -func (o *ClusterGetClustersParams) SetName(name *string) { - o.Name = name -} - -// WithOffset adds the offset to the cluster get clusters params -func (o *ClusterGetClustersParams) WithOffset(offset *string) *ClusterGetClustersParams { - o.SetOffset(offset) - return o -} - -// SetOffset adds the offset to the cluster get clusters params -func (o *ClusterGetClustersParams) SetOffset(offset *string) { - o.Offset = offset -} - -// WithOrder adds the order to the cluster get clusters params -func (o *ClusterGetClustersParams) WithOrder(order *string) *ClusterGetClustersParams { - o.SetOrder(order) - return o -} - -// SetOrder adds the order to the cluster get clusters params -func (o *ClusterGetClustersParams) SetOrder(order *string) { - o.Order = order -} - -// WithOrderBy adds the orderBy to the cluster get clusters params -func (o *ClusterGetClustersParams) WithOrderBy(orderBy *string) *ClusterGetClustersParams { - o.SetOrderBy(orderBy) - return o -} - -// SetOrderBy adds the orderBy to the cluster get clusters params -func (o *ClusterGetClustersParams) SetOrderBy(orderBy *string) { - o.OrderBy = orderBy -} - -// WithOrganizationID adds the organizationID to the cluster get clusters params -func (o *ClusterGetClustersParams) WithOrganizationID(organizationID *string) *ClusterGetClustersParams { - o.SetOrganizationID(organizationID) - return o -} - -// SetOrganizationID adds the organizationId to the cluster get clusters params -func (o *ClusterGetClustersParams) SetOrganizationID(organizationID *string) { - o.OrganizationID = organizationID -} - -// WithPartnerID adds the partnerID to the cluster get clusters params -func (o *ClusterGetClustersParams) WithPartnerID(partnerID *string) *ClusterGetClustersParams { - o.SetPartnerID(partnerID) - return o -} - -// SetPartnerID adds the partnerId to the cluster get clusters params -func (o *ClusterGetClustersParams) SetPartnerID(partnerID *string) { - o.PartnerID = partnerID -} - -// WithProjectID adds the projectID to the cluster get clusters params -func (o *ClusterGetClustersParams) WithProjectID(projectID string) *ClusterGetClustersParams { - o.SetProjectID(projectID) - return o -} - -// SetProjectID adds the projectId to the cluster get clusters params -func (o *ClusterGetClustersParams) SetProjectID(projectID string) { - o.ProjectID = projectID -} - -// WithPublishedVersion adds the publishedVersion to the cluster get clusters params -func (o *ClusterGetClustersParams) WithPublishedVersion(publishedVersion *string) *ClusterGetClustersParams { - o.SetPublishedVersion(publishedVersion) - return o -} - -// SetPublishedVersion adds the publishedVersion to the cluster get clusters params -func (o *ClusterGetClustersParams) SetPublishedVersion(publishedVersion *string) { - o.PublishedVersion = publishedVersion -} - -// WithSelector adds the selector to the cluster get clusters params -func (o *ClusterGetClustersParams) WithSelector(selector *string) *ClusterGetClustersParams { - o.SetSelector(selector) - return o -} - -// SetSelector adds the selector to the cluster get clusters params -func (o *ClusterGetClustersParams) SetSelector(selector *string) { - o.Selector = selector -} - -// WithURLScope adds the uRLScope to the cluster get clusters params -func (o *ClusterGetClustersParams) WithURLScope(uRLScope *string) *ClusterGetClustersParams { - o.SetURLScope(uRLScope) - return o -} - -// SetURLScope adds the urlScope to the cluster get clusters params -func (o *ClusterGetClustersParams) SetURLScope(uRLScope *string) { - o.URLScope = uRLScope -} - -// WithUsername adds the username to the cluster get clusters params -func (o *ClusterGetClustersParams) WithUsername(username *string) *ClusterGetClustersParams { - o.SetUsername(username) - return o -} - -// SetUsername adds the username to the cluster get clusters params -func (o *ClusterGetClustersParams) SetUsername(username *string) { - o.Username = username -} - -// WriteToRequest writes these params to a swagger request -func (o *ClusterGetClustersParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.ID != nil { - - // query param ID - var qrID string - - if o.ID != nil { - qrID = *o.ID - } - qID := qrID - if qID != "" { - - if err := r.SetQueryParam("ID", qID); err != nil { - return err - } - } - } - - if o.BlueprintRef != nil { - - // query param blueprintRef - var qrBlueprintRef string - - if o.BlueprintRef != nil { - qrBlueprintRef = *o.BlueprintRef - } - qBlueprintRef := qrBlueprintRef - if qBlueprintRef != "" { - - if err := r.SetQueryParam("blueprintRef", qBlueprintRef); err != nil { - return err - } - } - } - - if o.ClusterID != nil { - - // query param clusterID - var qrClusterID string - - if o.ClusterID != nil { - qrClusterID = *o.ClusterID - } - qClusterID := qrClusterID - if qClusterID != "" { - - if err := r.SetQueryParam("clusterID", qClusterID); err != nil { - return err - } - } - } - - if o.Count != nil { - - // query param count - var qrCount string - - if o.Count != nil { - qrCount = *o.Count - } - qCount := qrCount - if qCount != "" { - - if err := r.SetQueryParam("count", qCount); err != nil { - return err - } - } - } - - if o.Deleted != nil { - - // query param deleted - var qrDeleted bool - - if o.Deleted != nil { - qrDeleted = *o.Deleted - } - qDeleted := swag.FormatBool(qrDeleted) - if qDeleted != "" { - - if err := r.SetQueryParam("deleted", qDeleted); err != nil { - return err - } - } - } - - if o.DisplayName != nil { - - // query param displayName - var qrDisplayName string - - if o.DisplayName != nil { - qrDisplayName = *o.DisplayName - } - qDisplayName := qrDisplayName - if qDisplayName != "" { - - if err := r.SetQueryParam("displayName", qDisplayName); err != nil { - return err - } - } - } - - if o.Extended != nil { - - // query param extended - var qrExtended bool - - if o.Extended != nil { - qrExtended = *o.Extended - } - qExtended := swag.FormatBool(qrExtended) - if qExtended != "" { - - if err := r.SetQueryParam("extended", qExtended); err != nil { - return err - } - } - } - - if o.GlobalScope != nil { - - // query param globalScope - var qrGlobalScope bool - - if o.GlobalScope != nil { - qrGlobalScope = *o.GlobalScope - } - qGlobalScope := swag.FormatBool(qrGlobalScope) - if qGlobalScope != "" { - - if err := r.SetQueryParam("globalScope", qGlobalScope); err != nil { - return err - } - } - } - - if o.Groups != nil { - - // binding items for groups - joinedGroups := o.bindParamGroups(reg) - - // query array param groups - if err := r.SetQueryParam("groups", joinedGroups...); err != nil { - return err - } - } - - if o.IgnoreScopeDefault != nil { - - // query param ignoreScopeDefault - var qrIgnoreScopeDefault bool - - if o.IgnoreScopeDefault != nil { - qrIgnoreScopeDefault = *o.IgnoreScopeDefault - } - qIgnoreScopeDefault := swag.FormatBool(qrIgnoreScopeDefault) - if qIgnoreScopeDefault != "" { - - if err := r.SetQueryParam("ignoreScopeDefault", qIgnoreScopeDefault); err != nil { - return err - } - } - } - - if o.IsSSOUser != nil { - - // query param isSSOUser - var qrIsSSOUser bool - - if o.IsSSOUser != nil { - qrIsSSOUser = *o.IsSSOUser - } - qIsSSOUser := swag.FormatBool(qrIsSSOUser) - if qIsSSOUser != "" { - - if err := r.SetQueryParam("isSSOUser", qIsSSOUser); err != nil { - return err - } - } - } - - if o.Limit != nil { - - // query param limit - var qrLimit string - - if o.Limit != nil { - qrLimit = *o.Limit - } - qLimit := qrLimit - if qLimit != "" { - - if err := r.SetQueryParam("limit", qLimit); err != nil { - return err - } - } - } - - if o.Name != nil { - - // query param name - var qrName string - - if o.Name != nil { - qrName = *o.Name - } - qName := qrName - if qName != "" { - - if err := r.SetQueryParam("name", qName); err != nil { - return err - } - } - } - - if o.Offset != nil { - - // query param offset - var qrOffset string - - if o.Offset != nil { - qrOffset = *o.Offset - } - qOffset := qrOffset - if qOffset != "" { - - if err := r.SetQueryParam("offset", qOffset); err != nil { - return err - } - } - } - - if o.Order != nil { - - // query param order - var qrOrder string - - if o.Order != nil { - qrOrder = *o.Order - } - qOrder := qrOrder - if qOrder != "" { - - if err := r.SetQueryParam("order", qOrder); err != nil { - return err - } - } - } - - if o.OrderBy != nil { - - // query param orderBy - var qrOrderBy string - - if o.OrderBy != nil { - qrOrderBy = *o.OrderBy - } - qOrderBy := qrOrderBy - if qOrderBy != "" { - - if err := r.SetQueryParam("orderBy", qOrderBy); err != nil { - return err - } - } - } - - if o.OrganizationID != nil { - - // query param organizationID - var qrOrganizationID string - - if o.OrganizationID != nil { - qrOrganizationID = *o.OrganizationID - } - qOrganizationID := qrOrganizationID - if qOrganizationID != "" { - - if err := r.SetQueryParam("organizationID", qOrganizationID); err != nil { - return err - } - } - } - - if o.PartnerID != nil { - - // query param partnerID - var qrPartnerID string - - if o.PartnerID != nil { - qrPartnerID = *o.PartnerID - } - qPartnerID := qrPartnerID - if qPartnerID != "" { - - if err := r.SetQueryParam("partnerID", qPartnerID); err != nil { - return err - } - } - } - - // path param projectID - if err := r.SetPathParam("projectID", o.ProjectID); err != nil { - return err - } - - if o.PublishedVersion != nil { - - // query param publishedVersion - var qrPublishedVersion string - - if o.PublishedVersion != nil { - qrPublishedVersion = *o.PublishedVersion - } - qPublishedVersion := qrPublishedVersion - if qPublishedVersion != "" { - - if err := r.SetQueryParam("publishedVersion", qPublishedVersion); err != nil { - return err - } - } - } - - if o.Selector != nil { - - // query param selector - var qrSelector string - - if o.Selector != nil { - qrSelector = *o.Selector - } - qSelector := qrSelector - if qSelector != "" { - - if err := r.SetQueryParam("selector", qSelector); err != nil { - return err - } - } - } - - if o.URLScope != nil { - - // query param urlScope - var qrURLScope string - - if o.URLScope != nil { - qrURLScope = *o.URLScope - } - qURLScope := qrURLScope - if qURLScope != "" { - - if err := r.SetQueryParam("urlScope", qURLScope); err != nil { - return err - } - } - } - - if o.Username != nil { - - // query param username - var qrUsername string - - if o.Username != nil { - qrUsername = *o.Username - } - qUsername := qrUsername - if qUsername != "" { - - if err := r.SetQueryParam("username", qUsername); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindParamClusterGetClusters binds the parameter groups -func (o *ClusterGetClustersParams) bindParamGroups(formats strfmt.Registry) []string { - groupsIR := o.Groups - - var groupsIC []string - for _, groupsIIR := range groupsIR { // explode []string - - groupsIIV := groupsIIR // string as string - groupsIC = append(groupsIC, groupsIIV) - } - - // items.CollectionFormat: "multi" - groupsIS := swag.JoinByFormat(groupsIC, "multi") - - return groupsIS -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_get_clusters_responses.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_get_clusters_responses.go deleted file mode 100644 index 4890970..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_get_clusters_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// ClusterGetClustersReader is a Reader for the ClusterGetClusters structure. -type ClusterGetClustersReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *ClusterGetClustersReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewClusterGetClustersOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewClusterGetClustersForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewClusterGetClustersNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewClusterGetClustersDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewClusterGetClustersOK creates a ClusterGetClustersOK with default headers values -func NewClusterGetClustersOK() *ClusterGetClustersOK { - return &ClusterGetClustersOK{} -} - -/* ClusterGetClustersOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type ClusterGetClustersOK struct { - Payload *models.V3ClusterList -} - -func (o *ClusterGetClustersOK) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{projectID}/cluster][%d] clusterGetClustersOK %+v", 200, o.Payload) -} -func (o *ClusterGetClustersOK) GetPayload() *models.V3ClusterList { - return o.Payload -} - -func (o *ClusterGetClustersOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.V3ClusterList) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterGetClustersForbidden creates a ClusterGetClustersForbidden with default headers values -func NewClusterGetClustersForbidden() *ClusterGetClustersForbidden { - return &ClusterGetClustersForbidden{} -} - -/* ClusterGetClustersForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type ClusterGetClustersForbidden struct { - Payload interface{} -} - -func (o *ClusterGetClustersForbidden) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{projectID}/cluster][%d] clusterGetClustersForbidden %+v", 403, o.Payload) -} -func (o *ClusterGetClustersForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterGetClustersForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterGetClustersNotFound creates a ClusterGetClustersNotFound with default headers values -func NewClusterGetClustersNotFound() *ClusterGetClustersNotFound { - return &ClusterGetClustersNotFound{} -} - -/* ClusterGetClustersNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type ClusterGetClustersNotFound struct { - Payload string -} - -func (o *ClusterGetClustersNotFound) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{projectID}/cluster][%d] clusterGetClustersNotFound %+v", 404, o.Payload) -} -func (o *ClusterGetClustersNotFound) GetPayload() string { - return o.Payload -} - -func (o *ClusterGetClustersNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterGetClustersDefault creates a ClusterGetClustersDefault with default headers values -func NewClusterGetClustersDefault(code int) *ClusterGetClustersDefault { - return &ClusterGetClustersDefault{ - _statusCode: code, - } -} - -/* ClusterGetClustersDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type ClusterGetClustersDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the cluster get clusters default response -func (o *ClusterGetClustersDefault) Code() int { - return o._statusCode -} - -func (o *ClusterGetClustersDefault) Error() string { - return fmt.Sprintf("[GET /infra/v3/project/{projectID}/cluster][%d] Cluster_GetClusters default %+v", o._statusCode, o.Payload) -} -func (o *ClusterGetClustersDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *ClusterGetClustersDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_register_cluster_parameters.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_register_cluster_parameters.go deleted file mode 100644 index 6dee813..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_register_cluster_parameters.go +++ /dev/null @@ -1,148 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// NewClusterRegisterClusterParams creates a new ClusterRegisterClusterParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewClusterRegisterClusterParams() *ClusterRegisterClusterParams { - return &ClusterRegisterClusterParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewClusterRegisterClusterParamsWithTimeout creates a new ClusterRegisterClusterParams object -// with the ability to set a timeout on a request. -func NewClusterRegisterClusterParamsWithTimeout(timeout time.Duration) *ClusterRegisterClusterParams { - return &ClusterRegisterClusterParams{ - timeout: timeout, - } -} - -// NewClusterRegisterClusterParamsWithContext creates a new ClusterRegisterClusterParams object -// with the ability to set a context for a request. -func NewClusterRegisterClusterParamsWithContext(ctx context.Context) *ClusterRegisterClusterParams { - return &ClusterRegisterClusterParams{ - Context: ctx, - } -} - -// NewClusterRegisterClusterParamsWithHTTPClient creates a new ClusterRegisterClusterParams object -// with the ability to set a custom HTTPClient for a request. -func NewClusterRegisterClusterParamsWithHTTPClient(client *http.Client) *ClusterRegisterClusterParams { - return &ClusterRegisterClusterParams{ - HTTPClient: client, - } -} - -/* ClusterRegisterClusterParams contains all the parameters to send to the API endpoint - for the cluster register cluster operation. - - Typically these are written to a http.Request. -*/ -type ClusterRegisterClusterParams struct { - - // Body. - Body *models.RPCRegisterClusterRequest - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the cluster register cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterRegisterClusterParams) WithDefaults() *ClusterRegisterClusterParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the cluster register cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterRegisterClusterParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the cluster register cluster params -func (o *ClusterRegisterClusterParams) WithTimeout(timeout time.Duration) *ClusterRegisterClusterParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the cluster register cluster params -func (o *ClusterRegisterClusterParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the cluster register cluster params -func (o *ClusterRegisterClusterParams) WithContext(ctx context.Context) *ClusterRegisterClusterParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the cluster register cluster params -func (o *ClusterRegisterClusterParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the cluster register cluster params -func (o *ClusterRegisterClusterParams) WithHTTPClient(client *http.Client) *ClusterRegisterClusterParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the cluster register cluster params -func (o *ClusterRegisterClusterParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the cluster register cluster params -func (o *ClusterRegisterClusterParams) WithBody(body *models.RPCRegisterClusterRequest) *ClusterRegisterClusterParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the cluster register cluster params -func (o *ClusterRegisterClusterParams) SetBody(body *models.RPCRegisterClusterRequest) { - o.Body = body -} - -// WriteToRequest writes these params to a swagger request -func (o *ClusterRegisterClusterParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_register_cluster_responses.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_register_cluster_responses.go deleted file mode 100644 index 23ab57a..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_register_cluster_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// ClusterRegisterClusterReader is a Reader for the ClusterRegisterCluster structure. -type ClusterRegisterClusterReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *ClusterRegisterClusterReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewClusterRegisterClusterOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewClusterRegisterClusterForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewClusterRegisterClusterNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewClusterRegisterClusterDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewClusterRegisterClusterOK creates a ClusterRegisterClusterOK with default headers values -func NewClusterRegisterClusterOK() *ClusterRegisterClusterOK { - return &ClusterRegisterClusterOK{} -} - -/* ClusterRegisterClusterOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type ClusterRegisterClusterOK struct { - Payload *models.RPCRegisterClusterResponse -} - -func (o *ClusterRegisterClusterOK) Error() string { - return fmt.Sprintf("[POST /infra/v3/scheduler/cluster/register][%d] clusterRegisterClusterOK %+v", 200, o.Payload) -} -func (o *ClusterRegisterClusterOK) GetPayload() *models.RPCRegisterClusterResponse { - return o.Payload -} - -func (o *ClusterRegisterClusterOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.RPCRegisterClusterResponse) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterRegisterClusterForbidden creates a ClusterRegisterClusterForbidden with default headers values -func NewClusterRegisterClusterForbidden() *ClusterRegisterClusterForbidden { - return &ClusterRegisterClusterForbidden{} -} - -/* ClusterRegisterClusterForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type ClusterRegisterClusterForbidden struct { - Payload interface{} -} - -func (o *ClusterRegisterClusterForbidden) Error() string { - return fmt.Sprintf("[POST /infra/v3/scheduler/cluster/register][%d] clusterRegisterClusterForbidden %+v", 403, o.Payload) -} -func (o *ClusterRegisterClusterForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterRegisterClusterForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterRegisterClusterNotFound creates a ClusterRegisterClusterNotFound with default headers values -func NewClusterRegisterClusterNotFound() *ClusterRegisterClusterNotFound { - return &ClusterRegisterClusterNotFound{} -} - -/* ClusterRegisterClusterNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type ClusterRegisterClusterNotFound struct { - Payload string -} - -func (o *ClusterRegisterClusterNotFound) Error() string { - return fmt.Sprintf("[POST /infra/v3/scheduler/cluster/register][%d] clusterRegisterClusterNotFound %+v", 404, o.Payload) -} -func (o *ClusterRegisterClusterNotFound) GetPayload() string { - return o.Payload -} - -func (o *ClusterRegisterClusterNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterRegisterClusterDefault creates a ClusterRegisterClusterDefault with default headers values -func NewClusterRegisterClusterDefault(code int) *ClusterRegisterClusterDefault { - return &ClusterRegisterClusterDefault{ - _statusCode: code, - } -} - -/* ClusterRegisterClusterDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type ClusterRegisterClusterDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the cluster register cluster default response -func (o *ClusterRegisterClusterDefault) Code() int { - return o._statusCode -} - -func (o *ClusterRegisterClusterDefault) Error() string { - return fmt.Sprintf("[POST /infra/v3/scheduler/cluster/register][%d] Cluster_RegisterCluster default %+v", o._statusCode, o.Payload) -} -func (o *ClusterRegisterClusterDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *ClusterRegisterClusterDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_update_cluster_parameters.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_update_cluster_parameters.go deleted file mode 100644 index a62dd1c..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_update_cluster_parameters.go +++ /dev/null @@ -1,192 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// NewClusterUpdateClusterParams creates a new ClusterUpdateClusterParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewClusterUpdateClusterParams() *ClusterUpdateClusterParams { - return &ClusterUpdateClusterParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewClusterUpdateClusterParamsWithTimeout creates a new ClusterUpdateClusterParams object -// with the ability to set a timeout on a request. -func NewClusterUpdateClusterParamsWithTimeout(timeout time.Duration) *ClusterUpdateClusterParams { - return &ClusterUpdateClusterParams{ - timeout: timeout, - } -} - -// NewClusterUpdateClusterParamsWithContext creates a new ClusterUpdateClusterParams object -// with the ability to set a context for a request. -func NewClusterUpdateClusterParamsWithContext(ctx context.Context) *ClusterUpdateClusterParams { - return &ClusterUpdateClusterParams{ - Context: ctx, - } -} - -// NewClusterUpdateClusterParamsWithHTTPClient creates a new ClusterUpdateClusterParams object -// with the ability to set a custom HTTPClient for a request. -func NewClusterUpdateClusterParamsWithHTTPClient(client *http.Client) *ClusterUpdateClusterParams { - return &ClusterUpdateClusterParams{ - HTTPClient: client, - } -} - -/* ClusterUpdateClusterParams contains all the parameters to send to the API endpoint - for the cluster update cluster operation. - - Typically these are written to a http.Request. -*/ -type ClusterUpdateClusterParams struct { - - // Body. - Body *models.V3Cluster - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataProject. - - Project of the resource - */ - MetadataProject string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the cluster update cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterUpdateClusterParams) WithDefaults() *ClusterUpdateClusterParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the cluster update cluster params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *ClusterUpdateClusterParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the cluster update cluster params -func (o *ClusterUpdateClusterParams) WithTimeout(timeout time.Duration) *ClusterUpdateClusterParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the cluster update cluster params -func (o *ClusterUpdateClusterParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the cluster update cluster params -func (o *ClusterUpdateClusterParams) WithContext(ctx context.Context) *ClusterUpdateClusterParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the cluster update cluster params -func (o *ClusterUpdateClusterParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the cluster update cluster params -func (o *ClusterUpdateClusterParams) WithHTTPClient(client *http.Client) *ClusterUpdateClusterParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the cluster update cluster params -func (o *ClusterUpdateClusterParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the cluster update cluster params -func (o *ClusterUpdateClusterParams) WithBody(body *models.V3Cluster) *ClusterUpdateClusterParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the cluster update cluster params -func (o *ClusterUpdateClusterParams) SetBody(body *models.V3Cluster) { - o.Body = body -} - -// WithMetadataName adds the metadataName to the cluster update cluster params -func (o *ClusterUpdateClusterParams) WithMetadataName(metadataName string) *ClusterUpdateClusterParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the cluster update cluster params -func (o *ClusterUpdateClusterParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataProject adds the metadataProject to the cluster update cluster params -func (o *ClusterUpdateClusterParams) WithMetadataProject(metadataProject string) *ClusterUpdateClusterParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the cluster update cluster params -func (o *ClusterUpdateClusterParams) SetMetadataProject(metadataProject string) { - o.MetadataProject = metadataProject -} - -// WriteToRequest writes these params to a swagger request -func (o *ClusterUpdateClusterParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - // path param metadata.project - if err := r.SetPathParam("metadata.project", o.MetadataProject); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster/cluster_update_cluster_responses.go b/components/common/api/def/clients/scheduler/client/cluster/cluster_update_cluster_responses.go deleted file mode 100644 index 6af1caf..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster/cluster_update_cluster_responses.go +++ /dev/null @@ -1,187 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package cluster - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/models" -) - -// ClusterUpdateClusterReader is a Reader for the ClusterUpdateCluster structure. -type ClusterUpdateClusterReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *ClusterUpdateClusterReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewClusterUpdateClusterOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewClusterUpdateClusterForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewClusterUpdateClusterNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewClusterUpdateClusterDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewClusterUpdateClusterOK creates a ClusterUpdateClusterOK with default headers values -func NewClusterUpdateClusterOK() *ClusterUpdateClusterOK { - return &ClusterUpdateClusterOK{} -} - -/* ClusterUpdateClusterOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type ClusterUpdateClusterOK struct { - Payload *models.V3Cluster -} - -func (o *ClusterUpdateClusterOK) Error() string { - return fmt.Sprintf("[PUT /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterUpdateClusterOK %+v", 200, o.Payload) -} -func (o *ClusterUpdateClusterOK) GetPayload() *models.V3Cluster { - return o.Payload -} - -func (o *ClusterUpdateClusterOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.V3Cluster) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterUpdateClusterForbidden creates a ClusterUpdateClusterForbidden with default headers values -func NewClusterUpdateClusterForbidden() *ClusterUpdateClusterForbidden { - return &ClusterUpdateClusterForbidden{} -} - -/* ClusterUpdateClusterForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type ClusterUpdateClusterForbidden struct { - Payload interface{} -} - -func (o *ClusterUpdateClusterForbidden) Error() string { - return fmt.Sprintf("[PUT /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterUpdateClusterForbidden %+v", 403, o.Payload) -} -func (o *ClusterUpdateClusterForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *ClusterUpdateClusterForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterUpdateClusterNotFound creates a ClusterUpdateClusterNotFound with default headers values -func NewClusterUpdateClusterNotFound() *ClusterUpdateClusterNotFound { - return &ClusterUpdateClusterNotFound{} -} - -/* ClusterUpdateClusterNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type ClusterUpdateClusterNotFound struct { - Payload string -} - -func (o *ClusterUpdateClusterNotFound) Error() string { - return fmt.Sprintf("[PUT /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] clusterUpdateClusterNotFound %+v", 404, o.Payload) -} -func (o *ClusterUpdateClusterNotFound) GetPayload() string { - return o.Payload -} - -func (o *ClusterUpdateClusterNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewClusterUpdateClusterDefault creates a ClusterUpdateClusterDefault with default headers values -func NewClusterUpdateClusterDefault(code int) *ClusterUpdateClusterDefault { - return &ClusterUpdateClusterDefault{ - _statusCode: code, - } -} - -/* ClusterUpdateClusterDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type ClusterUpdateClusterDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the cluster update cluster default response -func (o *ClusterUpdateClusterDefault) Code() int { - return o._statusCode -} - -func (o *ClusterUpdateClusterDefault) Error() string { - return fmt.Sprintf("[PUT /infra/v3/project/{metadata.project}/cluster/{metadata.name}][%d] Cluster_UpdateCluster default %+v", o._statusCode, o.Payload) -} -func (o *ClusterUpdateClusterDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *ClusterUpdateClusterDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/scheduler/client/cluster_service_client.go b/components/common/api/def/clients/scheduler/client/cluster_service_client.go deleted file mode 100644 index ae3a514..0000000 --- a/components/common/api/def/clients/scheduler/client/cluster_service_client.go +++ /dev/null @@ -1,112 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package client - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "github.com/go-openapi/runtime" - httptransport "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/scheduler/client/cluster" -) - -// Default cluster service HTTP client. -var Default = NewHTTPClient(nil) - -const ( - // DefaultHost is the default Host - // found in Meta (info) section of spec file - DefaultHost string = "localhost" - // DefaultBasePath is the default BasePath - // found in Meta (info) section of spec file - DefaultBasePath string = "/" -) - -// DefaultSchemes are the default schemes found in Meta (info) section of spec file -var DefaultSchemes = []string{"https"} - -// NewHTTPClient creates a new cluster service HTTP client. -func NewHTTPClient(formats strfmt.Registry) *ClusterService { - return NewHTTPClientWithConfig(formats, nil) -} - -// NewHTTPClientWithConfig creates a new cluster service HTTP client, -// using a customizable transport config. -func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *ClusterService { - // ensure nullable parameters have default - if cfg == nil { - cfg = DefaultTransportConfig() - } - - // create transport and client - transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes) - return New(transport, formats) -} - -// New creates a new cluster service client -func New(transport runtime.ClientTransport, formats strfmt.Registry) *ClusterService { - // ensure nullable parameters have default - if formats == nil { - formats = strfmt.Default - } - - cli := new(ClusterService) - cli.Transport = transport - cli.Cluster = cluster.New(transport, formats) - return cli -} - -// DefaultTransportConfig creates a TransportConfig with the -// default settings taken from the meta section of the spec file. -func DefaultTransportConfig() *TransportConfig { - return &TransportConfig{ - Host: DefaultHost, - BasePath: DefaultBasePath, - Schemes: DefaultSchemes, - } -} - -// TransportConfig contains the transport related info, -// found in the meta section of the spec file. -type TransportConfig struct { - Host string - BasePath string - Schemes []string -} - -// WithHost overrides the default host, -// provided by the meta section of the spec file. -func (cfg *TransportConfig) WithHost(host string) *TransportConfig { - cfg.Host = host - return cfg -} - -// WithBasePath overrides the default basePath, -// provided by the meta section of the spec file. -func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig { - cfg.BasePath = basePath - return cfg -} - -// WithSchemes overrides the default schemes, -// provided by the meta section of the spec file. -func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig { - cfg.Schemes = schemes - return cfg -} - -// ClusterService is a client for cluster service -type ClusterService struct { - Cluster cluster.ClientService - - Transport runtime.ClientTransport -} - -// SetTransport changes the transport on the client and all its subresources -func (c *ClusterService) SetTransport(transport runtime.ClientTransport) { - c.Transport = transport - c.Cluster.SetTransport(transport) -} diff --git a/components/common/api/def/clients/scheduler/models/commonv3_node_condition.go b/components/common/api/def/clients/scheduler/models/commonv3_node_condition.go deleted file mode 100644 index 4aeb6b1..0000000 --- a/components/common/api/def/clients/scheduler/models/commonv3_node_condition.go +++ /dev/null @@ -1,166 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// Commonv3NodeCondition NodeCondition -// -// Node Condition -// -// swagger:model commonv3NodeCondition -type Commonv3NodeCondition struct { - - // Last time we got an update on a given condition. - LastHeartbeatTime *Commonv3Time `json:"lastHeartbeatTime,omitempty"` - - // Last time the condition transit from one status to another. - LastTransitionTime *Commonv3Time `json:"lastTransitionTime,omitempty"` - - // Human readable message indicating details about last transition. - Message string `json:"message,omitempty"` - - // (brief) reason for the condition's last transition. - Reason string `json:"reason,omitempty"` - - // Status of the condition, one of True, False, Unknown. - Status string `json:"status,omitempty"` - - // Type - // - // Type of node condition - Type string `json:"type,omitempty"` -} - -// Validate validates this commonv3 node condition -func (m *Commonv3NodeCondition) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLastHeartbeatTime(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLastTransitionTime(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Commonv3NodeCondition) validateLastHeartbeatTime(formats strfmt.Registry) error { - if swag.IsZero(m.LastHeartbeatTime) { // not required - return nil - } - - if m.LastHeartbeatTime != nil { - if err := m.LastHeartbeatTime.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lastHeartbeatTime") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lastHeartbeatTime") - } - return err - } - } - - return nil -} - -func (m *Commonv3NodeCondition) validateLastTransitionTime(formats strfmt.Registry) error { - if swag.IsZero(m.LastTransitionTime) { // not required - return nil - } - - if m.LastTransitionTime != nil { - if err := m.LastTransitionTime.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lastTransitionTime") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lastTransitionTime") - } - return err - } - } - - return nil -} - -// ContextValidate validate this commonv3 node condition based on the context it is used -func (m *Commonv3NodeCondition) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLastHeartbeatTime(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLastTransitionTime(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Commonv3NodeCondition) contextValidateLastHeartbeatTime(ctx context.Context, formats strfmt.Registry) error { - - if m.LastHeartbeatTime != nil { - if err := m.LastHeartbeatTime.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lastHeartbeatTime") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lastHeartbeatTime") - } - return err - } - } - - return nil -} - -func (m *Commonv3NodeCondition) contextValidateLastTransitionTime(ctx context.Context, formats strfmt.Registry) error { - - if m.LastTransitionTime != nil { - if err := m.LastTransitionTime.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lastTransitionTime") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lastTransitionTime") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *Commonv3NodeCondition) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Commonv3NodeCondition) UnmarshalBinary(b []byte) error { - var res Commonv3NodeCondition - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/commonv3_node_system_info.go b/components/common/api/def/clients/scheduler/models/commonv3_node_system_info.go deleted file mode 100644 index 0ea0a16..0000000 --- a/components/common/api/def/clients/scheduler/models/commonv3_node_system_info.go +++ /dev/null @@ -1,83 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// Commonv3NodeSystemInfo NodeSystemInfo -// -// Node System Info -// -// swagger:model commonv3NodeSystemInfo -type Commonv3NodeSystemInfo struct { - - // The Architecture reported by the node - Architecture string `json:"architecture,omitempty"` - - // Boot ID reported by the node. - BootID string `json:"bootID,omitempty"` - - // ContainerRuntime Version reported by the node through runtime remote API (e.g. docker://1.5.0). - ContainerRuntimeVersion string `json:"containerRuntimeVersion,omitempty"` - - // Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64). - KernelVersion string `json:"kernelVersion,omitempty"` - - // KubeProxy Version reported by the node. - KubeProxyVersion string `json:"kubeProxyVersion,omitempty"` - - // Kubelet Version reported by the node. - KubeletVersion string `json:"kubeletVersion,omitempty"` - - // MachineID reported by the node. For unique machine identification - // in the cluster this field is preferred. Learn more from man(5) - // machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html - MachineID string `json:"machineID,omitempty"` - - // The Operating System reported by the node - OperatingSystem string `json:"operatingSystem,omitempty"` - - // OS Image reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy)). - OsImage string `json:"osImage,omitempty"` - - // SystemUUID reported by the node. For unique machine identification - // MachineID is preferred. This field is specific to Red Hat hosts - // https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid - SystemUUID string `json:"systemUUID,omitempty"` -} - -// Validate validates this commonv3 node system info -func (m *Commonv3NodeSystemInfo) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this commonv3 node system info based on context it is used -func (m *Commonv3NodeSystemInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *Commonv3NodeSystemInfo) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Commonv3NodeSystemInfo) UnmarshalBinary(b []byte) error { - var res Commonv3NodeSystemInfo - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/commonv3_status.go b/components/common/api/def/clients/scheduler/models/commonv3_status.go deleted file mode 100644 index f5e5828..0000000 --- a/components/common/api/def/clients/scheduler/models/commonv3_status.go +++ /dev/null @@ -1,221 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// Commonv3Status Status -// -// status of a resource -// -// swagger:model commonv3Status -type Commonv3Status struct { - - // Condition Status - // - // status of the condition - // Read Only: true - // Enum: [StatusNotSet StatusSubmitted StatusOK StatusFailed] - ConditionStatus *V3ConditionStatus `json:"conditionStatus,omitempty"` - - // Condition Type - // - // type of the status condition - // Read Only: true - ConditionType string `json:"conditionType,omitempty"` - - // Last Updated - // - // when the condition status is last updated - // Read Only: true - // Format: date-time - LastUpdated strfmt.DateTime `json:"lastUpdated,omitempty"` - - // Reason - // - // reason of the last condition status - // Read Only: true - Reason string `json:"reason,omitempty"` -} - -// Validate validates this commonv3 status -func (m *Commonv3Status) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateConditionStatus(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLastUpdated(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -var commonv3StatusTypeConditionStatusPropEnum []interface{} - -func init() { - var res []V3ConditionStatus - if err := json.Unmarshal([]byte(`["StatusNotSet","StatusSubmitted","StatusOK","StatusFailed"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - commonv3StatusTypeConditionStatusPropEnum = append(commonv3StatusTypeConditionStatusPropEnum, v) - } -} - -const ( - - // Commonv3StatusConditionStatusStatusNotSet captures enum value "StatusNotSet" - Commonv3StatusConditionStatusStatusNotSet V3ConditionStatus = "StatusNotSet" - - // Commonv3StatusConditionStatusStatusSubmitted captures enum value "StatusSubmitted" - Commonv3StatusConditionStatusStatusSubmitted V3ConditionStatus = "StatusSubmitted" - - // Commonv3StatusConditionStatusStatusOK captures enum value "StatusOK" - Commonv3StatusConditionStatusStatusOK V3ConditionStatus = "StatusOK" - - // Commonv3StatusConditionStatusStatusFailed captures enum value "StatusFailed" - Commonv3StatusConditionStatusStatusFailed V3ConditionStatus = "StatusFailed" -) - -// prop value enum -func (m *Commonv3Status) validateConditionStatusEnum(path, location string, value V3ConditionStatus) error { - if err := validate.EnumCase(path, location, value, commonv3StatusTypeConditionStatusPropEnum, true); err != nil { - return err - } - return nil -} - -func (m *Commonv3Status) validateConditionStatus(formats strfmt.Registry) error { - if swag.IsZero(m.ConditionStatus) { // not required - return nil - } - - if m.ConditionStatus != nil { - if err := m.ConditionStatus.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("conditionStatus") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("conditionStatus") - } - return err - } - } - - return nil -} - -func (m *Commonv3Status) validateLastUpdated(formats strfmt.Registry) error { - if swag.IsZero(m.LastUpdated) { // not required - return nil - } - - if err := validate.FormatOf("lastUpdated", "body", "date-time", m.LastUpdated.String(), formats); err != nil { - return err - } - - return nil -} - -// ContextValidate validate this commonv3 status based on the context it is used -func (m *Commonv3Status) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateConditionStatus(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateConditionType(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLastUpdated(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateReason(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Commonv3Status) contextValidateConditionStatus(ctx context.Context, formats strfmt.Registry) error { - - if m.ConditionStatus != nil { - if err := m.ConditionStatus.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("conditionStatus") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("conditionStatus") - } - return err - } - } - - return nil -} - -func (m *Commonv3Status) contextValidateConditionType(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "conditionType", "body", string(m.ConditionType)); err != nil { - return err - } - - return nil -} - -func (m *Commonv3Status) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "lastUpdated", "body", strfmt.DateTime(m.LastUpdated)); err != nil { - return err - } - - return nil -} - -func (m *Commonv3Status) contextValidateReason(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "reason", "body", string(m.Reason)); err != nil { - return err - } - - return nil -} - -// MarshalBinary interface implementation -func (m *Commonv3Status) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Commonv3Status) UnmarshalBinary(b []byte) error { - var res Commonv3Status - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/commonv3_taint.go b/components/common/api/def/clients/scheduler/models/commonv3_taint.go deleted file mode 100644 index 45cb5df..0000000 --- a/components/common/api/def/clients/scheduler/models/commonv3_taint.go +++ /dev/null @@ -1,118 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// Commonv3Taint Taint -// -// Taint of the cluster -// -// swagger:model commonv3Taint -type Commonv3Taint struct { - - // Required. The effect of the taint on pods - // that do not tolerate the taint. - // Valid effects are NoSchedule, PreferNoSchedule and NoExecute. - Effect string `json:"effect,omitempty"` - - // Required. The taint key to be applied to a node. - Key string `json:"key,omitempty"` - - // TimeAdded represents the time at which the taint was added. - // It is only written for NoExecute taints. - TimeAdded *Commonv3Time `json:"timeAdded,omitempty"` - - // The taint value corresponding to the taint key. - Value string `json:"value,omitempty"` -} - -// Validate validates this commonv3 taint -func (m *Commonv3Taint) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateTimeAdded(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Commonv3Taint) validateTimeAdded(formats strfmt.Registry) error { - if swag.IsZero(m.TimeAdded) { // not required - return nil - } - - if m.TimeAdded != nil { - if err := m.TimeAdded.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("timeAdded") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("timeAdded") - } - return err - } - } - - return nil -} - -// ContextValidate validate this commonv3 taint based on the context it is used -func (m *Commonv3Taint) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateTimeAdded(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *Commonv3Taint) contextValidateTimeAdded(ctx context.Context, formats strfmt.Registry) error { - - if m.TimeAdded != nil { - if err := m.TimeAdded.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("timeAdded") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("timeAdded") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *Commonv3Taint) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Commonv3Taint) UnmarshalBinary(b []byte) error { - var res Commonv3Taint - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/commonv3_time.go b/components/common/api/def/clients/scheduler/models/commonv3_time.go deleted file mode 100644 index 166843c..0000000 --- a/components/common/api/def/clients/scheduler/models/commonv3_time.go +++ /dev/null @@ -1,60 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// Commonv3Time Time -// -// Time -// -// swagger:model commonv3Time -type Commonv3Time struct { - - // Non-negative fractions of a second at nanosecond resolution. Negative - // second values with fractions must still have non-negative nanos values - // that count forward in time. Must be from 0 to 999,999,999 - // inclusive. This field may be limited in precision depending on context. - Nanos int32 `json:"nanos,omitempty"` - - // Represents seconds of UTC time since Unix epoch - // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - // 9999-12-31T23:59:59Z inclusive. - Seconds string `json:"seconds,omitempty"` -} - -// Validate validates this commonv3 time -func (m *Commonv3Time) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this commonv3 time based on context it is used -func (m *Commonv3Time) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *Commonv3Time) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Commonv3Time) UnmarshalBinary(b []byte) error { - var res Commonv3Time - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/googlerpc_status.go b/components/common/api/def/clients/scheduler/models/googlerpc_status.go deleted file mode 100644 index dc0414a..0000000 --- a/components/common/api/def/clients/scheduler/models/googlerpc_status.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// GooglerpcStatus googlerpc status -// -// swagger:model googlerpcStatus -type GooglerpcStatus struct { - - // code - Code int32 `json:"code,omitempty"` - - // details - Details []*ProtobufAny `json:"details"` - - // message - Message string `json:"message,omitempty"` -} - -// Validate validates this googlerpc status -func (m *GooglerpcStatus) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateDetails(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *GooglerpcStatus) validateDetails(formats strfmt.Registry) error { - if swag.IsZero(m.Details) { // not required - return nil - } - - for i := 0; i < len(m.Details); i++ { - if swag.IsZero(m.Details[i]) { // not required - continue - } - - if m.Details[i] != nil { - if err := m.Details[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("details" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("details" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this googlerpc status based on the context it is used -func (m *GooglerpcStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateDetails(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *GooglerpcStatus) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Details); i++ { - - if m.Details[i] != nil { - if err := m.Details[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("details" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("details" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *GooglerpcStatus) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *GooglerpcStatus) UnmarshalBinary(b []byte) error { - var res GooglerpcStatus - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/protobuf_any.go b/components/common/api/def/clients/scheduler/models/protobuf_any.go deleted file mode 100644 index cbc9799..0000000 --- a/components/common/api/def/clients/scheduler/models/protobuf_any.go +++ /dev/null @@ -1,50 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ProtobufAny protobuf any -// -// swagger:model protobufAny -type ProtobufAny struct { - - // at type - AtType string `json:"@type,omitempty"` -} - -// Validate validates this protobuf any -func (m *ProtobufAny) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this protobuf any based on context it is used -func (m *ProtobufAny) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *ProtobufAny) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ProtobufAny) UnmarshalBinary(b []byte) error { - var res ProtobufAny - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/rpc_delete_cluster_response.go b/components/common/api/def/clients/scheduler/models/rpc_delete_cluster_response.go deleted file mode 100644 index f7c1fff..0000000 --- a/components/common/api/def/clients/scheduler/models/rpc_delete_cluster_response.go +++ /dev/null @@ -1,11 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// RPCDeleteClusterResponse rpc delete cluster response -// -// swagger:model rpcDeleteClusterResponse -type RPCDeleteClusterResponse interface{} diff --git a/components/common/api/def/clients/scheduler/models/rpc_register_cluster_request.go b/components/common/api/def/clients/scheduler/models/rpc_register_cluster_request.go deleted file mode 100644 index 0be4986..0000000 --- a/components/common/api/def/clients/scheduler/models/rpc_register_cluster_request.go +++ /dev/null @@ -1,54 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// RPCRegisterClusterRequest rpc register cluster request -// -// swagger:model rpcRegisterClusterRequest -type RPCRegisterClusterRequest struct { - - // signing request - // Format: byte - SigningRequest strfmt.Base64 `json:"signingRequest,omitempty"` - - // token - Token string `json:"token,omitempty"` -} - -// Validate validates this rpc register cluster request -func (m *RPCRegisterClusterRequest) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this rpc register cluster request based on context it is used -func (m *RPCRegisterClusterRequest) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *RPCRegisterClusterRequest) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *RPCRegisterClusterRequest) UnmarshalBinary(b []byte) error { - var res RPCRegisterClusterRequest - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/rpc_register_cluster_response.go b/components/common/api/def/clients/scheduler/models/rpc_register_cluster_response.go deleted file mode 100644 index bf924ba..0000000 --- a/components/common/api/def/clients/scheduler/models/rpc_register_cluster_response.go +++ /dev/null @@ -1,55 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// RPCRegisterClusterResponse rpc register cluster response -// -// swagger:model rpcRegisterClusterResponse -type RPCRegisterClusterResponse struct { - - // ca certificate - // Format: byte - CaCertificate strfmt.Base64 `json:"caCertificate,omitempty"` - - // certificate - // Format: byte - Certificate strfmt.Base64 `json:"certificate,omitempty"` -} - -// Validate validates this rpc register cluster response -func (m *RPCRegisterClusterResponse) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this rpc register cluster response based on context it is used -func (m *RPCRegisterClusterResponse) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *RPCRegisterClusterResponse) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *RPCRegisterClusterResponse) UnmarshalBinary(b []byte) error { - var res RPCRegisterClusterResponse - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v1_node_condition.go b/components/common/api/def/clients/scheduler/models/v1_node_condition.go deleted file mode 100644 index 589b80e..0000000 --- a/components/common/api/def/clients/scheduler/models/v1_node_condition.go +++ /dev/null @@ -1,166 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1NodeCondition NodeCondition contains condition information for a node. -// -// swagger:model v1NodeCondition -type V1NodeCondition struct { - - // Last time we got an update on a given condition. - // +optional - LastHeartbeatTime *V1Time `json:"lastHeartbeatTime,omitempty"` - - // Last time the condition transit from one status to another. - // +optional - LastTransitionTime *V1Time `json:"lastTransitionTime,omitempty"` - - // Human readable message indicating details about last transition. - // +optional - Message string `json:"message,omitempty"` - - // (brief) reason for the condition's last transition. - // +optional - Reason string `json:"reason,omitempty"` - - // Status of the condition, one of True, False, Unknown. - Status string `json:"status,omitempty"` - - // Type of node condition. - Type string `json:"type,omitempty"` -} - -// Validate validates this v1 node condition -func (m *V1NodeCondition) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLastHeartbeatTime(formats); err != nil { - res = append(res, err) - } - - if err := m.validateLastTransitionTime(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1NodeCondition) validateLastHeartbeatTime(formats strfmt.Registry) error { - if swag.IsZero(m.LastHeartbeatTime) { // not required - return nil - } - - if m.LastHeartbeatTime != nil { - if err := m.LastHeartbeatTime.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lastHeartbeatTime") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lastHeartbeatTime") - } - return err - } - } - - return nil -} - -func (m *V1NodeCondition) validateLastTransitionTime(formats strfmt.Registry) error { - if swag.IsZero(m.LastTransitionTime) { // not required - return nil - } - - if m.LastTransitionTime != nil { - if err := m.LastTransitionTime.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lastTransitionTime") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lastTransitionTime") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 node condition based on the context it is used -func (m *V1NodeCondition) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateLastHeartbeatTime(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLastTransitionTime(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1NodeCondition) contextValidateLastHeartbeatTime(ctx context.Context, formats strfmt.Registry) error { - - if m.LastHeartbeatTime != nil { - if err := m.LastHeartbeatTime.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lastHeartbeatTime") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lastHeartbeatTime") - } - return err - } - } - - return nil -} - -func (m *V1NodeCondition) contextValidateLastTransitionTime(ctx context.Context, formats strfmt.Registry) error { - - if m.LastTransitionTime != nil { - if err := m.LastTransitionTime.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("lastTransitionTime") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("lastTransitionTime") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1NodeCondition) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1NodeCondition) UnmarshalBinary(b []byte) error { - var res V1NodeCondition - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v1_node_system_info.go b/components/common/api/def/clients/scheduler/models/v1_node_system_info.go deleted file mode 100644 index c1870b7..0000000 --- a/components/common/api/def/clients/scheduler/models/v1_node_system_info.go +++ /dev/null @@ -1,81 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1NodeSystemInfo NodeSystemInfo is a set of ids/uuids to uniquely identify the node. -// -// swagger:model v1NodeSystemInfo -type V1NodeSystemInfo struct { - - // The Architecture reported by the node - Architecture string `json:"architecture,omitempty"` - - // Boot ID reported by the node. - BootID string `json:"bootID,omitempty"` - - // ContainerRuntime Version reported by the node through runtime remote API (e.g. docker://1.5.0). - ContainerRuntimeVersion string `json:"containerRuntimeVersion,omitempty"` - - // Kernel Version reported by the node from 'uname -r' (e.g. 3.16.0-0.bpo.4-amd64). - KernelVersion string `json:"kernelVersion,omitempty"` - - // KubeProxy Version reported by the node. - KubeProxyVersion string `json:"kubeProxyVersion,omitempty"` - - // Kubelet Version reported by the node. - KubeletVersion string `json:"kubeletVersion,omitempty"` - - // MachineID reported by the node. For unique machine identification - // in the cluster this field is preferred. Learn more from man(5) - // machine-id: http://man7.org/linux/man-pages/man5/machine-id.5.html - MachineID string `json:"machineID,omitempty"` - - // The Operating System reported by the node - OperatingSystem string `json:"operatingSystem,omitempty"` - - // OS Image reported by the node from /etc/os-release (e.g. Debian GNU/Linux 7 (wheezy)). - OsImage string `json:"osImage,omitempty"` - - // SystemUUID reported by the node. For unique machine identification - // MachineID is preferred. This field is specific to Red Hat hosts - // https://access.redhat.com/documentation/en-us/red_hat_subscription_management/1/html/rhsm/uuid - SystemUUID string `json:"systemUUID,omitempty"` -} - -// Validate validates this v1 node system info -func (m *V1NodeSystemInfo) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 node system info based on context it is used -func (m *V1NodeSystemInfo) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1NodeSystemInfo) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1NodeSystemInfo) UnmarshalBinary(b []byte) error { - var res V1NodeSystemInfo - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v1_taint.go b/components/common/api/def/clients/scheduler/models/v1_taint.go deleted file mode 100644 index dc01be1..0000000 --- a/components/common/api/def/clients/scheduler/models/v1_taint.go +++ /dev/null @@ -1,119 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Taint The node this Taint is attached to has the "effect" on -// any pod that does not tolerate the Taint. -// -// swagger:model v1Taint -type V1Taint struct { - - // Required. The effect of the taint on pods - // that do not tolerate the taint. - // Valid effects are NoSchedule, PreferNoSchedule and NoExecute. - Effect string `json:"effect,omitempty"` - - // Required. The taint key to be applied to a node. - Key string `json:"key,omitempty"` - - // TimeAdded represents the time at which the taint was added. - // It is only written for NoExecute taints. - // +optional - TimeAdded *V1Time `json:"timeAdded,omitempty"` - - // The taint value corresponding to the taint key. - // +optional - Value string `json:"value,omitempty"` -} - -// Validate validates this v1 taint -func (m *V1Taint) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateTimeAdded(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Taint) validateTimeAdded(formats strfmt.Registry) error { - if swag.IsZero(m.TimeAdded) { // not required - return nil - } - - if m.TimeAdded != nil { - if err := m.TimeAdded.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("timeAdded") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("timeAdded") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v1 taint based on the context it is used -func (m *V1Taint) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateTimeAdded(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V1Taint) contextValidateTimeAdded(ctx context.Context, formats strfmt.Registry) error { - - if m.TimeAdded != nil { - if err := m.TimeAdded.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("timeAdded") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("timeAdded") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V1Taint) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Taint) UnmarshalBinary(b []byte) error { - var res V1Taint - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v1_time.go b/components/common/api/def/clients/scheduler/models/v1_time.go deleted file mode 100644 index 1e143c1..0000000 --- a/components/common/api/def/clients/scheduler/models/v1_time.go +++ /dev/null @@ -1,64 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V1Time Time is a wrapper around time.Time which supports correct -// marshaling to YAML and JSON. Wrappers are provided for many -// of the factory methods that the time package offers. -// -// +protobuf.options.marshal=false -// +protobuf.as=Timestamp -// +protobuf.options.(gogoproto.goproto_stringer)=false -// -// swagger:model v1Time -type V1Time struct { - - // Non-negative fractions of a second at nanosecond resolution. Negative - // second values with fractions must still have non-negative nanos values - // that count forward in time. Must be from 0 to 999,999,999 - // inclusive. This field may be limited in precision depending on context. - Nanos int32 `json:"nanos,omitempty"` - - // Represents seconds of UTC time since Unix epoch - // 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to - // 9999-12-31T23:59:59Z inclusive. - Seconds string `json:"seconds,omitempty"` -} - -// Validate validates this v1 time -func (m *V1Time) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v1 time based on context it is used -func (m *V1Time) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V1Time) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V1Time) UnmarshalBinary(b []byte) error { - var res V1Time - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster.go b/components/common/api/def/clients/scheduler/models/v3_cluster.go deleted file mode 100644 index 7273945..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster.go +++ /dev/null @@ -1,276 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// V3Cluster Cluster -// -// Cluster -// -// swagger:model v3Cluster -type V3Cluster struct { - - // API Version - // - // API Version of the resource - // Required: true - // Read Only: true - APIVersion string `json:"apiVersion"` - - // Kind - // - // Kind of the resource - // Required: true - // Read Only: true - Kind string `json:"kind"` - - // Metadata - // - // Metadata of the resource - // Required: true - Metadata *V3Metadata `json:"metadata"` - - // Spec - // - // Spec of the resource - // Required: true - Spec *V3ClusterSpec `json:"spec"` - - // Status - // - // Status of the resource - // Read Only: true - Status *Commonv3Status `json:"status,omitempty"` -} - -// Validate validates this v3 cluster -func (m *V3Cluster) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateAPIVersion(formats); err != nil { - res = append(res, err) - } - - if err := m.validateKind(formats); err != nil { - res = append(res, err) - } - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSpec(formats); err != nil { - res = append(res, err) - } - - if err := m.validateStatus(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3Cluster) validateAPIVersion(formats strfmt.Registry) error { - - if err := validate.RequiredString("apiVersion", "body", m.APIVersion); err != nil { - return err - } - - return nil -} - -func (m *V3Cluster) validateKind(formats strfmt.Registry) error { - - if err := validate.RequiredString("kind", "body", m.Kind); err != nil { - return err - } - - return nil -} - -func (m *V3Cluster) validateMetadata(formats strfmt.Registry) error { - - if err := validate.Required("metadata", "body", m.Metadata); err != nil { - return err - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V3Cluster) validateSpec(formats strfmt.Registry) error { - - if err := validate.Required("spec", "body", m.Spec); err != nil { - return err - } - - if m.Spec != nil { - if err := m.Spec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -func (m *V3Cluster) validateStatus(formats strfmt.Registry) error { - if swag.IsZero(m.Status) { // not required - return nil - } - - if m.Status != nil { - if err := m.Status.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("status") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("status") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v3 cluster based on the context it is used -func (m *V3Cluster) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAPIVersion(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateKind(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSpec(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateStatus(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3Cluster) contextValidateAPIVersion(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "apiVersion", "body", string(m.APIVersion)); err != nil { - return err - } - - return nil -} - -func (m *V3Cluster) contextValidateKind(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "kind", "body", string(m.Kind)); err != nil { - return err - } - - return nil -} - -func (m *V3Cluster) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V3Cluster) contextValidateSpec(ctx context.Context, formats strfmt.Registry) error { - - if m.Spec != nil { - if err := m.Spec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -func (m *V3Cluster) contextValidateStatus(ctx context.Context, formats strfmt.Registry) error { - - if m.Status != nil { - if err := m.Status.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("status") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("status") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3Cluster) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3Cluster) UnmarshalBinary(b []byte) error { - var res V3Cluster - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_condition.go b/components/common/api/def/clients/scheduler/models/v3_cluster_condition.go deleted file mode 100644 index d6f469a..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_condition.go +++ /dev/null @@ -1,182 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// V3ClusterCondition v3 cluster condition -// -// swagger:model v3ClusterCondition -type V3ClusterCondition struct { - - // Cluster condition last updated - // - // Cluster condition last updated - // Format: date-time - LastUpdated strfmt.DateTime `json:"lastUpdated,omitempty"` - - // Reason of cluster condition - // - // Reason of cluster condition - Reason string `json:"reason,omitempty"` - - // Cluster Condition Status - // - // Current status of the cluster - Status *V3RafayConditionStatus `json:"status,omitempty"` - - // Cluster Information - // - // Override selector of the cluster - Type *V3ClusterConditionType `json:"type,omitempty"` -} - -// Validate validates this v3 cluster condition -func (m *V3ClusterCondition) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateLastUpdated(formats); err != nil { - res = append(res, err) - } - - if err := m.validateStatus(formats); err != nil { - res = append(res, err) - } - - if err := m.validateType(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterCondition) validateLastUpdated(formats strfmt.Registry) error { - if swag.IsZero(m.LastUpdated) { // not required - return nil - } - - if err := validate.FormatOf("lastUpdated", "body", "date-time", m.LastUpdated.String(), formats); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterCondition) validateStatus(formats strfmt.Registry) error { - if swag.IsZero(m.Status) { // not required - return nil - } - - if m.Status != nil { - if err := m.Status.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("status") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("status") - } - return err - } - } - - return nil -} - -func (m *V3ClusterCondition) validateType(formats strfmt.Registry) error { - if swag.IsZero(m.Type) { // not required - return nil - } - - if m.Type != nil { - if err := m.Type.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("type") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("type") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v3 cluster condition based on the context it is used -func (m *V3ClusterCondition) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateStatus(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateType(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterCondition) contextValidateStatus(ctx context.Context, formats strfmt.Registry) error { - - if m.Status != nil { - if err := m.Status.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("status") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("status") - } - return err - } - } - - return nil -} - -func (m *V3ClusterCondition) contextValidateType(ctx context.Context, formats strfmt.Registry) error { - - if m.Type != nil { - if err := m.Type.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("type") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("type") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterCondition) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterCondition) UnmarshalBinary(b []byte) error { - var res V3ClusterCondition - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_condition_type.go b/components/common/api/def/clients/scheduler/models/v3_cluster_condition_type.go deleted file mode 100644 index 203fed0..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_condition_type.go +++ /dev/null @@ -1,102 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// V3ClusterConditionType v3 cluster condition type -// -// swagger:model v3ClusterConditionType -type V3ClusterConditionType string - -func NewV3ClusterConditionType(value V3ClusterConditionType) *V3ClusterConditionType { - return &value -} - -// Pointer returns a pointer to a freshly-allocated V3ClusterConditionType. -func (m V3ClusterConditionType) Pointer() *V3ClusterConditionType { - return &m -} - -const ( - - // V3ClusterConditionTypeClusterRegister captures enum value "ClusterRegister" - V3ClusterConditionTypeClusterRegister V3ClusterConditionType = "ClusterRegister" - - // V3ClusterConditionTypeClusterApprove captures enum value "ClusterApprove" - V3ClusterConditionTypeClusterApprove V3ClusterConditionType = "ClusterApprove" - - // V3ClusterConditionTypeClusterCheckIn captures enum value "ClusterCheckIn" - V3ClusterConditionTypeClusterCheckIn V3ClusterConditionType = "ClusterCheckIn" - - // V3ClusterConditionTypeClusterNodeSync captures enum value "ClusterNodeSync" - V3ClusterConditionTypeClusterNodeSync V3ClusterConditionType = "ClusterNodeSync" - - // V3ClusterConditionTypeClusterBlueprintSync captures enum value "ClusterBlueprintSync" - V3ClusterConditionTypeClusterBlueprintSync V3ClusterConditionType = "ClusterBlueprintSync" - - // V3ClusterConditionTypeClusterNamespaceSync captures enum value "ClusterNamespaceSync" - V3ClusterConditionTypeClusterNamespaceSync V3ClusterConditionType = "ClusterNamespaceSync" - - // V3ClusterConditionTypeClusterReady captures enum value "ClusterReady" - V3ClusterConditionTypeClusterReady V3ClusterConditionType = "ClusterReady" - - // V3ClusterConditionTypeClusterAuxiliaryTaskSync captures enum value "ClusterAuxiliaryTaskSync" - V3ClusterConditionTypeClusterAuxiliaryTaskSync V3ClusterConditionType = "ClusterAuxiliaryTaskSync" - - // V3ClusterConditionTypeClusterBootstrapAgent captures enum value "ClusterBootstrapAgent" - V3ClusterConditionTypeClusterBootstrapAgent V3ClusterConditionType = "ClusterBootstrapAgent" - - // V3ClusterConditionTypeClusterDelete captures enum value "ClusterDelete" - V3ClusterConditionTypeClusterDelete V3ClusterConditionType = "ClusterDelete" -) - -// for schema -var v3ClusterConditionTypeEnum []interface{} - -func init() { - var res []V3ClusterConditionType - if err := json.Unmarshal([]byte(`["ClusterRegister","ClusterApprove","ClusterCheckIn","ClusterNodeSync","ClusterBlueprintSync","ClusterNamespaceSync","ClusterReady","ClusterAuxiliaryTaskSync","ClusterBootstrapAgent","ClusterDelete"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - v3ClusterConditionTypeEnum = append(v3ClusterConditionTypeEnum, v) - } -} - -func (m V3ClusterConditionType) validateV3ClusterConditionTypeEnum(path, location string, value V3ClusterConditionType) error { - if err := validate.EnumCase(path, location, value, v3ClusterConditionTypeEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this v3 cluster condition type -func (m V3ClusterConditionType) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateV3ClusterConditionTypeEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this v3 cluster condition type based on context it is used -func (m V3ClusterConditionType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_data.go b/components/common/api/def/clients/scheduler/models/v3_cluster_data.go deleted file mode 100644 index 98d1c71..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_data.go +++ /dev/null @@ -1,409 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// V3ClusterData v3 cluster data -// -// swagger:model v3ClusterData -type V3ClusterData struct { - - // DNS A Record - // - // Entry for DNS A Record - // Read Only: true - Arecord string `json:"arecord,omitempty"` - - // ClusterBlueprint - // - // Cluster Blueprint - // Read Only: true - ClusterBlueprint string `json:"clusterBlueprint,omitempty"` - - // ClusterStatus - // - // Cluster Status - // Read Only: true - ClusterStatus *V3ClusterStatus `json:"clusterStatus,omitempty"` - - // CNAME - // - // cname of the cluster - // Read Only: true - Cname string `json:"cname,omitempty"` - - // Display Name - // - // Display Name - // Read Only: true - DisplayName string `json:"displayName,omitempty"` - - // Health - // - // Health - // Read Only: true - Health *V3Health `json:"health,omitempty"` - - // Manufacturer - // - // Manufacturer - // Read Only: true - Manufacturer string `json:"manufacturer,omitempty"` - - // Cluster Information - // - // Override selector of the cluster - Nodes []*V3ClusterNode `json:"nodes"` - - // Passphrase - // - // passphrase of the cluster - // Read Only: true - Passphrase string `json:"passphrase,omitempty"` - - // Cluster Information - // - // Override selector of the cluster - Projects []*V3ProjectCluster `json:"projects"` - - // Provider - // - // Provider - // Read Only: true - Provider string `json:"provider,omitempty"` -} - -// Validate validates this v3 cluster data -func (m *V3ClusterData) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateClusterStatus(formats); err != nil { - res = append(res, err) - } - - if err := m.validateHealth(formats); err != nil { - res = append(res, err) - } - - if err := m.validateNodes(formats); err != nil { - res = append(res, err) - } - - if err := m.validateProjects(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterData) validateClusterStatus(formats strfmt.Registry) error { - if swag.IsZero(m.ClusterStatus) { // not required - return nil - } - - if m.ClusterStatus != nil { - if err := m.ClusterStatus.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterStatus") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterStatus") - } - return err - } - } - - return nil -} - -func (m *V3ClusterData) validateHealth(formats strfmt.Registry) error { - if swag.IsZero(m.Health) { // not required - return nil - } - - if m.Health != nil { - if err := m.Health.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("health") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("health") - } - return err - } - } - - return nil -} - -func (m *V3ClusterData) validateNodes(formats strfmt.Registry) error { - if swag.IsZero(m.Nodes) { // not required - return nil - } - - for i := 0; i < len(m.Nodes); i++ { - if swag.IsZero(m.Nodes[i]) { // not required - continue - } - - if m.Nodes[i] != nil { - if err := m.Nodes[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodes" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodes" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterData) validateProjects(formats strfmt.Registry) error { - if swag.IsZero(m.Projects) { // not required - return nil - } - - for i := 0; i < len(m.Projects); i++ { - if swag.IsZero(m.Projects[i]) { // not required - continue - } - - if m.Projects[i] != nil { - if err := m.Projects[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("projects" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("projects" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v3 cluster data based on the context it is used -func (m *V3ClusterData) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateArecord(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateClusterBlueprint(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateClusterStatus(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateCname(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateDisplayName(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateHealth(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateManufacturer(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateNodes(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePassphrase(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateProjects(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateProvider(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterData) contextValidateArecord(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "arecord", "body", string(m.Arecord)); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterData) contextValidateClusterBlueprint(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "clusterBlueprint", "body", string(m.ClusterBlueprint)); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterData) contextValidateClusterStatus(ctx context.Context, formats strfmt.Registry) error { - - if m.ClusterStatus != nil { - if err := m.ClusterStatus.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterStatus") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterStatus") - } - return err - } - } - - return nil -} - -func (m *V3ClusterData) contextValidateCname(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "cname", "body", string(m.Cname)); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterData) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "displayName", "body", string(m.DisplayName)); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterData) contextValidateHealth(ctx context.Context, formats strfmt.Registry) error { - - if m.Health != nil { - if err := m.Health.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("health") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("health") - } - return err - } - } - - return nil -} - -func (m *V3ClusterData) contextValidateManufacturer(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "manufacturer", "body", string(m.Manufacturer)); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterData) contextValidateNodes(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Nodes); i++ { - - if m.Nodes[i] != nil { - if err := m.Nodes[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodes" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodes" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterData) contextValidatePassphrase(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "passphrase", "body", string(m.Passphrase)); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterData) contextValidateProjects(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Projects); i++ { - - if m.Projects[i] != nil { - if err := m.Projects[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("projects" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("projects" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterData) contextValidateProvider(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "provider", "body", string(m.Provider)); err != nil { - return err - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterData) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterData) UnmarshalBinary(b []byte) error { - var res V3ClusterData - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_list.go b/components/common/api/def/clients/scheduler/models/v3_cluster_list.go deleted file mode 100644 index 0266634..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_list.go +++ /dev/null @@ -1,211 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// V3ClusterList v3 cluster list -// -// swagger:model v3ClusterList -type V3ClusterList struct { - - // API Version - // - // API Version of the list resource - // Read Only: true - APIVersion string `json:"apiVersion,omitempty"` - - // Items - // - // List of the resources - // Read Only: true - Items []*V3Cluster `json:"items"` - - // Kind - // - // Kind of the list resource - // Read Only: true - Kind string `json:"kind,omitempty"` - - // ListMetadata - // - // Metadata of the list resource - // Read Only: true - Metadata *V3ListMetadata `json:"metadata,omitempty"` -} - -// Validate validates this v3 cluster list -func (m *V3ClusterList) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterList) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterList) validateMetadata(formats strfmt.Registry) error { - if swag.IsZero(m.Metadata) { // not required - return nil - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v3 cluster list based on the context it is used -func (m *V3ClusterList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAPIVersion(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateKind(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterList) contextValidateAPIVersion(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "apiVersion", "body", string(m.APIVersion)); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterList) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "items", "body", []*V3Cluster(m.Items)); err != nil { - return err - } - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterList) contextValidateKind(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "kind", "body", string(m.Kind)); err != nil { - return err - } - - return nil -} - -func (m *V3ClusterList) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterList) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterList) UnmarshalBinary(b []byte) error { - var res V3ClusterList - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_node.go b/components/common/api/def/clients/scheduler/models/v3_cluster_node.go deleted file mode 100644 index 08db4ba..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_node.go +++ /dev/null @@ -1,196 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ClusterNode v3 cluster node -// -// swagger:model v3ClusterNode -type V3ClusterNode struct { - - // metadata - Metadata *V3Metadata `json:"metadata,omitempty"` - - // spec - Spec *V3ClusterNodeSpec `json:"spec,omitempty"` - - // status - Status *V3ClusterNodeStatus `json:"status,omitempty"` -} - -// Validate validates this v3 cluster node -func (m *V3ClusterNode) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSpec(formats); err != nil { - res = append(res, err) - } - - if err := m.validateStatus(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterNode) validateMetadata(formats strfmt.Registry) error { - if swag.IsZero(m.Metadata) { // not required - return nil - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNode) validateSpec(formats strfmt.Registry) error { - if swag.IsZero(m.Spec) { // not required - return nil - } - - if m.Spec != nil { - if err := m.Spec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNode) validateStatus(formats strfmt.Registry) error { - if swag.IsZero(m.Status) { // not required - return nil - } - - if m.Status != nil { - if err := m.Status.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("status") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("status") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v3 cluster node based on the context it is used -func (m *V3ClusterNode) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSpec(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateStatus(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterNode) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNode) contextValidateSpec(ctx context.Context, formats strfmt.Registry) error { - - if m.Spec != nil { - if err := m.Spec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNode) contextValidateStatus(ctx context.Context, formats strfmt.Registry) error { - - if m.Status != nil { - if err := m.Status.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("status") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("status") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterNode) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterNode) UnmarshalBinary(b []byte) error { - var res V3ClusterNode - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_node_ip.go b/components/common/api/def/clients/scheduler/models/v3_cluster_node_ip.go deleted file mode 100644 index 3e79b03..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_node_ip.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ClusterNodeIP v3 cluster node IP -// -// swagger:model v3ClusterNodeIP -type V3ClusterNodeIP struct { - - // private IP - PrivateIP string `json:"privateIP,omitempty"` - - // public IP - PublicIP string `json:"publicIP,omitempty"` -} - -// Validate validates this v3 cluster node IP -func (m *V3ClusterNodeIP) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v3 cluster node IP based on context it is used -func (m *V3ClusterNodeIP) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterNodeIP) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterNodeIP) UnmarshalBinary(b []byte) error { - var res V3ClusterNodeIP - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_node_spec.go b/components/common/api/def/clients/scheduler/models/v3_cluster_node_spec.go deleted file mode 100644 index e0772d6..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_node_spec.go +++ /dev/null @@ -1,119 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ClusterNodeSpec v3 cluster node spec -// -// swagger:model v3ClusterNodeSpec -type V3ClusterNodeSpec struct { - - // taints - Taints []*V1Taint `json:"taints"` - - // unschedulable - Unschedulable bool `json:"unschedulable,omitempty"` -} - -// Validate validates this v3 cluster node spec -func (m *V3ClusterNodeSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateTaints(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterNodeSpec) validateTaints(formats strfmt.Registry) error { - if swag.IsZero(m.Taints) { // not required - return nil - } - - for i := 0; i < len(m.Taints); i++ { - if swag.IsZero(m.Taints[i]) { // not required - continue - } - - if m.Taints[i] != nil { - if err := m.Taints[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("taints" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("taints" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v3 cluster node spec based on the context it is used -func (m *V3ClusterNodeSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateTaints(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterNodeSpec) contextValidateTaints(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Taints); i++ { - - if m.Taints[i] != nil { - if err := m.Taints[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("taints" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("taints" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterNodeSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterNodeSpec) UnmarshalBinary(b []byte) error { - var res V3ClusterNodeSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_node_state.go b/components/common/api/def/clients/scheduler/models/v3_cluster_node_state.go deleted file mode 100644 index 6894a13..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_node_state.go +++ /dev/null @@ -1,81 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// V3ClusterNodeState v3 cluster node state -// -// swagger:model v3ClusterNodeState -type V3ClusterNodeState string - -func NewV3ClusterNodeState(value V3ClusterNodeState) *V3ClusterNodeState { - return &value -} - -// Pointer returns a pointer to a freshly-allocated V3ClusterNodeState. -func (m V3ClusterNodeState) Pointer() *V3ClusterNodeState { - return &m -} - -const ( - - // V3ClusterNodeStateClusterNodeCreated captures enum value "ClusterNodeCreated" - V3ClusterNodeStateClusterNodeCreated V3ClusterNodeState = "ClusterNodeCreated" - - // V3ClusterNodeStateClusterNodeNotReady captures enum value "ClusterNodeNotReady" - V3ClusterNodeStateClusterNodeNotReady V3ClusterNodeState = "ClusterNodeNotReady" - - // V3ClusterNodeStateClusterNodeReady captures enum value "ClusterNodeReady" - V3ClusterNodeStateClusterNodeReady V3ClusterNodeState = "ClusterNodeReady" -) - -// for schema -var v3ClusterNodeStateEnum []interface{} - -func init() { - var res []V3ClusterNodeState - if err := json.Unmarshal([]byte(`["ClusterNodeCreated","ClusterNodeNotReady","ClusterNodeReady"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - v3ClusterNodeStateEnum = append(v3ClusterNodeStateEnum, v) - } -} - -func (m V3ClusterNodeState) validateV3ClusterNodeStateEnum(path, location string, value V3ClusterNodeState) error { - if err := validate.EnumCase(path, location, value, v3ClusterNodeStateEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this v3 cluster node state -func (m V3ClusterNodeState) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateV3ClusterNodeStateEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this v3 cluster node state based on context it is used -func (m V3ClusterNodeState) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_node_status.go b/components/common/api/def/clients/scheduler/models/v3_cluster_node_status.go deleted file mode 100644 index 75aaf57..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_node_status.go +++ /dev/null @@ -1,403 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ClusterNodeStatus v3 cluster node status -// -// swagger:model v3ClusterNodeStatus -type V3ClusterNodeStatus struct { - - // allocatable - Allocatable *V3Resources `json:"allocatable,omitempty"` - - // allocated - Allocated *V3Resources `json:"allocated,omitempty"` - - // capacity - Capacity *V3Resources `json:"capacity,omitempty"` - - // conditions - Conditions []*V1NodeCondition `json:"conditions"` - - // ips - Ips []*V3ClusterNodeIP `json:"ips"` - - // node info - NodeInfo *V1NodeSystemInfo `json:"nodeInfo,omitempty"` - - // state - State *V3ClusterNodeState `json:"state,omitempty"` -} - -// Validate validates this v3 cluster node status -func (m *V3ClusterNodeStatus) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateAllocatable(formats); err != nil { - res = append(res, err) - } - - if err := m.validateAllocated(formats); err != nil { - res = append(res, err) - } - - if err := m.validateCapacity(formats); err != nil { - res = append(res, err) - } - - if err := m.validateConditions(formats); err != nil { - res = append(res, err) - } - - if err := m.validateIps(formats); err != nil { - res = append(res, err) - } - - if err := m.validateNodeInfo(formats); err != nil { - res = append(res, err) - } - - if err := m.validateState(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterNodeStatus) validateAllocatable(formats strfmt.Registry) error { - if swag.IsZero(m.Allocatable) { // not required - return nil - } - - if m.Allocatable != nil { - if err := m.Allocatable.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("allocatable") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("allocatable") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNodeStatus) validateAllocated(formats strfmt.Registry) error { - if swag.IsZero(m.Allocated) { // not required - return nil - } - - if m.Allocated != nil { - if err := m.Allocated.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("allocated") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("allocated") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNodeStatus) validateCapacity(formats strfmt.Registry) error { - if swag.IsZero(m.Capacity) { // not required - return nil - } - - if m.Capacity != nil { - if err := m.Capacity.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("capacity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("capacity") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNodeStatus) validateConditions(formats strfmt.Registry) error { - if swag.IsZero(m.Conditions) { // not required - return nil - } - - for i := 0; i < len(m.Conditions); i++ { - if swag.IsZero(m.Conditions[i]) { // not required - continue - } - - if m.Conditions[i] != nil { - if err := m.Conditions[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("conditions" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("conditions" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterNodeStatus) validateIps(formats strfmt.Registry) error { - if swag.IsZero(m.Ips) { // not required - return nil - } - - for i := 0; i < len(m.Ips); i++ { - if swag.IsZero(m.Ips[i]) { // not required - continue - } - - if m.Ips[i] != nil { - if err := m.Ips[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ips" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ips" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterNodeStatus) validateNodeInfo(formats strfmt.Registry) error { - if swag.IsZero(m.NodeInfo) { // not required - return nil - } - - if m.NodeInfo != nil { - if err := m.NodeInfo.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodeInfo") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodeInfo") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNodeStatus) validateState(formats strfmt.Registry) error { - if swag.IsZero(m.State) { // not required - return nil - } - - if m.State != nil { - if err := m.State.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("state") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("state") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v3 cluster node status based on the context it is used -func (m *V3ClusterNodeStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAllocatable(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateAllocated(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateCapacity(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateConditions(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateIps(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateNodeInfo(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateState(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterNodeStatus) contextValidateAllocatable(ctx context.Context, formats strfmt.Registry) error { - - if m.Allocatable != nil { - if err := m.Allocatable.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("allocatable") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("allocatable") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNodeStatus) contextValidateAllocated(ctx context.Context, formats strfmt.Registry) error { - - if m.Allocated != nil { - if err := m.Allocated.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("allocated") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("allocated") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNodeStatus) contextValidateCapacity(ctx context.Context, formats strfmt.Registry) error { - - if m.Capacity != nil { - if err := m.Capacity.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("capacity") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("capacity") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNodeStatus) contextValidateConditions(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Conditions); i++ { - - if m.Conditions[i] != nil { - if err := m.Conditions[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("conditions" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("conditions" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterNodeStatus) contextValidateIps(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Ips); i++ { - - if m.Ips[i] != nil { - if err := m.Ips[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("ips" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("ips" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *V3ClusterNodeStatus) contextValidateNodeInfo(ctx context.Context, formats strfmt.Registry) error { - - if m.NodeInfo != nil { - if err := m.NodeInfo.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("nodeInfo") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("nodeInfo") - } - return err - } - } - - return nil -} - -func (m *V3ClusterNodeStatus) contextValidateState(ctx context.Context, formats strfmt.Registry) error { - - if m.State != nil { - if err := m.State.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("state") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("state") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterNodeStatus) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterNodeStatus) UnmarshalBinary(b []byte) error { - var res V3ClusterNodeStatus - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_share_mode.go b/components/common/api/def/clients/scheduler/models/v3_cluster_share_mode.go deleted file mode 100644 index 2a909b2..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_share_mode.go +++ /dev/null @@ -1,81 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// V3ClusterShareMode v3 cluster share mode -// -// swagger:model v3ClusterShareMode -type V3ClusterShareMode string - -func NewV3ClusterShareMode(value V3ClusterShareMode) *V3ClusterShareMode { - return &value -} - -// Pointer returns a pointer to a freshly-allocated V3ClusterShareMode. -func (m V3ClusterShareMode) Pointer() *V3ClusterShareMode { - return &m -} - -const ( - - // V3ClusterShareModeClusterShareModeNotSet captures enum value "ClusterShareModeNotSet" - V3ClusterShareModeClusterShareModeNotSet V3ClusterShareMode = "ClusterShareModeNotSet" - - // V3ClusterShareModeALL captures enum value "ALL" - V3ClusterShareModeALL V3ClusterShareMode = "ALL" - - // V3ClusterShareModeCUSTOM captures enum value "CUSTOM" - V3ClusterShareModeCUSTOM V3ClusterShareMode = "CUSTOM" -) - -// for schema -var v3ClusterShareModeEnum []interface{} - -func init() { - var res []V3ClusterShareMode - if err := json.Unmarshal([]byte(`["ClusterShareModeNotSet","ALL","CUSTOM"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - v3ClusterShareModeEnum = append(v3ClusterShareModeEnum, v) - } -} - -func (m V3ClusterShareMode) validateV3ClusterShareModeEnum(path, location string, value V3ClusterShareMode) error { - if err := validate.EnumCase(path, location, value, v3ClusterShareModeEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this v3 cluster share mode -func (m V3ClusterShareMode) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateV3ClusterShareModeEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this v3 cluster share mode based on context it is used -func (m V3ClusterShareMode) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_spec.go b/components/common/api/def/clients/scheduler/models/v3_cluster_spec.go deleted file mode 100644 index fefcd89..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_spec.go +++ /dev/null @@ -1,309 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ClusterSpec v3 cluster spec -// -// swagger:model v3ClusterSpec -type V3ClusterSpec struct { - - // Cluster Information - // - // Override selector of the cluster - // Read Only: true - ClusterData *V3ClusterData `json:"clusterData,omitempty"` - - // Cluster Type - // - // Type of the cluster being created - ClusterType *string `json:"clusterType,omitempty"` - - // Location - // - // Location of the cluster - Metro *V3Metro `json:"metro,omitempty"` - - // Override Selector - // - // Override selector of the cluster - OverrideSelector string `json:"overrideSelector,omitempty"` - - // Provision Params - // - // Cluster provisioning params - Params *V3ProvisionParams `json:"params,omitempty"` - - // ProxyConfig - // - // Override selector of the cluster - ProxyConfig *V3ProxyConfig `json:"proxyConfig,omitempty"` - - // Override Selector - // - // Override selector of the cluster - ShareMode *V3ClusterShareMode `json:"shareMode,omitempty"` -} - -// Validate validates this v3 cluster spec -func (m *V3ClusterSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateClusterData(formats); err != nil { - res = append(res, err) - } - - if err := m.validateMetro(formats); err != nil { - res = append(res, err) - } - - if err := m.validateParams(formats); err != nil { - res = append(res, err) - } - - if err := m.validateProxyConfig(formats); err != nil { - res = append(res, err) - } - - if err := m.validateShareMode(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterSpec) validateClusterData(formats strfmt.Registry) error { - if swag.IsZero(m.ClusterData) { // not required - return nil - } - - if m.ClusterData != nil { - if err := m.ClusterData.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterData") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterData") - } - return err - } - } - - return nil -} - -func (m *V3ClusterSpec) validateMetro(formats strfmt.Registry) error { - if swag.IsZero(m.Metro) { // not required - return nil - } - - if m.Metro != nil { - if err := m.Metro.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metro") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metro") - } - return err - } - } - - return nil -} - -func (m *V3ClusterSpec) validateParams(formats strfmt.Registry) error { - if swag.IsZero(m.Params) { // not required - return nil - } - - if m.Params != nil { - if err := m.Params.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("params") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("params") - } - return err - } - } - - return nil -} - -func (m *V3ClusterSpec) validateProxyConfig(formats strfmt.Registry) error { - if swag.IsZero(m.ProxyConfig) { // not required - return nil - } - - if m.ProxyConfig != nil { - if err := m.ProxyConfig.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("proxyConfig") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("proxyConfig") - } - return err - } - } - - return nil -} - -func (m *V3ClusterSpec) validateShareMode(formats strfmt.Registry) error { - if swag.IsZero(m.ShareMode) { // not required - return nil - } - - if m.ShareMode != nil { - if err := m.ShareMode.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("shareMode") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("shareMode") - } - return err - } - } - - return nil -} - -// ContextValidate validate this v3 cluster spec based on the context it is used -func (m *V3ClusterSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateClusterData(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateMetro(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateParams(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateProxyConfig(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateShareMode(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterSpec) contextValidateClusterData(ctx context.Context, formats strfmt.Registry) error { - - if m.ClusterData != nil { - if err := m.ClusterData.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterData") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterData") - } - return err - } - } - - return nil -} - -func (m *V3ClusterSpec) contextValidateMetro(ctx context.Context, formats strfmt.Registry) error { - - if m.Metro != nil { - if err := m.Metro.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metro") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metro") - } - return err - } - } - - return nil -} - -func (m *V3ClusterSpec) contextValidateParams(ctx context.Context, formats strfmt.Registry) error { - - if m.Params != nil { - if err := m.Params.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("params") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("params") - } - return err - } - } - - return nil -} - -func (m *V3ClusterSpec) contextValidateProxyConfig(ctx context.Context, formats strfmt.Registry) error { - - if m.ProxyConfig != nil { - if err := m.ProxyConfig.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("proxyConfig") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("proxyConfig") - } - return err - } - } - - return nil -} - -func (m *V3ClusterSpec) contextValidateShareMode(ctx context.Context, formats strfmt.Registry) error { - - if m.ShareMode != nil { - if err := m.ShareMode.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("shareMode") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("shareMode") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterSpec) UnmarshalBinary(b []byte) error { - var res V3ClusterSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_cluster_status.go b/components/common/api/def/clients/scheduler/models/v3_cluster_status.go deleted file mode 100644 index b1e5bae..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_cluster_status.go +++ /dev/null @@ -1,143 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ClusterStatus v3 cluster status -// -// swagger:model v3ClusterStatus -type V3ClusterStatus struct { - - // Cluster Information - // - // Override selector of the cluster - AuxiliaryTaskCount string `json:"auxiliaryTaskCount,omitempty"` - - // Cluster Information - // - // Override selector of the cluster - Conditions []*V3ClusterCondition `json:"conditions"` - - // Cluster Information - // - // Override selector of the cluster - CustomTaskCount string `json:"customTaskCount,omitempty"` - - // Cluster Information - // - // Override selector of the cluster - PublishedBlueprint string `json:"publishedBlueprint,omitempty"` - - // Cluster Information - // - // Override selector of the cluster - SystemTaskCount string `json:"systemTaskCount,omitempty"` - - // Cluster Information - // - // Override selector of the cluster - Token string `json:"token,omitempty"` -} - -// Validate validates this v3 cluster status -func (m *V3ClusterStatus) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateConditions(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterStatus) validateConditions(formats strfmt.Registry) error { - if swag.IsZero(m.Conditions) { // not required - return nil - } - - for i := 0; i < len(m.Conditions); i++ { - if swag.IsZero(m.Conditions[i]) { // not required - continue - } - - if m.Conditions[i] != nil { - if err := m.Conditions[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("conditions" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("conditions" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this v3 cluster status based on the context it is used -func (m *V3ClusterStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateConditions(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3ClusterStatus) contextValidateConditions(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Conditions); i++ { - - if m.Conditions[i] != nil { - if err := m.Conditions[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("conditions" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("conditions" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3ClusterStatus) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ClusterStatus) UnmarshalBinary(b []byte) error { - var res V3ClusterStatus - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_condition_status.go b/components/common/api/def/clients/scheduler/models/v3_condition_status.go deleted file mode 100644 index ad93d27..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_condition_status.go +++ /dev/null @@ -1,85 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// V3ConditionStatus $title: ConditionStatus -// $description: status of a condition for a resource -// -// swagger:model v3ConditionStatus -type V3ConditionStatus string - -func NewV3ConditionStatus(value V3ConditionStatus) *V3ConditionStatus { - return &value -} - -// Pointer returns a pointer to a freshly-allocated V3ConditionStatus. -func (m V3ConditionStatus) Pointer() *V3ConditionStatus { - return &m -} - -const ( - - // V3ConditionStatusStatusNotSet captures enum value "StatusNotSet" - V3ConditionStatusStatusNotSet V3ConditionStatus = "StatusNotSet" - - // V3ConditionStatusStatusSubmitted captures enum value "StatusSubmitted" - V3ConditionStatusStatusSubmitted V3ConditionStatus = "StatusSubmitted" - - // V3ConditionStatusStatusOK captures enum value "StatusOK" - V3ConditionStatusStatusOK V3ConditionStatus = "StatusOK" - - // V3ConditionStatusStatusFailed captures enum value "StatusFailed" - V3ConditionStatusStatusFailed V3ConditionStatus = "StatusFailed" -) - -// for schema -var v3ConditionStatusEnum []interface{} - -func init() { - var res []V3ConditionStatus - if err := json.Unmarshal([]byte(`["StatusNotSet","StatusSubmitted","StatusOK","StatusFailed"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - v3ConditionStatusEnum = append(v3ConditionStatusEnum, v) - } -} - -func (m V3ConditionStatus) validateV3ConditionStatusEnum(path, location string, value V3ConditionStatus) error { - if err := validate.EnumCase(path, location, value, v3ConditionStatusEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this v3 condition status -func (m V3ConditionStatus) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateV3ConditionStatusEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this v3 condition status based on context it is used -func (m V3ConditionStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_health.go b/components/common/api/def/clients/scheduler/models/v3_health.go deleted file mode 100644 index c0b21fb..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_health.go +++ /dev/null @@ -1,84 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// V3Health v3 health -// -// swagger:model v3Health -type V3Health string - -func NewV3Health(value V3Health) *V3Health { - return &value -} - -// Pointer returns a pointer to a freshly-allocated V3Health. -func (m V3Health) Pointer() *V3Health { - return &m -} - -const ( - - // V3HealthEDGEIGNORE captures enum value "EDGE_IGNORE" - V3HealthEDGEIGNORE V3Health = "EDGE_IGNORE" - - // V3HealthEDGEHEALTHY captures enum value "EDGE_HEALTHY" - V3HealthEDGEHEALTHY V3Health = "EDGE_HEALTHY" - - // V3HealthEDGEUNHEALTHY captures enum value "EDGE_UNHEALTHY" - V3HealthEDGEUNHEALTHY V3Health = "EDGE_UNHEALTHY" - - // V3HealthEDGEDISCONNECTED captures enum value "EDGE_DISCONNECTED" - V3HealthEDGEDISCONNECTED V3Health = "EDGE_DISCONNECTED" -) - -// for schema -var v3HealthEnum []interface{} - -func init() { - var res []V3Health - if err := json.Unmarshal([]byte(`["EDGE_IGNORE","EDGE_HEALTHY","EDGE_UNHEALTHY","EDGE_DISCONNECTED"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - v3HealthEnum = append(v3HealthEnum, v) - } -} - -func (m V3Health) validateV3HealthEnum(path, location string, value V3Health) error { - if err := validate.EnumCase(path, location, value, v3HealthEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this v3 health -func (m V3Health) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateV3HealthEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this v3 health based on context it is used -func (m V3Health) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_list_metadata.go b/components/common/api/def/clients/scheduler/models/v3_list_metadata.go deleted file mode 100644 index 34b2308..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_list_metadata.go +++ /dev/null @@ -1,58 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ListMetadata $title: ListMetadata -// $description: metadata for a list of resources -// $required: enabled -// -// swagger:model v3ListMetadata -type V3ListMetadata struct { - - // count - Count string `json:"count,omitempty"` - - // limit - Limit string `json:"limit,omitempty"` - - // offset - Offset string `json:"offset,omitempty"` -} - -// Validate validates this v3 list metadata -func (m *V3ListMetadata) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v3 list metadata based on context it is used -func (m *V3ListMetadata) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V3ListMetadata) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ListMetadata) UnmarshalBinary(b []byte) error { - var res V3ListMetadata - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_metadata.go b/components/common/api/def/clients/scheduler/models/v3_metadata.go deleted file mode 100644 index 2ba69ea..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_metadata.go +++ /dev/null @@ -1,176 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// V3Metadata Metadata -// -// metadata of the resource -// Example: {"name":"some-name","project":"defaultproject"} -// -// swagger:model v3Metadata -type V3Metadata struct { - - // Annotations - // - // annotations of the resource - Annotations map[string]string `json:"annotations,omitempty"` - - // Description - // - // description of the resource - Description string `json:"description,omitempty"` - - // id - // Read Only: true - ID string `json:"id,omitempty"` - - // Lables - // - // labels of the resource - Labels map[string]string `json:"labels,omitempty"` - - // modified at - // Read Only: true - // Format: date-time - ModifiedAt strfmt.DateTime `json:"modifiedAt,omitempty"` - - // Name - // - // name of the resource - // Required: true - Name *string `json:"name"` - - // Organization - // - // Organization to which the resource belongs - Organization string `json:"organization,omitempty"` - - // Partner - // - // Partner to which the resource belongs - Partner string `json:"partner,omitempty"` - - // Project - // - // Project of the resource - // Required: true - Project *string `json:"project"` -} - -// Validate validates this v3 metadata -func (m *V3Metadata) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateModifiedAt(formats); err != nil { - res = append(res, err) - } - - if err := m.validateName(formats); err != nil { - res = append(res, err) - } - - if err := m.validateProject(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3Metadata) validateModifiedAt(formats strfmt.Registry) error { - if swag.IsZero(m.ModifiedAt) { // not required - return nil - } - - if err := validate.FormatOf("modifiedAt", "body", "date-time", m.ModifiedAt.String(), formats); err != nil { - return err - } - - return nil -} - -func (m *V3Metadata) validateName(formats strfmt.Registry) error { - - if err := validate.Required("name", "body", m.Name); err != nil { - return err - } - - return nil -} - -func (m *V3Metadata) validateProject(formats strfmt.Registry) error { - - if err := validate.Required("project", "body", m.Project); err != nil { - return err - } - - return nil -} - -// ContextValidate validate this v3 metadata based on the context it is used -func (m *V3Metadata) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateID(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateModifiedAt(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3Metadata) contextValidateID(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "id", "body", string(m.ID)); err != nil { - return err - } - - return nil -} - -func (m *V3Metadata) contextValidateModifiedAt(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "modifiedAt", "body", strfmt.DateTime(m.ModifiedAt)); err != nil { - return err - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3Metadata) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3Metadata) UnmarshalBinary(b []byte) error { - var res V3Metadata - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_metro.go b/components/common/api/def/clients/scheduler/models/v3_metro.go deleted file mode 100644 index 9e9cc79..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_metro.go +++ /dev/null @@ -1,216 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// V3Metro v3 metro -// -// swagger:model v3Metro -type V3Metro struct { - - // City - // - // City of the location - // Read Only: true - City string `json:"city,omitempty"` - - // Country - // - // country of the location - // Read Only: true - Country string `json:"country,omitempty"` - - // CountryCode - // - // CountryCode of the location - // Read Only: true - CountryCode string `json:"countryCode,omitempty"` - - // ID of Location - // - // ID Location of the cluster - ID string `json:"id,omitempty"` - - // Latitude - // - // Latitude of the location - // Read Only: true - Latitude string `json:"latitude,omitempty"` - - // Locale - // - // locale of the location - // Read Only: true - Locale string `json:"locale,omitempty"` - - // Longitude - // - // Longitude of the location - // Read Only: true - Longitude string `json:"longitude,omitempty"` - - // Location - // - // Location of the cluster - Name string `json:"name,omitempty"` - - // State - // - // State of the location - // Read Only: true - State string `json:"state,omitempty"` - - // StateCode - // - // StateCode of the location - // Read Only: true - StateCode string `json:"stateCode,omitempty"` -} - -// Validate validates this v3 metro -func (m *V3Metro) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validate this v3 metro based on the context it is used -func (m *V3Metro) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateCity(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateCountry(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateCountryCode(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLatitude(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLocale(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateLongitude(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateState(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateStateCode(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3Metro) contextValidateCity(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "city", "body", string(m.City)); err != nil { - return err - } - - return nil -} - -func (m *V3Metro) contextValidateCountry(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "country", "body", string(m.Country)); err != nil { - return err - } - - return nil -} - -func (m *V3Metro) contextValidateCountryCode(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "countryCode", "body", string(m.CountryCode)); err != nil { - return err - } - - return nil -} - -func (m *V3Metro) contextValidateLatitude(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "latitude", "body", string(m.Latitude)); err != nil { - return err - } - - return nil -} - -func (m *V3Metro) contextValidateLocale(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "locale", "body", string(m.Locale)); err != nil { - return err - } - - return nil -} - -func (m *V3Metro) contextValidateLongitude(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "longitude", "body", string(m.Longitude)); err != nil { - return err - } - - return nil -} - -func (m *V3Metro) contextValidateState(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "state", "body", string(m.State)); err != nil { - return err - } - - return nil -} - -func (m *V3Metro) contextValidateStateCode(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "stateCode", "body", string(m.StateCode)); err != nil { - return err - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3Metro) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3Metro) UnmarshalBinary(b []byte) error { - var res V3Metro - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_project_cluster.go b/components/common/api/def/clients/scheduler/models/v3_project_cluster.go deleted file mode 100644 index 8e6e244..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_project_cluster.go +++ /dev/null @@ -1,57 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ProjectCluster v3 project cluster -// -// swagger:model v3ProjectCluster -type V3ProjectCluster struct { - - // Cluster ID - // - // Cluster ID associated with the project - ClusterID string `json:"clusterID,omitempty"` - - // Project ID - // - // Project ID associated with the cluster - ProjectID string `json:"projectID,omitempty"` -} - -// Validate validates this v3 project cluster -func (m *V3ProjectCluster) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v3 project cluster based on context it is used -func (m *V3ProjectCluster) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V3ProjectCluster) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ProjectCluster) UnmarshalBinary(b []byte) error { - var res V3ProjectCluster - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_provision_params.go b/components/common/api/def/clients/scheduler/models/v3_provision_params.go deleted file mode 100644 index 0dd49c4..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_provision_params.go +++ /dev/null @@ -1,77 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ProvisionParams v3 provision params -// -// swagger:model v3ProvisionParams -type V3ProvisionParams struct { - - // EnvironmentProvider - // - // environment provider of the cluster - EnvironmentProvider string `json:"environmentProvider,omitempty"` - - // KubernetesProvider - // - // kubernetes provider - KubernetesProvider string `json:"kubernetesProvider,omitempty"` - - // ProvisionEnvironment - // - // provision environment - ProvisionEnvironment string `json:"provisionEnvironment,omitempty"` - - // ProvisionPackageType - // - // provision package type - ProvisionPackageType string `json:"provisionPackageType,omitempty"` - - // ProvisionType - // - // provision type - ProvisionType string `json:"provisionType,omitempty"` - - // State - // - // state - State string `json:"state,omitempty"` -} - -// Validate validates this v3 provision params -func (m *V3ProvisionParams) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v3 provision params based on context it is used -func (m *V3ProvisionParams) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V3ProvisionParams) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ProvisionParams) UnmarshalBinary(b []byte) error { - var res V3ProvisionParams - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_proxy_config.go b/components/common/api/def/clients/scheduler/models/v3_proxy_config.go deleted file mode 100644 index 4e3102e..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_proxy_config.go +++ /dev/null @@ -1,82 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ProxyConfig v3 proxy config -// -// swagger:model v3ProxyConfig -type V3ProxyConfig struct { - - // AllowInsecureBootstrap - // - // Allow insecure bootstrap - AllowInsecureBootstrap bool `json:"allowInsecureBootstrap,omitempty"` - - // BootstrapCA - // - // Certificate Authority of bootstrap server - BootstrapCA string `json:"bootstrapCA,omitempty"` - - // Enabled - // - // enabled - Enabled bool `json:"enabled,omitempty"` - - // HttpProxy - // - // http proxy - HTTPProxy string `json:"httpProxy,omitempty"` - - // HttpsProxy - // - // https proxy - HTTPSProxy string `json:"httpsProxy,omitempty"` - - // noproxy - // - // noproxy - NoProxy string `json:"noProxy,omitempty"` - - // ProxyAuth - // - // proxy auth - ProxyAuth string `json:"proxyAuth,omitempty"` -} - -// Validate validates this v3 proxy config -func (m *V3ProxyConfig) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v3 proxy config based on context it is used -func (m *V3ProxyConfig) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V3ProxyConfig) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ProxyConfig) UnmarshalBinary(b []byte) error { - var res V3ProxyConfig - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_rafay_condition_status.go b/components/common/api/def/clients/scheduler/models/v3_rafay_condition_status.go deleted file mode 100644 index 52dd32c..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_rafay_condition_status.go +++ /dev/null @@ -1,105 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// V3RafayConditionStatus RafayConditionStatus is the status of the status condition -// -// swagger:model v3RafayConditionStatus -type V3RafayConditionStatus string - -func NewV3RafayConditionStatus(value V3RafayConditionStatus) *V3RafayConditionStatus { - return &value -} - -// Pointer returns a pointer to a freshly-allocated V3RafayConditionStatus. -func (m V3RafayConditionStatus) Pointer() *V3RafayConditionStatus { - return &m -} - -const ( - - // V3RafayConditionStatusNotSet captures enum value "NotSet" - V3RafayConditionStatusNotSet V3RafayConditionStatus = "NotSet" - - // V3RafayConditionStatusPending captures enum value "Pending" - V3RafayConditionStatusPending V3RafayConditionStatus = "Pending" - - // V3RafayConditionStatusInProgress captures enum value "InProgress" - V3RafayConditionStatusInProgress V3RafayConditionStatus = "InProgress" - - // V3RafayConditionStatusSuccess captures enum value "Success" - V3RafayConditionStatusSuccess V3RafayConditionStatus = "Success" - - // V3RafayConditionStatusFailed captures enum value "Failed" - V3RafayConditionStatusFailed V3RafayConditionStatus = "Failed" - - // V3RafayConditionStatusRetry captures enum value "Retry" - V3RafayConditionStatusRetry V3RafayConditionStatus = "Retry" - - // V3RafayConditionStatusSkipped captures enum value "Skipped" - V3RafayConditionStatusSkipped V3RafayConditionStatus = "Skipped" - - // V3RafayConditionStatusStopped captures enum value "Stopped" - V3RafayConditionStatusStopped V3RafayConditionStatus = "Stopped" - - // V3RafayConditionStatusExpired captures enum value "Expired" - V3RafayConditionStatusExpired V3RafayConditionStatus = "Expired" - - // V3RafayConditionStatusStopping captures enum value "Stopping" - V3RafayConditionStatusStopping V3RafayConditionStatus = "Stopping" - - // V3RafayConditionStatusSubmitted captures enum value "Submitted" - V3RafayConditionStatusSubmitted V3RafayConditionStatus = "Submitted" -) - -// for schema -var v3RafayConditionStatusEnum []interface{} - -func init() { - var res []V3RafayConditionStatus - if err := json.Unmarshal([]byte(`["NotSet","Pending","InProgress","Success","Failed","Retry","Skipped","Stopped","Expired","Stopping","Submitted"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - v3RafayConditionStatusEnum = append(v3RafayConditionStatusEnum, v) - } -} - -func (m V3RafayConditionStatus) validateV3RafayConditionStatusEnum(path, location string, value V3RafayConditionStatus) error { - if err := validate.EnumCase(path, location, value, v3RafayConditionStatusEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this v3 rafay condition status -func (m V3RafayConditionStatus) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateV3RafayConditionStatusEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this v3 rafay condition status based on context it is used -func (m V3RafayConditionStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/scheduler/models/v3_resources.go b/components/common/api/def/clients/scheduler/models/v3_resources.go deleted file mode 100644 index 65069af..0000000 --- a/components/common/api/def/clients/scheduler/models/v3_resources.go +++ /dev/null @@ -1,62 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3Resources v3 resources -// -// swagger:model v3Resources -type V3Resources struct { - - // cpu count - CPUCount string `json:"cpuCount,omitempty"` - - // ephemeral storage k b - EphemeralStorageKB string `json:"ephemeralStorageKB,omitempty"` - - // gpu count - GpuCount string `json:"gpuCount,omitempty"` - - // memory k b - MemoryKB string `json:"memoryKB,omitempty"` - - // pods count - PodsCount string `json:"podsCount,omitempty"` -} - -// Validate validates this v3 resources -func (m *V3Resources) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v3 resources based on context it is used -func (m *V3Resources) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V3Resources) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3Resources) UnmarshalBinary(b []byte) error { - var res V3Resources - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_relay_network_parameters.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_relay_network_parameters.go deleted file mode 100644 index 2a26339..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_relay_network_parameters.go +++ /dev/null @@ -1,148 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// NewBootstrapCreateRelayNetworkParams creates a new BootstrapCreateRelayNetworkParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewBootstrapCreateRelayNetworkParams() *BootstrapCreateRelayNetworkParams { - return &BootstrapCreateRelayNetworkParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewBootstrapCreateRelayNetworkParamsWithTimeout creates a new BootstrapCreateRelayNetworkParams object -// with the ability to set a timeout on a request. -func NewBootstrapCreateRelayNetworkParamsWithTimeout(timeout time.Duration) *BootstrapCreateRelayNetworkParams { - return &BootstrapCreateRelayNetworkParams{ - timeout: timeout, - } -} - -// NewBootstrapCreateRelayNetworkParamsWithContext creates a new BootstrapCreateRelayNetworkParams object -// with the ability to set a context for a request. -func NewBootstrapCreateRelayNetworkParamsWithContext(ctx context.Context) *BootstrapCreateRelayNetworkParams { - return &BootstrapCreateRelayNetworkParams{ - Context: ctx, - } -} - -// NewBootstrapCreateRelayNetworkParamsWithHTTPClient creates a new BootstrapCreateRelayNetworkParams object -// with the ability to set a custom HTTPClient for a request. -func NewBootstrapCreateRelayNetworkParamsWithHTTPClient(client *http.Client) *BootstrapCreateRelayNetworkParams { - return &BootstrapCreateRelayNetworkParams{ - HTTPClient: client, - } -} - -/* BootstrapCreateRelayNetworkParams contains all the parameters to send to the API endpoint - for the bootstrap create relay network operation. - - Typically these are written to a http.Request. -*/ -type BootstrapCreateRelayNetworkParams struct { - - // Body. - Body *models.SentryRelayNetwork - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the bootstrap create relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapCreateRelayNetworkParams) WithDefaults() *BootstrapCreateRelayNetworkParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the bootstrap create relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapCreateRelayNetworkParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the bootstrap create relay network params -func (o *BootstrapCreateRelayNetworkParams) WithTimeout(timeout time.Duration) *BootstrapCreateRelayNetworkParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the bootstrap create relay network params -func (o *BootstrapCreateRelayNetworkParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the bootstrap create relay network params -func (o *BootstrapCreateRelayNetworkParams) WithContext(ctx context.Context) *BootstrapCreateRelayNetworkParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the bootstrap create relay network params -func (o *BootstrapCreateRelayNetworkParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the bootstrap create relay network params -func (o *BootstrapCreateRelayNetworkParams) WithHTTPClient(client *http.Client) *BootstrapCreateRelayNetworkParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the bootstrap create relay network params -func (o *BootstrapCreateRelayNetworkParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the bootstrap create relay network params -func (o *BootstrapCreateRelayNetworkParams) WithBody(body *models.SentryRelayNetwork) *BootstrapCreateRelayNetworkParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the bootstrap create relay network params -func (o *BootstrapCreateRelayNetworkParams) SetBody(body *models.SentryRelayNetwork) { - o.Body = body -} - -// WriteToRequest writes these params to a swagger request -func (o *BootstrapCreateRelayNetworkParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_relay_network_responses.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_relay_network_responses.go deleted file mode 100644 index cb0cead..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_create_relay_network_responses.go +++ /dev/null @@ -1,223 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// BootstrapCreateRelayNetworkReader is a Reader for the BootstrapCreateRelayNetwork structure. -type BootstrapCreateRelayNetworkReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *BootstrapCreateRelayNetworkReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewBootstrapCreateRelayNetworkOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewBootstrapCreateRelayNetworkForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewBootstrapCreateRelayNetworkNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 500: - result := NewBootstrapCreateRelayNetworkInternalServerError() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewBootstrapCreateRelayNetworkDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewBootstrapCreateRelayNetworkOK creates a BootstrapCreateRelayNetworkOK with default headers values -func NewBootstrapCreateRelayNetworkOK() *BootstrapCreateRelayNetworkOK { - return &BootstrapCreateRelayNetworkOK{} -} - -/* BootstrapCreateRelayNetworkOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type BootstrapCreateRelayNetworkOK struct { - Payload *models.SentryRelayNetwork -} - -func (o *BootstrapCreateRelayNetworkOK) Error() string { - return fmt.Sprintf("[POST /v2/sentry/relaynetwork][%d] bootstrapCreateRelayNetworkOK %+v", 200, o.Payload) -} -func (o *BootstrapCreateRelayNetworkOK) GetPayload() *models.SentryRelayNetwork { - return o.Payload -} - -func (o *BootstrapCreateRelayNetworkOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.SentryRelayNetwork) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapCreateRelayNetworkForbidden creates a BootstrapCreateRelayNetworkForbidden with default headers values -func NewBootstrapCreateRelayNetworkForbidden() *BootstrapCreateRelayNetworkForbidden { - return &BootstrapCreateRelayNetworkForbidden{} -} - -/* BootstrapCreateRelayNetworkForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type BootstrapCreateRelayNetworkForbidden struct { - Payload interface{} -} - -func (o *BootstrapCreateRelayNetworkForbidden) Error() string { - return fmt.Sprintf("[POST /v2/sentry/relaynetwork][%d] bootstrapCreateRelayNetworkForbidden %+v", 403, o.Payload) -} -func (o *BootstrapCreateRelayNetworkForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapCreateRelayNetworkForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapCreateRelayNetworkNotFound creates a BootstrapCreateRelayNetworkNotFound with default headers values -func NewBootstrapCreateRelayNetworkNotFound() *BootstrapCreateRelayNetworkNotFound { - return &BootstrapCreateRelayNetworkNotFound{} -} - -/* BootstrapCreateRelayNetworkNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type BootstrapCreateRelayNetworkNotFound struct { - Payload interface{} -} - -func (o *BootstrapCreateRelayNetworkNotFound) Error() string { - return fmt.Sprintf("[POST /v2/sentry/relaynetwork][%d] bootstrapCreateRelayNetworkNotFound %+v", 404, o.Payload) -} -func (o *BootstrapCreateRelayNetworkNotFound) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapCreateRelayNetworkNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapCreateRelayNetworkInternalServerError creates a BootstrapCreateRelayNetworkInternalServerError with default headers values -func NewBootstrapCreateRelayNetworkInternalServerError() *BootstrapCreateRelayNetworkInternalServerError { - return &BootstrapCreateRelayNetworkInternalServerError{} -} - -/* BootstrapCreateRelayNetworkInternalServerError describes a response with status code 500, with default header values. - -Returned for internal server error -*/ -type BootstrapCreateRelayNetworkInternalServerError struct { - Payload interface{} -} - -func (o *BootstrapCreateRelayNetworkInternalServerError) Error() string { - return fmt.Sprintf("[POST /v2/sentry/relaynetwork][%d] bootstrapCreateRelayNetworkInternalServerError %+v", 500, o.Payload) -} -func (o *BootstrapCreateRelayNetworkInternalServerError) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapCreateRelayNetworkInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapCreateRelayNetworkDefault creates a BootstrapCreateRelayNetworkDefault with default headers values -func NewBootstrapCreateRelayNetworkDefault(code int) *BootstrapCreateRelayNetworkDefault { - return &BootstrapCreateRelayNetworkDefault{ - _statusCode: code, - } -} - -/* BootstrapCreateRelayNetworkDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type BootstrapCreateRelayNetworkDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the bootstrap create relay network default response -func (o *BootstrapCreateRelayNetworkDefault) Code() int { - return o._statusCode -} - -func (o *BootstrapCreateRelayNetworkDefault) Error() string { - return fmt.Sprintf("[POST /v2/sentry/relaynetwork][%d] Bootstrap_CreateRelayNetwork default %+v", o._statusCode, o.Payload) -} -func (o *BootstrapCreateRelayNetworkDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *BootstrapCreateRelayNetworkDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_relay_network_parameters.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_relay_network_parameters.go deleted file mode 100644 index 1c6dfc9..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_relay_network_parameters.go +++ /dev/null @@ -1,956 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewBootstrapDeleteRelayNetworkParams creates a new BootstrapDeleteRelayNetworkParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewBootstrapDeleteRelayNetworkParams() *BootstrapDeleteRelayNetworkParams { - return &BootstrapDeleteRelayNetworkParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewBootstrapDeleteRelayNetworkParamsWithTimeout creates a new BootstrapDeleteRelayNetworkParams object -// with the ability to set a timeout on a request. -func NewBootstrapDeleteRelayNetworkParamsWithTimeout(timeout time.Duration) *BootstrapDeleteRelayNetworkParams { - return &BootstrapDeleteRelayNetworkParams{ - timeout: timeout, - } -} - -// NewBootstrapDeleteRelayNetworkParamsWithContext creates a new BootstrapDeleteRelayNetworkParams object -// with the ability to set a context for a request. -func NewBootstrapDeleteRelayNetworkParamsWithContext(ctx context.Context) *BootstrapDeleteRelayNetworkParams { - return &BootstrapDeleteRelayNetworkParams{ - Context: ctx, - } -} - -// NewBootstrapDeleteRelayNetworkParamsWithHTTPClient creates a new BootstrapDeleteRelayNetworkParams object -// with the ability to set a custom HTTPClient for a request. -func NewBootstrapDeleteRelayNetworkParamsWithHTTPClient(client *http.Client) *BootstrapDeleteRelayNetworkParams { - return &BootstrapDeleteRelayNetworkParams{ - HTTPClient: client, - } -} - -/* BootstrapDeleteRelayNetworkParams contains all the parameters to send to the API endpoint - for the bootstrap delete relay network operation. - - Typically these are written to a http.Request. -*/ -type BootstrapDeleteRelayNetworkParams struct { - - /* APIVersion. - - API Version. API Version of the resource - - Default: "infra.k8smgmt.io/v3" - */ - APIVersion *string - - /* Kind. - - Kind. Kind of the resource - - Default: "RelayNetwork" - */ - Kind *string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project. Project of the resource - */ - MetadataProject *string - - // SpecClustercacert. - SpecClustercacert *string - - // SpecClustercert. - SpecClustercert *string - - // SpecClusterhost. - SpecClusterhost *string - - // SpecClusterkey. - SpecClusterkey *string - - // SpecClusterpassword. - SpecClusterpassword *string - - // SpecClusterselfsigned. - SpecClusterselfsigned *bool - - // SpecPlacementClusterSelector. - SpecPlacementClusterSelector *string - - // SpecPlacementDriftAction. - // - // Default: "DriftReconcillationActionNotSet" - SpecPlacementDriftAction *string - - // SpecPlacementNodeGroupingKeys. - SpecPlacementNodeGroupingKeys []string - - /* SpecPlacementPlacementType. - - placementType is the type of placement. - - Default: "ClusterSelector" - */ - SpecPlacementPlacementType *string - - // SpecUsercacert. - SpecUsercacert *string - - // SpecUsercert. - SpecUsercert *string - - // SpecUserhost. - SpecUserhost *string - - // SpecUserkey. - SpecUserkey *string - - // SpecUserpassword. - SpecUserpassword *string - - // SpecUserselfsigned. - SpecUserselfsigned *bool - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the bootstrap delete relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapDeleteRelayNetworkParams) WithDefaults() *BootstrapDeleteRelayNetworkParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the bootstrap delete relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapDeleteRelayNetworkParams) SetDefaults() { - var ( - aPIVersionDefault = string("infra.k8smgmt.io/v3") - - kindDefault = string("RelayNetwork") - - specPlacementDriftActionDefault = string("DriftReconcillationActionNotSet") - - specPlacementPlacementTypeDefault = string("ClusterSelector") - ) - - val := BootstrapDeleteRelayNetworkParams{ - APIVersion: &aPIVersionDefault, - Kind: &kindDefault, - SpecPlacementDriftAction: &specPlacementDriftActionDefault, - SpecPlacementPlacementType: &specPlacementPlacementTypeDefault, - } - - val.timeout = o.timeout - val.Context = o.Context - val.HTTPClient = o.HTTPClient - *o = val -} - -// WithTimeout adds the timeout to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithTimeout(timeout time.Duration) *BootstrapDeleteRelayNetworkParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithContext(ctx context.Context) *BootstrapDeleteRelayNetworkParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithHTTPClient(client *http.Client) *BootstrapDeleteRelayNetworkParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithAPIVersion adds the aPIVersion to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithAPIVersion(aPIVersion *string) *BootstrapDeleteRelayNetworkParams { - o.SetAPIVersion(aPIVersion) - return o -} - -// SetAPIVersion adds the apiVersion to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetAPIVersion(aPIVersion *string) { - o.APIVersion = aPIVersion -} - -// WithKind adds the kind to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithKind(kind *string) *BootstrapDeleteRelayNetworkParams { - o.SetKind(kind) - return o -} - -// SetKind adds the kind to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetKind(kind *string) { - o.Kind = kind -} - -// WithMetadataDescription adds the metadataDescription to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithMetadataDescription(metadataDescription *string) *BootstrapDeleteRelayNetworkParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithMetadataID(metadataID *string) *BootstrapDeleteRelayNetworkParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *BootstrapDeleteRelayNetworkParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithMetadataName(metadataName string) *BootstrapDeleteRelayNetworkParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithMetadataOrganization(metadataOrganization *string) *BootstrapDeleteRelayNetworkParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithMetadataPartner(metadataPartner *string) *BootstrapDeleteRelayNetworkParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithMetadataProject(metadataProject *string) *BootstrapDeleteRelayNetworkParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetMetadataProject(metadataProject *string) { - o.MetadataProject = metadataProject -} - -// WithSpecClustercacert adds the specClustercacert to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecClustercacert(specClustercacert *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecClustercacert(specClustercacert) - return o -} - -// SetSpecClustercacert adds the specClustercacert to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecClustercacert(specClustercacert *string) { - o.SpecClustercacert = specClustercacert -} - -// WithSpecClustercert adds the specClustercert to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecClustercert(specClustercert *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecClustercert(specClustercert) - return o -} - -// SetSpecClustercert adds the specClustercert to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecClustercert(specClustercert *string) { - o.SpecClustercert = specClustercert -} - -// WithSpecClusterhost adds the specClusterhost to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecClusterhost(specClusterhost *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecClusterhost(specClusterhost) - return o -} - -// SetSpecClusterhost adds the specClusterhost to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecClusterhost(specClusterhost *string) { - o.SpecClusterhost = specClusterhost -} - -// WithSpecClusterkey adds the specClusterkey to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecClusterkey(specClusterkey *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecClusterkey(specClusterkey) - return o -} - -// SetSpecClusterkey adds the specClusterkey to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecClusterkey(specClusterkey *string) { - o.SpecClusterkey = specClusterkey -} - -// WithSpecClusterpassword adds the specClusterpassword to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecClusterpassword(specClusterpassword *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecClusterpassword(specClusterpassword) - return o -} - -// SetSpecClusterpassword adds the specClusterpassword to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecClusterpassword(specClusterpassword *string) { - o.SpecClusterpassword = specClusterpassword -} - -// WithSpecClusterselfsigned adds the specClusterselfsigned to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecClusterselfsigned(specClusterselfsigned *bool) *BootstrapDeleteRelayNetworkParams { - o.SetSpecClusterselfsigned(specClusterselfsigned) - return o -} - -// SetSpecClusterselfsigned adds the specClusterselfsigned to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecClusterselfsigned(specClusterselfsigned *bool) { - o.SpecClusterselfsigned = specClusterselfsigned -} - -// WithSpecPlacementClusterSelector adds the specPlacementClusterSelector to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecPlacementClusterSelector(specPlacementClusterSelector *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecPlacementClusterSelector(specPlacementClusterSelector) - return o -} - -// SetSpecPlacementClusterSelector adds the specPlacementClusterSelector to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecPlacementClusterSelector(specPlacementClusterSelector *string) { - o.SpecPlacementClusterSelector = specPlacementClusterSelector -} - -// WithSpecPlacementDriftAction adds the specPlacementDriftAction to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecPlacementDriftAction(specPlacementDriftAction *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecPlacementDriftAction(specPlacementDriftAction) - return o -} - -// SetSpecPlacementDriftAction adds the specPlacementDriftAction to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecPlacementDriftAction(specPlacementDriftAction *string) { - o.SpecPlacementDriftAction = specPlacementDriftAction -} - -// WithSpecPlacementNodeGroupingKeys adds the specPlacementNodeGroupingKeys to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys []string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys) - return o -} - -// SetSpecPlacementNodeGroupingKeys adds the specPlacementNodeGroupingKeys to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys []string) { - o.SpecPlacementNodeGroupingKeys = specPlacementNodeGroupingKeys -} - -// WithSpecPlacementPlacementType adds the specPlacementPlacementType to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecPlacementPlacementType(specPlacementPlacementType *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecPlacementPlacementType(specPlacementPlacementType) - return o -} - -// SetSpecPlacementPlacementType adds the specPlacementPlacementType to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecPlacementPlacementType(specPlacementPlacementType *string) { - o.SpecPlacementPlacementType = specPlacementPlacementType -} - -// WithSpecUsercacert adds the specUsercacert to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecUsercacert(specUsercacert *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecUsercacert(specUsercacert) - return o -} - -// SetSpecUsercacert adds the specUsercacert to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecUsercacert(specUsercacert *string) { - o.SpecUsercacert = specUsercacert -} - -// WithSpecUsercert adds the specUsercert to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecUsercert(specUsercert *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecUsercert(specUsercert) - return o -} - -// SetSpecUsercert adds the specUsercert to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecUsercert(specUsercert *string) { - o.SpecUsercert = specUsercert -} - -// WithSpecUserhost adds the specUserhost to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecUserhost(specUserhost *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecUserhost(specUserhost) - return o -} - -// SetSpecUserhost adds the specUserhost to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecUserhost(specUserhost *string) { - o.SpecUserhost = specUserhost -} - -// WithSpecUserkey adds the specUserkey to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecUserkey(specUserkey *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecUserkey(specUserkey) - return o -} - -// SetSpecUserkey adds the specUserkey to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecUserkey(specUserkey *string) { - o.SpecUserkey = specUserkey -} - -// WithSpecUserpassword adds the specUserpassword to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecUserpassword(specUserpassword *string) *BootstrapDeleteRelayNetworkParams { - o.SetSpecUserpassword(specUserpassword) - return o -} - -// SetSpecUserpassword adds the specUserpassword to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecUserpassword(specUserpassword *string) { - o.SpecUserpassword = specUserpassword -} - -// WithSpecUserselfsigned adds the specUserselfsigned to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) WithSpecUserselfsigned(specUserselfsigned *bool) *BootstrapDeleteRelayNetworkParams { - o.SetSpecUserselfsigned(specUserselfsigned) - return o -} - -// SetSpecUserselfsigned adds the specUserselfsigned to the bootstrap delete relay network params -func (o *BootstrapDeleteRelayNetworkParams) SetSpecUserselfsigned(specUserselfsigned *bool) { - o.SpecUserselfsigned = specUserselfsigned -} - -// WriteToRequest writes these params to a swagger request -func (o *BootstrapDeleteRelayNetworkParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.APIVersion != nil { - - // query param apiVersion - var qrAPIVersion string - - if o.APIVersion != nil { - qrAPIVersion = *o.APIVersion - } - qAPIVersion := qrAPIVersion - if qAPIVersion != "" { - - if err := r.SetQueryParam("apiVersion", qAPIVersion); err != nil { - return err - } - } - } - - if o.Kind != nil { - - // query param kind - var qrKind string - - if o.Kind != nil { - qrKind = *o.Kind - } - qKind := qrKind - if qKind != "" { - - if err := r.SetQueryParam("kind", qKind); err != nil { - return err - } - } - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - if o.MetadataProject != nil { - - // query param metadata.project - var qrMetadataProject string - - if o.MetadataProject != nil { - qrMetadataProject = *o.MetadataProject - } - qMetadataProject := qrMetadataProject - if qMetadataProject != "" { - - if err := r.SetQueryParam("metadata.project", qMetadataProject); err != nil { - return err - } - } - } - - if o.SpecClustercacert != nil { - - // query param spec.clustercacert - var qrSpecClustercacert string - - if o.SpecClustercacert != nil { - qrSpecClustercacert = *o.SpecClustercacert - } - qSpecClustercacert := qrSpecClustercacert - if qSpecClustercacert != "" { - - if err := r.SetQueryParam("spec.clustercacert", qSpecClustercacert); err != nil { - return err - } - } - } - - if o.SpecClustercert != nil { - - // query param spec.clustercert - var qrSpecClustercert string - - if o.SpecClustercert != nil { - qrSpecClustercert = *o.SpecClustercert - } - qSpecClustercert := qrSpecClustercert - if qSpecClustercert != "" { - - if err := r.SetQueryParam("spec.clustercert", qSpecClustercert); err != nil { - return err - } - } - } - - if o.SpecClusterhost != nil { - - // query param spec.clusterhost - var qrSpecClusterhost string - - if o.SpecClusterhost != nil { - qrSpecClusterhost = *o.SpecClusterhost - } - qSpecClusterhost := qrSpecClusterhost - if qSpecClusterhost != "" { - - if err := r.SetQueryParam("spec.clusterhost", qSpecClusterhost); err != nil { - return err - } - } - } - - if o.SpecClusterkey != nil { - - // query param spec.clusterkey - var qrSpecClusterkey string - - if o.SpecClusterkey != nil { - qrSpecClusterkey = *o.SpecClusterkey - } - qSpecClusterkey := qrSpecClusterkey - if qSpecClusterkey != "" { - - if err := r.SetQueryParam("spec.clusterkey", qSpecClusterkey); err != nil { - return err - } - } - } - - if o.SpecClusterpassword != nil { - - // query param spec.clusterpassword - var qrSpecClusterpassword string - - if o.SpecClusterpassword != nil { - qrSpecClusterpassword = *o.SpecClusterpassword - } - qSpecClusterpassword := qrSpecClusterpassword - if qSpecClusterpassword != "" { - - if err := r.SetQueryParam("spec.clusterpassword", qSpecClusterpassword); err != nil { - return err - } - } - } - - if o.SpecClusterselfsigned != nil { - - // query param spec.clusterselfsigned - var qrSpecClusterselfsigned bool - - if o.SpecClusterselfsigned != nil { - qrSpecClusterselfsigned = *o.SpecClusterselfsigned - } - qSpecClusterselfsigned := swag.FormatBool(qrSpecClusterselfsigned) - if qSpecClusterselfsigned != "" { - - if err := r.SetQueryParam("spec.clusterselfsigned", qSpecClusterselfsigned); err != nil { - return err - } - } - } - - if o.SpecPlacementClusterSelector != nil { - - // query param spec.placement.clusterSelector - var qrSpecPlacementClusterSelector string - - if o.SpecPlacementClusterSelector != nil { - qrSpecPlacementClusterSelector = *o.SpecPlacementClusterSelector - } - qSpecPlacementClusterSelector := qrSpecPlacementClusterSelector - if qSpecPlacementClusterSelector != "" { - - if err := r.SetQueryParam("spec.placement.clusterSelector", qSpecPlacementClusterSelector); err != nil { - return err - } - } - } - - if o.SpecPlacementDriftAction != nil { - - // query param spec.placement.driftAction - var qrSpecPlacementDriftAction string - - if o.SpecPlacementDriftAction != nil { - qrSpecPlacementDriftAction = *o.SpecPlacementDriftAction - } - qSpecPlacementDriftAction := qrSpecPlacementDriftAction - if qSpecPlacementDriftAction != "" { - - if err := r.SetQueryParam("spec.placement.driftAction", qSpecPlacementDriftAction); err != nil { - return err - } - } - } - - if o.SpecPlacementNodeGroupingKeys != nil { - - // binding items for spec.placement.nodeGroupingKeys - joinedSpecPlacementNodeGroupingKeys := o.bindParamSpecPlacementNodeGroupingKeys(reg) - - // query array param spec.placement.nodeGroupingKeys - if err := r.SetQueryParam("spec.placement.nodeGroupingKeys", joinedSpecPlacementNodeGroupingKeys...); err != nil { - return err - } - } - - if o.SpecPlacementPlacementType != nil { - - // query param spec.placement.placementType - var qrSpecPlacementPlacementType string - - if o.SpecPlacementPlacementType != nil { - qrSpecPlacementPlacementType = *o.SpecPlacementPlacementType - } - qSpecPlacementPlacementType := qrSpecPlacementPlacementType - if qSpecPlacementPlacementType != "" { - - if err := r.SetQueryParam("spec.placement.placementType", qSpecPlacementPlacementType); err != nil { - return err - } - } - } - - if o.SpecUsercacert != nil { - - // query param spec.usercacert - var qrSpecUsercacert string - - if o.SpecUsercacert != nil { - qrSpecUsercacert = *o.SpecUsercacert - } - qSpecUsercacert := qrSpecUsercacert - if qSpecUsercacert != "" { - - if err := r.SetQueryParam("spec.usercacert", qSpecUsercacert); err != nil { - return err - } - } - } - - if o.SpecUsercert != nil { - - // query param spec.usercert - var qrSpecUsercert string - - if o.SpecUsercert != nil { - qrSpecUsercert = *o.SpecUsercert - } - qSpecUsercert := qrSpecUsercert - if qSpecUsercert != "" { - - if err := r.SetQueryParam("spec.usercert", qSpecUsercert); err != nil { - return err - } - } - } - - if o.SpecUserhost != nil { - - // query param spec.userhost - var qrSpecUserhost string - - if o.SpecUserhost != nil { - qrSpecUserhost = *o.SpecUserhost - } - qSpecUserhost := qrSpecUserhost - if qSpecUserhost != "" { - - if err := r.SetQueryParam("spec.userhost", qSpecUserhost); err != nil { - return err - } - } - } - - if o.SpecUserkey != nil { - - // query param spec.userkey - var qrSpecUserkey string - - if o.SpecUserkey != nil { - qrSpecUserkey = *o.SpecUserkey - } - qSpecUserkey := qrSpecUserkey - if qSpecUserkey != "" { - - if err := r.SetQueryParam("spec.userkey", qSpecUserkey); err != nil { - return err - } - } - } - - if o.SpecUserpassword != nil { - - // query param spec.userpassword - var qrSpecUserpassword string - - if o.SpecUserpassword != nil { - qrSpecUserpassword = *o.SpecUserpassword - } - qSpecUserpassword := qrSpecUserpassword - if qSpecUserpassword != "" { - - if err := r.SetQueryParam("spec.userpassword", qSpecUserpassword); err != nil { - return err - } - } - } - - if o.SpecUserselfsigned != nil { - - // query param spec.userselfsigned - var qrSpecUserselfsigned bool - - if o.SpecUserselfsigned != nil { - qrSpecUserselfsigned = *o.SpecUserselfsigned - } - qSpecUserselfsigned := swag.FormatBool(qrSpecUserselfsigned) - if qSpecUserselfsigned != "" { - - if err := r.SetQueryParam("spec.userselfsigned", qSpecUserselfsigned); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindParamBootstrapDeleteRelayNetwork binds the parameter spec.placement.nodeGroupingKeys -func (o *BootstrapDeleteRelayNetworkParams) bindParamSpecPlacementNodeGroupingKeys(formats strfmt.Registry) []string { - specPlacementNodeGroupingKeysIR := o.SpecPlacementNodeGroupingKeys - - var specPlacementNodeGroupingKeysIC []string - for _, specPlacementNodeGroupingKeysIIR := range specPlacementNodeGroupingKeysIR { // explode []string - - specPlacementNodeGroupingKeysIIV := specPlacementNodeGroupingKeysIIR // string as string - specPlacementNodeGroupingKeysIC = append(specPlacementNodeGroupingKeysIC, specPlacementNodeGroupingKeysIIV) - } - - // items.CollectionFormat: "multi" - specPlacementNodeGroupingKeysIS := swag.JoinByFormat(specPlacementNodeGroupingKeysIC, "multi") - - return specPlacementNodeGroupingKeysIS -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_relay_network_responses.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_relay_network_responses.go deleted file mode 100644 index 5b4da11..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_delete_relay_network_responses.go +++ /dev/null @@ -1,221 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// BootstrapDeleteRelayNetworkReader is a Reader for the BootstrapDeleteRelayNetwork structure. -type BootstrapDeleteRelayNetworkReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *BootstrapDeleteRelayNetworkReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewBootstrapDeleteRelayNetworkOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewBootstrapDeleteRelayNetworkForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewBootstrapDeleteRelayNetworkNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 500: - result := NewBootstrapDeleteRelayNetworkInternalServerError() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewBootstrapDeleteRelayNetworkDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewBootstrapDeleteRelayNetworkOK creates a BootstrapDeleteRelayNetworkOK with default headers values -func NewBootstrapDeleteRelayNetworkOK() *BootstrapDeleteRelayNetworkOK { - return &BootstrapDeleteRelayNetworkOK{} -} - -/* BootstrapDeleteRelayNetworkOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type BootstrapDeleteRelayNetworkOK struct { - Payload models.RPCDeleteRelayNetworkResponse -} - -func (o *BootstrapDeleteRelayNetworkOK) Error() string { - return fmt.Sprintf("[DELETE /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapDeleteRelayNetworkOK %+v", 200, o.Payload) -} -func (o *BootstrapDeleteRelayNetworkOK) GetPayload() models.RPCDeleteRelayNetworkResponse { - return o.Payload -} - -func (o *BootstrapDeleteRelayNetworkOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDeleteRelayNetworkForbidden creates a BootstrapDeleteRelayNetworkForbidden with default headers values -func NewBootstrapDeleteRelayNetworkForbidden() *BootstrapDeleteRelayNetworkForbidden { - return &BootstrapDeleteRelayNetworkForbidden{} -} - -/* BootstrapDeleteRelayNetworkForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type BootstrapDeleteRelayNetworkForbidden struct { - Payload interface{} -} - -func (o *BootstrapDeleteRelayNetworkForbidden) Error() string { - return fmt.Sprintf("[DELETE /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapDeleteRelayNetworkForbidden %+v", 403, o.Payload) -} -func (o *BootstrapDeleteRelayNetworkForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDeleteRelayNetworkForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDeleteRelayNetworkNotFound creates a BootstrapDeleteRelayNetworkNotFound with default headers values -func NewBootstrapDeleteRelayNetworkNotFound() *BootstrapDeleteRelayNetworkNotFound { - return &BootstrapDeleteRelayNetworkNotFound{} -} - -/* BootstrapDeleteRelayNetworkNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type BootstrapDeleteRelayNetworkNotFound struct { - Payload interface{} -} - -func (o *BootstrapDeleteRelayNetworkNotFound) Error() string { - return fmt.Sprintf("[DELETE /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapDeleteRelayNetworkNotFound %+v", 404, o.Payload) -} -func (o *BootstrapDeleteRelayNetworkNotFound) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDeleteRelayNetworkNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDeleteRelayNetworkInternalServerError creates a BootstrapDeleteRelayNetworkInternalServerError with default headers values -func NewBootstrapDeleteRelayNetworkInternalServerError() *BootstrapDeleteRelayNetworkInternalServerError { - return &BootstrapDeleteRelayNetworkInternalServerError{} -} - -/* BootstrapDeleteRelayNetworkInternalServerError describes a response with status code 500, with default header values. - -Returned for internal server error -*/ -type BootstrapDeleteRelayNetworkInternalServerError struct { - Payload interface{} -} - -func (o *BootstrapDeleteRelayNetworkInternalServerError) Error() string { - return fmt.Sprintf("[DELETE /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapDeleteRelayNetworkInternalServerError %+v", 500, o.Payload) -} -func (o *BootstrapDeleteRelayNetworkInternalServerError) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDeleteRelayNetworkInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDeleteRelayNetworkDefault creates a BootstrapDeleteRelayNetworkDefault with default headers values -func NewBootstrapDeleteRelayNetworkDefault(code int) *BootstrapDeleteRelayNetworkDefault { - return &BootstrapDeleteRelayNetworkDefault{ - _statusCode: code, - } -} - -/* BootstrapDeleteRelayNetworkDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type BootstrapDeleteRelayNetworkDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the bootstrap delete relay network default response -func (o *BootstrapDeleteRelayNetworkDefault) Code() int { - return o._statusCode -} - -func (o *BootstrapDeleteRelayNetworkDefault) Error() string { - return fmt.Sprintf("[DELETE /v2/sentry/relaynetwork/{metadata.name}][%d] Bootstrap_DeleteRelayNetwork default %+v", o._statusCode, o.Payload) -} -func (o *BootstrapDeleteRelayNetworkDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *BootstrapDeleteRelayNetworkDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_agent_parameters.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_agent_parameters.go deleted file mode 100644 index 74918b4..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_agent_parameters.go +++ /dev/null @@ -1,368 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" -) - -// NewBootstrapDownloadRelayNetworkAgentParams creates a new BootstrapDownloadRelayNetworkAgentParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewBootstrapDownloadRelayNetworkAgentParams() *BootstrapDownloadRelayNetworkAgentParams { - return &BootstrapDownloadRelayNetworkAgentParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewBootstrapDownloadRelayNetworkAgentParamsWithTimeout creates a new BootstrapDownloadRelayNetworkAgentParams object -// with the ability to set a timeout on a request. -func NewBootstrapDownloadRelayNetworkAgentParamsWithTimeout(timeout time.Duration) *BootstrapDownloadRelayNetworkAgentParams { - return &BootstrapDownloadRelayNetworkAgentParams{ - timeout: timeout, - } -} - -// NewBootstrapDownloadRelayNetworkAgentParamsWithContext creates a new BootstrapDownloadRelayNetworkAgentParams object -// with the ability to set a context for a request. -func NewBootstrapDownloadRelayNetworkAgentParamsWithContext(ctx context.Context) *BootstrapDownloadRelayNetworkAgentParams { - return &BootstrapDownloadRelayNetworkAgentParams{ - Context: ctx, - } -} - -// NewBootstrapDownloadRelayNetworkAgentParamsWithHTTPClient creates a new BootstrapDownloadRelayNetworkAgentParams object -// with the ability to set a custom HTTPClient for a request. -func NewBootstrapDownloadRelayNetworkAgentParamsWithHTTPClient(client *http.Client) *BootstrapDownloadRelayNetworkAgentParams { - return &BootstrapDownloadRelayNetworkAgentParams{ - HTTPClient: client, - } -} - -/* BootstrapDownloadRelayNetworkAgentParams contains all the parameters to send to the API endpoint - for the bootstrap download relay network agent operation. - - Typically these are written to a http.Request. -*/ -type BootstrapDownloadRelayNetworkAgentParams struct { - - // ClusterScope. - ClusterScope string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project. Project of the resource - */ - MetadataProject *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the bootstrap download relay network agent params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapDownloadRelayNetworkAgentParams) WithDefaults() *BootstrapDownloadRelayNetworkAgentParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the bootstrap download relay network agent params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapDownloadRelayNetworkAgentParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithTimeout(timeout time.Duration) *BootstrapDownloadRelayNetworkAgentParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithContext(ctx context.Context) *BootstrapDownloadRelayNetworkAgentParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithHTTPClient(client *http.Client) *BootstrapDownloadRelayNetworkAgentParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithClusterScope adds the clusterScope to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithClusterScope(clusterScope string) *BootstrapDownloadRelayNetworkAgentParams { - o.SetClusterScope(clusterScope) - return o -} - -// SetClusterScope adds the clusterScope to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetClusterScope(clusterScope string) { - o.ClusterScope = clusterScope -} - -// WithMetadataDescription adds the metadataDescription to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithMetadataDescription(metadataDescription *string) *BootstrapDownloadRelayNetworkAgentParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithMetadataID(metadataID *string) *BootstrapDownloadRelayNetworkAgentParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *BootstrapDownloadRelayNetworkAgentParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithMetadataName(metadataName string) *BootstrapDownloadRelayNetworkAgentParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithMetadataOrganization(metadataOrganization *string) *BootstrapDownloadRelayNetworkAgentParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithMetadataPartner(metadataPartner *string) *BootstrapDownloadRelayNetworkAgentParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) WithMetadataProject(metadataProject *string) *BootstrapDownloadRelayNetworkAgentParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the bootstrap download relay network agent params -func (o *BootstrapDownloadRelayNetworkAgentParams) SetMetadataProject(metadataProject *string) { - o.MetadataProject = metadataProject -} - -// WriteToRequest writes these params to a swagger request -func (o *BootstrapDownloadRelayNetworkAgentParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - // path param clusterScope - if err := r.SetPathParam("clusterScope", o.ClusterScope); err != nil { - return err - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - if o.MetadataProject != nil { - - // query param metadata.project - var qrMetadataProject string - - if o.MetadataProject != nil { - qrMetadataProject = *o.MetadataProject - } - qMetadataProject := qrMetadataProject - if qMetadataProject != "" { - - if err := r.SetQueryParam("metadata.project", qMetadataProject); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_agent_responses.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_agent_responses.go deleted file mode 100644 index d616031..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_agent_responses.go +++ /dev/null @@ -1,223 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// BootstrapDownloadRelayNetworkAgentReader is a Reader for the BootstrapDownloadRelayNetworkAgent structure. -type BootstrapDownloadRelayNetworkAgentReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *BootstrapDownloadRelayNetworkAgentReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewBootstrapDownloadRelayNetworkAgentOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewBootstrapDownloadRelayNetworkAgentForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewBootstrapDownloadRelayNetworkAgentNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 500: - result := NewBootstrapDownloadRelayNetworkAgentInternalServerError() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewBootstrapDownloadRelayNetworkAgentDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewBootstrapDownloadRelayNetworkAgentOK creates a BootstrapDownloadRelayNetworkAgentOK with default headers values -func NewBootstrapDownloadRelayNetworkAgentOK() *BootstrapDownloadRelayNetworkAgentOK { - return &BootstrapDownloadRelayNetworkAgentOK{} -} - -/* BootstrapDownloadRelayNetworkAgentOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type BootstrapDownloadRelayNetworkAgentOK struct { - Payload *models.V3HTTPBody -} - -func (o *BootstrapDownloadRelayNetworkAgentOK) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/{clusterScope}/agentdownload][%d] bootstrapDownloadRelayNetworkAgentOK %+v", 200, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkAgentOK) GetPayload() *models.V3HTTPBody { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkAgentOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.V3HTTPBody) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDownloadRelayNetworkAgentForbidden creates a BootstrapDownloadRelayNetworkAgentForbidden with default headers values -func NewBootstrapDownloadRelayNetworkAgentForbidden() *BootstrapDownloadRelayNetworkAgentForbidden { - return &BootstrapDownloadRelayNetworkAgentForbidden{} -} - -/* BootstrapDownloadRelayNetworkAgentForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type BootstrapDownloadRelayNetworkAgentForbidden struct { - Payload interface{} -} - -func (o *BootstrapDownloadRelayNetworkAgentForbidden) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/{clusterScope}/agentdownload][%d] bootstrapDownloadRelayNetworkAgentForbidden %+v", 403, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkAgentForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkAgentForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDownloadRelayNetworkAgentNotFound creates a BootstrapDownloadRelayNetworkAgentNotFound with default headers values -func NewBootstrapDownloadRelayNetworkAgentNotFound() *BootstrapDownloadRelayNetworkAgentNotFound { - return &BootstrapDownloadRelayNetworkAgentNotFound{} -} - -/* BootstrapDownloadRelayNetworkAgentNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type BootstrapDownloadRelayNetworkAgentNotFound struct { - Payload interface{} -} - -func (o *BootstrapDownloadRelayNetworkAgentNotFound) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/{clusterScope}/agentdownload][%d] bootstrapDownloadRelayNetworkAgentNotFound %+v", 404, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkAgentNotFound) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkAgentNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDownloadRelayNetworkAgentInternalServerError creates a BootstrapDownloadRelayNetworkAgentInternalServerError with default headers values -func NewBootstrapDownloadRelayNetworkAgentInternalServerError() *BootstrapDownloadRelayNetworkAgentInternalServerError { - return &BootstrapDownloadRelayNetworkAgentInternalServerError{} -} - -/* BootstrapDownloadRelayNetworkAgentInternalServerError describes a response with status code 500, with default header values. - -Returned for internal server error -*/ -type BootstrapDownloadRelayNetworkAgentInternalServerError struct { - Payload interface{} -} - -func (o *BootstrapDownloadRelayNetworkAgentInternalServerError) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/{clusterScope}/agentdownload][%d] bootstrapDownloadRelayNetworkAgentInternalServerError %+v", 500, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkAgentInternalServerError) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkAgentInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDownloadRelayNetworkAgentDefault creates a BootstrapDownloadRelayNetworkAgentDefault with default headers values -func NewBootstrapDownloadRelayNetworkAgentDefault(code int) *BootstrapDownloadRelayNetworkAgentDefault { - return &BootstrapDownloadRelayNetworkAgentDefault{ - _statusCode: code, - } -} - -/* BootstrapDownloadRelayNetworkAgentDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type BootstrapDownloadRelayNetworkAgentDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the bootstrap download relay network agent default response -func (o *BootstrapDownloadRelayNetworkAgentDefault) Code() int { - return o._statusCode -} - -func (o *BootstrapDownloadRelayNetworkAgentDefault) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/{clusterScope}/agentdownload][%d] Bootstrap_DownloadRelayNetworkAgent default %+v", o._statusCode, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkAgentDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkAgentDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_parameters.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_parameters.go deleted file mode 100644 index 1854e74..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_parameters.go +++ /dev/null @@ -1,956 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewBootstrapDownloadRelayNetworkParams creates a new BootstrapDownloadRelayNetworkParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewBootstrapDownloadRelayNetworkParams() *BootstrapDownloadRelayNetworkParams { - return &BootstrapDownloadRelayNetworkParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewBootstrapDownloadRelayNetworkParamsWithTimeout creates a new BootstrapDownloadRelayNetworkParams object -// with the ability to set a timeout on a request. -func NewBootstrapDownloadRelayNetworkParamsWithTimeout(timeout time.Duration) *BootstrapDownloadRelayNetworkParams { - return &BootstrapDownloadRelayNetworkParams{ - timeout: timeout, - } -} - -// NewBootstrapDownloadRelayNetworkParamsWithContext creates a new BootstrapDownloadRelayNetworkParams object -// with the ability to set a context for a request. -func NewBootstrapDownloadRelayNetworkParamsWithContext(ctx context.Context) *BootstrapDownloadRelayNetworkParams { - return &BootstrapDownloadRelayNetworkParams{ - Context: ctx, - } -} - -// NewBootstrapDownloadRelayNetworkParamsWithHTTPClient creates a new BootstrapDownloadRelayNetworkParams object -// with the ability to set a custom HTTPClient for a request. -func NewBootstrapDownloadRelayNetworkParamsWithHTTPClient(client *http.Client) *BootstrapDownloadRelayNetworkParams { - return &BootstrapDownloadRelayNetworkParams{ - HTTPClient: client, - } -} - -/* BootstrapDownloadRelayNetworkParams contains all the parameters to send to the API endpoint - for the bootstrap download relay network operation. - - Typically these are written to a http.Request. -*/ -type BootstrapDownloadRelayNetworkParams struct { - - /* APIVersion. - - API Version. API Version of the resource - - Default: "infra.k8smgmt.io/v3" - */ - APIVersion *string - - /* Kind. - - Kind. Kind of the resource - - Default: "RelayNetwork" - */ - Kind *string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project. Project of the resource - */ - MetadataProject *string - - // SpecClustercacert. - SpecClustercacert *string - - // SpecClustercert. - SpecClustercert *string - - // SpecClusterhost. - SpecClusterhost *string - - // SpecClusterkey. - SpecClusterkey *string - - // SpecClusterpassword. - SpecClusterpassword *string - - // SpecClusterselfsigned. - SpecClusterselfsigned *bool - - // SpecPlacementClusterSelector. - SpecPlacementClusterSelector *string - - // SpecPlacementDriftAction. - // - // Default: "DriftReconcillationActionNotSet" - SpecPlacementDriftAction *string - - // SpecPlacementNodeGroupingKeys. - SpecPlacementNodeGroupingKeys []string - - /* SpecPlacementPlacementType. - - placementType is the type of placement. - - Default: "ClusterSelector" - */ - SpecPlacementPlacementType *string - - // SpecUsercacert. - SpecUsercacert *string - - // SpecUsercert. - SpecUsercert *string - - // SpecUserhost. - SpecUserhost *string - - // SpecUserkey. - SpecUserkey *string - - // SpecUserpassword. - SpecUserpassword *string - - // SpecUserselfsigned. - SpecUserselfsigned *bool - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the bootstrap download relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapDownloadRelayNetworkParams) WithDefaults() *BootstrapDownloadRelayNetworkParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the bootstrap download relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapDownloadRelayNetworkParams) SetDefaults() { - var ( - aPIVersionDefault = string("infra.k8smgmt.io/v3") - - kindDefault = string("RelayNetwork") - - specPlacementDriftActionDefault = string("DriftReconcillationActionNotSet") - - specPlacementPlacementTypeDefault = string("ClusterSelector") - ) - - val := BootstrapDownloadRelayNetworkParams{ - APIVersion: &aPIVersionDefault, - Kind: &kindDefault, - SpecPlacementDriftAction: &specPlacementDriftActionDefault, - SpecPlacementPlacementType: &specPlacementPlacementTypeDefault, - } - - val.timeout = o.timeout - val.Context = o.Context - val.HTTPClient = o.HTTPClient - *o = val -} - -// WithTimeout adds the timeout to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithTimeout(timeout time.Duration) *BootstrapDownloadRelayNetworkParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithContext(ctx context.Context) *BootstrapDownloadRelayNetworkParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithHTTPClient(client *http.Client) *BootstrapDownloadRelayNetworkParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithAPIVersion adds the aPIVersion to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithAPIVersion(aPIVersion *string) *BootstrapDownloadRelayNetworkParams { - o.SetAPIVersion(aPIVersion) - return o -} - -// SetAPIVersion adds the apiVersion to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetAPIVersion(aPIVersion *string) { - o.APIVersion = aPIVersion -} - -// WithKind adds the kind to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithKind(kind *string) *BootstrapDownloadRelayNetworkParams { - o.SetKind(kind) - return o -} - -// SetKind adds the kind to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetKind(kind *string) { - o.Kind = kind -} - -// WithMetadataDescription adds the metadataDescription to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithMetadataDescription(metadataDescription *string) *BootstrapDownloadRelayNetworkParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithMetadataID(metadataID *string) *BootstrapDownloadRelayNetworkParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *BootstrapDownloadRelayNetworkParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithMetadataName(metadataName string) *BootstrapDownloadRelayNetworkParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithMetadataOrganization(metadataOrganization *string) *BootstrapDownloadRelayNetworkParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithMetadataPartner(metadataPartner *string) *BootstrapDownloadRelayNetworkParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithMetadataProject(metadataProject *string) *BootstrapDownloadRelayNetworkParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetMetadataProject(metadataProject *string) { - o.MetadataProject = metadataProject -} - -// WithSpecClustercacert adds the specClustercacert to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecClustercacert(specClustercacert *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecClustercacert(specClustercacert) - return o -} - -// SetSpecClustercacert adds the specClustercacert to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecClustercacert(specClustercacert *string) { - o.SpecClustercacert = specClustercacert -} - -// WithSpecClustercert adds the specClustercert to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecClustercert(specClustercert *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecClustercert(specClustercert) - return o -} - -// SetSpecClustercert adds the specClustercert to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecClustercert(specClustercert *string) { - o.SpecClustercert = specClustercert -} - -// WithSpecClusterhost adds the specClusterhost to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecClusterhost(specClusterhost *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecClusterhost(specClusterhost) - return o -} - -// SetSpecClusterhost adds the specClusterhost to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecClusterhost(specClusterhost *string) { - o.SpecClusterhost = specClusterhost -} - -// WithSpecClusterkey adds the specClusterkey to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecClusterkey(specClusterkey *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecClusterkey(specClusterkey) - return o -} - -// SetSpecClusterkey adds the specClusterkey to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecClusterkey(specClusterkey *string) { - o.SpecClusterkey = specClusterkey -} - -// WithSpecClusterpassword adds the specClusterpassword to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecClusterpassword(specClusterpassword *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecClusterpassword(specClusterpassword) - return o -} - -// SetSpecClusterpassword adds the specClusterpassword to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecClusterpassword(specClusterpassword *string) { - o.SpecClusterpassword = specClusterpassword -} - -// WithSpecClusterselfsigned adds the specClusterselfsigned to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecClusterselfsigned(specClusterselfsigned *bool) *BootstrapDownloadRelayNetworkParams { - o.SetSpecClusterselfsigned(specClusterselfsigned) - return o -} - -// SetSpecClusterselfsigned adds the specClusterselfsigned to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecClusterselfsigned(specClusterselfsigned *bool) { - o.SpecClusterselfsigned = specClusterselfsigned -} - -// WithSpecPlacementClusterSelector adds the specPlacementClusterSelector to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecPlacementClusterSelector(specPlacementClusterSelector *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecPlacementClusterSelector(specPlacementClusterSelector) - return o -} - -// SetSpecPlacementClusterSelector adds the specPlacementClusterSelector to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecPlacementClusterSelector(specPlacementClusterSelector *string) { - o.SpecPlacementClusterSelector = specPlacementClusterSelector -} - -// WithSpecPlacementDriftAction adds the specPlacementDriftAction to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecPlacementDriftAction(specPlacementDriftAction *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecPlacementDriftAction(specPlacementDriftAction) - return o -} - -// SetSpecPlacementDriftAction adds the specPlacementDriftAction to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecPlacementDriftAction(specPlacementDriftAction *string) { - o.SpecPlacementDriftAction = specPlacementDriftAction -} - -// WithSpecPlacementNodeGroupingKeys adds the specPlacementNodeGroupingKeys to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys []string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys) - return o -} - -// SetSpecPlacementNodeGroupingKeys adds the specPlacementNodeGroupingKeys to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys []string) { - o.SpecPlacementNodeGroupingKeys = specPlacementNodeGroupingKeys -} - -// WithSpecPlacementPlacementType adds the specPlacementPlacementType to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecPlacementPlacementType(specPlacementPlacementType *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecPlacementPlacementType(specPlacementPlacementType) - return o -} - -// SetSpecPlacementPlacementType adds the specPlacementPlacementType to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecPlacementPlacementType(specPlacementPlacementType *string) { - o.SpecPlacementPlacementType = specPlacementPlacementType -} - -// WithSpecUsercacert adds the specUsercacert to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecUsercacert(specUsercacert *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecUsercacert(specUsercacert) - return o -} - -// SetSpecUsercacert adds the specUsercacert to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecUsercacert(specUsercacert *string) { - o.SpecUsercacert = specUsercacert -} - -// WithSpecUsercert adds the specUsercert to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecUsercert(specUsercert *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecUsercert(specUsercert) - return o -} - -// SetSpecUsercert adds the specUsercert to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecUsercert(specUsercert *string) { - o.SpecUsercert = specUsercert -} - -// WithSpecUserhost adds the specUserhost to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecUserhost(specUserhost *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecUserhost(specUserhost) - return o -} - -// SetSpecUserhost adds the specUserhost to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecUserhost(specUserhost *string) { - o.SpecUserhost = specUserhost -} - -// WithSpecUserkey adds the specUserkey to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecUserkey(specUserkey *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecUserkey(specUserkey) - return o -} - -// SetSpecUserkey adds the specUserkey to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecUserkey(specUserkey *string) { - o.SpecUserkey = specUserkey -} - -// WithSpecUserpassword adds the specUserpassword to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecUserpassword(specUserpassword *string) *BootstrapDownloadRelayNetworkParams { - o.SetSpecUserpassword(specUserpassword) - return o -} - -// SetSpecUserpassword adds the specUserpassword to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecUserpassword(specUserpassword *string) { - o.SpecUserpassword = specUserpassword -} - -// WithSpecUserselfsigned adds the specUserselfsigned to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) WithSpecUserselfsigned(specUserselfsigned *bool) *BootstrapDownloadRelayNetworkParams { - o.SetSpecUserselfsigned(specUserselfsigned) - return o -} - -// SetSpecUserselfsigned adds the specUserselfsigned to the bootstrap download relay network params -func (o *BootstrapDownloadRelayNetworkParams) SetSpecUserselfsigned(specUserselfsigned *bool) { - o.SpecUserselfsigned = specUserselfsigned -} - -// WriteToRequest writes these params to a swagger request -func (o *BootstrapDownloadRelayNetworkParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.APIVersion != nil { - - // query param apiVersion - var qrAPIVersion string - - if o.APIVersion != nil { - qrAPIVersion = *o.APIVersion - } - qAPIVersion := qrAPIVersion - if qAPIVersion != "" { - - if err := r.SetQueryParam("apiVersion", qAPIVersion); err != nil { - return err - } - } - } - - if o.Kind != nil { - - // query param kind - var qrKind string - - if o.Kind != nil { - qrKind = *o.Kind - } - qKind := qrKind - if qKind != "" { - - if err := r.SetQueryParam("kind", qKind); err != nil { - return err - } - } - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - if o.MetadataProject != nil { - - // query param metadata.project - var qrMetadataProject string - - if o.MetadataProject != nil { - qrMetadataProject = *o.MetadataProject - } - qMetadataProject := qrMetadataProject - if qMetadataProject != "" { - - if err := r.SetQueryParam("metadata.project", qMetadataProject); err != nil { - return err - } - } - } - - if o.SpecClustercacert != nil { - - // query param spec.clustercacert - var qrSpecClustercacert string - - if o.SpecClustercacert != nil { - qrSpecClustercacert = *o.SpecClustercacert - } - qSpecClustercacert := qrSpecClustercacert - if qSpecClustercacert != "" { - - if err := r.SetQueryParam("spec.clustercacert", qSpecClustercacert); err != nil { - return err - } - } - } - - if o.SpecClustercert != nil { - - // query param spec.clustercert - var qrSpecClustercert string - - if o.SpecClustercert != nil { - qrSpecClustercert = *o.SpecClustercert - } - qSpecClustercert := qrSpecClustercert - if qSpecClustercert != "" { - - if err := r.SetQueryParam("spec.clustercert", qSpecClustercert); err != nil { - return err - } - } - } - - if o.SpecClusterhost != nil { - - // query param spec.clusterhost - var qrSpecClusterhost string - - if o.SpecClusterhost != nil { - qrSpecClusterhost = *o.SpecClusterhost - } - qSpecClusterhost := qrSpecClusterhost - if qSpecClusterhost != "" { - - if err := r.SetQueryParam("spec.clusterhost", qSpecClusterhost); err != nil { - return err - } - } - } - - if o.SpecClusterkey != nil { - - // query param spec.clusterkey - var qrSpecClusterkey string - - if o.SpecClusterkey != nil { - qrSpecClusterkey = *o.SpecClusterkey - } - qSpecClusterkey := qrSpecClusterkey - if qSpecClusterkey != "" { - - if err := r.SetQueryParam("spec.clusterkey", qSpecClusterkey); err != nil { - return err - } - } - } - - if o.SpecClusterpassword != nil { - - // query param spec.clusterpassword - var qrSpecClusterpassword string - - if o.SpecClusterpassword != nil { - qrSpecClusterpassword = *o.SpecClusterpassword - } - qSpecClusterpassword := qrSpecClusterpassword - if qSpecClusterpassword != "" { - - if err := r.SetQueryParam("spec.clusterpassword", qSpecClusterpassword); err != nil { - return err - } - } - } - - if o.SpecClusterselfsigned != nil { - - // query param spec.clusterselfsigned - var qrSpecClusterselfsigned bool - - if o.SpecClusterselfsigned != nil { - qrSpecClusterselfsigned = *o.SpecClusterselfsigned - } - qSpecClusterselfsigned := swag.FormatBool(qrSpecClusterselfsigned) - if qSpecClusterselfsigned != "" { - - if err := r.SetQueryParam("spec.clusterselfsigned", qSpecClusterselfsigned); err != nil { - return err - } - } - } - - if o.SpecPlacementClusterSelector != nil { - - // query param spec.placement.clusterSelector - var qrSpecPlacementClusterSelector string - - if o.SpecPlacementClusterSelector != nil { - qrSpecPlacementClusterSelector = *o.SpecPlacementClusterSelector - } - qSpecPlacementClusterSelector := qrSpecPlacementClusterSelector - if qSpecPlacementClusterSelector != "" { - - if err := r.SetQueryParam("spec.placement.clusterSelector", qSpecPlacementClusterSelector); err != nil { - return err - } - } - } - - if o.SpecPlacementDriftAction != nil { - - // query param spec.placement.driftAction - var qrSpecPlacementDriftAction string - - if o.SpecPlacementDriftAction != nil { - qrSpecPlacementDriftAction = *o.SpecPlacementDriftAction - } - qSpecPlacementDriftAction := qrSpecPlacementDriftAction - if qSpecPlacementDriftAction != "" { - - if err := r.SetQueryParam("spec.placement.driftAction", qSpecPlacementDriftAction); err != nil { - return err - } - } - } - - if o.SpecPlacementNodeGroupingKeys != nil { - - // binding items for spec.placement.nodeGroupingKeys - joinedSpecPlacementNodeGroupingKeys := o.bindParamSpecPlacementNodeGroupingKeys(reg) - - // query array param spec.placement.nodeGroupingKeys - if err := r.SetQueryParam("spec.placement.nodeGroupingKeys", joinedSpecPlacementNodeGroupingKeys...); err != nil { - return err - } - } - - if o.SpecPlacementPlacementType != nil { - - // query param spec.placement.placementType - var qrSpecPlacementPlacementType string - - if o.SpecPlacementPlacementType != nil { - qrSpecPlacementPlacementType = *o.SpecPlacementPlacementType - } - qSpecPlacementPlacementType := qrSpecPlacementPlacementType - if qSpecPlacementPlacementType != "" { - - if err := r.SetQueryParam("spec.placement.placementType", qSpecPlacementPlacementType); err != nil { - return err - } - } - } - - if o.SpecUsercacert != nil { - - // query param spec.usercacert - var qrSpecUsercacert string - - if o.SpecUsercacert != nil { - qrSpecUsercacert = *o.SpecUsercacert - } - qSpecUsercacert := qrSpecUsercacert - if qSpecUsercacert != "" { - - if err := r.SetQueryParam("spec.usercacert", qSpecUsercacert); err != nil { - return err - } - } - } - - if o.SpecUsercert != nil { - - // query param spec.usercert - var qrSpecUsercert string - - if o.SpecUsercert != nil { - qrSpecUsercert = *o.SpecUsercert - } - qSpecUsercert := qrSpecUsercert - if qSpecUsercert != "" { - - if err := r.SetQueryParam("spec.usercert", qSpecUsercert); err != nil { - return err - } - } - } - - if o.SpecUserhost != nil { - - // query param spec.userhost - var qrSpecUserhost string - - if o.SpecUserhost != nil { - qrSpecUserhost = *o.SpecUserhost - } - qSpecUserhost := qrSpecUserhost - if qSpecUserhost != "" { - - if err := r.SetQueryParam("spec.userhost", qSpecUserhost); err != nil { - return err - } - } - } - - if o.SpecUserkey != nil { - - // query param spec.userkey - var qrSpecUserkey string - - if o.SpecUserkey != nil { - qrSpecUserkey = *o.SpecUserkey - } - qSpecUserkey := qrSpecUserkey - if qSpecUserkey != "" { - - if err := r.SetQueryParam("spec.userkey", qSpecUserkey); err != nil { - return err - } - } - } - - if o.SpecUserpassword != nil { - - // query param spec.userpassword - var qrSpecUserpassword string - - if o.SpecUserpassword != nil { - qrSpecUserpassword = *o.SpecUserpassword - } - qSpecUserpassword := qrSpecUserpassword - if qSpecUserpassword != "" { - - if err := r.SetQueryParam("spec.userpassword", qSpecUserpassword); err != nil { - return err - } - } - } - - if o.SpecUserselfsigned != nil { - - // query param spec.userselfsigned - var qrSpecUserselfsigned bool - - if o.SpecUserselfsigned != nil { - qrSpecUserselfsigned = *o.SpecUserselfsigned - } - qSpecUserselfsigned := swag.FormatBool(qrSpecUserselfsigned) - if qSpecUserselfsigned != "" { - - if err := r.SetQueryParam("spec.userselfsigned", qSpecUserselfsigned); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindParamBootstrapDownloadRelayNetwork binds the parameter spec.placement.nodeGroupingKeys -func (o *BootstrapDownloadRelayNetworkParams) bindParamSpecPlacementNodeGroupingKeys(formats strfmt.Registry) []string { - specPlacementNodeGroupingKeysIR := o.SpecPlacementNodeGroupingKeys - - var specPlacementNodeGroupingKeysIC []string - for _, specPlacementNodeGroupingKeysIIR := range specPlacementNodeGroupingKeysIR { // explode []string - - specPlacementNodeGroupingKeysIIV := specPlacementNodeGroupingKeysIIR // string as string - specPlacementNodeGroupingKeysIC = append(specPlacementNodeGroupingKeysIC, specPlacementNodeGroupingKeysIIV) - } - - // items.CollectionFormat: "multi" - specPlacementNodeGroupingKeysIS := swag.JoinByFormat(specPlacementNodeGroupingKeysIC, "multi") - - return specPlacementNodeGroupingKeysIS -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_responses.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_responses.go deleted file mode 100644 index cfc9470..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_download_relay_network_responses.go +++ /dev/null @@ -1,223 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// BootstrapDownloadRelayNetworkReader is a Reader for the BootstrapDownloadRelayNetwork structure. -type BootstrapDownloadRelayNetworkReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *BootstrapDownloadRelayNetworkReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewBootstrapDownloadRelayNetworkOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewBootstrapDownloadRelayNetworkForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewBootstrapDownloadRelayNetworkNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 500: - result := NewBootstrapDownloadRelayNetworkInternalServerError() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewBootstrapDownloadRelayNetworkDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewBootstrapDownloadRelayNetworkOK creates a BootstrapDownloadRelayNetworkOK with default headers values -func NewBootstrapDownloadRelayNetworkOK() *BootstrapDownloadRelayNetworkOK { - return &BootstrapDownloadRelayNetworkOK{} -} - -/* BootstrapDownloadRelayNetworkOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type BootstrapDownloadRelayNetworkOK struct { - Payload *models.V3HTTPBody -} - -func (o *BootstrapDownloadRelayNetworkOK) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/download][%d] bootstrapDownloadRelayNetworkOK %+v", 200, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkOK) GetPayload() *models.V3HTTPBody { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.V3HTTPBody) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDownloadRelayNetworkForbidden creates a BootstrapDownloadRelayNetworkForbidden with default headers values -func NewBootstrapDownloadRelayNetworkForbidden() *BootstrapDownloadRelayNetworkForbidden { - return &BootstrapDownloadRelayNetworkForbidden{} -} - -/* BootstrapDownloadRelayNetworkForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type BootstrapDownloadRelayNetworkForbidden struct { - Payload interface{} -} - -func (o *BootstrapDownloadRelayNetworkForbidden) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/download][%d] bootstrapDownloadRelayNetworkForbidden %+v", 403, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDownloadRelayNetworkNotFound creates a BootstrapDownloadRelayNetworkNotFound with default headers values -func NewBootstrapDownloadRelayNetworkNotFound() *BootstrapDownloadRelayNetworkNotFound { - return &BootstrapDownloadRelayNetworkNotFound{} -} - -/* BootstrapDownloadRelayNetworkNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type BootstrapDownloadRelayNetworkNotFound struct { - Payload interface{} -} - -func (o *BootstrapDownloadRelayNetworkNotFound) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/download][%d] bootstrapDownloadRelayNetworkNotFound %+v", 404, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkNotFound) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDownloadRelayNetworkInternalServerError creates a BootstrapDownloadRelayNetworkInternalServerError with default headers values -func NewBootstrapDownloadRelayNetworkInternalServerError() *BootstrapDownloadRelayNetworkInternalServerError { - return &BootstrapDownloadRelayNetworkInternalServerError{} -} - -/* BootstrapDownloadRelayNetworkInternalServerError describes a response with status code 500, with default header values. - -Returned for internal server error -*/ -type BootstrapDownloadRelayNetworkInternalServerError struct { - Payload interface{} -} - -func (o *BootstrapDownloadRelayNetworkInternalServerError) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/download][%d] bootstrapDownloadRelayNetworkInternalServerError %+v", 500, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkInternalServerError) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapDownloadRelayNetworkDefault creates a BootstrapDownloadRelayNetworkDefault with default headers values -func NewBootstrapDownloadRelayNetworkDefault(code int) *BootstrapDownloadRelayNetworkDefault { - return &BootstrapDownloadRelayNetworkDefault{ - _statusCode: code, - } -} - -/* BootstrapDownloadRelayNetworkDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type BootstrapDownloadRelayNetworkDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the bootstrap download relay network default response -func (o *BootstrapDownloadRelayNetworkDefault) Code() int { - return o._statusCode -} - -func (o *BootstrapDownloadRelayNetworkDefault) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}/download][%d] Bootstrap_DownloadRelayNetwork default %+v", o._statusCode, o.Payload) -} -func (o *BootstrapDownloadRelayNetworkDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *BootstrapDownloadRelayNetworkDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_network_parameters.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_network_parameters.go deleted file mode 100644 index 2254d7a..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_network_parameters.go +++ /dev/null @@ -1,956 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewBootstrapGetRelayNetworkParams creates a new BootstrapGetRelayNetworkParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewBootstrapGetRelayNetworkParams() *BootstrapGetRelayNetworkParams { - return &BootstrapGetRelayNetworkParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewBootstrapGetRelayNetworkParamsWithTimeout creates a new BootstrapGetRelayNetworkParams object -// with the ability to set a timeout on a request. -func NewBootstrapGetRelayNetworkParamsWithTimeout(timeout time.Duration) *BootstrapGetRelayNetworkParams { - return &BootstrapGetRelayNetworkParams{ - timeout: timeout, - } -} - -// NewBootstrapGetRelayNetworkParamsWithContext creates a new BootstrapGetRelayNetworkParams object -// with the ability to set a context for a request. -func NewBootstrapGetRelayNetworkParamsWithContext(ctx context.Context) *BootstrapGetRelayNetworkParams { - return &BootstrapGetRelayNetworkParams{ - Context: ctx, - } -} - -// NewBootstrapGetRelayNetworkParamsWithHTTPClient creates a new BootstrapGetRelayNetworkParams object -// with the ability to set a custom HTTPClient for a request. -func NewBootstrapGetRelayNetworkParamsWithHTTPClient(client *http.Client) *BootstrapGetRelayNetworkParams { - return &BootstrapGetRelayNetworkParams{ - HTTPClient: client, - } -} - -/* BootstrapGetRelayNetworkParams contains all the parameters to send to the API endpoint - for the bootstrap get relay network operation. - - Typically these are written to a http.Request. -*/ -type BootstrapGetRelayNetworkParams struct { - - /* APIVersion. - - API Version. API Version of the resource - - Default: "infra.k8smgmt.io/v3" - */ - APIVersion *string - - /* Kind. - - Kind. Kind of the resource - - Default: "RelayNetwork" - */ - Kind *string - - /* MetadataDescription. - - Description. description of the resource - */ - MetadataDescription *string - - // MetadataID. - MetadataID *string - - // MetadataModifiedAt. - // - // Format: date-time - MetadataModifiedAt *strfmt.DateTime - - /* MetadataName. - - name of the resource - */ - MetadataName string - - /* MetadataOrganization. - - Organization. Organization to which the resource belongs - */ - MetadataOrganization *string - - /* MetadataPartner. - - Partner. Partner to which the resource belongs - */ - MetadataPartner *string - - /* MetadataProject. - - Project. Project of the resource - */ - MetadataProject *string - - // SpecClustercacert. - SpecClustercacert *string - - // SpecClustercert. - SpecClustercert *string - - // SpecClusterhost. - SpecClusterhost *string - - // SpecClusterkey. - SpecClusterkey *string - - // SpecClusterpassword. - SpecClusterpassword *string - - // SpecClusterselfsigned. - SpecClusterselfsigned *bool - - // SpecPlacementClusterSelector. - SpecPlacementClusterSelector *string - - // SpecPlacementDriftAction. - // - // Default: "DriftReconcillationActionNotSet" - SpecPlacementDriftAction *string - - // SpecPlacementNodeGroupingKeys. - SpecPlacementNodeGroupingKeys []string - - /* SpecPlacementPlacementType. - - placementType is the type of placement. - - Default: "ClusterSelector" - */ - SpecPlacementPlacementType *string - - // SpecUsercacert. - SpecUsercacert *string - - // SpecUsercert. - SpecUsercert *string - - // SpecUserhost. - SpecUserhost *string - - // SpecUserkey. - SpecUserkey *string - - // SpecUserpassword. - SpecUserpassword *string - - // SpecUserselfsigned. - SpecUserselfsigned *bool - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the bootstrap get relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapGetRelayNetworkParams) WithDefaults() *BootstrapGetRelayNetworkParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the bootstrap get relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapGetRelayNetworkParams) SetDefaults() { - var ( - aPIVersionDefault = string("infra.k8smgmt.io/v3") - - kindDefault = string("RelayNetwork") - - specPlacementDriftActionDefault = string("DriftReconcillationActionNotSet") - - specPlacementPlacementTypeDefault = string("ClusterSelector") - ) - - val := BootstrapGetRelayNetworkParams{ - APIVersion: &aPIVersionDefault, - Kind: &kindDefault, - SpecPlacementDriftAction: &specPlacementDriftActionDefault, - SpecPlacementPlacementType: &specPlacementPlacementTypeDefault, - } - - val.timeout = o.timeout - val.Context = o.Context - val.HTTPClient = o.HTTPClient - *o = val -} - -// WithTimeout adds the timeout to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithTimeout(timeout time.Duration) *BootstrapGetRelayNetworkParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithContext(ctx context.Context) *BootstrapGetRelayNetworkParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithHTTPClient(client *http.Client) *BootstrapGetRelayNetworkParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithAPIVersion adds the aPIVersion to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithAPIVersion(aPIVersion *string) *BootstrapGetRelayNetworkParams { - o.SetAPIVersion(aPIVersion) - return o -} - -// SetAPIVersion adds the apiVersion to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetAPIVersion(aPIVersion *string) { - o.APIVersion = aPIVersion -} - -// WithKind adds the kind to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithKind(kind *string) *BootstrapGetRelayNetworkParams { - o.SetKind(kind) - return o -} - -// SetKind adds the kind to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetKind(kind *string) { - o.Kind = kind -} - -// WithMetadataDescription adds the metadataDescription to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithMetadataDescription(metadataDescription *string) *BootstrapGetRelayNetworkParams { - o.SetMetadataDescription(metadataDescription) - return o -} - -// SetMetadataDescription adds the metadataDescription to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetMetadataDescription(metadataDescription *string) { - o.MetadataDescription = metadataDescription -} - -// WithMetadataID adds the metadataID to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithMetadataID(metadataID *string) *BootstrapGetRelayNetworkParams { - o.SetMetadataID(metadataID) - return o -} - -// SetMetadataID adds the metadataId to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetMetadataID(metadataID *string) { - o.MetadataID = metadataID -} - -// WithMetadataModifiedAt adds the metadataModifiedAt to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) *BootstrapGetRelayNetworkParams { - o.SetMetadataModifiedAt(metadataModifiedAt) - return o -} - -// SetMetadataModifiedAt adds the metadataModifiedAt to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetMetadataModifiedAt(metadataModifiedAt *strfmt.DateTime) { - o.MetadataModifiedAt = metadataModifiedAt -} - -// WithMetadataName adds the metadataName to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithMetadataName(metadataName string) *BootstrapGetRelayNetworkParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WithMetadataOrganization adds the metadataOrganization to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithMetadataOrganization(metadataOrganization *string) *BootstrapGetRelayNetworkParams { - o.SetMetadataOrganization(metadataOrganization) - return o -} - -// SetMetadataOrganization adds the metadataOrganization to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetMetadataOrganization(metadataOrganization *string) { - o.MetadataOrganization = metadataOrganization -} - -// WithMetadataPartner adds the metadataPartner to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithMetadataPartner(metadataPartner *string) *BootstrapGetRelayNetworkParams { - o.SetMetadataPartner(metadataPartner) - return o -} - -// SetMetadataPartner adds the metadataPartner to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetMetadataPartner(metadataPartner *string) { - o.MetadataPartner = metadataPartner -} - -// WithMetadataProject adds the metadataProject to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithMetadataProject(metadataProject *string) *BootstrapGetRelayNetworkParams { - o.SetMetadataProject(metadataProject) - return o -} - -// SetMetadataProject adds the metadataProject to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetMetadataProject(metadataProject *string) { - o.MetadataProject = metadataProject -} - -// WithSpecClustercacert adds the specClustercacert to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecClustercacert(specClustercacert *string) *BootstrapGetRelayNetworkParams { - o.SetSpecClustercacert(specClustercacert) - return o -} - -// SetSpecClustercacert adds the specClustercacert to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecClustercacert(specClustercacert *string) { - o.SpecClustercacert = specClustercacert -} - -// WithSpecClustercert adds the specClustercert to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecClustercert(specClustercert *string) *BootstrapGetRelayNetworkParams { - o.SetSpecClustercert(specClustercert) - return o -} - -// SetSpecClustercert adds the specClustercert to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecClustercert(specClustercert *string) { - o.SpecClustercert = specClustercert -} - -// WithSpecClusterhost adds the specClusterhost to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecClusterhost(specClusterhost *string) *BootstrapGetRelayNetworkParams { - o.SetSpecClusterhost(specClusterhost) - return o -} - -// SetSpecClusterhost adds the specClusterhost to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecClusterhost(specClusterhost *string) { - o.SpecClusterhost = specClusterhost -} - -// WithSpecClusterkey adds the specClusterkey to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecClusterkey(specClusterkey *string) *BootstrapGetRelayNetworkParams { - o.SetSpecClusterkey(specClusterkey) - return o -} - -// SetSpecClusterkey adds the specClusterkey to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecClusterkey(specClusterkey *string) { - o.SpecClusterkey = specClusterkey -} - -// WithSpecClusterpassword adds the specClusterpassword to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecClusterpassword(specClusterpassword *string) *BootstrapGetRelayNetworkParams { - o.SetSpecClusterpassword(specClusterpassword) - return o -} - -// SetSpecClusterpassword adds the specClusterpassword to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecClusterpassword(specClusterpassword *string) { - o.SpecClusterpassword = specClusterpassword -} - -// WithSpecClusterselfsigned adds the specClusterselfsigned to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecClusterselfsigned(specClusterselfsigned *bool) *BootstrapGetRelayNetworkParams { - o.SetSpecClusterselfsigned(specClusterselfsigned) - return o -} - -// SetSpecClusterselfsigned adds the specClusterselfsigned to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecClusterselfsigned(specClusterselfsigned *bool) { - o.SpecClusterselfsigned = specClusterselfsigned -} - -// WithSpecPlacementClusterSelector adds the specPlacementClusterSelector to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecPlacementClusterSelector(specPlacementClusterSelector *string) *BootstrapGetRelayNetworkParams { - o.SetSpecPlacementClusterSelector(specPlacementClusterSelector) - return o -} - -// SetSpecPlacementClusterSelector adds the specPlacementClusterSelector to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecPlacementClusterSelector(specPlacementClusterSelector *string) { - o.SpecPlacementClusterSelector = specPlacementClusterSelector -} - -// WithSpecPlacementDriftAction adds the specPlacementDriftAction to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecPlacementDriftAction(specPlacementDriftAction *string) *BootstrapGetRelayNetworkParams { - o.SetSpecPlacementDriftAction(specPlacementDriftAction) - return o -} - -// SetSpecPlacementDriftAction adds the specPlacementDriftAction to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecPlacementDriftAction(specPlacementDriftAction *string) { - o.SpecPlacementDriftAction = specPlacementDriftAction -} - -// WithSpecPlacementNodeGroupingKeys adds the specPlacementNodeGroupingKeys to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys []string) *BootstrapGetRelayNetworkParams { - o.SetSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys) - return o -} - -// SetSpecPlacementNodeGroupingKeys adds the specPlacementNodeGroupingKeys to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecPlacementNodeGroupingKeys(specPlacementNodeGroupingKeys []string) { - o.SpecPlacementNodeGroupingKeys = specPlacementNodeGroupingKeys -} - -// WithSpecPlacementPlacementType adds the specPlacementPlacementType to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecPlacementPlacementType(specPlacementPlacementType *string) *BootstrapGetRelayNetworkParams { - o.SetSpecPlacementPlacementType(specPlacementPlacementType) - return o -} - -// SetSpecPlacementPlacementType adds the specPlacementPlacementType to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecPlacementPlacementType(specPlacementPlacementType *string) { - o.SpecPlacementPlacementType = specPlacementPlacementType -} - -// WithSpecUsercacert adds the specUsercacert to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecUsercacert(specUsercacert *string) *BootstrapGetRelayNetworkParams { - o.SetSpecUsercacert(specUsercacert) - return o -} - -// SetSpecUsercacert adds the specUsercacert to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecUsercacert(specUsercacert *string) { - o.SpecUsercacert = specUsercacert -} - -// WithSpecUsercert adds the specUsercert to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecUsercert(specUsercert *string) *BootstrapGetRelayNetworkParams { - o.SetSpecUsercert(specUsercert) - return o -} - -// SetSpecUsercert adds the specUsercert to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecUsercert(specUsercert *string) { - o.SpecUsercert = specUsercert -} - -// WithSpecUserhost adds the specUserhost to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecUserhost(specUserhost *string) *BootstrapGetRelayNetworkParams { - o.SetSpecUserhost(specUserhost) - return o -} - -// SetSpecUserhost adds the specUserhost to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecUserhost(specUserhost *string) { - o.SpecUserhost = specUserhost -} - -// WithSpecUserkey adds the specUserkey to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecUserkey(specUserkey *string) *BootstrapGetRelayNetworkParams { - o.SetSpecUserkey(specUserkey) - return o -} - -// SetSpecUserkey adds the specUserkey to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecUserkey(specUserkey *string) { - o.SpecUserkey = specUserkey -} - -// WithSpecUserpassword adds the specUserpassword to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecUserpassword(specUserpassword *string) *BootstrapGetRelayNetworkParams { - o.SetSpecUserpassword(specUserpassword) - return o -} - -// SetSpecUserpassword adds the specUserpassword to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecUserpassword(specUserpassword *string) { - o.SpecUserpassword = specUserpassword -} - -// WithSpecUserselfsigned adds the specUserselfsigned to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) WithSpecUserselfsigned(specUserselfsigned *bool) *BootstrapGetRelayNetworkParams { - o.SetSpecUserselfsigned(specUserselfsigned) - return o -} - -// SetSpecUserselfsigned adds the specUserselfsigned to the bootstrap get relay network params -func (o *BootstrapGetRelayNetworkParams) SetSpecUserselfsigned(specUserselfsigned *bool) { - o.SpecUserselfsigned = specUserselfsigned -} - -// WriteToRequest writes these params to a swagger request -func (o *BootstrapGetRelayNetworkParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.APIVersion != nil { - - // query param apiVersion - var qrAPIVersion string - - if o.APIVersion != nil { - qrAPIVersion = *o.APIVersion - } - qAPIVersion := qrAPIVersion - if qAPIVersion != "" { - - if err := r.SetQueryParam("apiVersion", qAPIVersion); err != nil { - return err - } - } - } - - if o.Kind != nil { - - // query param kind - var qrKind string - - if o.Kind != nil { - qrKind = *o.Kind - } - qKind := qrKind - if qKind != "" { - - if err := r.SetQueryParam("kind", qKind); err != nil { - return err - } - } - } - - if o.MetadataDescription != nil { - - // query param metadata.description - var qrMetadataDescription string - - if o.MetadataDescription != nil { - qrMetadataDescription = *o.MetadataDescription - } - qMetadataDescription := qrMetadataDescription - if qMetadataDescription != "" { - - if err := r.SetQueryParam("metadata.description", qMetadataDescription); err != nil { - return err - } - } - } - - if o.MetadataID != nil { - - // query param metadata.id - var qrMetadataID string - - if o.MetadataID != nil { - qrMetadataID = *o.MetadataID - } - qMetadataID := qrMetadataID - if qMetadataID != "" { - - if err := r.SetQueryParam("metadata.id", qMetadataID); err != nil { - return err - } - } - } - - if o.MetadataModifiedAt != nil { - - // query param metadata.modifiedAt - var qrMetadataModifiedAt strfmt.DateTime - - if o.MetadataModifiedAt != nil { - qrMetadataModifiedAt = *o.MetadataModifiedAt - } - qMetadataModifiedAt := qrMetadataModifiedAt.String() - if qMetadataModifiedAt != "" { - - if err := r.SetQueryParam("metadata.modifiedAt", qMetadataModifiedAt); err != nil { - return err - } - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if o.MetadataOrganization != nil { - - // query param metadata.organization - var qrMetadataOrganization string - - if o.MetadataOrganization != nil { - qrMetadataOrganization = *o.MetadataOrganization - } - qMetadataOrganization := qrMetadataOrganization - if qMetadataOrganization != "" { - - if err := r.SetQueryParam("metadata.organization", qMetadataOrganization); err != nil { - return err - } - } - } - - if o.MetadataPartner != nil { - - // query param metadata.partner - var qrMetadataPartner string - - if o.MetadataPartner != nil { - qrMetadataPartner = *o.MetadataPartner - } - qMetadataPartner := qrMetadataPartner - if qMetadataPartner != "" { - - if err := r.SetQueryParam("metadata.partner", qMetadataPartner); err != nil { - return err - } - } - } - - if o.MetadataProject != nil { - - // query param metadata.project - var qrMetadataProject string - - if o.MetadataProject != nil { - qrMetadataProject = *o.MetadataProject - } - qMetadataProject := qrMetadataProject - if qMetadataProject != "" { - - if err := r.SetQueryParam("metadata.project", qMetadataProject); err != nil { - return err - } - } - } - - if o.SpecClustercacert != nil { - - // query param spec.clustercacert - var qrSpecClustercacert string - - if o.SpecClustercacert != nil { - qrSpecClustercacert = *o.SpecClustercacert - } - qSpecClustercacert := qrSpecClustercacert - if qSpecClustercacert != "" { - - if err := r.SetQueryParam("spec.clustercacert", qSpecClustercacert); err != nil { - return err - } - } - } - - if o.SpecClustercert != nil { - - // query param spec.clustercert - var qrSpecClustercert string - - if o.SpecClustercert != nil { - qrSpecClustercert = *o.SpecClustercert - } - qSpecClustercert := qrSpecClustercert - if qSpecClustercert != "" { - - if err := r.SetQueryParam("spec.clustercert", qSpecClustercert); err != nil { - return err - } - } - } - - if o.SpecClusterhost != nil { - - // query param spec.clusterhost - var qrSpecClusterhost string - - if o.SpecClusterhost != nil { - qrSpecClusterhost = *o.SpecClusterhost - } - qSpecClusterhost := qrSpecClusterhost - if qSpecClusterhost != "" { - - if err := r.SetQueryParam("spec.clusterhost", qSpecClusterhost); err != nil { - return err - } - } - } - - if o.SpecClusterkey != nil { - - // query param spec.clusterkey - var qrSpecClusterkey string - - if o.SpecClusterkey != nil { - qrSpecClusterkey = *o.SpecClusterkey - } - qSpecClusterkey := qrSpecClusterkey - if qSpecClusterkey != "" { - - if err := r.SetQueryParam("spec.clusterkey", qSpecClusterkey); err != nil { - return err - } - } - } - - if o.SpecClusterpassword != nil { - - // query param spec.clusterpassword - var qrSpecClusterpassword string - - if o.SpecClusterpassword != nil { - qrSpecClusterpassword = *o.SpecClusterpassword - } - qSpecClusterpassword := qrSpecClusterpassword - if qSpecClusterpassword != "" { - - if err := r.SetQueryParam("spec.clusterpassword", qSpecClusterpassword); err != nil { - return err - } - } - } - - if o.SpecClusterselfsigned != nil { - - // query param spec.clusterselfsigned - var qrSpecClusterselfsigned bool - - if o.SpecClusterselfsigned != nil { - qrSpecClusterselfsigned = *o.SpecClusterselfsigned - } - qSpecClusterselfsigned := swag.FormatBool(qrSpecClusterselfsigned) - if qSpecClusterselfsigned != "" { - - if err := r.SetQueryParam("spec.clusterselfsigned", qSpecClusterselfsigned); err != nil { - return err - } - } - } - - if o.SpecPlacementClusterSelector != nil { - - // query param spec.placement.clusterSelector - var qrSpecPlacementClusterSelector string - - if o.SpecPlacementClusterSelector != nil { - qrSpecPlacementClusterSelector = *o.SpecPlacementClusterSelector - } - qSpecPlacementClusterSelector := qrSpecPlacementClusterSelector - if qSpecPlacementClusterSelector != "" { - - if err := r.SetQueryParam("spec.placement.clusterSelector", qSpecPlacementClusterSelector); err != nil { - return err - } - } - } - - if o.SpecPlacementDriftAction != nil { - - // query param spec.placement.driftAction - var qrSpecPlacementDriftAction string - - if o.SpecPlacementDriftAction != nil { - qrSpecPlacementDriftAction = *o.SpecPlacementDriftAction - } - qSpecPlacementDriftAction := qrSpecPlacementDriftAction - if qSpecPlacementDriftAction != "" { - - if err := r.SetQueryParam("spec.placement.driftAction", qSpecPlacementDriftAction); err != nil { - return err - } - } - } - - if o.SpecPlacementNodeGroupingKeys != nil { - - // binding items for spec.placement.nodeGroupingKeys - joinedSpecPlacementNodeGroupingKeys := o.bindParamSpecPlacementNodeGroupingKeys(reg) - - // query array param spec.placement.nodeGroupingKeys - if err := r.SetQueryParam("spec.placement.nodeGroupingKeys", joinedSpecPlacementNodeGroupingKeys...); err != nil { - return err - } - } - - if o.SpecPlacementPlacementType != nil { - - // query param spec.placement.placementType - var qrSpecPlacementPlacementType string - - if o.SpecPlacementPlacementType != nil { - qrSpecPlacementPlacementType = *o.SpecPlacementPlacementType - } - qSpecPlacementPlacementType := qrSpecPlacementPlacementType - if qSpecPlacementPlacementType != "" { - - if err := r.SetQueryParam("spec.placement.placementType", qSpecPlacementPlacementType); err != nil { - return err - } - } - } - - if o.SpecUsercacert != nil { - - // query param spec.usercacert - var qrSpecUsercacert string - - if o.SpecUsercacert != nil { - qrSpecUsercacert = *o.SpecUsercacert - } - qSpecUsercacert := qrSpecUsercacert - if qSpecUsercacert != "" { - - if err := r.SetQueryParam("spec.usercacert", qSpecUsercacert); err != nil { - return err - } - } - } - - if o.SpecUsercert != nil { - - // query param spec.usercert - var qrSpecUsercert string - - if o.SpecUsercert != nil { - qrSpecUsercert = *o.SpecUsercert - } - qSpecUsercert := qrSpecUsercert - if qSpecUsercert != "" { - - if err := r.SetQueryParam("spec.usercert", qSpecUsercert); err != nil { - return err - } - } - } - - if o.SpecUserhost != nil { - - // query param spec.userhost - var qrSpecUserhost string - - if o.SpecUserhost != nil { - qrSpecUserhost = *o.SpecUserhost - } - qSpecUserhost := qrSpecUserhost - if qSpecUserhost != "" { - - if err := r.SetQueryParam("spec.userhost", qSpecUserhost); err != nil { - return err - } - } - } - - if o.SpecUserkey != nil { - - // query param spec.userkey - var qrSpecUserkey string - - if o.SpecUserkey != nil { - qrSpecUserkey = *o.SpecUserkey - } - qSpecUserkey := qrSpecUserkey - if qSpecUserkey != "" { - - if err := r.SetQueryParam("spec.userkey", qSpecUserkey); err != nil { - return err - } - } - } - - if o.SpecUserpassword != nil { - - // query param spec.userpassword - var qrSpecUserpassword string - - if o.SpecUserpassword != nil { - qrSpecUserpassword = *o.SpecUserpassword - } - qSpecUserpassword := qrSpecUserpassword - if qSpecUserpassword != "" { - - if err := r.SetQueryParam("spec.userpassword", qSpecUserpassword); err != nil { - return err - } - } - } - - if o.SpecUserselfsigned != nil { - - // query param spec.userselfsigned - var qrSpecUserselfsigned bool - - if o.SpecUserselfsigned != nil { - qrSpecUserselfsigned = *o.SpecUserselfsigned - } - qSpecUserselfsigned := swag.FormatBool(qrSpecUserselfsigned) - if qSpecUserselfsigned != "" { - - if err := r.SetQueryParam("spec.userselfsigned", qSpecUserselfsigned); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindParamBootstrapGetRelayNetwork binds the parameter spec.placement.nodeGroupingKeys -func (o *BootstrapGetRelayNetworkParams) bindParamSpecPlacementNodeGroupingKeys(formats strfmt.Registry) []string { - specPlacementNodeGroupingKeysIR := o.SpecPlacementNodeGroupingKeys - - var specPlacementNodeGroupingKeysIC []string - for _, specPlacementNodeGroupingKeysIIR := range specPlacementNodeGroupingKeysIR { // explode []string - - specPlacementNodeGroupingKeysIIV := specPlacementNodeGroupingKeysIIR // string as string - specPlacementNodeGroupingKeysIC = append(specPlacementNodeGroupingKeysIC, specPlacementNodeGroupingKeysIIV) - } - - // items.CollectionFormat: "multi" - specPlacementNodeGroupingKeysIS := swag.JoinByFormat(specPlacementNodeGroupingKeysIC, "multi") - - return specPlacementNodeGroupingKeysIS -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_network_responses.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_network_responses.go deleted file mode 100644 index 4dec0ad..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_network_responses.go +++ /dev/null @@ -1,223 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// BootstrapGetRelayNetworkReader is a Reader for the BootstrapGetRelayNetwork structure. -type BootstrapGetRelayNetworkReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *BootstrapGetRelayNetworkReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewBootstrapGetRelayNetworkOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewBootstrapGetRelayNetworkForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewBootstrapGetRelayNetworkNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 500: - result := NewBootstrapGetRelayNetworkInternalServerError() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewBootstrapGetRelayNetworkDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewBootstrapGetRelayNetworkOK creates a BootstrapGetRelayNetworkOK with default headers values -func NewBootstrapGetRelayNetworkOK() *BootstrapGetRelayNetworkOK { - return &BootstrapGetRelayNetworkOK{} -} - -/* BootstrapGetRelayNetworkOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type BootstrapGetRelayNetworkOK struct { - Payload *models.SentryRelayNetwork -} - -func (o *BootstrapGetRelayNetworkOK) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapGetRelayNetworkOK %+v", 200, o.Payload) -} -func (o *BootstrapGetRelayNetworkOK) GetPayload() *models.SentryRelayNetwork { - return o.Payload -} - -func (o *BootstrapGetRelayNetworkOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.SentryRelayNetwork) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapGetRelayNetworkForbidden creates a BootstrapGetRelayNetworkForbidden with default headers values -func NewBootstrapGetRelayNetworkForbidden() *BootstrapGetRelayNetworkForbidden { - return &BootstrapGetRelayNetworkForbidden{} -} - -/* BootstrapGetRelayNetworkForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type BootstrapGetRelayNetworkForbidden struct { - Payload interface{} -} - -func (o *BootstrapGetRelayNetworkForbidden) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapGetRelayNetworkForbidden %+v", 403, o.Payload) -} -func (o *BootstrapGetRelayNetworkForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapGetRelayNetworkForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapGetRelayNetworkNotFound creates a BootstrapGetRelayNetworkNotFound with default headers values -func NewBootstrapGetRelayNetworkNotFound() *BootstrapGetRelayNetworkNotFound { - return &BootstrapGetRelayNetworkNotFound{} -} - -/* BootstrapGetRelayNetworkNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type BootstrapGetRelayNetworkNotFound struct { - Payload interface{} -} - -func (o *BootstrapGetRelayNetworkNotFound) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapGetRelayNetworkNotFound %+v", 404, o.Payload) -} -func (o *BootstrapGetRelayNetworkNotFound) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapGetRelayNetworkNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapGetRelayNetworkInternalServerError creates a BootstrapGetRelayNetworkInternalServerError with default headers values -func NewBootstrapGetRelayNetworkInternalServerError() *BootstrapGetRelayNetworkInternalServerError { - return &BootstrapGetRelayNetworkInternalServerError{} -} - -/* BootstrapGetRelayNetworkInternalServerError describes a response with status code 500, with default header values. - -Returned for internal server error -*/ -type BootstrapGetRelayNetworkInternalServerError struct { - Payload interface{} -} - -func (o *BootstrapGetRelayNetworkInternalServerError) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapGetRelayNetworkInternalServerError %+v", 500, o.Payload) -} -func (o *BootstrapGetRelayNetworkInternalServerError) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapGetRelayNetworkInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapGetRelayNetworkDefault creates a BootstrapGetRelayNetworkDefault with default headers values -func NewBootstrapGetRelayNetworkDefault(code int) *BootstrapGetRelayNetworkDefault { - return &BootstrapGetRelayNetworkDefault{ - _statusCode: code, - } -} - -/* BootstrapGetRelayNetworkDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type BootstrapGetRelayNetworkDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the bootstrap get relay network default response -func (o *BootstrapGetRelayNetworkDefault) Code() int { - return o._statusCode -} - -func (o *BootstrapGetRelayNetworkDefault) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork/{metadata.name}][%d] Bootstrap_GetRelayNetwork default %+v", o._statusCode, o.Payload) -} -func (o *BootstrapGetRelayNetworkDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *BootstrapGetRelayNetworkDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_networks_parameters.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_networks_parameters.go deleted file mode 100644 index e307dd1..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_networks_parameters.go +++ /dev/null @@ -1,878 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// NewBootstrapGetRelayNetworksParams creates a new BootstrapGetRelayNetworksParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewBootstrapGetRelayNetworksParams() *BootstrapGetRelayNetworksParams { - return &BootstrapGetRelayNetworksParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewBootstrapGetRelayNetworksParamsWithTimeout creates a new BootstrapGetRelayNetworksParams object -// with the ability to set a timeout on a request. -func NewBootstrapGetRelayNetworksParamsWithTimeout(timeout time.Duration) *BootstrapGetRelayNetworksParams { - return &BootstrapGetRelayNetworksParams{ - timeout: timeout, - } -} - -// NewBootstrapGetRelayNetworksParamsWithContext creates a new BootstrapGetRelayNetworksParams object -// with the ability to set a context for a request. -func NewBootstrapGetRelayNetworksParamsWithContext(ctx context.Context) *BootstrapGetRelayNetworksParams { - return &BootstrapGetRelayNetworksParams{ - Context: ctx, - } -} - -// NewBootstrapGetRelayNetworksParamsWithHTTPClient creates a new BootstrapGetRelayNetworksParams object -// with the ability to set a custom HTTPClient for a request. -func NewBootstrapGetRelayNetworksParamsWithHTTPClient(client *http.Client) *BootstrapGetRelayNetworksParams { - return &BootstrapGetRelayNetworksParams{ - HTTPClient: client, - } -} - -/* BootstrapGetRelayNetworksParams contains all the parameters to send to the API endpoint - for the bootstrap get relay networks operation. - - Typically these are written to a http.Request. -*/ -type BootstrapGetRelayNetworksParams struct { - - // OptsID. - OptsID *string - - // OptsBlueprintRef. - OptsBlueprintRef *string - - // OptsClusterID. - OptsClusterID *string - - // OptsCount. - // - // Format: int64 - OptsCount *string - - // OptsDeleted. - OptsDeleted *bool - - /* OptsDisplayName. - - displayName only used for update queries to set displayName (READONLY). - */ - OptsDisplayName *string - - // OptsExtended. - OptsExtended *bool - - /* OptsGlobalScope. - - globalScope sets partnerID,organizationID,projectID = 0. - */ - OptsGlobalScope *bool - - // OptsGroups. - OptsGroups []string - - /* OptsIgnoreScopeDefault. - - ignoreScopeDefault ignores default values for partnerID, organizationID and - projectID. - */ - OptsIgnoreScopeDefault *bool - - // OptsIsSSOUser. - OptsIsSSOUser *bool - - // OptsLimit. - // - // Format: int64 - OptsLimit *string - - /* OptsName. - - name is unique ID of a resource along with (partnerID, organizationID, - projectID). - */ - OptsName *string - - // OptsOffset. - // - // Format: int64 - OptsOffset *string - - // OptsOrder. - OptsOrder *string - - // OptsOrderBy. - OptsOrderBy *string - - // OptsOrganizationID. - OptsOrganizationID *string - - // OptsPartnerID. - OptsPartnerID *string - - // OptsProjectID. - OptsProjectID *string - - // OptsPublishedVersion. - OptsPublishedVersion *string - - /* OptsSelector. - - selector is used to filter the labels of a resource. - */ - OptsSelector *string - - /* OptsURLScope. - - urlScope is supposed to be passed in the URL as kind/HashID(value). - */ - OptsURLScope *string - - // OptsUsername. - OptsUsername *string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the bootstrap get relay networks params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapGetRelayNetworksParams) WithDefaults() *BootstrapGetRelayNetworksParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the bootstrap get relay networks params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapGetRelayNetworksParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithTimeout(timeout time.Duration) *BootstrapGetRelayNetworksParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithContext(ctx context.Context) *BootstrapGetRelayNetworksParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithHTTPClient(client *http.Client) *BootstrapGetRelayNetworksParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithOptsID adds the optsID to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsID(optsID *string) *BootstrapGetRelayNetworksParams { - o.SetOptsID(optsID) - return o -} - -// SetOptsID adds the optsId to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsID(optsID *string) { - o.OptsID = optsID -} - -// WithOptsBlueprintRef adds the optsBlueprintRef to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsBlueprintRef(optsBlueprintRef *string) *BootstrapGetRelayNetworksParams { - o.SetOptsBlueprintRef(optsBlueprintRef) - return o -} - -// SetOptsBlueprintRef adds the optsBlueprintRef to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsBlueprintRef(optsBlueprintRef *string) { - o.OptsBlueprintRef = optsBlueprintRef -} - -// WithOptsClusterID adds the optsClusterID to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsClusterID(optsClusterID *string) *BootstrapGetRelayNetworksParams { - o.SetOptsClusterID(optsClusterID) - return o -} - -// SetOptsClusterID adds the optsClusterId to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsClusterID(optsClusterID *string) { - o.OptsClusterID = optsClusterID -} - -// WithOptsCount adds the optsCount to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsCount(optsCount *string) *BootstrapGetRelayNetworksParams { - o.SetOptsCount(optsCount) - return o -} - -// SetOptsCount adds the optsCount to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsCount(optsCount *string) { - o.OptsCount = optsCount -} - -// WithOptsDeleted adds the optsDeleted to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsDeleted(optsDeleted *bool) *BootstrapGetRelayNetworksParams { - o.SetOptsDeleted(optsDeleted) - return o -} - -// SetOptsDeleted adds the optsDeleted to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsDeleted(optsDeleted *bool) { - o.OptsDeleted = optsDeleted -} - -// WithOptsDisplayName adds the optsDisplayName to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsDisplayName(optsDisplayName *string) *BootstrapGetRelayNetworksParams { - o.SetOptsDisplayName(optsDisplayName) - return o -} - -// SetOptsDisplayName adds the optsDisplayName to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsDisplayName(optsDisplayName *string) { - o.OptsDisplayName = optsDisplayName -} - -// WithOptsExtended adds the optsExtended to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsExtended(optsExtended *bool) *BootstrapGetRelayNetworksParams { - o.SetOptsExtended(optsExtended) - return o -} - -// SetOptsExtended adds the optsExtended to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsExtended(optsExtended *bool) { - o.OptsExtended = optsExtended -} - -// WithOptsGlobalScope adds the optsGlobalScope to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsGlobalScope(optsGlobalScope *bool) *BootstrapGetRelayNetworksParams { - o.SetOptsGlobalScope(optsGlobalScope) - return o -} - -// SetOptsGlobalScope adds the optsGlobalScope to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsGlobalScope(optsGlobalScope *bool) { - o.OptsGlobalScope = optsGlobalScope -} - -// WithOptsGroups adds the optsGroups to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsGroups(optsGroups []string) *BootstrapGetRelayNetworksParams { - o.SetOptsGroups(optsGroups) - return o -} - -// SetOptsGroups adds the optsGroups to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsGroups(optsGroups []string) { - o.OptsGroups = optsGroups -} - -// WithOptsIgnoreScopeDefault adds the optsIgnoreScopeDefault to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsIgnoreScopeDefault(optsIgnoreScopeDefault *bool) *BootstrapGetRelayNetworksParams { - o.SetOptsIgnoreScopeDefault(optsIgnoreScopeDefault) - return o -} - -// SetOptsIgnoreScopeDefault adds the optsIgnoreScopeDefault to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsIgnoreScopeDefault(optsIgnoreScopeDefault *bool) { - o.OptsIgnoreScopeDefault = optsIgnoreScopeDefault -} - -// WithOptsIsSSOUser adds the optsIsSSOUser to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsIsSSOUser(optsIsSSOUser *bool) *BootstrapGetRelayNetworksParams { - o.SetOptsIsSSOUser(optsIsSSOUser) - return o -} - -// SetOptsIsSSOUser adds the optsIsSSOUser to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsIsSSOUser(optsIsSSOUser *bool) { - o.OptsIsSSOUser = optsIsSSOUser -} - -// WithOptsLimit adds the optsLimit to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsLimit(optsLimit *string) *BootstrapGetRelayNetworksParams { - o.SetOptsLimit(optsLimit) - return o -} - -// SetOptsLimit adds the optsLimit to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsLimit(optsLimit *string) { - o.OptsLimit = optsLimit -} - -// WithOptsName adds the optsName to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsName(optsName *string) *BootstrapGetRelayNetworksParams { - o.SetOptsName(optsName) - return o -} - -// SetOptsName adds the optsName to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsName(optsName *string) { - o.OptsName = optsName -} - -// WithOptsOffset adds the optsOffset to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsOffset(optsOffset *string) *BootstrapGetRelayNetworksParams { - o.SetOptsOffset(optsOffset) - return o -} - -// SetOptsOffset adds the optsOffset to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsOffset(optsOffset *string) { - o.OptsOffset = optsOffset -} - -// WithOptsOrder adds the optsOrder to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsOrder(optsOrder *string) *BootstrapGetRelayNetworksParams { - o.SetOptsOrder(optsOrder) - return o -} - -// SetOptsOrder adds the optsOrder to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsOrder(optsOrder *string) { - o.OptsOrder = optsOrder -} - -// WithOptsOrderBy adds the optsOrderBy to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsOrderBy(optsOrderBy *string) *BootstrapGetRelayNetworksParams { - o.SetOptsOrderBy(optsOrderBy) - return o -} - -// SetOptsOrderBy adds the optsOrderBy to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsOrderBy(optsOrderBy *string) { - o.OptsOrderBy = optsOrderBy -} - -// WithOptsOrganizationID adds the optsOrganizationID to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsOrganizationID(optsOrganizationID *string) *BootstrapGetRelayNetworksParams { - o.SetOptsOrganizationID(optsOrganizationID) - return o -} - -// SetOptsOrganizationID adds the optsOrganizationId to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsOrganizationID(optsOrganizationID *string) { - o.OptsOrganizationID = optsOrganizationID -} - -// WithOptsPartnerID adds the optsPartnerID to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsPartnerID(optsPartnerID *string) *BootstrapGetRelayNetworksParams { - o.SetOptsPartnerID(optsPartnerID) - return o -} - -// SetOptsPartnerID adds the optsPartnerId to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsPartnerID(optsPartnerID *string) { - o.OptsPartnerID = optsPartnerID -} - -// WithOptsProjectID adds the optsProjectID to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsProjectID(optsProjectID *string) *BootstrapGetRelayNetworksParams { - o.SetOptsProjectID(optsProjectID) - return o -} - -// SetOptsProjectID adds the optsProjectId to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsProjectID(optsProjectID *string) { - o.OptsProjectID = optsProjectID -} - -// WithOptsPublishedVersion adds the optsPublishedVersion to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsPublishedVersion(optsPublishedVersion *string) *BootstrapGetRelayNetworksParams { - o.SetOptsPublishedVersion(optsPublishedVersion) - return o -} - -// SetOptsPublishedVersion adds the optsPublishedVersion to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsPublishedVersion(optsPublishedVersion *string) { - o.OptsPublishedVersion = optsPublishedVersion -} - -// WithOptsSelector adds the optsSelector to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsSelector(optsSelector *string) *BootstrapGetRelayNetworksParams { - o.SetOptsSelector(optsSelector) - return o -} - -// SetOptsSelector adds the optsSelector to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsSelector(optsSelector *string) { - o.OptsSelector = optsSelector -} - -// WithOptsURLScope adds the optsURLScope to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsURLScope(optsURLScope *string) *BootstrapGetRelayNetworksParams { - o.SetOptsURLScope(optsURLScope) - return o -} - -// SetOptsURLScope adds the optsUrlScope to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsURLScope(optsURLScope *string) { - o.OptsURLScope = optsURLScope -} - -// WithOptsUsername adds the optsUsername to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) WithOptsUsername(optsUsername *string) *BootstrapGetRelayNetworksParams { - o.SetOptsUsername(optsUsername) - return o -} - -// SetOptsUsername adds the optsUsername to the bootstrap get relay networks params -func (o *BootstrapGetRelayNetworksParams) SetOptsUsername(optsUsername *string) { - o.OptsUsername = optsUsername -} - -// WriteToRequest writes these params to a swagger request -func (o *BootstrapGetRelayNetworksParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - - if o.OptsID != nil { - - // query param opts.ID - var qrOptsID string - - if o.OptsID != nil { - qrOptsID = *o.OptsID - } - qOptsID := qrOptsID - if qOptsID != "" { - - if err := r.SetQueryParam("opts.ID", qOptsID); err != nil { - return err - } - } - } - - if o.OptsBlueprintRef != nil { - - // query param opts.blueprintRef - var qrOptsBlueprintRef string - - if o.OptsBlueprintRef != nil { - qrOptsBlueprintRef = *o.OptsBlueprintRef - } - qOptsBlueprintRef := qrOptsBlueprintRef - if qOptsBlueprintRef != "" { - - if err := r.SetQueryParam("opts.blueprintRef", qOptsBlueprintRef); err != nil { - return err - } - } - } - - if o.OptsClusterID != nil { - - // query param opts.clusterID - var qrOptsClusterID string - - if o.OptsClusterID != nil { - qrOptsClusterID = *o.OptsClusterID - } - qOptsClusterID := qrOptsClusterID - if qOptsClusterID != "" { - - if err := r.SetQueryParam("opts.clusterID", qOptsClusterID); err != nil { - return err - } - } - } - - if o.OptsCount != nil { - - // query param opts.count - var qrOptsCount string - - if o.OptsCount != nil { - qrOptsCount = *o.OptsCount - } - qOptsCount := qrOptsCount - if qOptsCount != "" { - - if err := r.SetQueryParam("opts.count", qOptsCount); err != nil { - return err - } - } - } - - if o.OptsDeleted != nil { - - // query param opts.deleted - var qrOptsDeleted bool - - if o.OptsDeleted != nil { - qrOptsDeleted = *o.OptsDeleted - } - qOptsDeleted := swag.FormatBool(qrOptsDeleted) - if qOptsDeleted != "" { - - if err := r.SetQueryParam("opts.deleted", qOptsDeleted); err != nil { - return err - } - } - } - - if o.OptsDisplayName != nil { - - // query param opts.displayName - var qrOptsDisplayName string - - if o.OptsDisplayName != nil { - qrOptsDisplayName = *o.OptsDisplayName - } - qOptsDisplayName := qrOptsDisplayName - if qOptsDisplayName != "" { - - if err := r.SetQueryParam("opts.displayName", qOptsDisplayName); err != nil { - return err - } - } - } - - if o.OptsExtended != nil { - - // query param opts.extended - var qrOptsExtended bool - - if o.OptsExtended != nil { - qrOptsExtended = *o.OptsExtended - } - qOptsExtended := swag.FormatBool(qrOptsExtended) - if qOptsExtended != "" { - - if err := r.SetQueryParam("opts.extended", qOptsExtended); err != nil { - return err - } - } - } - - if o.OptsGlobalScope != nil { - - // query param opts.globalScope - var qrOptsGlobalScope bool - - if o.OptsGlobalScope != nil { - qrOptsGlobalScope = *o.OptsGlobalScope - } - qOptsGlobalScope := swag.FormatBool(qrOptsGlobalScope) - if qOptsGlobalScope != "" { - - if err := r.SetQueryParam("opts.globalScope", qOptsGlobalScope); err != nil { - return err - } - } - } - - if o.OptsGroups != nil { - - // binding items for opts.groups - joinedOptsGroups := o.bindParamOptsGroups(reg) - - // query array param opts.groups - if err := r.SetQueryParam("opts.groups", joinedOptsGroups...); err != nil { - return err - } - } - - if o.OptsIgnoreScopeDefault != nil { - - // query param opts.ignoreScopeDefault - var qrOptsIgnoreScopeDefault bool - - if o.OptsIgnoreScopeDefault != nil { - qrOptsIgnoreScopeDefault = *o.OptsIgnoreScopeDefault - } - qOptsIgnoreScopeDefault := swag.FormatBool(qrOptsIgnoreScopeDefault) - if qOptsIgnoreScopeDefault != "" { - - if err := r.SetQueryParam("opts.ignoreScopeDefault", qOptsIgnoreScopeDefault); err != nil { - return err - } - } - } - - if o.OptsIsSSOUser != nil { - - // query param opts.isSSOUser - var qrOptsIsSSOUser bool - - if o.OptsIsSSOUser != nil { - qrOptsIsSSOUser = *o.OptsIsSSOUser - } - qOptsIsSSOUser := swag.FormatBool(qrOptsIsSSOUser) - if qOptsIsSSOUser != "" { - - if err := r.SetQueryParam("opts.isSSOUser", qOptsIsSSOUser); err != nil { - return err - } - } - } - - if o.OptsLimit != nil { - - // query param opts.limit - var qrOptsLimit string - - if o.OptsLimit != nil { - qrOptsLimit = *o.OptsLimit - } - qOptsLimit := qrOptsLimit - if qOptsLimit != "" { - - if err := r.SetQueryParam("opts.limit", qOptsLimit); err != nil { - return err - } - } - } - - if o.OptsName != nil { - - // query param opts.name - var qrOptsName string - - if o.OptsName != nil { - qrOptsName = *o.OptsName - } - qOptsName := qrOptsName - if qOptsName != "" { - - if err := r.SetQueryParam("opts.name", qOptsName); err != nil { - return err - } - } - } - - if o.OptsOffset != nil { - - // query param opts.offset - var qrOptsOffset string - - if o.OptsOffset != nil { - qrOptsOffset = *o.OptsOffset - } - qOptsOffset := qrOptsOffset - if qOptsOffset != "" { - - if err := r.SetQueryParam("opts.offset", qOptsOffset); err != nil { - return err - } - } - } - - if o.OptsOrder != nil { - - // query param opts.order - var qrOptsOrder string - - if o.OptsOrder != nil { - qrOptsOrder = *o.OptsOrder - } - qOptsOrder := qrOptsOrder - if qOptsOrder != "" { - - if err := r.SetQueryParam("opts.order", qOptsOrder); err != nil { - return err - } - } - } - - if o.OptsOrderBy != nil { - - // query param opts.orderBy - var qrOptsOrderBy string - - if o.OptsOrderBy != nil { - qrOptsOrderBy = *o.OptsOrderBy - } - qOptsOrderBy := qrOptsOrderBy - if qOptsOrderBy != "" { - - if err := r.SetQueryParam("opts.orderBy", qOptsOrderBy); err != nil { - return err - } - } - } - - if o.OptsOrganizationID != nil { - - // query param opts.organizationID - var qrOptsOrganizationID string - - if o.OptsOrganizationID != nil { - qrOptsOrganizationID = *o.OptsOrganizationID - } - qOptsOrganizationID := qrOptsOrganizationID - if qOptsOrganizationID != "" { - - if err := r.SetQueryParam("opts.organizationID", qOptsOrganizationID); err != nil { - return err - } - } - } - - if o.OptsPartnerID != nil { - - // query param opts.partnerID - var qrOptsPartnerID string - - if o.OptsPartnerID != nil { - qrOptsPartnerID = *o.OptsPartnerID - } - qOptsPartnerID := qrOptsPartnerID - if qOptsPartnerID != "" { - - if err := r.SetQueryParam("opts.partnerID", qOptsPartnerID); err != nil { - return err - } - } - } - - if o.OptsProjectID != nil { - - // query param opts.projectID - var qrOptsProjectID string - - if o.OptsProjectID != nil { - qrOptsProjectID = *o.OptsProjectID - } - qOptsProjectID := qrOptsProjectID - if qOptsProjectID != "" { - - if err := r.SetQueryParam("opts.projectID", qOptsProjectID); err != nil { - return err - } - } - } - - if o.OptsPublishedVersion != nil { - - // query param opts.publishedVersion - var qrOptsPublishedVersion string - - if o.OptsPublishedVersion != nil { - qrOptsPublishedVersion = *o.OptsPublishedVersion - } - qOptsPublishedVersion := qrOptsPublishedVersion - if qOptsPublishedVersion != "" { - - if err := r.SetQueryParam("opts.publishedVersion", qOptsPublishedVersion); err != nil { - return err - } - } - } - - if o.OptsSelector != nil { - - // query param opts.selector - var qrOptsSelector string - - if o.OptsSelector != nil { - qrOptsSelector = *o.OptsSelector - } - qOptsSelector := qrOptsSelector - if qOptsSelector != "" { - - if err := r.SetQueryParam("opts.selector", qOptsSelector); err != nil { - return err - } - } - } - - if o.OptsURLScope != nil { - - // query param opts.urlScope - var qrOptsURLScope string - - if o.OptsURLScope != nil { - qrOptsURLScope = *o.OptsURLScope - } - qOptsURLScope := qrOptsURLScope - if qOptsURLScope != "" { - - if err := r.SetQueryParam("opts.urlScope", qOptsURLScope); err != nil { - return err - } - } - } - - if o.OptsUsername != nil { - - // query param opts.username - var qrOptsUsername string - - if o.OptsUsername != nil { - qrOptsUsername = *o.OptsUsername - } - qOptsUsername := qrOptsUsername - if qOptsUsername != "" { - - if err := r.SetQueryParam("opts.username", qOptsUsername); err != nil { - return err - } - } - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// bindParamBootstrapGetRelayNetworks binds the parameter opts.groups -func (o *BootstrapGetRelayNetworksParams) bindParamOptsGroups(formats strfmt.Registry) []string { - optsGroupsIR := o.OptsGroups - - var optsGroupsIC []string - for _, optsGroupsIIR := range optsGroupsIR { // explode []string - - optsGroupsIIV := optsGroupsIIR // string as string - optsGroupsIC = append(optsGroupsIC, optsGroupsIIV) - } - - // items.CollectionFormat: "multi" - optsGroupsIS := swag.JoinByFormat(optsGroupsIC, "multi") - - return optsGroupsIS -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_networks_responses.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_networks_responses.go deleted file mode 100644 index e25b6f9..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_get_relay_networks_responses.go +++ /dev/null @@ -1,223 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// BootstrapGetRelayNetworksReader is a Reader for the BootstrapGetRelayNetworks structure. -type BootstrapGetRelayNetworksReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *BootstrapGetRelayNetworksReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewBootstrapGetRelayNetworksOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewBootstrapGetRelayNetworksForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewBootstrapGetRelayNetworksNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 500: - result := NewBootstrapGetRelayNetworksInternalServerError() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewBootstrapGetRelayNetworksDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewBootstrapGetRelayNetworksOK creates a BootstrapGetRelayNetworksOK with default headers values -func NewBootstrapGetRelayNetworksOK() *BootstrapGetRelayNetworksOK { - return &BootstrapGetRelayNetworksOK{} -} - -/* BootstrapGetRelayNetworksOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type BootstrapGetRelayNetworksOK struct { - Payload *models.SentryRelayNetworkList -} - -func (o *BootstrapGetRelayNetworksOK) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork][%d] bootstrapGetRelayNetworksOK %+v", 200, o.Payload) -} -func (o *BootstrapGetRelayNetworksOK) GetPayload() *models.SentryRelayNetworkList { - return o.Payload -} - -func (o *BootstrapGetRelayNetworksOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.SentryRelayNetworkList) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapGetRelayNetworksForbidden creates a BootstrapGetRelayNetworksForbidden with default headers values -func NewBootstrapGetRelayNetworksForbidden() *BootstrapGetRelayNetworksForbidden { - return &BootstrapGetRelayNetworksForbidden{} -} - -/* BootstrapGetRelayNetworksForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type BootstrapGetRelayNetworksForbidden struct { - Payload interface{} -} - -func (o *BootstrapGetRelayNetworksForbidden) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork][%d] bootstrapGetRelayNetworksForbidden %+v", 403, o.Payload) -} -func (o *BootstrapGetRelayNetworksForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapGetRelayNetworksForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapGetRelayNetworksNotFound creates a BootstrapGetRelayNetworksNotFound with default headers values -func NewBootstrapGetRelayNetworksNotFound() *BootstrapGetRelayNetworksNotFound { - return &BootstrapGetRelayNetworksNotFound{} -} - -/* BootstrapGetRelayNetworksNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type BootstrapGetRelayNetworksNotFound struct { - Payload interface{} -} - -func (o *BootstrapGetRelayNetworksNotFound) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork][%d] bootstrapGetRelayNetworksNotFound %+v", 404, o.Payload) -} -func (o *BootstrapGetRelayNetworksNotFound) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapGetRelayNetworksNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapGetRelayNetworksInternalServerError creates a BootstrapGetRelayNetworksInternalServerError with default headers values -func NewBootstrapGetRelayNetworksInternalServerError() *BootstrapGetRelayNetworksInternalServerError { - return &BootstrapGetRelayNetworksInternalServerError{} -} - -/* BootstrapGetRelayNetworksInternalServerError describes a response with status code 500, with default header values. - -Returned for internal server error -*/ -type BootstrapGetRelayNetworksInternalServerError struct { - Payload interface{} -} - -func (o *BootstrapGetRelayNetworksInternalServerError) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork][%d] bootstrapGetRelayNetworksInternalServerError %+v", 500, o.Payload) -} -func (o *BootstrapGetRelayNetworksInternalServerError) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapGetRelayNetworksInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapGetRelayNetworksDefault creates a BootstrapGetRelayNetworksDefault with default headers values -func NewBootstrapGetRelayNetworksDefault(code int) *BootstrapGetRelayNetworksDefault { - return &BootstrapGetRelayNetworksDefault{ - _statusCode: code, - } -} - -/* BootstrapGetRelayNetworksDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type BootstrapGetRelayNetworksDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the bootstrap get relay networks default response -func (o *BootstrapGetRelayNetworksDefault) Code() int { - return o._statusCode -} - -func (o *BootstrapGetRelayNetworksDefault) Error() string { - return fmt.Sprintf("[GET /v2/sentry/relaynetwork][%d] Bootstrap_GetRelayNetworks default %+v", o._statusCode, o.Payload) -} -func (o *BootstrapGetRelayNetworksDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *BootstrapGetRelayNetworksDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_relay_network_parameters.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_relay_network_parameters.go deleted file mode 100644 index c2fcc3a..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_relay_network_parameters.go +++ /dev/null @@ -1,170 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "net/http" - "time" - - "github.com/go-openapi/errors" - "github.com/go-openapi/runtime" - cr "github.com/go-openapi/runtime/client" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// NewBootstrapPatchRelayNetworkParams creates a new BootstrapPatchRelayNetworkParams object, -// with the default timeout for this client. -// -// Default values are not hydrated, since defaults are normally applied by the API server side. -// -// To enforce default values in parameter, use SetDefaults or WithDefaults. -func NewBootstrapPatchRelayNetworkParams() *BootstrapPatchRelayNetworkParams { - return &BootstrapPatchRelayNetworkParams{ - timeout: cr.DefaultTimeout, - } -} - -// NewBootstrapPatchRelayNetworkParamsWithTimeout creates a new BootstrapPatchRelayNetworkParams object -// with the ability to set a timeout on a request. -func NewBootstrapPatchRelayNetworkParamsWithTimeout(timeout time.Duration) *BootstrapPatchRelayNetworkParams { - return &BootstrapPatchRelayNetworkParams{ - timeout: timeout, - } -} - -// NewBootstrapPatchRelayNetworkParamsWithContext creates a new BootstrapPatchRelayNetworkParams object -// with the ability to set a context for a request. -func NewBootstrapPatchRelayNetworkParamsWithContext(ctx context.Context) *BootstrapPatchRelayNetworkParams { - return &BootstrapPatchRelayNetworkParams{ - Context: ctx, - } -} - -// NewBootstrapPatchRelayNetworkParamsWithHTTPClient creates a new BootstrapPatchRelayNetworkParams object -// with the ability to set a custom HTTPClient for a request. -func NewBootstrapPatchRelayNetworkParamsWithHTTPClient(client *http.Client) *BootstrapPatchRelayNetworkParams { - return &BootstrapPatchRelayNetworkParams{ - HTTPClient: client, - } -} - -/* BootstrapPatchRelayNetworkParams contains all the parameters to send to the API endpoint - for the bootstrap patch relay network operation. - - Typically these are written to a http.Request. -*/ -type BootstrapPatchRelayNetworkParams struct { - - // Body. - Body *models.SentryRelayNetwork - - /* MetadataName. - - name of the resource - */ - MetadataName string - - timeout time.Duration - Context context.Context - HTTPClient *http.Client -} - -// WithDefaults hydrates default values in the bootstrap patch relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapPatchRelayNetworkParams) WithDefaults() *BootstrapPatchRelayNetworkParams { - o.SetDefaults() - return o -} - -// SetDefaults hydrates default values in the bootstrap patch relay network params (not the query body). -// -// All values with no default are reset to their zero value. -func (o *BootstrapPatchRelayNetworkParams) SetDefaults() { - // no default values defined for this parameter -} - -// WithTimeout adds the timeout to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) WithTimeout(timeout time.Duration) *BootstrapPatchRelayNetworkParams { - o.SetTimeout(timeout) - return o -} - -// SetTimeout adds the timeout to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) SetTimeout(timeout time.Duration) { - o.timeout = timeout -} - -// WithContext adds the context to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) WithContext(ctx context.Context) *BootstrapPatchRelayNetworkParams { - o.SetContext(ctx) - return o -} - -// SetContext adds the context to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) SetContext(ctx context.Context) { - o.Context = ctx -} - -// WithHTTPClient adds the HTTPClient to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) WithHTTPClient(client *http.Client) *BootstrapPatchRelayNetworkParams { - o.SetHTTPClient(client) - return o -} - -// SetHTTPClient adds the HTTPClient to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) SetHTTPClient(client *http.Client) { - o.HTTPClient = client -} - -// WithBody adds the body to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) WithBody(body *models.SentryRelayNetwork) *BootstrapPatchRelayNetworkParams { - o.SetBody(body) - return o -} - -// SetBody adds the body to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) SetBody(body *models.SentryRelayNetwork) { - o.Body = body -} - -// WithMetadataName adds the metadataName to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) WithMetadataName(metadataName string) *BootstrapPatchRelayNetworkParams { - o.SetMetadataName(metadataName) - return o -} - -// SetMetadataName adds the metadataName to the bootstrap patch relay network params -func (o *BootstrapPatchRelayNetworkParams) SetMetadataName(metadataName string) { - o.MetadataName = metadataName -} - -// WriteToRequest writes these params to a swagger request -func (o *BootstrapPatchRelayNetworkParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error { - - if err := r.SetTimeout(o.timeout); err != nil { - return err - } - var res []error - if o.Body != nil { - if err := r.SetBodyParam(o.Body); err != nil { - return err - } - } - - // path param metadata.name - if err := r.SetPathParam("metadata.name", o.MetadataName); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} diff --git a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_relay_network_responses.go b/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_relay_network_responses.go deleted file mode 100644 index c2a4d91..0000000 --- a/components/common/api/def/clients/sentry/client/bootstrap/bootstrap_patch_relay_network_responses.go +++ /dev/null @@ -1,223 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package bootstrap - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "fmt" - "io" - - "github.com/go-openapi/runtime" - "github.com/go-openapi/strfmt" - - "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/models" -) - -// BootstrapPatchRelayNetworkReader is a Reader for the BootstrapPatchRelayNetwork structure. -type BootstrapPatchRelayNetworkReader struct { - formats strfmt.Registry -} - -// ReadResponse reads a server response into the received o. -func (o *BootstrapPatchRelayNetworkReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) { - switch response.Code() { - case 200: - result := NewBootstrapPatchRelayNetworkOK() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return result, nil - case 403: - result := NewBootstrapPatchRelayNetworkForbidden() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 404: - result := NewBootstrapPatchRelayNetworkNotFound() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - case 500: - result := NewBootstrapPatchRelayNetworkInternalServerError() - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - return nil, result - default: - result := NewBootstrapPatchRelayNetworkDefault(response.Code()) - if err := result.readResponse(response, consumer, o.formats); err != nil { - return nil, err - } - if response.Code()/100 == 2 { - return result, nil - } - return nil, result - } -} - -// NewBootstrapPatchRelayNetworkOK creates a BootstrapPatchRelayNetworkOK with default headers values -func NewBootstrapPatchRelayNetworkOK() *BootstrapPatchRelayNetworkOK { - return &BootstrapPatchRelayNetworkOK{} -} - -/* BootstrapPatchRelayNetworkOK describes a response with status code 200, with default header values. - -A successful response. -*/ -type BootstrapPatchRelayNetworkOK struct { - Payload *models.SentryRelayNetwork -} - -func (o *BootstrapPatchRelayNetworkOK) Error() string { - return fmt.Sprintf("[PUT /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapPatchRelayNetworkOK %+v", 200, o.Payload) -} -func (o *BootstrapPatchRelayNetworkOK) GetPayload() *models.SentryRelayNetwork { - return o.Payload -} - -func (o *BootstrapPatchRelayNetworkOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.SentryRelayNetwork) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapPatchRelayNetworkForbidden creates a BootstrapPatchRelayNetworkForbidden with default headers values -func NewBootstrapPatchRelayNetworkForbidden() *BootstrapPatchRelayNetworkForbidden { - return &BootstrapPatchRelayNetworkForbidden{} -} - -/* BootstrapPatchRelayNetworkForbidden describes a response with status code 403, with default header values. - -Returned when the user does not have permission to access the resource. -*/ -type BootstrapPatchRelayNetworkForbidden struct { - Payload interface{} -} - -func (o *BootstrapPatchRelayNetworkForbidden) Error() string { - return fmt.Sprintf("[PUT /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapPatchRelayNetworkForbidden %+v", 403, o.Payload) -} -func (o *BootstrapPatchRelayNetworkForbidden) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapPatchRelayNetworkForbidden) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapPatchRelayNetworkNotFound creates a BootstrapPatchRelayNetworkNotFound with default headers values -func NewBootstrapPatchRelayNetworkNotFound() *BootstrapPatchRelayNetworkNotFound { - return &BootstrapPatchRelayNetworkNotFound{} -} - -/* BootstrapPatchRelayNetworkNotFound describes a response with status code 404, with default header values. - -Returned when the resource does not exist. -*/ -type BootstrapPatchRelayNetworkNotFound struct { - Payload interface{} -} - -func (o *BootstrapPatchRelayNetworkNotFound) Error() string { - return fmt.Sprintf("[PUT /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapPatchRelayNetworkNotFound %+v", 404, o.Payload) -} -func (o *BootstrapPatchRelayNetworkNotFound) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapPatchRelayNetworkNotFound) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapPatchRelayNetworkInternalServerError creates a BootstrapPatchRelayNetworkInternalServerError with default headers values -func NewBootstrapPatchRelayNetworkInternalServerError() *BootstrapPatchRelayNetworkInternalServerError { - return &BootstrapPatchRelayNetworkInternalServerError{} -} - -/* BootstrapPatchRelayNetworkInternalServerError describes a response with status code 500, with default header values. - -Returned for internal server error -*/ -type BootstrapPatchRelayNetworkInternalServerError struct { - Payload interface{} -} - -func (o *BootstrapPatchRelayNetworkInternalServerError) Error() string { - return fmt.Sprintf("[PUT /v2/sentry/relaynetwork/{metadata.name}][%d] bootstrapPatchRelayNetworkInternalServerError %+v", 500, o.Payload) -} -func (o *BootstrapPatchRelayNetworkInternalServerError) GetPayload() interface{} { - return o.Payload -} - -func (o *BootstrapPatchRelayNetworkInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - // response payload - if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} - -// NewBootstrapPatchRelayNetworkDefault creates a BootstrapPatchRelayNetworkDefault with default headers values -func NewBootstrapPatchRelayNetworkDefault(code int) *BootstrapPatchRelayNetworkDefault { - return &BootstrapPatchRelayNetworkDefault{ - _statusCode: code, - } -} - -/* BootstrapPatchRelayNetworkDefault describes a response with status code -1, with default header values. - -An unexpected error response. -*/ -type BootstrapPatchRelayNetworkDefault struct { - _statusCode int - - Payload *models.GooglerpcStatus -} - -// Code gets the status code for the bootstrap patch relay network default response -func (o *BootstrapPatchRelayNetworkDefault) Code() int { - return o._statusCode -} - -func (o *BootstrapPatchRelayNetworkDefault) Error() string { - return fmt.Sprintf("[PUT /v2/sentry/relaynetwork/{metadata.name}][%d] Bootstrap_PatchRelayNetwork default %+v", o._statusCode, o.Payload) -} -func (o *BootstrapPatchRelayNetworkDefault) GetPayload() *models.GooglerpcStatus { - return o.Payload -} - -func (o *BootstrapPatchRelayNetworkDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { - - o.Payload = new(models.GooglerpcStatus) - - // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { - return err - } - - return nil -} diff --git a/components/common/api/def/clients/sentry/models/config_drift_reconcillation_action.go b/components/common/api/def/clients/sentry/models/config_drift_reconcillation_action.go deleted file mode 100644 index 33f7bdf..0000000 --- a/components/common/api/def/clients/sentry/models/config_drift_reconcillation_action.go +++ /dev/null @@ -1,81 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// ConfigDriftReconcillationAction config drift reconcillation action -// -// swagger:model configDriftReconcillationAction -type ConfigDriftReconcillationAction string - -func NewConfigDriftReconcillationAction(value ConfigDriftReconcillationAction) *ConfigDriftReconcillationAction { - return &value -} - -// Pointer returns a pointer to a freshly-allocated ConfigDriftReconcillationAction. -func (m ConfigDriftReconcillationAction) Pointer() *ConfigDriftReconcillationAction { - return &m -} - -const ( - - // ConfigDriftReconcillationActionDriftReconcillationActionNotSet captures enum value "DriftReconcillationActionNotSet" - ConfigDriftReconcillationActionDriftReconcillationActionNotSet ConfigDriftReconcillationAction = "DriftReconcillationActionNotSet" - - // ConfigDriftReconcillationActionDriftReconcillationActionNotify captures enum value "DriftReconcillationActionNotify" - ConfigDriftReconcillationActionDriftReconcillationActionNotify ConfigDriftReconcillationAction = "DriftReconcillationActionNotify" - - // ConfigDriftReconcillationActionDriftReconcillationActionDeny captures enum value "DriftReconcillationActionDeny" - ConfigDriftReconcillationActionDriftReconcillationActionDeny ConfigDriftReconcillationAction = "DriftReconcillationActionDeny" -) - -// for schema -var configDriftReconcillationActionEnum []interface{} - -func init() { - var res []ConfigDriftReconcillationAction - if err := json.Unmarshal([]byte(`["DriftReconcillationActionNotSet","DriftReconcillationActionNotify","DriftReconcillationActionDeny"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - configDriftReconcillationActionEnum = append(configDriftReconcillationActionEnum, v) - } -} - -func (m ConfigDriftReconcillationAction) validateConfigDriftReconcillationActionEnum(path, location string, value ConfigDriftReconcillationAction) error { - if err := validate.EnumCase(path, location, value, configDriftReconcillationActionEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this config drift reconcillation action -func (m ConfigDriftReconcillationAction) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateConfigDriftReconcillationActionEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this config drift reconcillation action based on context it is used -func (m ConfigDriftReconcillationAction) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/sentry/models/config_placement_type.go b/components/common/api/def/clients/sentry/models/config_placement_type.go deleted file mode 100644 index 77baa3c..0000000 --- a/components/common/api/def/clients/sentry/models/config_placement_type.go +++ /dev/null @@ -1,84 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "encoding/json" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/validate" -) - -// ConfigPlacementType config placement type -// -// swagger:model configPlacementType -type ConfigPlacementType string - -func NewConfigPlacementType(value ConfigPlacementType) *ConfigPlacementType { - return &value -} - -// Pointer returns a pointer to a freshly-allocated ConfigPlacementType. -func (m ConfigPlacementType) Pointer() *ConfigPlacementType { - return &m -} - -const ( - - // ConfigPlacementTypeClusterSelector captures enum value "ClusterSelector" - ConfigPlacementTypeClusterSelector ConfigPlacementType = "ClusterSelector" - - // ConfigPlacementTypeClusterLocations captures enum value "ClusterLocations" - ConfigPlacementTypeClusterLocations ConfigPlacementType = "ClusterLocations" - - // ConfigPlacementTypeClusterLabels captures enum value "ClusterLabels" - ConfigPlacementTypeClusterLabels ConfigPlacementType = "ClusterLabels" - - // ConfigPlacementTypeClusterSpecific captures enum value "ClusterSpecific" - ConfigPlacementTypeClusterSpecific ConfigPlacementType = "ClusterSpecific" -) - -// for schema -var configPlacementTypeEnum []interface{} - -func init() { - var res []ConfigPlacementType - if err := json.Unmarshal([]byte(`["ClusterSelector","ClusterLocations","ClusterLabels","ClusterSpecific"]`), &res); err != nil { - panic(err) - } - for _, v := range res { - configPlacementTypeEnum = append(configPlacementTypeEnum, v) - } -} - -func (m ConfigPlacementType) validateConfigPlacementTypeEnum(path, location string, value ConfigPlacementType) error { - if err := validate.EnumCase(path, location, value, configPlacementTypeEnum, true); err != nil { - return err - } - return nil -} - -// Validate validates this config placement type -func (m ConfigPlacementType) Validate(formats strfmt.Registry) error { - var res []error - - // value enum - if err := m.validateConfigPlacementTypeEnum("", "body", m); err != nil { - return err - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -// ContextValidate validates this config placement type based on context it is used -func (m ConfigPlacementType) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} diff --git a/components/common/api/def/clients/sentry/models/controller_step_object.go b/components/common/api/def/clients/sentry/models/controller_step_object.go deleted file mode 100644 index 29dd584..0000000 --- a/components/common/api/def/clients/sentry/models/controller_step_object.go +++ /dev/null @@ -1,112 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ControllerStepObject +kubebuilder:object:generate=true -// StepObject can represent any kubernetes object -// -// swagger:model controllerStepObject -type ControllerStepObject struct { - - // name - Name string `json:"name,omitempty"` - - // raw - // Format: byte - Raw strfmt.Base64 `json:"raw,omitempty"` - - // type meta - TypeMeta *Metav1TypeMeta `json:"typeMeta,omitempty"` -} - -// Validate validates this controller step object -func (m *ControllerStepObject) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateTypeMeta(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ControllerStepObject) validateTypeMeta(formats strfmt.Registry) error { - if swag.IsZero(m.TypeMeta) { // not required - return nil - } - - if m.TypeMeta != nil { - if err := m.TypeMeta.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("typeMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("typeMeta") - } - return err - } - } - - return nil -} - -// ContextValidate validate this controller step object based on the context it is used -func (m *ControllerStepObject) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateTypeMeta(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *ControllerStepObject) contextValidateTypeMeta(ctx context.Context, formats strfmt.Registry) error { - - if m.TypeMeta != nil { - if err := m.TypeMeta.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("typeMeta") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("typeMeta") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *ControllerStepObject) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ControllerStepObject) UnmarshalBinary(b []byte) error { - var res ControllerStepObject - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/googlerpc_status.go b/components/common/api/def/clients/sentry/models/googlerpc_status.go deleted file mode 100644 index dc0414a..0000000 --- a/components/common/api/def/clients/sentry/models/googlerpc_status.go +++ /dev/null @@ -1,122 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// GooglerpcStatus googlerpc status -// -// swagger:model googlerpcStatus -type GooglerpcStatus struct { - - // code - Code int32 `json:"code,omitempty"` - - // details - Details []*ProtobufAny `json:"details"` - - // message - Message string `json:"message,omitempty"` -} - -// Validate validates this googlerpc status -func (m *GooglerpcStatus) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateDetails(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *GooglerpcStatus) validateDetails(formats strfmt.Registry) error { - if swag.IsZero(m.Details) { // not required - return nil - } - - for i := 0; i < len(m.Details); i++ { - if swag.IsZero(m.Details[i]) { // not required - continue - } - - if m.Details[i] != nil { - if err := m.Details[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("details" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("details" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// ContextValidate validate this googlerpc status based on the context it is used -func (m *GooglerpcStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateDetails(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *GooglerpcStatus) contextValidateDetails(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Details); i++ { - - if m.Details[i] != nil { - if err := m.Details[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("details" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("details" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -// MarshalBinary interface implementation -func (m *GooglerpcStatus) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *GooglerpcStatus) UnmarshalBinary(b []byte) error { - var res GooglerpcStatus - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/metav1_type_meta.go b/components/common/api/def/clients/sentry/models/metav1_type_meta.go deleted file mode 100644 index 5fd9db2..0000000 --- a/components/common/api/def/clients/sentry/models/metav1_type_meta.go +++ /dev/null @@ -1,66 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// Metav1TypeMeta TypeMeta describes an individual object in an API response or request -// with strings representing the type of the object and its API schema version. -// Structures that are versioned or persisted should inline TypeMeta. -// -// +k8s:deepcopy-gen=false -// -// swagger:model metav1TypeMeta -type Metav1TypeMeta struct { - - // APIVersion defines the versioned schema of this representation of an object. - // Servers should convert recognized schemas to the latest internal value, and - // may reject unrecognized values. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources - // +optional - APIVersion string `json:"apiVersion,omitempty"` - - // Kind is a string value representing the REST resource this object represents. - // Servers may infer this from the endpoint the client submits requests to. - // Cannot be updated. - // In CamelCase. - // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds - // +optional - Kind string `json:"kind,omitempty"` -} - -// Validate validates this metav1 type meta -func (m *Metav1TypeMeta) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this metav1 type meta based on context it is used -func (m *Metav1TypeMeta) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *Metav1TypeMeta) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *Metav1TypeMeta) UnmarshalBinary(b []byte) error { - var res Metav1TypeMeta - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/protobuf_any.go b/components/common/api/def/clients/sentry/models/protobuf_any.go deleted file mode 100644 index cbc9799..0000000 --- a/components/common/api/def/clients/sentry/models/protobuf_any.go +++ /dev/null @@ -1,50 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// ProtobufAny protobuf any -// -// swagger:model protobufAny -type ProtobufAny struct { - - // at type - AtType string `json:"@type,omitempty"` -} - -// Validate validates this protobuf any -func (m *ProtobufAny) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this protobuf any based on context it is used -func (m *ProtobufAny) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *ProtobufAny) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *ProtobufAny) UnmarshalBinary(b []byte) error { - var res ProtobufAny - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/rpc_delete_relay_network_response.go b/components/common/api/def/clients/sentry/models/rpc_delete_relay_network_response.go deleted file mode 100644 index 8310ffb..0000000 --- a/components/common/api/def/clients/sentry/models/rpc_delete_relay_network_response.go +++ /dev/null @@ -1,11 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// RPCDeleteRelayNetworkResponse rpc delete relay network response -// -// swagger:model rpcDeleteRelayNetworkResponse -type RPCDeleteRelayNetworkResponse interface{} diff --git a/components/common/api/def/clients/sentry/models/sentry_relay_network.go b/components/common/api/def/clients/sentry/models/sentry_relay_network.go deleted file mode 100644 index 65ab635..0000000 --- a/components/common/api/def/clients/sentry/models/sentry_relay_network.go +++ /dev/null @@ -1,194 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// SentryRelayNetwork sentry relay network -// -// swagger:model sentryRelayNetwork -type SentryRelayNetwork struct { - - // API Version - // - // API Version of the resource - // Read Only: true - APIVersion string `json:"apiVersion,omitempty"` - - // Kind - // - // Kind of the resource - // Read Only: true - Kind string `json:"kind,omitempty"` - - // Metadata - // - // Metadata of the resource - Metadata *V3Metadata `json:"metadata,omitempty"` - - // spec - Spec *SentryRelayNetworkSpec `json:"spec,omitempty"` - - // status - Status SentryRelayNetworkStatus `json:"status,omitempty"` -} - -// Validate validates this sentry relay network -func (m *SentryRelayNetwork) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if err := m.validateSpec(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *SentryRelayNetwork) validateMetadata(formats strfmt.Registry) error { - if swag.IsZero(m.Metadata) { // not required - return nil - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *SentryRelayNetwork) validateSpec(formats strfmt.Registry) error { - if swag.IsZero(m.Spec) { // not required - return nil - } - - if m.Spec != nil { - if err := m.Spec.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// ContextValidate validate this sentry relay network based on the context it is used -func (m *SentryRelayNetwork) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAPIVersion(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateKind(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateSpec(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *SentryRelayNetwork) contextValidateAPIVersion(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "apiVersion", "body", string(m.APIVersion)); err != nil { - return err - } - - return nil -} - -func (m *SentryRelayNetwork) contextValidateKind(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "kind", "body", string(m.Kind)); err != nil { - return err - } - - return nil -} - -func (m *SentryRelayNetwork) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -func (m *SentryRelayNetwork) contextValidateSpec(ctx context.Context, formats strfmt.Registry) error { - - if m.Spec != nil { - if err := m.Spec.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("spec") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("spec") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *SentryRelayNetwork) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *SentryRelayNetwork) UnmarshalBinary(b []byte) error { - var res SentryRelayNetwork - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/sentry_relay_network_list.go b/components/common/api/def/clients/sentry/models/sentry_relay_network_list.go deleted file mode 100644 index 3f79d49..0000000 --- a/components/common/api/def/clients/sentry/models/sentry_relay_network_list.go +++ /dev/null @@ -1,204 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// SentryRelayNetworkList RelayNetworkList is a list of relaynetworks -// -// swagger:model sentryRelayNetworkList -type SentryRelayNetworkList struct { - - // API Version - // - // API Version of the list resource - // Read Only: true - APIVersion string `json:"apiVersion,omitempty"` - - // items - Items []*SentryRelayNetwork `json:"items"` - - // Kind - // - // Kind of the list resource - // Read Only: true - Kind string `json:"kind,omitempty"` - - // ListMetadata - // - // Metadata of the list resource - // Read Only: true - Metadata *V3ListMetadata `json:"metadata,omitempty"` -} - -// Validate validates this sentry relay network list -func (m *SentryRelayNetworkList) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateItems(formats); err != nil { - res = append(res, err) - } - - if err := m.validateMetadata(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *SentryRelayNetworkList) validateItems(formats strfmt.Registry) error { - if swag.IsZero(m.Items) { // not required - return nil - } - - for i := 0; i < len(m.Items); i++ { - if swag.IsZero(m.Items[i]) { // not required - continue - } - - if m.Items[i] != nil { - if err := m.Items[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *SentryRelayNetworkList) validateMetadata(formats strfmt.Registry) error { - if swag.IsZero(m.Metadata) { // not required - return nil - } - - if m.Metadata != nil { - if err := m.Metadata.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -// ContextValidate validate this sentry relay network list based on the context it is used -func (m *SentryRelayNetworkList) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateAPIVersion(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateItems(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateKind(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateMetadata(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *SentryRelayNetworkList) contextValidateAPIVersion(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "apiVersion", "body", string(m.APIVersion)); err != nil { - return err - } - - return nil -} - -func (m *SentryRelayNetworkList) contextValidateItems(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.Items); i++ { - - if m.Items[i] != nil { - if err := m.Items[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("items" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("items" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *SentryRelayNetworkList) contextValidateKind(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "kind", "body", string(m.Kind)); err != nil { - return err - } - - return nil -} - -func (m *SentryRelayNetworkList) contextValidateMetadata(ctx context.Context, formats strfmt.Registry) error { - - if m.Metadata != nil { - if err := m.Metadata.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("metadata") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("metadata") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *SentryRelayNetworkList) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *SentryRelayNetworkList) UnmarshalBinary(b []byte) error { - var res SentryRelayNetworkList - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/sentry_relay_network_spec.go b/components/common/api/def/clients/sentry/models/sentry_relay_network_spec.go deleted file mode 100644 index 7c1c921..0000000 --- a/components/common/api/def/clients/sentry/models/sentry_relay_network_spec.go +++ /dev/null @@ -1,140 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// SentryRelayNetworkSpec sentry relay network spec -// -// swagger:model sentryRelayNetworkSpec -type SentryRelayNetworkSpec struct { - - // clustercacert - Clustercacert string `json:"clustercacert,omitempty"` - - // clustercert - Clustercert string `json:"clustercert,omitempty"` - - // clusterhost - Clusterhost string `json:"clusterhost,omitempty"` - - // clusterkey - Clusterkey string `json:"clusterkey,omitempty"` - - // clusterpassword - Clusterpassword string `json:"clusterpassword,omitempty"` - - // clusterselfsigned - Clusterselfsigned bool `json:"clusterselfsigned,omitempty"` - - // placement - Placement *TypesconfigPlacementSpec `json:"placement,omitempty"` - - // usercacert - Usercacert string `json:"usercacert,omitempty"` - - // usercert - Usercert string `json:"usercert,omitempty"` - - // userhost - Userhost string `json:"userhost,omitempty"` - - // userkey - Userkey string `json:"userkey,omitempty"` - - // userpassword - Userpassword string `json:"userpassword,omitempty"` - - // userselfsigned - Userselfsigned bool `json:"userselfsigned,omitempty"` -} - -// Validate validates this sentry relay network spec -func (m *SentryRelayNetworkSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validatePlacement(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *SentryRelayNetworkSpec) validatePlacement(formats strfmt.Registry) error { - if swag.IsZero(m.Placement) { // not required - return nil - } - - if m.Placement != nil { - if err := m.Placement.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("placement") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("placement") - } - return err - } - } - - return nil -} - -// ContextValidate validate this sentry relay network spec based on the context it is used -func (m *SentryRelayNetworkSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidatePlacement(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *SentryRelayNetworkSpec) contextValidatePlacement(ctx context.Context, formats strfmt.Registry) error { - - if m.Placement != nil { - if err := m.Placement.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("placement") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("placement") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *SentryRelayNetworkSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *SentryRelayNetworkSpec) UnmarshalBinary(b []byte) error { - var res SentryRelayNetworkSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/sentry_relay_network_status.go b/components/common/api/def/clients/sentry/models/sentry_relay_network_status.go deleted file mode 100644 index e0a77b3..0000000 --- a/components/common/api/def/clients/sentry/models/sentry_relay_network_status.go +++ /dev/null @@ -1,11 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -// SentryRelayNetworkStatus sentry relay network status -// -// swagger:model sentryRelayNetworkStatus -type SentryRelayNetworkStatus interface{} diff --git a/components/common/api/def/clients/sentry/models/typesconfig_placement_label.go b/components/common/api/def/clients/sentry/models/typesconfig_placement_label.go deleted file mode 100644 index 4d3e2fe..0000000 --- a/components/common/api/def/clients/sentry/models/typesconfig_placement_label.go +++ /dev/null @@ -1,53 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// TypesconfigPlacementLabel typesconfig placement label -// -// swagger:model typesconfigPlacementLabel -type TypesconfigPlacementLabel struct { - - // key - Key string `json:"key,omitempty"` - - // value - Value string `json:"value,omitempty"` -} - -// Validate validates this typesconfig placement label -func (m *TypesconfigPlacementLabel) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this typesconfig placement label based on context it is used -func (m *TypesconfigPlacementLabel) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *TypesconfigPlacementLabel) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *TypesconfigPlacementLabel) UnmarshalBinary(b []byte) error { - var res TypesconfigPlacementLabel - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/typesconfig_placement_spec.go b/components/common/api/def/clients/sentry/models/typesconfig_placement_spec.go deleted file mode 100644 index e15e51a..0000000 --- a/components/common/api/def/clients/sentry/models/typesconfig_placement_spec.go +++ /dev/null @@ -1,214 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - "strconv" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// TypesconfigPlacementSpec PlacementSpec is the specification of placement -// -// swagger:model typesconfigPlacementSpec -type TypesconfigPlacementSpec struct { - - // cluster labels - ClusterLabels []*TypesconfigPlacementLabel `json:"clusterLabels"` - - // cluster selector - ClusterSelector string `json:"clusterSelector,omitempty"` - - // drift action - DriftAction *ConfigDriftReconcillationAction `json:"driftAction,omitempty"` - - // node grouping keys - NodeGroupingKeys []string `json:"nodeGroupingKeys"` - - // placementType is the type of placement - PlacementType *ConfigPlacementType `json:"placementType,omitempty"` -} - -// Validate validates this typesconfig placement spec -func (m *TypesconfigPlacementSpec) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateClusterLabels(formats); err != nil { - res = append(res, err) - } - - if err := m.validateDriftAction(formats); err != nil { - res = append(res, err) - } - - if err := m.validatePlacementType(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *TypesconfigPlacementSpec) validateClusterLabels(formats strfmt.Registry) error { - if swag.IsZero(m.ClusterLabels) { // not required - return nil - } - - for i := 0; i < len(m.ClusterLabels); i++ { - if swag.IsZero(m.ClusterLabels[i]) { // not required - continue - } - - if m.ClusterLabels[i] != nil { - if err := m.ClusterLabels[i].Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterLabels" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterLabels" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *TypesconfigPlacementSpec) validateDriftAction(formats strfmt.Registry) error { - if swag.IsZero(m.DriftAction) { // not required - return nil - } - - if m.DriftAction != nil { - if err := m.DriftAction.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("driftAction") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("driftAction") - } - return err - } - } - - return nil -} - -func (m *TypesconfigPlacementSpec) validatePlacementType(formats strfmt.Registry) error { - if swag.IsZero(m.PlacementType) { // not required - return nil - } - - if m.PlacementType != nil { - if err := m.PlacementType.Validate(formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("placementType") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("placementType") - } - return err - } - } - - return nil -} - -// ContextValidate validate this typesconfig placement spec based on the context it is used -func (m *TypesconfigPlacementSpec) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateClusterLabels(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateDriftAction(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidatePlacementType(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *TypesconfigPlacementSpec) contextValidateClusterLabels(ctx context.Context, formats strfmt.Registry) error { - - for i := 0; i < len(m.ClusterLabels); i++ { - - if m.ClusterLabels[i] != nil { - if err := m.ClusterLabels[i].ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("clusterLabels" + "." + strconv.Itoa(i)) - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("clusterLabels" + "." + strconv.Itoa(i)) - } - return err - } - } - - } - - return nil -} - -func (m *TypesconfigPlacementSpec) contextValidateDriftAction(ctx context.Context, formats strfmt.Registry) error { - - if m.DriftAction != nil { - if err := m.DriftAction.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("driftAction") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("driftAction") - } - return err - } - } - - return nil -} - -func (m *TypesconfigPlacementSpec) contextValidatePlacementType(ctx context.Context, formats strfmt.Registry) error { - - if m.PlacementType != nil { - if err := m.PlacementType.ContextValidate(ctx, formats); err != nil { - if ve, ok := err.(*errors.Validation); ok { - return ve.ValidateName("placementType") - } else if ce, ok := err.(*errors.CompositeError); ok { - return ce.ValidateName("placementType") - } - return err - } - } - - return nil -} - -// MarshalBinary interface implementation -func (m *TypesconfigPlacementSpec) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *TypesconfigPlacementSpec) UnmarshalBinary(b []byte) error { - var res TypesconfigPlacementSpec - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/v3_http_body.go b/components/common/api/def/clients/sentry/models/v3_http_body.go deleted file mode 100644 index 91659b0..0000000 --- a/components/common/api/def/clients/sentry/models/v3_http_body.go +++ /dev/null @@ -1,55 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3HTTPBody HttpBody represents arbitrary HTTP Body. It should only be used for -// payload formats that can't be represented as JSON -// -// swagger:model v3HttpBody -type V3HTTPBody struct { - - // The HTTP Content-Type header value specifying the content type of the body. - ContentType string `json:"contentType,omitempty"` - - // The HTTP request/response body as raw binary. - // Format: byte - Data strfmt.Base64 `json:"data,omitempty"` -} - -// Validate validates this v3 Http body -func (m *V3HTTPBody) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v3 Http body based on context it is used -func (m *V3HTTPBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V3HTTPBody) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3HTTPBody) UnmarshalBinary(b []byte) error { - var res V3HTTPBody - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/v3_list_metadata.go b/components/common/api/def/clients/sentry/models/v3_list_metadata.go deleted file mode 100644 index 34b2308..0000000 --- a/components/common/api/def/clients/sentry/models/v3_list_metadata.go +++ /dev/null @@ -1,58 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" -) - -// V3ListMetadata $title: ListMetadata -// $description: metadata for a list of resources -// $required: enabled -// -// swagger:model v3ListMetadata -type V3ListMetadata struct { - - // count - Count string `json:"count,omitempty"` - - // limit - Limit string `json:"limit,omitempty"` - - // offset - Offset string `json:"offset,omitempty"` -} - -// Validate validates this v3 list metadata -func (m *V3ListMetadata) Validate(formats strfmt.Registry) error { - return nil -} - -// ContextValidate validates this v3 list metadata based on context it is used -func (m *V3ListMetadata) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - return nil -} - -// MarshalBinary interface implementation -func (m *V3ListMetadata) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3ListMetadata) UnmarshalBinary(b []byte) error { - var res V3ListMetadata - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/api/def/clients/sentry/models/v3_metadata.go b/components/common/api/def/clients/sentry/models/v3_metadata.go deleted file mode 100644 index 2ba69ea..0000000 --- a/components/common/api/def/clients/sentry/models/v3_metadata.go +++ /dev/null @@ -1,176 +0,0 @@ -// Code generated by go-swagger; DO NOT EDIT. - -package models - -// This file was generated by the swagger tool. -// Editing this file might prove futile when you re-run the swagger generate command - -import ( - "context" - - "github.com/go-openapi/errors" - "github.com/go-openapi/strfmt" - "github.com/go-openapi/swag" - "github.com/go-openapi/validate" -) - -// V3Metadata Metadata -// -// metadata of the resource -// Example: {"name":"some-name","project":"defaultproject"} -// -// swagger:model v3Metadata -type V3Metadata struct { - - // Annotations - // - // annotations of the resource - Annotations map[string]string `json:"annotations,omitempty"` - - // Description - // - // description of the resource - Description string `json:"description,omitempty"` - - // id - // Read Only: true - ID string `json:"id,omitempty"` - - // Lables - // - // labels of the resource - Labels map[string]string `json:"labels,omitempty"` - - // modified at - // Read Only: true - // Format: date-time - ModifiedAt strfmt.DateTime `json:"modifiedAt,omitempty"` - - // Name - // - // name of the resource - // Required: true - Name *string `json:"name"` - - // Organization - // - // Organization to which the resource belongs - Organization string `json:"organization,omitempty"` - - // Partner - // - // Partner to which the resource belongs - Partner string `json:"partner,omitempty"` - - // Project - // - // Project of the resource - // Required: true - Project *string `json:"project"` -} - -// Validate validates this v3 metadata -func (m *V3Metadata) Validate(formats strfmt.Registry) error { - var res []error - - if err := m.validateModifiedAt(formats); err != nil { - res = append(res, err) - } - - if err := m.validateName(formats); err != nil { - res = append(res, err) - } - - if err := m.validateProject(formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3Metadata) validateModifiedAt(formats strfmt.Registry) error { - if swag.IsZero(m.ModifiedAt) { // not required - return nil - } - - if err := validate.FormatOf("modifiedAt", "body", "date-time", m.ModifiedAt.String(), formats); err != nil { - return err - } - - return nil -} - -func (m *V3Metadata) validateName(formats strfmt.Registry) error { - - if err := validate.Required("name", "body", m.Name); err != nil { - return err - } - - return nil -} - -func (m *V3Metadata) validateProject(formats strfmt.Registry) error { - - if err := validate.Required("project", "body", m.Project); err != nil { - return err - } - - return nil -} - -// ContextValidate validate this v3 metadata based on the context it is used -func (m *V3Metadata) ContextValidate(ctx context.Context, formats strfmt.Registry) error { - var res []error - - if err := m.contextValidateID(ctx, formats); err != nil { - res = append(res, err) - } - - if err := m.contextValidateModifiedAt(ctx, formats); err != nil { - res = append(res, err) - } - - if len(res) > 0 { - return errors.CompositeValidationError(res...) - } - return nil -} - -func (m *V3Metadata) contextValidateID(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "id", "body", string(m.ID)); err != nil { - return err - } - - return nil -} - -func (m *V3Metadata) contextValidateModifiedAt(ctx context.Context, formats strfmt.Registry) error { - - if err := validate.ReadOnly(ctx, "modifiedAt", "body", strfmt.DateTime(m.ModifiedAt)); err != nil { - return err - } - - return nil -} - -// MarshalBinary interface implementation -func (m *V3Metadata) MarshalBinary() ([]byte, error) { - if m == nil { - return nil, nil - } - return swag.WriteJSON(m) -} - -// UnmarshalBinary interface implementation -func (m *V3Metadata) UnmarshalBinary(b []byte) error { - var res V3Metadata - if err := swag.ReadJSON(b, &res); err != nil { - return err - } - *m = res - return nil -} diff --git a/components/common/go.mod b/components/common/go.mod deleted file mode 100644 index 12e4438..0000000 --- a/components/common/go.mod +++ /dev/null @@ -1,120 +0,0 @@ -module github.com/RafaySystems/rcloud-base/components/common - -go 1.17 - -require ( - github.com/Shopify/sarama v1.32.0 - github.com/dgraph-io/ristretto v0.1.0 - github.com/evanphx/json-patch v4.12.0+incompatible - github.com/go-openapi/errors v0.20.2 - github.com/go-openapi/runtime v0.23.0 - github.com/go-openapi/strfmt v0.21.2 - github.com/go-openapi/swag v0.19.15 - github.com/go-openapi/validate v0.20.3 - github.com/gogo/protobuf v1.3.2 - github.com/google/uuid v1.3.0 - github.com/grpc-ecosystem/grpc-gateway v1.16.0 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2 - github.com/json-iterator/go v1.1.12 - github.com/ory/kratos-client-go v0.8.2-alpha.1 - github.com/pkg/errors v0.9.1 - github.com/processout/grpc-go-pool v1.2.1 - github.com/rs/xid v1.3.0 - github.com/segmentio/encoding v0.3.2 - github.com/speps/go-hashids v2.0.0+incompatible - github.com/uptrace/bun v1.0.20 - github.com/urfave/negroni v1.0.0 - github.com/valyala/fastjson v1.6.3 - go.uber.org/zap v1.19.1 - google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa - google.golang.org/grpc v1.43.0 - google.golang.org/protobuf v1.27.1 - k8s.io/api v0.23.4 - k8s.io/apiextensions-apiserver v0.23.4 - k8s.io/apimachinery v0.23.4 - k8s.io/client-go v0.23.4 - k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 - sigs.k8s.io/controller-runtime v0.11.1 - sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 - sigs.k8s.io/yaml v1.3.0 -) - -require ( - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.1 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/eapache/go-resiliency v1.2.0 // indirect - github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect - github.com/eapache/queue v1.1.0 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/go-logr/logr v1.2.0 // indirect - github.com/go-openapi/analysis v0.20.1 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.6 // indirect - github.com/go-openapi/loads v0.21.0 // indirect - github.com/go-openapi/spec v0.20.4 // indirect - github.com/go-stack/stack v1.8.0 // indirect - github.com/golang/glog v1.0.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/golang/snappy v0.0.4 // indirect - github.com/google/go-cmp v0.5.7 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/googleapis/gnostic v0.5.5 // indirect - github.com/hashicorp/go-uuid v1.0.2 // indirect - github.com/imdario/mergo v0.3.12 // indirect - github.com/jcmturner/aescts/v2 v2.0.0 // indirect - github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect - github.com/jcmturner/gofork v1.0.0 // indirect - github.com/jcmturner/gokrb5/v8 v8.4.2 // indirect - github.com/jcmturner/rpc/v2 v2.0.3 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/klauspost/compress v1.14.4 // indirect - github.com/klauspost/cpuid/v2 v2.0.6 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mitchellh/mapstructure v1.4.1 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/oklog/ulid v1.3.1 // indirect - github.com/opentracing/opentracing-go v1.2.0 // indirect - github.com/pierrec/lz4 v2.6.1+incompatible // indirect - github.com/prometheus/client_golang v1.11.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.28.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect - github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect - github.com/segmentio/asm v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect - github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect - github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - go.mongodb.org/mongo-driver v1.7.5 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - golang.org/x/crypto v0.0.0-20220214200702-86341886e292 // indirect - golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect - golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e // indirect - golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/component-base v0.23.4 // indirect - k8s.io/klog v1.0.0 // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect -) - -replace github.com/RafaySystems/rcloud-base/components/common => ./ diff --git a/components/common/go.sum b/components/common/go.sum deleted file mode 100644 index 313e7ff..0000000 --- a/components/common/go.sum +++ /dev/null @@ -1,1338 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.2/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/Shopify/sarama v1.32.0 h1:P+RUjEaRU0GMMbYexGMDyrMkLhbbBVUVISDywi+IlFU= -github.com/Shopify/sarama v1.32.0/go.mod h1:+EmJJKZWVT/faR9RcOxJerP+LId4iWdQPBGLy1Y1Njs= -github.com/Shopify/toxiproxy/v2 v2.3.0 h1:62YkpiP4bzdhKMH+6uC5E95y608k3zDwdzuBMsnn3uQ= -github.com/Shopify/toxiproxy/v2 v2.3.0/go.mod h1:KvQTtB6RjCJY4zqNJn7C7JDFgsG5uoHYDirfUfpIm0c= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= -github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= -github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= -github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= -github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/elazarl/goproxy v0.0.0-20191011121108-aa519ddbe484/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= -github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= -github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= -github.com/frankban/quicktest v1.14.2 h1:SPb1KFFmM+ybpEjPUhCCkZOM5xlovT5UbrMvWnXyBns= -github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= -github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= -github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk= -github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/analysis v0.20.1 h1:zdVbw8yoD4SWZeq+cWdGgquaB0W4VrsJvDJHJND/Ktc= -github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.1/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= -github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= -github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= -github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4= -github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o= -github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68= -github.com/go-openapi/loads v0.21.0/go.mod h1:rHYve9nZrQ4CJhyeIIFJINGCg1tQpx2yJrrNo8sf1ws= -github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= -github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= -github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98= -github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= -github.com/go-openapi/runtime v0.23.0 h1:HX6ET2sHCIvaKeDDQoU01CtO1ekg5EkekHSkLTtWXH0= -github.com/go-openapi/runtime v0.23.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ= -github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg= -github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk= -github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= -github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os= -github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M= -github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= -github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= -github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= -github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4= -github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI= -github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= -github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw= -github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= -github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= -github.com/gophercloud/gophercloud v0.6.0/go.mod h1:GICNByuaEBibcjmjvI7QvYJSZEbGkcYwAR7EZK2WMqM= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= -github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2 h1:I/pwhnUln5wbMnTyRbzswA0/JxpK8sZj0aUfI3TV1So= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2/go.mod h1:lsuH8kb4GlMdSlI4alNIBBSAt5CHJtg3i+0WuN9J5YM= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= -github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= -github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= -github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= -github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= -github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= -github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= -github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= -github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= -github.com/jcmturner/gokrb5/v8 v8.4.2 h1:6ZIM6b/JJN0X8UM43ZOM6Z4SJzla+a/u7scXFJzodkA= -github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= -github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= -github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.14.4 h1:eijASRJcobkVtSt81Olfh7JX43osYLwy5krOJo6YEu4= -github.com/klauspost/compress v1.14.4/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/cpuid/v2 v2.0.6 h1:dQ5ueTiftKxp0gyjKSx5+8BtPWkyQbd95m8Gys/RarI= -github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/ory/kratos-client-go v0.8.2-alpha.1 h1:YlKhGOSZjounlB9iY4xSWlqHbyLYkeLzlLk8ZL7/nEM= -github.com/ory/kratos-client-go v0.8.2-alpha.1/go.mod h1:dOQIsar76K07wMPJD/6aMhrWyY+sFGEagLDLso1CpsA= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= -github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/processout/grpc-go-pool v1.2.1 h1:hbp1BOA02CIxEAoRLHGpUhhPFv77nwfBLBeO3Ya9P7I= -github.com/processout/grpc-go-pool v1.2.1/go.mod h1:F4hiNj96O6VQ87jv4rdz8R9tkHdelQQJ/J2B1a5VSt4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= -github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/asm v1.1.0 h1:fkVr8k5J4sKoFjTGVD6r1yKvDKqmvrEh3K7iyVxgBs8= -github.com/segmentio/asm v1.1.0/go.mod h1:4EUJGaKsB8ImLUwOGORVsNd9vTRDeh44JGsY4aKp5I4= -github.com/segmentio/encoding v0.3.2 h1:gkXXteOfNaPPlrXTEf/e5tWvaQGVJWnvT3LqMzUeH7U= -github.com/segmentio/encoding v0.3.2/go.mod h1:waft2p6XI4z2pk07M0YzZV4wEiqaRvsBSyWNHxVx4gU= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/speps/go-hashids v2.0.0+incompatible h1:kSfxGfESueJKTx0mpER9Y/1XHl+FVQjtCqRyYcviFbw= -github.com/speps/go-hashids v2.0.0+incompatible/go.mod h1:P7hqPzMdnZOfyIk+xrlG1QaSMw+gCBdHKsBDnhpaZvc= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= -github.com/uptrace/bun v1.0.20 h1:/T4p9C9tEN75U3cFMBr5njlP+rBfs4An8BmlQQPbcfE= -github.com/uptrace/bun v1.0.20/go.mod h1:Uv7z0z+7dXnUS9P5hMF0hdiM/4M+xOUHQCrZpyDrpRc= -github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= -github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= -github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/scram v1.1.0/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= -go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= -go.mongodb.org/mongo-driver v1.7.5 h1:ny3p0reEpgsR2cfA5cjgwFZg3Cv/ofFh/8jbhGtz9VI= -go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292 h1:f+lwQ+GtmgoY+A2YaQxlSOnDjXcQ7ZRLWOHbC6HtRqE= -golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk= -golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211123173158-ef496fb156ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e h1:fLOSk5Q00efkSvAm+4xcoXD+RRmLmmulPn5I3Y9F2EM= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= -golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= -k8s.io/api v0.23.4 h1:85gnfXQOWbJa1SiWGpE9EEtHs0UVvDyIsSMpEtl2D4E= -k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= -k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= -k8s.io/apiextensions-apiserver v0.23.4 h1:AFDUEu/yEf0YnuZhqhIFhPLPhhcQQVuR1u3WCh0rveU= -k8s.io/apiextensions-apiserver v0.23.4/go.mod h1:TWYAKymJx7nLMxWCgWm2RYGXHrGlVZnxIlGnvtfYu+g= -k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= -k8s.io/apimachinery v0.23.4 h1:fhnuMd/xUL3Cjfl64j5ULKZ1/J9n8NuQEgNL+WXWfdM= -k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= -k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= -k8s.io/apiserver v0.23.4/go.mod h1:A6l/ZcNtxGfPSqbFDoxxOjEjSKBaQmE+UTveOmMkpNc= -k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= -k8s.io/client-go v0.23.4 h1:YVWvPeerA2gpUudLelvsolzH7c2sFoXXR5wM/sWqNFU= -k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= -k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= -k8s.io/code-generator v0.23.4/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= -k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= -k8s.io/component-base v0.23.4 h1:SziYh48+QKxK+ykJ3Ejqd98XdZIseVBG7sBaNLPqy6M= -k8s.io/component-base v0.23.4/go.mod h1:8o3Gg8i2vnUXGPOwciiYlkSaZT+p+7gA9Scoz8y4W4E= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/utils v0.0.0-20191030222137-2b95a09bc58d/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27/go.mod h1:tq2nT0Kx7W+/f2JVE+zxYtUhdjuELJkVpNz+x/QN5R4= -sigs.k8s.io/controller-runtime v0.11.1 h1:7YIHT2QnHJArj/dk9aUkYhfqfK5cIxPOX5gPECfdZLU= -sigs.k8s.io/controller-runtime v0.11.1/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 h1:otg4dLFc03c3gzl+2CV8GPGcd1kk8wjXwD+UhhcCn5I= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0/go.mod h1:bl/gVJgYYhJZCZdYU2BfnaKYAlqFkgbJEkpl302jEss= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/components/common/pkg/gateway/testdata/test.proto b/components/common/pkg/gateway/testdata/test.proto deleted file mode 100644 index 2f8834a..0000000 --- a/components/common/pkg/gateway/testdata/test.proto +++ /dev/null @@ -1,58 +0,0 @@ -syntax = "proto3"; - -package testdata; - -import "google/api/annotations.proto"; -import "gogoproto/gogo.proto"; -import "protoc-gen-openapiv2/options/annotations.proto"; -import "google/protobuf/timestamp.proto"; - -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - -message TestYAML { - string name = 1; - google.protobuf.Timestamp time = 2 [ - (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - read_only : true - }, - (gogoproto.stdtime) = true - ]; - map labels = 3; -} - -message TestMetadata { - string name = 1; -} - -message TestObjectSpec {} - -message TestObjectStatus {} - -message TestObject { - TestMetadata metadata = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = ",inline" - ]; - TestObjectSpec spec = 2 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - TestObjectStatus status = 3 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -service Test { - rpc Get(TestObject) returns (TestObject) { - option (google.api.http) = { - get : "/v3/test/{metadata.name}/test/{metadata.name}" - }; - } -} \ No newline at end of file diff --git a/components/common/pkg/models/group.go b/components/common/pkg/models/group.go deleted file mode 100644 index 2733be1..0000000 --- a/components/common/pkg/models/group.go +++ /dev/null @@ -1,22 +0,0 @@ -package models - -import ( - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type Group struct { - bun.BaseModel `bun:"table:authsrv_group,alias:group"` - - ID uuid.UUID `bun:"id,type:uuid,pk,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - Description string `bun:"description,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull,default:false"` - OrganizationId uuid.UUID `bun:"organization_id,type:uuid"` - PartnerId uuid.UUID `bun:"partner_id,type:uuid"` - Type string `bun:"type,notnull"` -} diff --git a/components/common/pkg/models/groupaccount.go b/components/common/pkg/models/groupaccount.go deleted file mode 100644 index b484474..0000000 --- a/components/common/pkg/models/groupaccount.go +++ /dev/null @@ -1,22 +0,0 @@ -package models - -import ( - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type GroupAccount struct { - bun.BaseModel `bun:"table:authsrv_groupaccount,alias:groupaccount"` - - ID uuid.UUID `bun:"id,type:uuid,pk,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - Description string `bun:"description,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull,default:false"` - AccountId uuid.UUID `bun:"account_id,type:uuid"` - GroupId uuid.UUID `bun:"group_id,type:uuid"` - Active bool `bun:"active,notnull"` -} diff --git a/components/common/pkg/models/metro.go b/components/common/pkg/models/metro.go deleted file mode 100644 index 14bfcad..0000000 --- a/components/common/pkg/models/metro.go +++ /dev/null @@ -1,27 +0,0 @@ -package models - -import ( - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type Metro struct { - bun.BaseModel `bun:"table:cluster_metro,alias:metro"` - - ID uuid.UUID `bun:"id,pk,type:uuid,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull,default:false"` - Latitude string `bun:"latitude,notnull"` - Longitude string `bun:"longitude,notnull"` - City string `bun:"city"` - State string `bun:"state"` - Country string `bun:"country"` - CountryCode string `bun:"cc"` - StateCode string `bun:"st"` - OrganizationId uuid.UUID `bun:"organization_id,type:uuid"` - PartnerId uuid.UUID `bun:"partner_id,type:uuid,notnull"` -} diff --git a/components/common/pkg/models/organization.go b/components/common/pkg/models/organization.go deleted file mode 100644 index 920f4a2..0000000 --- a/components/common/pkg/models/organization.go +++ /dev/null @@ -1,41 +0,0 @@ -package models - -import ( - "encoding/json" - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type Organization struct { - bun.BaseModel `bun:"table:authsrv_organization,alias:organization"` - - ID uuid.UUID `bun:"id,type:uuid,pk,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - Description string `bun:"description,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull"` - Settings json.RawMessage `bun:"settings,notnull,type:jsonb"` - BillingAddress string `bun:"billing_address,notnull,type:text"` - PartnerId uuid.UUID `bun:"partner_id,notnull,type:uuid"` - Active bool `bun:"active,notnull"` - Approved bool `bun:"approved,notnull"` - Type string `bun:"type,notnull"` - AddressLine1 string `bun:"address_line1,notnull,type:text"` - AddressLine2 string `bun:"address_line2,notnull,type:text"` - City string `bun:"city,notnull,type:text"` - Country string `bun:"country,notnull,type:text"` - Phone string `bun:"phone,notnull,type:text"` - State string `bun:"state,notnull,type:text"` - Zipcode string `bun:"zipcode,notnull,type:text"` - DeletedName string `bun:"deleted_name"` - IsPrivate bool `bun:"is_private"` - IsTOTPEnabled bool `bun:"is_totp_enabled,notnull"` - AreClustersShared bool `bun:"are_clusters_shared,notnull"` - PspsEnabled bool `bun:"psps_enabled,default:true"` - CustomPspsEnabled bool `bun:"custom_psps_enabled"` - DefaultBlueprintsEnabled bool `bun:"default_blueprints_enabled,default:true"` - Referer string `bun:"referer"` -} diff --git a/components/common/pkg/models/partner.go b/components/common/pkg/models/partner.go deleted file mode 100644 index b18ba14..0000000 --- a/components/common/pkg/models/partner.go +++ /dev/null @@ -1,34 +0,0 @@ -package models - -import ( - "encoding/json" - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type Partner struct { - bun.BaseModel `bun:"table:authsrv_partner,alias:partner"` - - ID uuid.UUID `bun:"id,type:uuid,pk,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - Description string `bun:"description,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull"` - Settings json.RawMessage `bun:"settings,notnull,type:jsonb"` - Host string `bun:"host,notnull"` - Domain string `bun:"domain,notnull"` - TosLink string `bun:"tos_link,notnull"` - LogoLink string `bun:"logo_link,notnull"` - NotificationEmail string `bun:"notification_email,notnull"` - ParentId uuid.UUID `bun:"parent_id,type:uuid"` - HelpdeskEmail string `bun:"partner_helpdesk_email,notnull"` - ProductName string `bun:"partner_product_name"` - SupportTeamName string `bun:"support_team_name,notnull"` - OpsHost string `bun:"ops_host,notnull"` - FavIconLink string `bun:"fav_icon_link,notnull"` - IsTOTPEnabled bool `bun:"is_totp_enabled,notnull"` - IsSyntheticPartnerEnabled bool `bun:"is_synthetic_partner_enabled,notnull"` -} diff --git a/components/common/pkg/models/project.go b/components/common/pkg/models/project.go deleted file mode 100644 index bacf10f..0000000 --- a/components/common/pkg/models/project.go +++ /dev/null @@ -1,22 +0,0 @@ -package models - -import ( - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type Project struct { - bun.BaseModel `bun:"table:authsrv_project,alias:project"` - - ID uuid.UUID `bun:"id,type:uuid,pk,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - Description string `bun:"description,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull,default:false"` - OrganizationId uuid.UUID `bun:"organization_id,type:uuid"` - PartnerId uuid.UUID `bun:"partner_id,type:uuid"` - Default bool `bun:"default,notnull"` -} diff --git a/components/common/proto/rpc/config/internal.go b/components/common/proto/rpc/config/internal.go deleted file mode 100644 index a7c35f6..0000000 --- a/components/common/proto/rpc/config/internal.go +++ /dev/null @@ -1,57 +0,0 @@ -package config - -import ( - "context" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/pool" - grpcpool "github.com/processout/grpc-go-pool" -) - -// ConfigClient is the interface which exposes all the RPCs -// to internal service -type ConfigClient interface { - Unhealthy() - Close() error - OverrideClient -} - -type configClient struct { - *grpcpool.ClientConn - *overrideClient -} - -var _ ConfigClient = (*configClient)(nil) - -// ConfigPool maintains pool of grpc connections to config service -type ConfigPool interface { - Close() - NewClient(ctx context.Context) (ConfigClient, error) -} - -// NewConfigPool new config pool -func NewConfigPool(addr string, maxConn int) ConfigPool { - return &configPool{ - GRPCPool: pool.NewGRPCPool(addr, maxConn, nil), - } -} - -type configPool struct { - *pool.GRPCPool -} - -func (p *configPool) Close() { - if p.GRPCPool != nil { - p.GRPCPool.Close() - } -} - -func (p *configPool) NewClient(ctx context.Context) (ConfigClient, error) { - cc, err := p.GetConnection(ctx) - if err != nil { - return nil, err - } - return &configClient{ - cc, - &overrideClient{cc: cc}, - }, nil -} diff --git a/components/common/proto/rpc/config/override.pb.go b/components/common/proto/rpc/config/override.pb.go deleted file mode 100644 index 13fcccb..0000000 --- a/components/common/proto/rpc/config/override.pb.go +++ /dev/null @@ -1,1178 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/rpc/config/override.proto - -package config - -import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - config "github.com/RafaySystems/rcloud-base/components/common/proto/types/config" - _ "github.com/gogo/protobuf/gogoproto" - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - _ "google.golang.org/genproto/googleapis/api/annotations" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type DeleteOverrideResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *DeleteOverrideResponse) Reset() { - *x = DeleteOverrideResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_rpc_config_override_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeleteOverrideResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeleteOverrideResponse) ProtoMessage() {} - -func (x *DeleteOverrideResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_rpc_config_override_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeleteOverrideResponse.ProtoReflect.Descriptor instead. -func (*DeleteOverrideResponse) Descriptor() ([]byte, []int) { - return file_proto_rpc_config_override_proto_rawDescGZIP(), []int{0} -} - -type ApplyOverrideRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Selector string `protobuf:"bytes,1,opt,name=selector,proto3" json:"selector,omitempty"` - Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty"` - PartnerID int64 `protobuf:"zigzag64,3,opt,name=partnerID,proto3" json:"partnerID,omitempty"` - OrganizationID int64 `protobuf:"zigzag64,4,opt,name=organizationID,proto3" json:"organizationID,omitempty"` - ProjectID int64 `protobuf:"zigzag64,5,opt,name=projectID,proto3" json:"projectID,omitempty"` - Namespace *config.NamespaceTemplate `protobuf:"bytes,7,opt,name=namespace,proto3" json:"namespace,omitempty"` - SetNamespace bool `protobuf:"varint,8,opt,name=setNamespace,proto3" json:"setNamespace,omitempty"` - AtleastOne bool `protobuf:"varint,9,opt,name=atleastOne,proto3" json:"atleastOne,omitempty"` -} - -func (x *ApplyOverrideRequest) Reset() { - *x = ApplyOverrideRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_rpc_config_override_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApplyOverrideRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApplyOverrideRequest) ProtoMessage() {} - -func (x *ApplyOverrideRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_rpc_config_override_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApplyOverrideRequest.ProtoReflect.Descriptor instead. -func (*ApplyOverrideRequest) Descriptor() ([]byte, []int) { - return file_proto_rpc_config_override_proto_rawDescGZIP(), []int{1} -} - -func (x *ApplyOverrideRequest) GetSelector() string { - if x != nil { - return x.Selector - } - return "" -} - -func (x *ApplyOverrideRequest) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *ApplyOverrideRequest) GetPartnerID() int64 { - if x != nil { - return x.PartnerID - } - return 0 -} - -func (x *ApplyOverrideRequest) GetOrganizationID() int64 { - if x != nil { - return x.OrganizationID - } - return 0 -} - -func (x *ApplyOverrideRequest) GetProjectID() int64 { - if x != nil { - return x.ProjectID - } - return 0 -} - -func (x *ApplyOverrideRequest) GetNamespace() *config.NamespaceTemplate { - if x != nil { - return x.Namespace - } - return nil -} - -func (x *ApplyOverrideRequest) GetSetNamespace() bool { - if x != nil { - return x.SetNamespace - } - return false -} - -func (x *ApplyOverrideRequest) GetAtleastOne() bool { - if x != nil { - return x.AtleastOne - } - return false -} - -type ApplyOverrideResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Namespace *config.NamespaceTemplate `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` -} - -func (x *ApplyOverrideResponse) Reset() { - *x = ApplyOverrideResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_rpc_config_override_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ApplyOverrideResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ApplyOverrideResponse) ProtoMessage() {} - -func (x *ApplyOverrideResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_rpc_config_override_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ApplyOverrideResponse.ProtoReflect.Descriptor instead. -func (*ApplyOverrideResponse) Descriptor() ([]byte, []int) { - return file_proto_rpc_config_override_proto_rawDescGZIP(), []int{2} -} - -func (x *ApplyOverrideResponse) GetNamespace() *config.NamespaceTemplate { - if x != nil { - return x.Namespace - } - return nil -} - -type ProxyConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - HttpProxy string `protobuf:"bytes,1,opt,name=httpProxy,proto3" json:"httpProxy,omitempty"` - HttpsProxy string `protobuf:"bytes,2,opt,name=httpsProxy,proto3" json:"httpsProxy,omitempty"` - NoProxy string `protobuf:"bytes,3,opt,name=noProxy,proto3" json:"noProxy,omitempty"` - ProxyAuth string `protobuf:"bytes,4,opt,name=proxyAuth,proto3" json:"proxyAuth,omitempty"` - AllowInsecureBootstrap bool `protobuf:"varint,5,opt,name=allowInsecureBootstrap,proto3" json:"allowInsecureBootstrap,omitempty"` - Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"` - BootstrapCA string `protobuf:"bytes,7,opt,name=bootstrapCA,proto3" json:"bootstrapCA,omitempty"` -} - -func (x *ProxyConfig) Reset() { - *x = ProxyConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_rpc_config_override_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProxyConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProxyConfig) ProtoMessage() {} - -func (x *ProxyConfig) ProtoReflect() protoreflect.Message { - mi := &file_proto_rpc_config_override_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProxyConfig.ProtoReflect.Descriptor instead. -func (*ProxyConfig) Descriptor() ([]byte, []int) { - return file_proto_rpc_config_override_proto_rawDescGZIP(), []int{3} -} - -func (x *ProxyConfig) GetHttpProxy() string { - if x != nil { - return x.HttpProxy - } - return "" -} - -func (x *ProxyConfig) GetHttpsProxy() string { - if x != nil { - return x.HttpsProxy - } - return "" -} - -func (x *ProxyConfig) GetNoProxy() string { - if x != nil { - return x.NoProxy - } - return "" -} - -func (x *ProxyConfig) GetProxyAuth() string { - if x != nil { - return x.ProxyAuth - } - return "" -} - -func (x *ProxyConfig) GetAllowInsecureBootstrap() bool { - if x != nil { - return x.AllowInsecureBootstrap - } - return false -} - -func (x *ProxyConfig) GetEnabled() bool { - if x != nil { - return x.Enabled - } - return false -} - -func (x *ProxyConfig) GetBootstrapCA() string { - if x != nil { - return x.BootstrapCA - } - return "" -} - -type AddDefaultOverridesRequest struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClusterName string `protobuf:"bytes,1,opt,name=clusterName,proto3" json:"clusterName,omitempty"` - PartnerID int64 `protobuf:"zigzag64,2,opt,name=partnerID,proto3" json:"partnerID,omitempty"` - OrganizationID int64 `protobuf:"zigzag64,3,opt,name=organizationID,proto3" json:"organizationID,omitempty"` - ProjectID int64 `protobuf:"zigzag64,4,opt,name=projectID,proto3" json:"projectID,omitempty"` - PullSecret string `protobuf:"bytes,5,opt,name=pullSecret,proto3" json:"pullSecret,omitempty"` - ControlAddr string `protobuf:"bytes,6,opt,name=controlAddr,proto3" json:"controlAddr,omitempty"` - ApiAddr string `protobuf:"bytes,7,opt,name=apiAddr,proto3" json:"apiAddr,omitempty"` - Token string `protobuf:"bytes,8,opt,name=token,proto3" json:"token,omitempty"` - V1EdgeMetadata string `protobuf:"bytes,9,opt,name=v1EdgeMetadata,proto3" json:"v1EdgeMetadata,omitempty"` - V1CACert string `protobuf:"bytes,10,opt,name=v1CACert,proto3" json:"v1CACert,omitempty"` - V1WorkloadClientCert string `protobuf:"bytes,11,opt,name=v1WorkloadClientCert,proto3" json:"v1WorkloadClientCert,omitempty"` - V1WorkloadClientKey string `protobuf:"bytes,12,opt,name=v1WorkloadClientKey,proto3" json:"v1WorkloadClientKey,omitempty"` - V1PostgresPassword string `protobuf:"bytes,13,opt,name=v1PostgresPassword,proto3" json:"v1PostgresPassword,omitempty"` - V1CryptoEdgeCert string `protobuf:"bytes,14,opt,name=v1CryptoEdgeCert,proto3" json:"v1CryptoEdgeCert,omitempty"` - V1CryptoEdgeKey string `protobuf:"bytes,15,opt,name=v1CryptoEdgeKey,proto3" json:"v1CryptoEdgeKey,omitempty"` - V1CrypotKMIKey string `protobuf:"bytes,16,opt,name=v1CrypotKMIKey,proto3" json:"v1CrypotKMIKey,omitempty"` - V1EdgeID string `protobuf:"bytes,17,opt,name=v1EdgeID,proto3" json:"v1EdgeID,omitempty"` - V1DebugCert string `protobuf:"bytes,18,opt,name=v1DebugCert,proto3" json:"v1DebugCert,omitempty"` - V1DebugKey string `protobuf:"bytes,19,opt,name=v1DebugKey,proto3" json:"v1DebugKey,omitempty"` - V1ConfigEdgeCert string `protobuf:"bytes,20,opt,name=v1ConfigEdgeCert,proto3" json:"v1ConfigEdgeCert,omitempty"` - V1ConfigEdgeKey string `protobuf:"bytes,21,opt,name=v1ConfigEdgeKey,proto3" json:"v1ConfigEdgeKey,omitempty"` - V1EdgeClientCert string `protobuf:"bytes,22,opt,name=v1EdgeClientCert,proto3" json:"v1EdgeClientCert,omitempty"` - V1EdgeClientKey string `protobuf:"bytes,23,opt,name=v1EdgeClientKey,proto3" json:"v1EdgeClientKey,omitempty"` - V1FluentdAggregatorAddr string `protobuf:"bytes,24,opt,name=v1FluentdAggregatorAddr,proto3" json:"v1FluentdAggregatorAddr,omitempty"` - V1AlertManagerYaml string `protobuf:"bytes,25,opt,name=v1AlertManagerYaml,proto3" json:"v1AlertManagerYaml,omitempty"` - V1DeploymentEnv string `protobuf:"bytes,26,opt,name=v1DeploymentEnv,proto3" json:"v1DeploymentEnv,omitempty"` - V1InfluxDBFQDN string `protobuf:"bytes,27,opt,name=v1InfluxDBFQDN,proto3" json:"v1InfluxDBFQDN,omitempty"` - V1InfluxDBPassword string `protobuf:"bytes,28,opt,name=v1InfluxDBPassword,proto3" json:"v1InfluxDBPassword,omitempty"` - V1PromethuesRelayFQDN string `protobuf:"bytes,29,opt,name=v1PromethuesRelayFQDN,proto3" json:"v1PromethuesRelayFQDN,omitempty"` - V1EdgeDisplayName string `protobuf:"bytes,30,opt,name=v1EdgeDisplayName,proto3" json:"v1EdgeDisplayName,omitempty"` - OrganizationHash string `protobuf:"bytes,31,opt,name=organizationHash,proto3" json:"organizationHash,omitempty"` - PartnerHash string `protobuf:"bytes,32,opt,name=partnerHash,proto3" json:"partnerHash,omitempty"` - OrgDisplayName string `protobuf:"bytes,33,opt,name=orgDisplayName,proto3" json:"orgDisplayName,omitempty"` - PartnerDisplayName string `protobuf:"bytes,34,opt,name=partnerDisplayName,proto3" json:"partnerDisplayName,omitempty"` - V2EventFrmwkCert string `protobuf:"bytes,35,opt,name=v2EventFrmwkCert,proto3" json:"v2EventFrmwkCert,omitempty"` - V2EventFrmwkKey string `protobuf:"bytes,36,opt,name=v2EventFrmwkKey,proto3" json:"v2EventFrmwkKey,omitempty"` - V2EventFrameworkFQDN string `protobuf:"bytes,37,opt,name=V2EventFrameworkFQDN,proto3" json:"V2EventFrameworkFQDN,omitempty"` - ProxyConfig *ProxyConfig `protobuf:"bytes,38,opt,name=proxyConfig,proto3" json:"proxyConfig,omitempty"` - ConnectorPodSpecOverride string `protobuf:"bytes,39,opt,name=connectorPodSpecOverride,proto3" json:"connectorPodSpecOverride,omitempty"` - ConnectorContainerSpecOverride string `protobuf:"bytes,40,opt,name=connectorContainerSpecOverride,proto3" json:"connectorContainerSpecOverride,omitempty"` - IngressControllerOverride string `protobuf:"bytes,41,opt,name=ingressControllerOverride,proto3" json:"ingressControllerOverride,omitempty"` - ClusterType string `protobuf:"bytes,42,opt,name=clusterType,proto3" json:"clusterType,omitempty"` - CniProvider string `protobuf:"bytes,43,opt,name=cniProvider,proto3" json:"cniProvider,omitempty"` -} - -func (x *AddDefaultOverridesRequest) Reset() { - *x = AddDefaultOverridesRequest{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_rpc_config_override_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddDefaultOverridesRequest) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddDefaultOverridesRequest) ProtoMessage() {} - -func (x *AddDefaultOverridesRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_rpc_config_override_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddDefaultOverridesRequest.ProtoReflect.Descriptor instead. -func (*AddDefaultOverridesRequest) Descriptor() ([]byte, []int) { - return file_proto_rpc_config_override_proto_rawDescGZIP(), []int{4} -} - -func (x *AddDefaultOverridesRequest) GetClusterName() string { - if x != nil { - return x.ClusterName - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetPartnerID() int64 { - if x != nil { - return x.PartnerID - } - return 0 -} - -func (x *AddDefaultOverridesRequest) GetOrganizationID() int64 { - if x != nil { - return x.OrganizationID - } - return 0 -} - -func (x *AddDefaultOverridesRequest) GetProjectID() int64 { - if x != nil { - return x.ProjectID - } - return 0 -} - -func (x *AddDefaultOverridesRequest) GetPullSecret() string { - if x != nil { - return x.PullSecret - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetControlAddr() string { - if x != nil { - return x.ControlAddr - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetApiAddr() string { - if x != nil { - return x.ApiAddr - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetToken() string { - if x != nil { - return x.Token - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1EdgeMetadata() string { - if x != nil { - return x.V1EdgeMetadata - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1CACert() string { - if x != nil { - return x.V1CACert - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1WorkloadClientCert() string { - if x != nil { - return x.V1WorkloadClientCert - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1WorkloadClientKey() string { - if x != nil { - return x.V1WorkloadClientKey - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1PostgresPassword() string { - if x != nil { - return x.V1PostgresPassword - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1CryptoEdgeCert() string { - if x != nil { - return x.V1CryptoEdgeCert - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1CryptoEdgeKey() string { - if x != nil { - return x.V1CryptoEdgeKey - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1CrypotKMIKey() string { - if x != nil { - return x.V1CrypotKMIKey - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1EdgeID() string { - if x != nil { - return x.V1EdgeID - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1DebugCert() string { - if x != nil { - return x.V1DebugCert - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1DebugKey() string { - if x != nil { - return x.V1DebugKey - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1ConfigEdgeCert() string { - if x != nil { - return x.V1ConfigEdgeCert - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1ConfigEdgeKey() string { - if x != nil { - return x.V1ConfigEdgeKey - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1EdgeClientCert() string { - if x != nil { - return x.V1EdgeClientCert - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1EdgeClientKey() string { - if x != nil { - return x.V1EdgeClientKey - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1FluentdAggregatorAddr() string { - if x != nil { - return x.V1FluentdAggregatorAddr - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1AlertManagerYaml() string { - if x != nil { - return x.V1AlertManagerYaml - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1DeploymentEnv() string { - if x != nil { - return x.V1DeploymentEnv - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1InfluxDBFQDN() string { - if x != nil { - return x.V1InfluxDBFQDN - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1InfluxDBPassword() string { - if x != nil { - return x.V1InfluxDBPassword - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1PromethuesRelayFQDN() string { - if x != nil { - return x.V1PromethuesRelayFQDN - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV1EdgeDisplayName() string { - if x != nil { - return x.V1EdgeDisplayName - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetOrganizationHash() string { - if x != nil { - return x.OrganizationHash - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetPartnerHash() string { - if x != nil { - return x.PartnerHash - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetOrgDisplayName() string { - if x != nil { - return x.OrgDisplayName - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetPartnerDisplayName() string { - if x != nil { - return x.PartnerDisplayName - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV2EventFrmwkCert() string { - if x != nil { - return x.V2EventFrmwkCert - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV2EventFrmwkKey() string { - if x != nil { - return x.V2EventFrmwkKey - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetV2EventFrameworkFQDN() string { - if x != nil { - return x.V2EventFrameworkFQDN - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetProxyConfig() *ProxyConfig { - if x != nil { - return x.ProxyConfig - } - return nil -} - -func (x *AddDefaultOverridesRequest) GetConnectorPodSpecOverride() string { - if x != nil { - return x.ConnectorPodSpecOverride - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetConnectorContainerSpecOverride() string { - if x != nil { - return x.ConnectorContainerSpecOverride - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetIngressControllerOverride() string { - if x != nil { - return x.IngressControllerOverride - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetClusterType() string { - if x != nil { - return x.ClusterType - } - return "" -} - -func (x *AddDefaultOverridesRequest) GetCniProvider() string { - if x != nil { - return x.CniProvider - } - return "" -} - -type AddDefaultOverridesResponse struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *AddDefaultOverridesResponse) Reset() { - *x = AddDefaultOverridesResponse{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_rpc_config_override_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AddDefaultOverridesResponse) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AddDefaultOverridesResponse) ProtoMessage() {} - -func (x *AddDefaultOverridesResponse) ProtoReflect() protoreflect.Message { - mi := &file_proto_rpc_config_override_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AddDefaultOverridesResponse.ProtoReflect.Descriptor instead. -func (*AddDefaultOverridesResponse) Descriptor() ([]byte, []int) { - return file_proto_rpc_config_override_proto_rawDescGZIP(), []int{5} -} - -var File_proto_rpc_config_override_proto protoreflect.FileDescriptor - -var file_proto_rpc_config_override_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x14, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, - 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, - 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x18, 0x0a, 0x16, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x14, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, - 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x12, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x12, - 0x47, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x09, 0x6e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x73, 0x65, 0x74, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, - 0x73, 0x65, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, - 0x61, 0x74, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x0a, 0x61, 0x74, 0x6c, 0x65, 0x61, 0x73, 0x74, 0x4f, 0x6e, 0x65, 0x22, 0x60, 0x0a, 0x15, - 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0xf7, - 0x01, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, - 0x0a, 0x09, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1e, 0x0a, 0x0a, - 0x68, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x18, 0x0a, 0x07, - 0x6e, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6e, - 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x41, - 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x36, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, - 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x18, 0x0a, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x20, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x43, 0x41, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x62, 0x6f, 0x6f, - 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x41, 0x22, 0xc1, 0x0e, 0x0a, 0x1a, 0x41, 0x64, 0x64, - 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, - 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x70, 0x61, - 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, - 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, - 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, - 0x1c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x12, 0x1e, 0x0a, - 0x0a, 0x70, 0x75, 0x6c, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0a, 0x70, 0x75, 0x6c, 0x6c, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x12, 0x20, 0x0a, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x18, 0x0a, 0x07, 0x61, 0x70, 0x69, 0x41, 0x64, 0x64, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x07, 0x61, 0x70, 0x69, 0x41, 0x64, 0x64, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, - 0x65, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, - 0x26, 0x0a, 0x0e, 0x76, 0x31, 0x45, 0x64, 0x67, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x31, 0x45, 0x64, 0x67, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x31, 0x43, 0x41, 0x43, - 0x65, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x31, 0x43, 0x41, 0x43, - 0x65, 0x72, 0x74, 0x12, 0x32, 0x0a, 0x14, 0x76, 0x31, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x14, 0x76, 0x31, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x12, 0x30, 0x0a, 0x13, 0x76, 0x31, 0x57, 0x6f, 0x72, - 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x0c, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x76, 0x31, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, - 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x12, 0x2e, 0x0a, 0x12, 0x76, 0x31, 0x50, - 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, - 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x31, 0x50, 0x6f, 0x73, 0x74, 0x67, 0x72, 0x65, - 0x73, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x31, 0x43, - 0x72, 0x79, 0x70, 0x74, 0x6f, 0x45, 0x64, 0x67, 0x65, 0x43, 0x65, 0x72, 0x74, 0x18, 0x0e, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x31, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x45, 0x64, 0x67, - 0x65, 0x43, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x31, 0x43, 0x72, 0x79, 0x70, 0x74, - 0x6f, 0x45, 0x64, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x76, 0x31, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x45, 0x64, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, - 0x26, 0x0a, 0x0e, 0x76, 0x31, 0x43, 0x72, 0x79, 0x70, 0x6f, 0x74, 0x4b, 0x4d, 0x49, 0x4b, 0x65, - 0x79, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, 0x31, 0x43, 0x72, 0x79, 0x70, 0x6f, - 0x74, 0x4b, 0x4d, 0x49, 0x4b, 0x65, 0x79, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x31, 0x45, 0x64, 0x67, - 0x65, 0x49, 0x44, 0x18, 0x11, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x31, 0x45, 0x64, 0x67, - 0x65, 0x49, 0x44, 0x12, 0x20, 0x0a, 0x0b, 0x76, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, 0x43, 0x65, - 0x72, 0x74, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x76, 0x31, 0x44, 0x65, 0x62, 0x75, - 0x67, 0x43, 0x65, 0x72, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x76, 0x31, 0x44, 0x65, 0x62, 0x75, 0x67, - 0x4b, 0x65, 0x79, 0x18, 0x13, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x76, 0x31, 0x44, 0x65, 0x62, - 0x75, 0x67, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x31, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x45, 0x64, 0x67, 0x65, 0x43, 0x65, 0x72, 0x74, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x76, 0x31, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x64, 0x67, 0x65, 0x43, 0x65, 0x72, - 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x31, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x45, 0x64, 0x67, - 0x65, 0x4b, 0x65, 0x79, 0x18, 0x15, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x31, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x45, 0x64, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x12, 0x2a, 0x0a, 0x10, 0x76, - 0x31, 0x45, 0x64, 0x67, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x18, - 0x16, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x76, 0x31, 0x45, 0x64, 0x67, 0x65, 0x43, 0x6c, 0x69, - 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x31, 0x45, 0x64, 0x67, - 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x17, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x76, 0x31, 0x45, 0x64, 0x67, 0x65, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x4b, 0x65, - 0x79, 0x12, 0x38, 0x0a, 0x17, 0x76, 0x31, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x74, 0x64, 0x41, 0x67, - 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x18, 0x18, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x17, 0x76, 0x31, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x74, 0x64, 0x41, 0x67, 0x67, - 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x76, - 0x31, 0x41, 0x6c, 0x65, 0x72, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x59, 0x61, 0x6d, - 0x6c, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x31, 0x41, 0x6c, 0x65, 0x72, 0x74, - 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x59, 0x61, 0x6d, 0x6c, 0x12, 0x28, 0x0a, 0x0f, 0x76, - 0x31, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x18, 0x1a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x31, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, - 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x26, 0x0a, 0x0e, 0x76, 0x31, 0x49, 0x6e, 0x66, 0x6c, 0x75, - 0x78, 0x44, 0x42, 0x46, 0x51, 0x44, 0x4e, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x76, - 0x31, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x44, 0x42, 0x46, 0x51, 0x44, 0x4e, 0x12, 0x2e, 0x0a, - 0x12, 0x76, 0x31, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x44, 0x42, 0x50, 0x61, 0x73, 0x73, 0x77, - 0x6f, 0x72, 0x64, 0x18, 0x1c, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, 0x31, 0x49, 0x6e, 0x66, - 0x6c, 0x75, 0x78, 0x44, 0x42, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x34, 0x0a, - 0x15, 0x76, 0x31, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x75, 0x65, 0x73, 0x52, 0x65, 0x6c, - 0x61, 0x79, 0x46, 0x51, 0x44, 0x4e, 0x18, 0x1d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x15, 0x76, 0x31, - 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x75, 0x65, 0x73, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x46, - 0x51, 0x44, 0x4e, 0x12, 0x2c, 0x0a, 0x11, 0x76, 0x31, 0x45, 0x64, 0x67, 0x65, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, - 0x76, 0x31, 0x45, 0x64, 0x67, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x1f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, - 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x18, 0x20, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, 0x12, - 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x21, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, 0x61, 0x72, 0x74, 0x6e, - 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x22, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x76, 0x32, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x46, 0x72, 0x6d, 0x77, 0x6b, 0x43, 0x65, 0x72, 0x74, 0x18, 0x23, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x10, 0x76, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x6d, 0x77, 0x6b, 0x43, - 0x65, 0x72, 0x74, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x72, - 0x6d, 0x77, 0x6b, 0x4b, 0x65, 0x79, 0x18, 0x24, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x32, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x6d, 0x77, 0x6b, 0x4b, 0x65, 0x79, 0x12, 0x32, 0x0a, - 0x14, 0x56, 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, - 0x6b, 0x46, 0x51, 0x44, 0x4e, 0x18, 0x25, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x56, 0x32, 0x45, - 0x76, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x51, 0x44, - 0x4e, 0x12, 0x43, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x18, 0x26, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3a, 0x0a, 0x18, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x64, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x18, 0x27, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x50, 0x6f, 0x64, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x12, 0x46, 0x0a, 0x1e, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, - 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1e, 0x63, 0x6f, 0x6e, 0x6e, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x53, 0x70, - 0x65, 0x63, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x3c, 0x0a, 0x19, 0x69, 0x6e, - 0x67, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x18, 0x29, 0x20, 0x01, 0x28, 0x09, 0x52, 0x19, 0x69, - 0x6e, 0x67, 0x72, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x2a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6e, - 0x69, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x2b, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6e, 0x69, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x22, 0x1d, 0x0a, 0x1b, - 0x41, 0x64, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd0, 0x09, 0x0a, 0x08, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0xcb, 0x01, 0x0a, 0x0e, 0x43, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x20, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, - 0x75, 0x92, 0x41, 0x39, 0x4a, 0x37, 0x0a, 0x03, 0x32, 0x30, 0x31, 0x12, 0x30, 0x0a, 0x2e, 0x52, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x61, 0x73, - 0x6b, 0x73, 0x65, 0x74, 0x20, 0x69, 0x73, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x20, - 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x2e, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x33, 0x22, 0x2e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0x99, 0x01, 0x0a, 0x0b, 0x47, 0x65, 0x74, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x46, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x40, 0x12, 0x3e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, - 0x65, 0x7d, 0x12, 0x8f, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x24, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x30, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x12, 0x28, 0x2f, 0x76, 0x32, 0x2f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x2a, 0x7d, 0x2f, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x12, 0x9f, 0x01, 0x0a, 0x0e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x22, 0x49, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x43, 0x1a, 0x3e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, - 0x6d, 0x65, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0xe7, 0x01, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x1a, 0x2c, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x84, 0x01, 0x92, 0x41, 0x3b, 0x4a, - 0x39, 0x0a, 0x03, 0x32, 0x30, 0x34, 0x12, 0x32, 0x0a, 0x30, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x20, 0x69, 0x73, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x73, 0x75, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x40, - 0x2a, 0x3e, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, - 0x12, 0x8e, 0x01, 0x0a, 0x0d, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x12, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x41, 0x70, 0x70, 0x6c, 0x79, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x1e, 0x22, 0x19, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2f, 0x61, 0x70, 0x70, 0x6c, 0x79, 0x3a, 0x01, - 0x2a, 0x12, 0xaa, 0x01, 0x0a, 0x13, 0x41, 0x64, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x12, 0x30, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x70, 0x63, - 0x2e, 0x41, 0x64, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, - 0x70, 0x63, 0x2e, 0x41, 0x64, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x28, 0x22, 0x23, 0x2f, 0x76, 0x32, 0x2f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2f, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x42, 0xd8, - 0x04, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x0d, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, - 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x43, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, - 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x52, 0x70, 0x63, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, 0xdb, 0x02, 0x12, 0x24, 0x0a, 0x10, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, - 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, - 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, - 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, - 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, - 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, - 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, - 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, - 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, - 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, - 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, - 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, - 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, - 0x75, 0x74, 0x68, 0x12, 0x00, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, 0x01, 0xe0, 0xe2, 0x1e, - 0x01, 0xc0, 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} - -var ( - file_proto_rpc_config_override_proto_rawDescOnce sync.Once - file_proto_rpc_config_override_proto_rawDescData = file_proto_rpc_config_override_proto_rawDesc -) - -func file_proto_rpc_config_override_proto_rawDescGZIP() []byte { - file_proto_rpc_config_override_proto_rawDescOnce.Do(func() { - file_proto_rpc_config_override_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_rpc_config_override_proto_rawDescData) - }) - return file_proto_rpc_config_override_proto_rawDescData -} - -var file_proto_rpc_config_override_proto_msgTypes = make([]protoimpl.MessageInfo, 6) -var file_proto_rpc_config_override_proto_goTypes = []interface{}{ - (*DeleteOverrideResponse)(nil), // 0: rafay.dev.config.rpc.DeleteOverrideResponse - (*ApplyOverrideRequest)(nil), // 1: rafay.dev.config.rpc.ApplyOverrideRequest - (*ApplyOverrideResponse)(nil), // 2: rafay.dev.config.rpc.ApplyOverrideResponse - (*ProxyConfig)(nil), // 3: rafay.dev.config.rpc.ProxyConfig - (*AddDefaultOverridesRequest)(nil), // 4: rafay.dev.config.rpc.AddDefaultOverridesRequest - (*AddDefaultOverridesResponse)(nil), // 5: rafay.dev.config.rpc.AddDefaultOverridesResponse - (*config.NamespaceTemplate)(nil), // 6: rafay.dev.types.config.NamespaceTemplate - (*config.Override)(nil), // 7: rafay.dev.types.config.Override - (*v3.QueryOptions)(nil), // 8: rafay.dev.types.common.v3.QueryOptions - (*config.OverrideList)(nil), // 9: rafay.dev.types.config.OverrideList -} -var file_proto_rpc_config_override_proto_depIdxs = []int32{ - 6, // 0: rafay.dev.config.rpc.ApplyOverrideRequest.namespace:type_name -> rafay.dev.types.config.NamespaceTemplate - 6, // 1: rafay.dev.config.rpc.ApplyOverrideResponse.namespace:type_name -> rafay.dev.types.config.NamespaceTemplate - 3, // 2: rafay.dev.config.rpc.AddDefaultOverridesRequest.proxyConfig:type_name -> rafay.dev.config.rpc.ProxyConfig - 7, // 3: rafay.dev.config.rpc.Override.CreateOverride:input_type -> rafay.dev.types.config.Override - 7, // 4: rafay.dev.config.rpc.Override.GetOverride:input_type -> rafay.dev.types.config.Override - 8, // 5: rafay.dev.config.rpc.Override.GetOverrides:input_type -> rafay.dev.types.common.v3.QueryOptions - 7, // 6: rafay.dev.config.rpc.Override.UpdateOverride:input_type -> rafay.dev.types.config.Override - 7, // 7: rafay.dev.config.rpc.Override.DeleteOverride:input_type -> rafay.dev.types.config.Override - 1, // 8: rafay.dev.config.rpc.Override.ApplyOverride:input_type -> rafay.dev.config.rpc.ApplyOverrideRequest - 4, // 9: rafay.dev.config.rpc.Override.AddDefaultOverrides:input_type -> rafay.dev.config.rpc.AddDefaultOverridesRequest - 7, // 10: rafay.dev.config.rpc.Override.CreateOverride:output_type -> rafay.dev.types.config.Override - 7, // 11: rafay.dev.config.rpc.Override.GetOverride:output_type -> rafay.dev.types.config.Override - 9, // 12: rafay.dev.config.rpc.Override.GetOverrides:output_type -> rafay.dev.types.config.OverrideList - 7, // 13: rafay.dev.config.rpc.Override.UpdateOverride:output_type -> rafay.dev.types.config.Override - 0, // 14: rafay.dev.config.rpc.Override.DeleteOverride:output_type -> rafay.dev.config.rpc.DeleteOverrideResponse - 2, // 15: rafay.dev.config.rpc.Override.ApplyOverride:output_type -> rafay.dev.config.rpc.ApplyOverrideResponse - 5, // 16: rafay.dev.config.rpc.Override.AddDefaultOverrides:output_type -> rafay.dev.config.rpc.AddDefaultOverridesResponse - 10, // [10:17] is the sub-list for method output_type - 3, // [3:10] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name -} - -func init() { file_proto_rpc_config_override_proto_init() } -func file_proto_rpc_config_override_proto_init() { - if File_proto_rpc_config_override_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_rpc_config_override_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeleteOverrideResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_rpc_config_override_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyOverrideRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_rpc_config_override_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ApplyOverrideResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_rpc_config_override_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProxyConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_rpc_config_override_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddDefaultOverridesRequest); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_rpc_config_override_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AddDefaultOverridesResponse); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_rpc_config_override_proto_rawDesc, - NumEnums: 0, - NumMessages: 6, - NumExtensions: 0, - NumServices: 1, - }, - GoTypes: file_proto_rpc_config_override_proto_goTypes, - DependencyIndexes: file_proto_rpc_config_override_proto_depIdxs, - MessageInfos: file_proto_rpc_config_override_proto_msgTypes, - }.Build() - File_proto_rpc_config_override_proto = out.File - file_proto_rpc_config_override_proto_rawDesc = nil - file_proto_rpc_config_override_proto_goTypes = nil - file_proto_rpc_config_override_proto_depIdxs = nil -} diff --git a/components/common/proto/rpc/config/override.pb.gw.go b/components/common/proto/rpc/config/override.pb.gw.go deleted file mode 100644 index f0f5aad..0000000 --- a/components/common/proto/rpc/config/override.pb.gw.go +++ /dev/null @@ -1,891 +0,0 @@ -// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT. -// source: proto/rpc/config/override.proto - -/* -Package config is a reverse proxy. - -It translates gRPC into RESTful JSON APIs. -*/ -package config - -import ( - "context" - "io" - "net/http" - - "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/config" - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" - "google.golang.org/grpc" - "google.golang.org/grpc/codes" - "google.golang.org/grpc/grpclog" - "google.golang.org/grpc/metadata" - "google.golang.org/grpc/status" - "google.golang.org/protobuf/proto" -) - -// Suppress "imported and not used" errors -var _ codes.Code -var _ io.Reader -var _ status.Status -var _ = runtime.String -var _ = utilities.NewDoubleArray -var _ = metadata.Join - -func request_Override_CreateOverride_0(ctx context.Context, marshaler runtime.Marshaler, client OverrideClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq config.Override - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - msg, err := client.CreateOverride(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Override_CreateOverride_0(ctx context.Context, marshaler runtime.Marshaler, server OverrideServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq config.Override - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - msg, err := server.CreateOverride(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Override_GetOverride_0 = &utilities.DoubleArray{Encoding: map[string]int{"metadata": 0, "project": 1, "name": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} -) - -func request_Override_GetOverride_0(ctx context.Context, marshaler runtime.Marshaler, client OverrideClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq config.Override - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - val, ok = pathParams["metadata.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Override_GetOverride_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetOverride(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Override_GetOverride_0(ctx context.Context, marshaler runtime.Marshaler, server OverrideServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq config.Override - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - val, ok = pathParams["metadata.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Override_GetOverride_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetOverride(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Override_GetOverrides_0 = &utilities.DoubleArray{Encoding: map[string]int{"urlScope": 0}, Base: []int{1, 1, 0}, Check: []int{0, 1, 2}} -) - -func request_Override_GetOverrides_0(ctx context.Context, marshaler runtime.Marshaler, client OverrideClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq commonv3.QueryOptions - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["urlScope"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "urlScope") - } - - protoReq.UrlScope, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "urlScope", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Override_GetOverrides_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.GetOverrides(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Override_GetOverrides_0(ctx context.Context, marshaler runtime.Marshaler, server OverrideServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq commonv3.QueryOptions - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["urlScope"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "urlScope") - } - - protoReq.UrlScope, err = runtime.String(val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "urlScope", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Override_GetOverrides_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.GetOverrides(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Override_UpdateOverride_0(ctx context.Context, marshaler runtime.Marshaler, client OverrideClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq config.Override - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - val, ok = pathParams["metadata.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.name", err) - } - - msg, err := client.UpdateOverride(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Override_UpdateOverride_0(ctx context.Context, marshaler runtime.Marshaler, server OverrideServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq config.Override - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - val, ok = pathParams["metadata.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.name", err) - } - - msg, err := server.UpdateOverride(ctx, &protoReq) - return msg, metadata, err - -} - -var ( - filter_Override_DeleteOverride_0 = &utilities.DoubleArray{Encoding: map[string]int{"metadata": 0, "project": 1, "name": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} -) - -func request_Override_DeleteOverride_0(ctx context.Context, marshaler runtime.Marshaler, client OverrideClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq config.Override - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - val, ok = pathParams["metadata.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Override_DeleteOverride_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.DeleteOverride(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Override_DeleteOverride_0(ctx context.Context, marshaler runtime.Marshaler, server OverrideServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq config.Override - var metadata runtime.ServerMetadata - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - val, ok = pathParams["metadata.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.name", err) - } - - if err := req.ParseForm(); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_Override_DeleteOverride_0); err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.DeleteOverride(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Override_ApplyOverride_0(ctx context.Context, marshaler runtime.Marshaler, client OverrideClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ApplyOverrideRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.ApplyOverride(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Override_ApplyOverride_0(ctx context.Context, marshaler runtime.Marshaler, server OverrideServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq ApplyOverrideRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.ApplyOverride(ctx, &protoReq) - return msg, metadata, err - -} - -func request_Override_AddDefaultOverrides_0(ctx context.Context, marshaler runtime.Marshaler, client OverrideClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AddDefaultOverridesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.AddDefaultOverrides(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Override_AddDefaultOverrides_0(ctx context.Context, marshaler runtime.Marshaler, server OverrideServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq AddDefaultOverridesRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.AddDefaultOverrides(ctx, &protoReq) - return msg, metadata, err - -} - -// RegisterOverrideHandlerServer registers the http handlers for service Override to "mux". -// UnaryRPC :call OverrideServer directly. -// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. -// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterOverrideHandlerFromEndpoint instead. -func RegisterOverrideHandlerServer(ctx context.Context, mux *runtime.ServeMux, server OverrideServer) error { - - mux.Handle("POST", pattern_Override_CreateOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/CreateOverride", runtime.WithHTTPPathPattern("/v2/config/project/{metadata.project}/override")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Override_CreateOverride_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_CreateOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Override_GetOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/GetOverride", runtime.WithHTTPPathPattern("/v2/config/project/{metadata.project}/override/{metadata.name}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Override_GetOverride_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_GetOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Override_GetOverrides_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/GetOverrides", runtime.WithHTTPPathPattern("/v2/config/{urlScope=project/*}/override")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Override_GetOverrides_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_GetOverrides_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Override_UpdateOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/UpdateOverride", runtime.WithHTTPPathPattern("/v2/config/project/{metadata.project}/override/{metadata.name}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Override_UpdateOverride_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_UpdateOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_Override_DeleteOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/DeleteOverride", runtime.WithHTTPPathPattern("/v2/config/project/{metadata.project}/override/{metadata.name}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Override_DeleteOverride_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_DeleteOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Override_ApplyOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/ApplyOverride", runtime.WithHTTPPathPattern("/v2/config/override/apply")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Override_ApplyOverride_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_ApplyOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Override_AddDefaultOverrides_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/AddDefaultOverrides", runtime.WithHTTPPathPattern("/v2/config/override/default/cluster")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Override_AddDefaultOverrides_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_AddDefaultOverrides_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -// RegisterOverrideHandlerFromEndpoint is same as RegisterOverrideHandler but -// automatically dials to "endpoint" and closes the connection when "ctx" gets done. -func RegisterOverrideHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) { - conn, err := grpc.Dial(endpoint, opts...) - if err != nil { - return err - } - defer func() { - if err != nil { - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - return - } - go func() { - <-ctx.Done() - if cerr := conn.Close(); cerr != nil { - grpclog.Infof("Failed to close conn to %s: %v", endpoint, cerr) - } - }() - }() - - return RegisterOverrideHandler(ctx, mux, conn) -} - -// RegisterOverrideHandler registers the http handlers for service Override to "mux". -// The handlers forward requests to the grpc endpoint over "conn". -func RegisterOverrideHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error { - return RegisterOverrideHandlerClient(ctx, mux, NewOverrideClient(conn)) -} - -// RegisterOverrideHandlerClient registers the http handlers for service Override -// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "OverrideClient". -// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "OverrideClient" -// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in -// "OverrideClient" to call the correct interceptors. -func RegisterOverrideHandlerClient(ctx context.Context, mux *runtime.ServeMux, client OverrideClient) error { - - mux.Handle("POST", pattern_Override_CreateOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/CreateOverride", runtime.WithHTTPPathPattern("/v2/config/project/{metadata.project}/override")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Override_CreateOverride_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_CreateOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Override_GetOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/GetOverride", runtime.WithHTTPPathPattern("/v2/config/project/{metadata.project}/override/{metadata.name}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Override_GetOverride_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_GetOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("GET", pattern_Override_GetOverrides_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/GetOverrides", runtime.WithHTTPPathPattern("/v2/config/{urlScope=project/*}/override")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Override_GetOverrides_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_GetOverrides_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("PUT", pattern_Override_UpdateOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/UpdateOverride", runtime.WithHTTPPathPattern("/v2/config/project/{metadata.project}/override/{metadata.name}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Override_UpdateOverride_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_UpdateOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("DELETE", pattern_Override_DeleteOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/DeleteOverride", runtime.WithHTTPPathPattern("/v2/config/project/{metadata.project}/override/{metadata.name}")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Override_DeleteOverride_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_DeleteOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Override_ApplyOverride_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/ApplyOverride", runtime.WithHTTPPathPattern("/v2/config/override/apply")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Override_ApplyOverride_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_ApplyOverride_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - mux.Handle("POST", pattern_Override_AddDefaultOverrides_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.config.rpc.Override/AddDefaultOverrides", runtime.WithHTTPPathPattern("/v2/config/override/default/cluster")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Override_AddDefaultOverrides_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Override_AddDefaultOverrides_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - - return nil -} - -var ( - pattern_Override_CreateOverride_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4}, []string{"v2", "config", "project", "metadata.project", "override"}, "")) - - pattern_Override_GetOverride_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"v2", "config", "project", "metadata.project", "override", "metadata.name"}, "")) - - pattern_Override_GetOverrides_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 2, 5, 3, 2, 4}, []string{"v2", "config", "project", "urlScope", "override"}, "")) - - pattern_Override_UpdateOverride_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"v2", "config", "project", "metadata.project", "override", "metadata.name"}, "")) - - pattern_Override_DeleteOverride_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"v2", "config", "project", "metadata.project", "override", "metadata.name"}, "")) - - pattern_Override_ApplyOverride_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3}, []string{"v2", "config", "override", "apply"}, "")) - - pattern_Override_AddDefaultOverrides_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"v2", "config", "override", "default", "cluster"}, "")) -) - -var ( - forward_Override_CreateOverride_0 = runtime.ForwardResponseMessage - - forward_Override_GetOverride_0 = runtime.ForwardResponseMessage - - forward_Override_GetOverrides_0 = runtime.ForwardResponseMessage - - forward_Override_UpdateOverride_0 = runtime.ForwardResponseMessage - - forward_Override_DeleteOverride_0 = runtime.ForwardResponseMessage - - forward_Override_ApplyOverride_0 = runtime.ForwardResponseMessage - - forward_Override_AddDefaultOverrides_0 = runtime.ForwardResponseMessage -) diff --git a/components/common/proto/rpc/config/override.proto b/components/common/proto/rpc/config/override.proto deleted file mode 100644 index df5b1a2..0000000 --- a/components/common/proto/rpc/config/override.proto +++ /dev/null @@ -1,212 +0,0 @@ -syntax = "proto3"; -package rafay.dev.config.rpc; - -import "google/api/annotations.proto"; -import "gogoproto/gogo.proto"; -import "protoc-gen-openapiv2/options/annotations.proto"; -import "proto/types/commonpb/v3/common.proto"; -import "proto/types/config/namespace.proto"; -import "proto/types/config/override.proto"; - -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: { - title: "Override Service" - version: "2.0" - contact: { name: "Rafay Dev" } - } - schemes: HTTPS - consumes: "application/json" - consumes: "application/yaml" - produces: "application/json" - produces: "application/yaml" - security_definitions: { - security: { - key: "BasicAuth" - value: { type: TYPE_BASIC } - } - security: { - key: "ApiKeyAuth" - value: { type: TYPE_API_KEY in: IN_HEADER name: "X-RAFAY-API-KEYID" } - } - } - security: { - security_requirement: { - key: "BasicAuth" - value: {} - } - security_requirement: { - key: "ApiKeyAuth" - value: {} - } - } - responses: { - key: "403" - value: { - description: "Returned when the user does not have permission to access the resource." - } - } - responses: { - key: "404" - value: { - description: "Returned when the resource does not exist." - schema: { json_schema: { type: STRING } } - } - } -}; - -message DeleteOverrideResponse {} - -message ApplyOverrideRequest { - string selector = 1; - string type = 2; - sint64 partnerID = 3; - sint64 organizationID = 4; - sint64 projectID = 5; - rafay.dev.types.config.NamespaceTemplate namespace = 7; - bool setNamespace = 8; - bool atleastOne = 9; -} - -message ApplyOverrideResponse { - rafay.dev.types.config.NamespaceTemplate namespace = 2; -} - -message ProxyConfig { - string httpProxy = 1; - string httpsProxy = 2; - string noProxy = 3; - string proxyAuth = 4; - bool allowInsecureBootstrap = 5; - bool enabled = 6; - string bootstrapCA = 7; -} - -message AddDefaultOverridesRequest { - string clusterName = 1; - sint64 partnerID = 2; - sint64 organizationID = 3; - sint64 projectID = 4; - string pullSecret = 5; - string controlAddr = 6; - string apiAddr = 7; - string token = 8; - string v1EdgeMetadata = 9; - string v1CACert = 10; - string v1WorkloadClientCert = 11; - string v1WorkloadClientKey = 12; - string v1PostgresPassword = 13; - string v1CryptoEdgeCert = 14; - string v1CryptoEdgeKey = 15; - string v1CrypotKMIKey = 16; - string v1EdgeID = 17; - string v1DebugCert = 18; - string v1DebugKey = 19; - string v1ConfigEdgeCert = 20; - string v1ConfigEdgeKey = 21; - string v1EdgeClientCert = 22; - string v1EdgeClientKey = 23; - string v1FluentdAggregatorAddr = 24; - string v1AlertManagerYaml = 25; - string v1DeploymentEnv = 26; - string v1InfluxDBFQDN = 27; - string v1InfluxDBPassword = 28; - string v1PromethuesRelayFQDN = 29; - string v1EdgeDisplayName = 30; - string organizationHash = 31; - string partnerHash = 32; - string orgDisplayName = 33; - string partnerDisplayName = 34; - string v2EventFrmwkCert = 35; - string v2EventFrmwkKey = 36; - string V2EventFrameworkFQDN = 37; - ProxyConfig proxyConfig = 38; - string connectorPodSpecOverride = 39; - string connectorContainerSpecOverride = 40; - string ingressControllerOverride = 41; - string clusterType = 42; - string cniProvider = 43; -} - -message AddDefaultOverridesResponse {} - -service Override { - rpc CreateOverride(rafay.dev.types.config.Override) - returns (rafay.dev.types.config.Override) { - option (google.api.http) = { - post: "/v2/config/project/{metadata.project}/override" - body: "*" - }; - - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - responses: { - key: "201" - value: { description: "Returned when taskset is created successfully." } - } - }; - }; - - rpc GetOverride(rafay.dev.types.config.Override) - returns (rafay.dev.types.config.Override) { - option (google.api.http) = { - get: "/v2/config/project/{metadata.project}/override/{metadata.name}" - }; - }; - - rpc GetOverrides(rafay.dev.types.common.v3.QueryOptions) - returns (rafay.dev.types.config.OverrideList) { - option (google.api.http) = { - get: "/v2/config/{urlScope=project/*}/override" - }; - }; - - rpc UpdateOverride(rafay.dev.types.config.Override) - returns (rafay.dev.types.config.Override) { - option (google.api.http) = { - put: "/v2/config/project/{metadata.project}/override/{metadata.name}" - body: "*" - }; - }; - - rpc DeleteOverride(rafay.dev.types.config.Override) - returns (DeleteOverrideResponse) { - option (google.api.http) = { - delete: "/v2/config/project/{metadata.project}/override/{metadata.name}" - }; - - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = { - responses: { - key: "204" - value: { - description: "Returned when namespace is deleted successfully." - } - } - }; - }; - - rpc ApplyOverride(ApplyOverrideRequest) returns (ApplyOverrideResponse) { - option (google.api.http) = { - post: "/v2/config/override/apply" - body: "*" - }; - }; - - rpc AddDefaultOverrides(AddDefaultOverridesRequest) - returns (AddDefaultOverridesResponse) { - option (google.api.http) = { - post: "/v2/config/override/default/cluster" - body: "*" - }; - }; - -} \ No newline at end of file diff --git a/components/common/proto/rpc/config/override_grpc.pb.go b/components/common/proto/rpc/config/override_grpc.pb.go deleted file mode 100644 index 2668990..0000000 --- a/components/common/proto/rpc/config/override_grpc.pb.go +++ /dev/null @@ -1,321 +0,0 @@ -// Code generated by protoc-gen-go-grpc. DO NOT EDIT. -// versions: -// - protoc-gen-go-grpc v1.2.0 -// - protoc (unknown) -// source: proto/rpc/config/override.proto - -package config - -import ( - context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - config "github.com/RafaySystems/rcloud-base/components/common/proto/types/config" - grpc "google.golang.org/grpc" - codes "google.golang.org/grpc/codes" - status "google.golang.org/grpc/status" -) - -// This is a compile-time assertion to ensure that this generated file -// is compatible with the grpc package it is being compiled against. -// Requires gRPC-Go v1.32.0 or later. -const _ = grpc.SupportPackageIsVersion7 - -// OverrideClient is the client API for Override service. -// -// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. -type OverrideClient interface { - CreateOverride(ctx context.Context, in *config.Override, opts ...grpc.CallOption) (*config.Override, error) - GetOverride(ctx context.Context, in *config.Override, opts ...grpc.CallOption) (*config.Override, error) - GetOverrides(ctx context.Context, in *v3.QueryOptions, opts ...grpc.CallOption) (*config.OverrideList, error) - UpdateOverride(ctx context.Context, in *config.Override, opts ...grpc.CallOption) (*config.Override, error) - DeleteOverride(ctx context.Context, in *config.Override, opts ...grpc.CallOption) (*DeleteOverrideResponse, error) - ApplyOverride(ctx context.Context, in *ApplyOverrideRequest, opts ...grpc.CallOption) (*ApplyOverrideResponse, error) - AddDefaultOverrides(ctx context.Context, in *AddDefaultOverridesRequest, opts ...grpc.CallOption) (*AddDefaultOverridesResponse, error) -} - -type overrideClient struct { - cc grpc.ClientConnInterface -} - -func NewOverrideClient(cc grpc.ClientConnInterface) OverrideClient { - return &overrideClient{cc} -} - -func (c *overrideClient) CreateOverride(ctx context.Context, in *config.Override, opts ...grpc.CallOption) (*config.Override, error) { - out := new(config.Override) - err := c.cc.Invoke(ctx, "/rafay.dev.config.rpc.Override/CreateOverride", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *overrideClient) GetOverride(ctx context.Context, in *config.Override, opts ...grpc.CallOption) (*config.Override, error) { - out := new(config.Override) - err := c.cc.Invoke(ctx, "/rafay.dev.config.rpc.Override/GetOverride", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *overrideClient) GetOverrides(ctx context.Context, in *v3.QueryOptions, opts ...grpc.CallOption) (*config.OverrideList, error) { - out := new(config.OverrideList) - err := c.cc.Invoke(ctx, "/rafay.dev.config.rpc.Override/GetOverrides", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *overrideClient) UpdateOverride(ctx context.Context, in *config.Override, opts ...grpc.CallOption) (*config.Override, error) { - out := new(config.Override) - err := c.cc.Invoke(ctx, "/rafay.dev.config.rpc.Override/UpdateOverride", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *overrideClient) DeleteOverride(ctx context.Context, in *config.Override, opts ...grpc.CallOption) (*DeleteOverrideResponse, error) { - out := new(DeleteOverrideResponse) - err := c.cc.Invoke(ctx, "/rafay.dev.config.rpc.Override/DeleteOverride", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *overrideClient) ApplyOverride(ctx context.Context, in *ApplyOverrideRequest, opts ...grpc.CallOption) (*ApplyOverrideResponse, error) { - out := new(ApplyOverrideResponse) - err := c.cc.Invoke(ctx, "/rafay.dev.config.rpc.Override/ApplyOverride", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -func (c *overrideClient) AddDefaultOverrides(ctx context.Context, in *AddDefaultOverridesRequest, opts ...grpc.CallOption) (*AddDefaultOverridesResponse, error) { - out := new(AddDefaultOverridesResponse) - err := c.cc.Invoke(ctx, "/rafay.dev.config.rpc.Override/AddDefaultOverrides", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - -// OverrideServer is the server API for Override service. -// All implementations should embed UnimplementedOverrideServer -// for forward compatibility -type OverrideServer interface { - CreateOverride(context.Context, *config.Override) (*config.Override, error) - GetOverride(context.Context, *config.Override) (*config.Override, error) - GetOverrides(context.Context, *v3.QueryOptions) (*config.OverrideList, error) - UpdateOverride(context.Context, *config.Override) (*config.Override, error) - DeleteOverride(context.Context, *config.Override) (*DeleteOverrideResponse, error) - ApplyOverride(context.Context, *ApplyOverrideRequest) (*ApplyOverrideResponse, error) - AddDefaultOverrides(context.Context, *AddDefaultOverridesRequest) (*AddDefaultOverridesResponse, error) -} - -// UnimplementedOverrideServer should be embedded to have forward compatible implementations. -type UnimplementedOverrideServer struct { -} - -func (UnimplementedOverrideServer) CreateOverride(context.Context, *config.Override) (*config.Override, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreateOverride not implemented") -} -func (UnimplementedOverrideServer) GetOverride(context.Context, *config.Override) (*config.Override, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetOverride not implemented") -} -func (UnimplementedOverrideServer) GetOverrides(context.Context, *v3.QueryOptions) (*config.OverrideList, error) { - return nil, status.Errorf(codes.Unimplemented, "method GetOverrides not implemented") -} -func (UnimplementedOverrideServer) UpdateOverride(context.Context, *config.Override) (*config.Override, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateOverride not implemented") -} -func (UnimplementedOverrideServer) DeleteOverride(context.Context, *config.Override) (*DeleteOverrideResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method DeleteOverride not implemented") -} -func (UnimplementedOverrideServer) ApplyOverride(context.Context, *ApplyOverrideRequest) (*ApplyOverrideResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method ApplyOverride not implemented") -} -func (UnimplementedOverrideServer) AddDefaultOverrides(context.Context, *AddDefaultOverridesRequest) (*AddDefaultOverridesResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method AddDefaultOverrides not implemented") -} - -// UnsafeOverrideServer may be embedded to opt out of forward compatibility for this service. -// Use of this interface is not recommended, as added methods to OverrideServer will -// result in compilation errors. -type UnsafeOverrideServer interface { - mustEmbedUnimplementedOverrideServer() -} - -func RegisterOverrideServer(s grpc.ServiceRegistrar, srv OverrideServer) { - s.RegisterService(&Override_ServiceDesc, srv) -} - -func _Override_CreateOverride_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(config.Override) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OverrideServer).CreateOverride(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.config.rpc.Override/CreateOverride", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OverrideServer).CreateOverride(ctx, req.(*config.Override)) - } - return interceptor(ctx, in, info, handler) -} - -func _Override_GetOverride_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(config.Override) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OverrideServer).GetOverride(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.config.rpc.Override/GetOverride", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OverrideServer).GetOverride(ctx, req.(*config.Override)) - } - return interceptor(ctx, in, info, handler) -} - -func _Override_GetOverrides_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v3.QueryOptions) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OverrideServer).GetOverrides(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.config.rpc.Override/GetOverrides", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OverrideServer).GetOverrides(ctx, req.(*v3.QueryOptions)) - } - return interceptor(ctx, in, info, handler) -} - -func _Override_UpdateOverride_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(config.Override) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OverrideServer).UpdateOverride(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.config.rpc.Override/UpdateOverride", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OverrideServer).UpdateOverride(ctx, req.(*config.Override)) - } - return interceptor(ctx, in, info, handler) -} - -func _Override_DeleteOverride_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(config.Override) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OverrideServer).DeleteOverride(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.config.rpc.Override/DeleteOverride", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OverrideServer).DeleteOverride(ctx, req.(*config.Override)) - } - return interceptor(ctx, in, info, handler) -} - -func _Override_ApplyOverride_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(ApplyOverrideRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OverrideServer).ApplyOverride(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.config.rpc.Override/ApplyOverride", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OverrideServer).ApplyOverride(ctx, req.(*ApplyOverrideRequest)) - } - return interceptor(ctx, in, info, handler) -} - -func _Override_AddDefaultOverrides_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(AddDefaultOverridesRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(OverrideServer).AddDefaultOverrides(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.config.rpc.Override/AddDefaultOverrides", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(OverrideServer).AddDefaultOverrides(ctx, req.(*AddDefaultOverridesRequest)) - } - return interceptor(ctx, in, info, handler) -} - -// Override_ServiceDesc is the grpc.ServiceDesc for Override service. -// It's only intended for direct use with grpc.RegisterService, -// and not to be introspected or modified (even as a copy) -var Override_ServiceDesc = grpc.ServiceDesc{ - ServiceName: "rafay.dev.config.rpc.Override", - HandlerType: (*OverrideServer)(nil), - Methods: []grpc.MethodDesc{ - { - MethodName: "CreateOverride", - Handler: _Override_CreateOverride_Handler, - }, - { - MethodName: "GetOverride", - Handler: _Override_GetOverride_Handler, - }, - { - MethodName: "GetOverrides", - Handler: _Override_GetOverrides_Handler, - }, - { - MethodName: "UpdateOverride", - Handler: _Override_UpdateOverride_Handler, - }, - { - MethodName: "DeleteOverride", - Handler: _Override_DeleteOverride_Handler, - }, - { - MethodName: "ApplyOverride", - Handler: _Override_ApplyOverride_Handler, - }, - { - MethodName: "AddDefaultOverrides", - Handler: _Override_AddDefaultOverrides_Handler, - }, - }, - Streams: []grpc.StreamDesc{}, - Metadata: "proto/rpc/config/override.proto", -} diff --git a/components/common/proto/types/config/config.pb.go b/components/common/proto/types/config/config.pb.go deleted file mode 100644 index 9a5b4e2..0000000 --- a/components/common/proto/types/config/config.pb.go +++ /dev/null @@ -1,3024 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/types/config/config.proto - -package config - -import ( - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - controller "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" - _ "github.com/gogo/protobuf/gogoproto" - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" - _ "k8s.io/api/extensions/v1beta1" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type SnapshotRefType int32 - -const ( - SnapshotRefType_SnapshotTaskSet SnapshotRefType = 0 - SnapshotRefType_SnapshotWorkload SnapshotRefType = 1 -) - -// Enum value maps for SnapshotRefType. -var ( - SnapshotRefType_name = map[int32]string{ - 0: "SnapshotTaskSet", - 1: "SnapshotWorkload", - } - SnapshotRefType_value = map[string]int32{ - "SnapshotTaskSet": 0, - "SnapshotWorkload": 1, - } -) - -func (x SnapshotRefType) Enum() *SnapshotRefType { - p := new(SnapshotRefType) - *p = x - return p -} - -func (x SnapshotRefType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (SnapshotRefType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_config_proto_enumTypes[0].Descriptor() -} - -func (SnapshotRefType) Type() protoreflect.EnumType { - return &file_proto_types_config_config_proto_enumTypes[0] -} - -func (x SnapshotRefType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use SnapshotRefType.Descriptor instead. -func (SnapshotRefType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{0} -} - -type WorkloadType int32 - -const ( - WorkloadType_NativeYaml WorkloadType = 0 - WorkloadType_Helm WorkloadType = 1 - WorkloadType_NativeHelm WorkloadType = 2 - WorkloadType_Rafay WorkloadType = 3 - WorkloadType_HelmInGitRepo WorkloadType = 4 - WorkloadType_YamlInGitRepo WorkloadType = 5 - WorkloadType_HelmInHelmRepo WorkloadType = 6 -) - -// Enum value maps for WorkloadType. -var ( - WorkloadType_name = map[int32]string{ - 0: "NativeYaml", - 1: "Helm", - 2: "NativeHelm", - 3: "Rafay", - 4: "HelmInGitRepo", - 5: "YamlInGitRepo", - 6: "HelmInHelmRepo", - } - WorkloadType_value = map[string]int32{ - "NativeYaml": 0, - "Helm": 1, - "NativeHelm": 2, - "Rafay": 3, - "HelmInGitRepo": 4, - "YamlInGitRepo": 5, - "HelmInHelmRepo": 6, - } -) - -func (x WorkloadType) Enum() *WorkloadType { - p := new(WorkloadType) - *p = x - return p -} - -func (x WorkloadType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WorkloadType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_config_proto_enumTypes[1].Descriptor() -} - -func (WorkloadType) Type() protoreflect.EnumType { - return &file_proto_types_config_config_proto_enumTypes[1] -} - -func (x WorkloadType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use WorkloadType.Descriptor instead. -func (WorkloadType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{1} -} - -type ArtifactType int32 - -const ( - ArtifactType_ArtifactTypeNotSet ArtifactType = 0 - ArtifactType_RafayWizardWorkload ArtifactType = 1 - ArtifactType_HelmChart ArtifactType = 2 - ArtifactType_NativeYAML ArtifactType = 3 - ArtifactType_GitRepoWithHelm ArtifactType = 4 - ArtifactType_GitRepoWithNativeYAML ArtifactType = 5 - ArtifactType_HelmRepo ArtifactType = 6 - ArtifactType_RafayVMWizardWorkload ArtifactType = 7 -) - -// Enum value maps for ArtifactType. -var ( - ArtifactType_name = map[int32]string{ - 0: "ArtifactTypeNotSet", - 1: "RafayWizardWorkload", - 2: "HelmChart", - 3: "NativeYAML", - 4: "GitRepoWithHelm", - 5: "GitRepoWithNativeYAML", - 6: "HelmRepo", - 7: "RafayVMWizardWorkload", - } - ArtifactType_value = map[string]int32{ - "ArtifactTypeNotSet": 0, - "RafayWizardWorkload": 1, - "HelmChart": 2, - "NativeYAML": 3, - "GitRepoWithHelm": 4, - "GitRepoWithNativeYAML": 5, - "HelmRepo": 6, - "RafayVMWizardWorkload": 7, - } -) - -func (x ArtifactType) Enum() *ArtifactType { - p := new(ArtifactType) - *p = x - return p -} - -func (x ArtifactType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ArtifactType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_config_proto_enumTypes[2].Descriptor() -} - -func (ArtifactType) Type() protoreflect.EnumType { - return &file_proto_types_config_config_proto_enumTypes[2] -} - -func (x ArtifactType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ArtifactType.Descriptor instead. -func (ArtifactType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{2} -} - -type FileType int32 - -const ( - FileType_FileTypeNotSet FileType = 0 - FileType_K8sYAMLFile FileType = 1 - FileType_HelmChartFile FileType = 2 - FileType_HelmValuesFile FileType = 3 - FileType_JSONFile FileType = 4 -) - -// Enum value maps for FileType. -var ( - FileType_name = map[int32]string{ - 0: "FileTypeNotSet", - 1: "K8sYAMLFile", - 2: "HelmChartFile", - 3: "HelmValuesFile", - 4: "JSONFile", - } - FileType_value = map[string]int32{ - "FileTypeNotSet": 0, - "K8sYAMLFile": 1, - "HelmChartFile": 2, - "HelmValuesFile": 3, - "JSONFile": 4, - } -) - -func (x FileType) Enum() *FileType { - p := new(FileType) - *p = x - return p -} - -func (x FileType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (FileType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_config_proto_enumTypes[3].Descriptor() -} - -func (FileType) Type() protoreflect.EnumType { - return &file_proto_types_config_config_proto_enumTypes[3] -} - -func (x FileType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use FileType.Descriptor instead. -func (FileType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{3} -} - -type HealthStatus int32 - -const ( - HealthStatus_UNKNOWN HealthStatus = 0 - HealthStatus_HEALTHY HealthStatus = 1 - HealthStatus_UNHEALTHY HealthStatus = 2 - HealthStatus_INACTIVE HealthStatus = 3 -) - -// Enum value maps for HealthStatus. -var ( - HealthStatus_name = map[int32]string{ - 0: "UNKNOWN", - 1: "HEALTHY", - 2: "UNHEALTHY", - 3: "INACTIVE", - } - HealthStatus_value = map[string]int32{ - "UNKNOWN": 0, - "HEALTHY": 1, - "UNHEALTHY": 2, - "INACTIVE": 3, - } -) - -func (x HealthStatus) Enum() *HealthStatus { - p := new(HealthStatus) - *p = x - return p -} - -func (x HealthStatus) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (HealthStatus) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_config_proto_enumTypes[4].Descriptor() -} - -func (HealthStatus) Type() protoreflect.EnumType { - return &file_proto_types_config_config_proto_enumTypes[4] -} - -func (x HealthStatus) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use HealthStatus.Descriptor instead. -func (HealthStatus) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{4} -} - -type ShareMode int32 - -const ( - ShareMode_ShareModeNotSet ShareMode = 0 - ShareMode_ALL ShareMode = 1 - ShareMode_CUSTOM ShareMode = 2 -) - -// Enum value maps for ShareMode. -var ( - ShareMode_name = map[int32]string{ - 0: "ShareModeNotSet", - 1: "ALL", - 2: "CUSTOM", - } - ShareMode_value = map[string]int32{ - "ShareModeNotSet": 0, - "ALL": 1, - "CUSTOM": 2, - } -) - -func (x ShareMode) Enum() *ShareMode { - p := new(ShareMode) - *p = x - return p -} - -func (x ShareMode) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ShareMode) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_config_proto_enumTypes[5].Descriptor() -} - -func (ShareMode) Type() protoreflect.EnumType { - return &file_proto_types_config_config_proto_enumTypes[5] -} - -func (x ShareMode) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ShareMode.Descriptor instead. -func (ShareMode) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{5} -} - -// SnapshotRef -// -// SnapshotRef refers to a published snapshot of a taskset/workload -type SnapshotRef struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - PublishedGeneration string `protobuf:"bytes,2,opt,name=publishedGeneration,proto3" json:"publishedGeneration,omitempty"` - Selector string `protobuf:"bytes,3,opt,name=selector,proto3" json:"selector,omitempty"` - Revision int64 `protobuf:"zigzag64,4,opt,name=revision,proto3" json:"revision,omitempty"` - WorkloadID string `protobuf:"bytes,5,opt,name=workloadID,proto3" json:"workloadID,omitempty"` - RefType SnapshotRefType `protobuf:"varint,6,opt,name=refType,proto3,enum=rafay.dev.types.config.SnapshotRefType" json:"refType,omitempty"` - Version string `protobuf:"bytes,7,opt,name=version,proto3" json:"version,omitempty"` - IsGlobal bool `protobuf:"varint,8,opt,name=isGlobal,proto3" json:"isGlobal,omitempty"` - ComponentType string `protobuf:"bytes,9,opt,name=componentType,proto3" json:"componentType,omitempty"` - DependsOn []string `protobuf:"bytes,10,rep,name=dependsOn,proto3" json:"dependsOn,omitempty"` -} - -func (x *SnapshotRef) Reset() { - *x = SnapshotRef{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *SnapshotRef) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*SnapshotRef) ProtoMessage() {} - -func (x *SnapshotRef) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use SnapshotRef.ProtoReflect.Descriptor instead. -func (*SnapshotRef) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{0} -} - -func (x *SnapshotRef) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *SnapshotRef) GetPublishedGeneration() string { - if x != nil { - return x.PublishedGeneration - } - return "" -} - -func (x *SnapshotRef) GetSelector() string { - if x != nil { - return x.Selector - } - return "" -} - -func (x *SnapshotRef) GetRevision() int64 { - if x != nil { - return x.Revision - } - return 0 -} - -func (x *SnapshotRef) GetWorkloadID() string { - if x != nil { - return x.WorkloadID - } - return "" -} - -func (x *SnapshotRef) GetRefType() SnapshotRefType { - if x != nil { - return x.RefType - } - return SnapshotRefType_SnapshotTaskSet -} - -func (x *SnapshotRef) GetVersion() string { - if x != nil { - return x.Version - } - return "" -} - -func (x *SnapshotRef) GetIsGlobal() bool { - if x != nil { - return x.IsGlobal - } - return false -} - -func (x *SnapshotRef) GetComponentType() string { - if x != nil { - return x.ComponentType - } - return "" -} - -func (x *SnapshotRef) GetDependsOn() []string { - if x != nil { - return x.DependsOn - } - return nil -} - -type DiscoveryConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Resource string `protobuf:"bytes,2,opt,name=resource,proto3" json:"resource,omitempty"` - Labels map[string]string `protobuf:"bytes,3,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` -} - -func (x *DiscoveryConfig) Reset() { - *x = DiscoveryConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DiscoveryConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DiscoveryConfig) ProtoMessage() {} - -func (x *DiscoveryConfig) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DiscoveryConfig.ProtoReflect.Descriptor instead. -func (*DiscoveryConfig) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{1} -} - -func (x *DiscoveryConfig) GetNamespace() string { - if x != nil { - return x.Namespace - } - return "" -} - -func (x *DiscoveryConfig) GetResource() string { - if x != nil { - return x.Resource - } - return "" -} - -func (x *DiscoveryConfig) GetLabels() map[string]string { - if x != nil { - return x.Labels - } - return nil -} - -type ResourceRequirements struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Limits *ResourceQuantity `protobuf:"bytes,1,opt,name=limits,proto3" json:"limits,omitempty"` -} - -func (x *ResourceRequirements) Reset() { - *x = ResourceRequirements{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResourceRequirements) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResourceRequirements) ProtoMessage() {} - -func (x *ResourceRequirements) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResourceRequirements.ProtoReflect.Descriptor instead. -func (*ResourceRequirements) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{2} -} - -func (x *ResourceRequirements) GetLimits() *ResourceQuantity { - if x != nil { - return x.Limits - } - return nil -} - -type ResourceQuantity struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Memory string `protobuf:"bytes,1,opt,name=memory,proto3" json:"memory,omitempty"` - Cpu string `protobuf:"bytes,2,opt,name=cpu,proto3" json:"cpu,omitempty"` -} - -func (x *ResourceQuantity) Reset() { - *x = ResourceQuantity{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResourceQuantity) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResourceQuantity) ProtoMessage() {} - -func (x *ResourceQuantity) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResourceQuantity.ProtoReflect.Descriptor instead. -func (*ResourceQuantity) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{3} -} - -func (x *ResourceQuantity) GetMemory() string { - if x != nil { - return x.Memory - } - return "" -} - -func (x *ResourceQuantity) GetCpu() string { - if x != nil { - return x.Cpu - } - return "" -} - -type ComponentConfig struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Disable bool `protobuf:"varint,1,opt,name=disable,proto3" json:"disable,omitempty"` - // optional - DiscoveryConfig *DiscoveryConfig `protobuf:"bytes,2,opt,name=discoveryConfig,proto3" json:"discoveryConfig,omitempty"` -} - -func (x *ComponentConfig) Reset() { - *x = ComponentConfig{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ComponentConfig) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ComponentConfig) ProtoMessage() {} - -func (x *ComponentConfig) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ComponentConfig.ProtoReflect.Descriptor instead. -func (*ComponentConfig) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{4} -} - -func (x *ComponentConfig) GetDisable() bool { - if x != nil { - return x.Disable - } - return false -} - -func (x *ComponentConfig) GetDiscoveryConfig() *DiscoveryConfig { - if x != nil { - return x.DiscoveryConfig - } - return nil -} - -type PrometheusCustomization struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PrometheusAdapter *ComponentConfig `protobuf:"bytes,1,opt,name=prometheusAdapter,proto3" json:"prometheusAdapter,omitempty"` - MetricsServer *ComponentConfig `protobuf:"bytes,2,opt,name=metricsServer,proto3" json:"metricsServer,omitempty"` - KubeStateMetrics *ComponentConfig `protobuf:"bytes,3,opt,name=kubeStateMetrics,proto3" json:"kubeStateMetrics,omitempty"` - NodeExporter *ComponentConfig `protobuf:"bytes,4,opt,name=nodeExporter,proto3" json:"nodeExporter,omitempty"` - HelmExporter *ComponentConfig `protobuf:"bytes,5,opt,name=helmExporter,proto3" json:"helmExporter,omitempty"` - Resources *ResourceRequirements `protobuf:"bytes,6,opt,name=resources,proto3" json:"resources,omitempty"` -} - -func (x *PrometheusCustomization) Reset() { - *x = PrometheusCustomization{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PrometheusCustomization) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PrometheusCustomization) ProtoMessage() {} - -func (x *PrometheusCustomization) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PrometheusCustomization.ProtoReflect.Descriptor instead. -func (*PrometheusCustomization) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{5} -} - -func (x *PrometheusCustomization) GetPrometheusAdapter() *ComponentConfig { - if x != nil { - return x.PrometheusAdapter - } - return nil -} - -func (x *PrometheusCustomization) GetMetricsServer() *ComponentConfig { - if x != nil { - return x.MetricsServer - } - return nil -} - -func (x *PrometheusCustomization) GetKubeStateMetrics() *ComponentConfig { - if x != nil { - return x.KubeStateMetrics - } - return nil -} - -func (x *PrometheusCustomization) GetNodeExporter() *ComponentConfig { - if x != nil { - return x.NodeExporter - } - return nil -} - -func (x *PrometheusCustomization) GetHelmExporter() *ComponentConfig { - if x != nil { - return x.HelmExporter - } - return nil -} - -func (x *PrometheusCustomization) GetResources() *ResourceRequirements { - if x != nil { - return x.Resources - } - return nil -} - -// TaskTemplate is the template for creating task -type TaskTemplate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ObjectMeta *v1.ObjectMeta `protobuf:"bytes,1,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"` - Spec *controller.TaskSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` -} - -func (x *TaskTemplate) Reset() { - *x = TaskTemplate{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TaskTemplate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TaskTemplate) ProtoMessage() {} - -func (x *TaskTemplate) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TaskTemplate.ProtoReflect.Descriptor instead. -func (*TaskTemplate) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{6} -} - -func (x *TaskTemplate) GetObjectMeta() *v1.ObjectMeta { - if x != nil { - return x.ObjectMeta - } - return nil -} - -func (x *TaskTemplate) GetSpec() *controller.TaskSpec { - if x != nil { - return x.Spec - } - return nil -} - -// TaskStatusTemplate is the template for sending status of the task -type TaskStatusTemplate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ObjectMeta *v1.ObjectMeta `protobuf:"bytes,1,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"` - Status *controller.TaskStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *TaskStatusTemplate) Reset() { - *x = TaskStatusTemplate{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TaskStatusTemplate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TaskStatusTemplate) ProtoMessage() {} - -func (x *TaskStatusTemplate) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TaskStatusTemplate.ProtoReflect.Descriptor instead. -func (*TaskStatusTemplate) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{7} -} - -func (x *TaskStatusTemplate) GetObjectMeta() *v1.ObjectMeta { - if x != nil { - return x.ObjectMeta - } - return nil -} - -func (x *TaskStatusTemplate) GetStatus() *controller.TaskStatus { - if x != nil { - return x.Status - } - return nil -} - -type V2Workload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkloadType WorkloadType `protobuf:"varint,1,opt,name=workloadType,proto3,enum=rafay.dev.types.config.WorkloadType" json:"workloadType,omitempty"` - IsSystemWorkload bool `protobuf:"varint,2,opt,name=isSystemWorkload,proto3" json:"isSystemWorkload,omitempty"` - WorkloadName string `protobuf:"bytes,3,opt,name=workloadName,proto3" json:"workloadName,omitempty"` - Payload []byte `protobuf:"bytes,4,opt,name=payload,proto3" json:"payload,omitempty"` -} - -func (x *V2Workload) Reset() { - *x = V2Workload{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *V2Workload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*V2Workload) ProtoMessage() {} - -func (x *V2Workload) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use V2Workload.ProtoReflect.Descriptor instead. -func (*V2Workload) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{8} -} - -func (x *V2Workload) GetWorkloadType() WorkloadType { - if x != nil { - return x.WorkloadType - } - return WorkloadType_NativeYaml -} - -func (x *V2Workload) GetIsSystemWorkload() bool { - if x != nil { - return x.IsSystemWorkload - } - return false -} - -func (x *V2Workload) GetWorkloadName() string { - if x != nil { - return x.WorkloadName - } - return "" -} - -func (x *V2Workload) GetPayload() []byte { - if x != nil { - return x.Payload - } - return nil -} - -type FileMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - FileType FileType `protobuf:"varint,2,opt,name=fileType,proto3,enum=rafay.dev.types.config.FileType" json:"fileType,omitempty"` - FileSize int64 `protobuf:"zigzag64,3,opt,name=fileSize,proto3" json:"fileSize,omitempty"` -} - -func (x *FileMeta) Reset() { - *x = FileMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *FileMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*FileMeta) ProtoMessage() {} - -func (x *FileMeta) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use FileMeta.ProtoReflect.Descriptor instead. -func (*FileMeta) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{9} -} - -func (x *FileMeta) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *FileMeta) GetFileType() FileType { - if x != nil { - return x.FileType - } - return FileType_FileTypeNotSet -} - -func (x *FileMeta) GetFileSize() int64 { - if x != nil { - return x.FileSize - } - return 0 -} - -type PipelineMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PipelineID string `protobuf:"bytes,1,opt,name=pipelineID,proto3" json:"pipelineID,omitempty"` - InstanceID int64 `protobuf:"zigzag64,2,opt,name=instanceID,proto3" json:"instanceID,omitempty"` - StageName string `protobuf:"bytes,3,opt,name=stageName,proto3" json:"stageName,omitempty"` -} - -func (x *PipelineMeta) Reset() { - *x = PipelineMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PipelineMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PipelineMeta) ProtoMessage() {} - -func (x *PipelineMeta) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PipelineMeta.ProtoReflect.Descriptor instead. -func (*PipelineMeta) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{10} -} - -func (x *PipelineMeta) GetPipelineID() string { - if x != nil { - return x.PipelineID - } - return "" -} - -func (x *PipelineMeta) GetInstanceID() int64 { - if x != nil { - return x.InstanceID - } - return 0 -} - -func (x *PipelineMeta) GetStageName() string { - if x != nil { - return x.StageName - } - return "" -} - -type ClusterMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClusterID string `protobuf:"bytes,1,opt,name=clusterID,proto3" json:"clusterID,omitempty"` - ClusterName string `protobuf:"bytes,2,opt,name=clusterName,proto3" json:"clusterName,omitempty"` - Reason string `protobuf:"bytes,3,opt,name=reason,proto3" json:"reason,omitempty"` - Deleted bool `protobuf:"varint,4,opt,name=deleted,proto3" json:"deleted,omitempty"` - IngressIPs []string `protobuf:"bytes,5,rep,name=ingressIPs,proto3" json:"ingressIPs,omitempty"` -} - -func (x *ClusterMeta) Reset() { - *x = ClusterMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterMeta) ProtoMessage() {} - -func (x *ClusterMeta) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterMeta.ProtoReflect.Descriptor instead. -func (*ClusterMeta) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{11} -} - -func (x *ClusterMeta) GetClusterID() string { - if x != nil { - return x.ClusterID - } - return "" -} - -func (x *ClusterMeta) GetClusterName() string { - if x != nil { - return x.ClusterName - } - return "" -} - -func (x *ClusterMeta) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -func (x *ClusterMeta) GetDeleted() bool { - if x != nil { - return x.Deleted - } - return false -} - -func (x *ClusterMeta) GetIngressIPs() []string { - if x != nil { - return x.IngressIPs - } - return nil -} - -type RepoArtifactMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Git *GitOptions `protobuf:"bytes,1,opt,name=git,proto3" json:"git,omitempty"` - Helm *HelmOptions `protobuf:"bytes,2,opt,name=helm,proto3" json:"helm,omitempty"` - Timeout int64 `protobuf:"varint,3,opt,name=timeout,proto3" json:"timeout,omitempty"` -} - -func (x *RepoArtifactMeta) Reset() { - *x = RepoArtifactMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RepoArtifactMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RepoArtifactMeta) ProtoMessage() {} - -func (x *RepoArtifactMeta) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RepoArtifactMeta.ProtoReflect.Descriptor instead. -func (*RepoArtifactMeta) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{12} -} - -func (x *RepoArtifactMeta) GetGit() *GitOptions { - if x != nil { - return x.Git - } - return nil -} - -func (x *RepoArtifactMeta) GetHelm() *HelmOptions { - if x != nil { - return x.Helm - } - return nil -} - -func (x *RepoArtifactMeta) GetTimeout() int64 { - if x != nil { - return x.Timeout - } - return 0 -} - -type GitOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Revision string `protobuf:"bytes,1,opt,name=revision,proto3" json:"revision,omitempty"` - RepoArtifactFiles []*RepoFile `protobuf:"bytes,2,rep,name=repoArtifactFiles,proto3" json:"repoArtifactFiles,omitempty"` -} - -func (x *GitOptions) Reset() { - *x = GitOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *GitOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*GitOptions) ProtoMessage() {} - -func (x *GitOptions) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use GitOptions.ProtoReflect.Descriptor instead. -func (*GitOptions) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{13} -} - -func (x *GitOptions) GetRevision() string { - if x != nil { - return x.Revision - } - return "" -} - -func (x *GitOptions) GetRepoArtifactFiles() []*RepoFile { - if x != nil { - return x.RepoArtifactFiles - } - return nil -} - -type HelmOptions struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ChartName string `protobuf:"bytes,1,opt,name=chartName,proto3" json:"chartName,omitempty"` - Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"` -} - -func (x *HelmOptions) Reset() { - *x = HelmOptions{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HelmOptions) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HelmOptions) ProtoMessage() {} - -func (x *HelmOptions) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HelmOptions.ProtoReflect.Descriptor instead. -func (*HelmOptions) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{14} -} - -func (x *HelmOptions) GetChartName() string { - if x != nil { - return x.ChartName - } - return "" -} - -func (x *HelmOptions) GetTag() string { - if x != nil { - return x.Tag - } - return "" -} - -type RepoFile struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - RelPath string `protobuf:"bytes,2,opt,name=relPath,proto3" json:"relPath,omitempty"` - FileType FileType `protobuf:"varint,3,opt,name=fileType,proto3,enum=rafay.dev.types.config.FileType" json:"fileType,omitempty"` -} - -func (x *RepoFile) Reset() { - *x = RepoFile{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RepoFile) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RepoFile) ProtoMessage() {} - -func (x *RepoFile) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RepoFile.ProtoReflect.Descriptor instead. -func (*RepoFile) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{15} -} - -func (x *RepoFile) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *RepoFile) GetRelPath() string { - if x != nil { - return x.RelPath - } - return "" -} - -func (x *RepoFile) GetFileType() FileType { - if x != nil { - return x.FileType - } - return FileType_FileTypeNotSet -} - -type File struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Payload []byte `protobuf:"bytes,2,opt,name=payload,proto3" json:"payload,omitempty"` - FileType FileType `protobuf:"varint,3,opt,name=fileType,proto3,enum=rafay.dev.types.config.FileType" json:"fileType,omitempty"` - Ordinal int64 `protobuf:"varint,4,opt,name=ordinal,proto3" json:"ordinal,omitempty"` -} - -func (x *File) Reset() { - *x = File{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *File) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*File) ProtoMessage() {} - -func (x *File) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use File.ProtoReflect.Descriptor instead. -func (*File) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{16} -} - -func (x *File) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *File) GetPayload() []byte { - if x != nil { - return x.Payload - } - return nil -} - -func (x *File) GetFileType() FileType { - if x != nil { - return x.FileType - } - return FileType_FileTypeNotSet -} - -func (x *File) GetOrdinal() int64 { - if x != nil { - return x.Ordinal - } - return 0 -} - -type HelmExtra struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Atomic bool `protobuf:"varint,1,opt,name=atomic,proto3" json:"atomic,omitempty"` - Wait bool `protobuf:"varint,2,opt,name=wait,proto3" json:"wait,omitempty"` - Force bool `protobuf:"varint,3,opt,name=force,proto3" json:"force,omitempty"` - NoHooks bool `protobuf:"varint,4,opt,name=noHooks,proto3" json:"noHooks,omitempty"` - MaxHistory int32 `protobuf:"zigzag32,5,opt,name=maxHistory,proto3" json:"maxHistory,omitempty"` - RenderSubChartNotes bool `protobuf:"varint,6,opt,name=renderSubChartNotes,proto3" json:"renderSubChartNotes,omitempty"` - ResetValues bool `protobuf:"varint,7,opt,name=resetValues,proto3" json:"resetValues,omitempty"` - ReuseValues bool `protobuf:"varint,8,opt,name=reuseValues,proto3" json:"reuseValues,omitempty"` - Set []string `protobuf:"bytes,9,rep,name=set,proto3" json:"set,omitempty"` - SkipCRDs bool `protobuf:"varint,10,opt,name=skipCRDs,proto3" json:"skipCRDs,omitempty"` - Timeout int64 `protobuf:"zigzag64,11,opt,name=timeout,proto3" json:"timeout,omitempty"` - CleanUpOnFail bool `protobuf:"varint,12,opt,name=cleanUpOnFail,proto3" json:"cleanUpOnFail,omitempty"` - Description string `protobuf:"bytes,13,opt,name=description,proto3" json:"description,omitempty"` - DisableOpenAPIValidation bool `protobuf:"varint,14,opt,name=disableOpenAPIValidation,proto3" json:"disableOpenAPIValidation,omitempty"` - KeepHistory bool `protobuf:"varint,15,opt,name=keepHistory,proto3" json:"keepHistory,omitempty"` -} - -func (x *HelmExtra) Reset() { - *x = HelmExtra{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HelmExtra) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HelmExtra) ProtoMessage() {} - -func (x *HelmExtra) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HelmExtra.ProtoReflect.Descriptor instead. -func (*HelmExtra) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{17} -} - -func (x *HelmExtra) GetAtomic() bool { - if x != nil { - return x.Atomic - } - return false -} - -func (x *HelmExtra) GetWait() bool { - if x != nil { - return x.Wait - } - return false -} - -func (x *HelmExtra) GetForce() bool { - if x != nil { - return x.Force - } - return false -} - -func (x *HelmExtra) GetNoHooks() bool { - if x != nil { - return x.NoHooks - } - return false -} - -func (x *HelmExtra) GetMaxHistory() int32 { - if x != nil { - return x.MaxHistory - } - return 0 -} - -func (x *HelmExtra) GetRenderSubChartNotes() bool { - if x != nil { - return x.RenderSubChartNotes - } - return false -} - -func (x *HelmExtra) GetResetValues() bool { - if x != nil { - return x.ResetValues - } - return false -} - -func (x *HelmExtra) GetReuseValues() bool { - if x != nil { - return x.ReuseValues - } - return false -} - -func (x *HelmExtra) GetSet() []string { - if x != nil { - return x.Set - } - return nil -} - -func (x *HelmExtra) GetSkipCRDs() bool { - if x != nil { - return x.SkipCRDs - } - return false -} - -func (x *HelmExtra) GetTimeout() int64 { - if x != nil { - return x.Timeout - } - return 0 -} - -func (x *HelmExtra) GetCleanUpOnFail() bool { - if x != nil { - return x.CleanUpOnFail - } - return false -} - -func (x *HelmExtra) GetDescription() string { - if x != nil { - return x.Description - } - return "" -} - -func (x *HelmExtra) GetDisableOpenAPIValidation() bool { - if x != nil { - return x.DisableOpenAPIValidation - } - return false -} - -func (x *HelmExtra) GetKeepHistory() bool { - if x != nil { - return x.KeepHistory - } - return false -} - -type YamlExtra struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Force bool `protobuf:"varint,1,opt,name=force,proto3" json:"force,omitempty"` - DisableOpenAPIValidation bool `protobuf:"varint,2,opt,name=disableOpenAPIValidation,proto3" json:"disableOpenAPIValidation,omitempty"` -} - -func (x *YamlExtra) Reset() { - *x = YamlExtra{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *YamlExtra) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*YamlExtra) ProtoMessage() {} - -func (x *YamlExtra) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use YamlExtra.ProtoReflect.Descriptor instead. -func (*YamlExtra) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{18} -} - -func (x *YamlExtra) GetForce() bool { - if x != nil { - return x.Force - } - return false -} - -func (x *YamlExtra) GetDisableOpenAPIValidation() bool { - if x != nil { - return x.DisableOpenAPIValidation - } - return false -} - -type ArtifactExtra struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Helm *HelmExtra `protobuf:"bytes,1,opt,name=helm,proto3" json:"helm,omitempty"` - MaxHistory int32 `protobuf:"zigzag32,2,opt,name=maxHistory,proto3" json:"maxHistory,omitempty"` - Repo *RepoArtifactMeta `protobuf:"bytes,3,opt,name=repo,proto3" json:"repo,omitempty"` - Pipeline *PipelineMeta `protobuf:"bytes,4,opt,name=pipeline,proto3" json:"pipeline,omitempty"` - UsePlacementName bool `protobuf:"varint,5,opt,name=usePlacementName,proto3" json:"usePlacementName,omitempty"` - Yaml *YamlExtra `protobuf:"bytes,6,opt,name=yaml,proto3" json:"yaml,omitempty"` -} - -func (x *ArtifactExtra) Reset() { - *x = ArtifactExtra{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ArtifactExtra) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ArtifactExtra) ProtoMessage() {} - -func (x *ArtifactExtra) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ArtifactExtra.ProtoReflect.Descriptor instead. -func (*ArtifactExtra) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{19} -} - -func (x *ArtifactExtra) GetHelm() *HelmExtra { - if x != nil { - return x.Helm - } - return nil -} - -func (x *ArtifactExtra) GetMaxHistory() int32 { - if x != nil { - return x.MaxHistory - } - return 0 -} - -func (x *ArtifactExtra) GetRepo() *RepoArtifactMeta { - if x != nil { - return x.Repo - } - return nil -} - -func (x *ArtifactExtra) GetPipeline() *PipelineMeta { - if x != nil { - return x.Pipeline - } - return nil -} - -func (x *ArtifactExtra) GetUsePlacementName() bool { - if x != nil { - return x.UsePlacementName - } - return false -} - -func (x *ArtifactExtra) GetYaml() *YamlExtra { - if x != nil { - return x.Yaml - } - return nil -} - -type HealthCheck struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Status HealthStatus `protobuf:"varint,1,opt,name=status,proto3,enum=rafay.dev.types.config.HealthStatus" json:"status,omitempty"` - LastUpdated *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` - Comment string `protobuf:"bytes,3,opt,name=comment,proto3" json:"comment,omitempty"` -} - -func (x *HealthCheck) Reset() { - *x = HealthCheck{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[20] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *HealthCheck) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*HealthCheck) ProtoMessage() {} - -func (x *HealthCheck) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[20] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use HealthCheck.ProtoReflect.Descriptor instead. -func (*HealthCheck) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{20} -} - -func (x *HealthCheck) GetStatus() HealthStatus { - if x != nil { - return x.Status - } - return HealthStatus_UNKNOWN -} - -func (x *HealthCheck) GetLastUpdated() *timestamppb.Timestamp { - if x != nil { - return x.LastUpdated - } - return nil -} - -func (x *HealthCheck) GetComment() string { - if x != nil { - return x.Comment - } - return "" -} - -type Image struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Repository string `protobuf:"bytes,1,opt,name=repository,proto3" json:"repository,omitempty"` - Tag string `protobuf:"bytes,2,opt,name=tag,proto3" json:"tag,omitempty"` - PullPolicy string `protobuf:"bytes,3,opt,name=pullPolicy,proto3" json:"pullPolicy,omitempty"` - Digest string `protobuf:"bytes,4,opt,name=digest,proto3" json:"digest,omitempty"` -} - -func (x *Image) Reset() { - *x = Image{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[21] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Image) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Image) ProtoMessage() {} - -func (x *Image) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[21] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Image.ProtoReflect.Descriptor instead. -func (*Image) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{21} -} - -func (x *Image) GetRepository() string { - if x != nil { - return x.Repository - } - return "" -} - -func (x *Image) GetTag() string { - if x != nil { - return x.Tag - } - return "" -} - -func (x *Image) GetPullPolicy() string { - if x != nil { - return x.PullPolicy - } - return "" -} - -func (x *Image) GetDigest() string { - if x != nil { - return x.Digest - } - return "" -} - -type VolumeMount struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - MountPath string `protobuf:"bytes,2,opt,name=mountPath,proto3" json:"mountPath,omitempty"` -} - -func (x *VolumeMount) Reset() { - *x = VolumeMount{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[22] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *VolumeMount) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*VolumeMount) ProtoMessage() {} - -func (x *VolumeMount) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[22] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use VolumeMount.ProtoReflect.Descriptor instead. -func (*VolumeMount) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{22} -} - -func (x *VolumeMount) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *VolumeMount) GetMountPath() string { - if x != nil { - return x.MountPath - } - return "" -} - -type InitContainer struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Image string `protobuf:"bytes,2,opt,name=image,proto3" json:"image,omitempty"` - ImagePullPolicy string `protobuf:"bytes,3,opt,name=imagePullPolicy,proto3" json:"imagePullPolicy,omitempty"` - VolumeMounts []*VolumeMount `protobuf:"bytes,4,rep,name=volumeMounts,proto3" json:"volumeMounts,omitempty"` -} - -func (x *InitContainer) Reset() { - *x = InitContainer{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[23] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *InitContainer) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*InitContainer) ProtoMessage() {} - -func (x *InitContainer) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[23] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use InitContainer.ProtoReflect.Descriptor instead. -func (*InitContainer) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{23} -} - -func (x *InitContainer) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *InitContainer) GetImage() string { - if x != nil { - return x.Image - } - return "" -} - -func (x *InitContainer) GetImagePullPolicy() string { - if x != nil { - return x.ImagePullPolicy - } - return "" -} - -func (x *InitContainer) GetVolumeMounts() []*VolumeMount { - if x != nil { - return x.VolumeMounts - } - return nil -} - -type Restic struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PodVolumePath string `protobuf:"bytes,1,opt,name=podVolumePath,proto3" json:"podVolumePath,omitempty"` - Privileged bool `protobuf:"varint,2,opt,name=privileged,proto3" json:"privileged,omitempty"` -} - -func (x *Restic) Reset() { - *x = Restic{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[24] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Restic) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Restic) ProtoMessage() {} - -func (x *Restic) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[24] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Restic.ProtoReflect.Descriptor instead. -func (*Restic) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{24} -} - -func (x *Restic) GetPodVolumePath() string { - if x != nil { - return x.PodVolumePath - } - return "" -} - -func (x *Restic) GetPrivileged() bool { - if x != nil { - return x.Privileged - } - return false -} - -type ProjectTaskSet struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TaskSetID string `protobuf:"bytes,1,opt,name=taskSetID,proto3" json:"taskSetID,omitempty"` - ProjectID string `protobuf:"bytes,2,opt,name=projectID,proto3" json:"projectID,omitempty"` -} - -func (x *ProjectTaskSet) Reset() { - *x = ProjectTaskSet{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_config_proto_msgTypes[25] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectTaskSet) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectTaskSet) ProtoMessage() {} - -func (x *ProjectTaskSet) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_config_proto_msgTypes[25] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectTaskSet.ProtoReflect.Descriptor instead. -func (*ProjectTaskSet) Descriptor() ([]byte, []int) { - return file_proto_types_config_config_proto_rawDescGZIP(), []int{25} -} - -func (x *ProjectTaskSet) GetTaskSetID() string { - if x != nil { - return x.TaskSetID - } - return "" -} - -func (x *ProjectTaskSet) GetProjectID() string { - if x != nil { - return x.ProjectID - } - return "" -} - -var File_proto_types_config_config_proto protoreflect.FileDescriptor - -var file_proto_types_config_config_proto_rawDesc = []byte{ - 0x0a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x34, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, - 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, - 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x65, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, - 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x04, 0x0a, - 0x0b, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x66, 0x12, 0x1c, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, 0xea, 0xde, 0x1f, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x49, 0x0a, 0x13, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xea, 0xde, 0x1f, 0x13, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x52, 0x13, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0c, 0xea, 0xde, 0x1f, 0x08, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x52, 0x08, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, - 0x28, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x12, 0x42, 0x0c, 0xea, 0xde, 0x1f, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x52, - 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x0a, 0x77, 0x6f, 0x72, - 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x77, - 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x12, 0x4e, 0x0a, 0x07, 0x72, 0x65, 0x66, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x66, 0x54, - 0x79, 0x70, 0x65, 0x42, 0x0b, 0xea, 0xde, 0x1f, 0x07, 0x72, 0x65, 0x66, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x07, 0x72, 0x65, 0x66, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2f, 0x0a, 0x07, 0x76, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xea, 0xde, 0x1f, 0x11, - 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x32, 0x0a, 0x08, 0x69, 0x73, - 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x18, 0x08, 0x20, 0x01, 0x28, 0x08, 0x42, 0x16, 0xea, 0xde, - 0x1f, 0x12, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, - 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x69, 0x73, 0x47, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x12, 0x41, - 0x0a, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1b, 0xea, 0xde, 0x1f, 0x17, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x35, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x18, 0x0a, - 0x20, 0x03, 0x28, 0x09, 0x42, 0x17, 0xea, 0xde, 0x1f, 0x13, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, - 0x73, 0x4f, 0x6e, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x09, 0x64, - 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x4f, 0x6e, 0x22, 0xd3, 0x01, 0x0a, 0x0f, 0x44, 0x69, 0x73, - 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x1c, 0x0a, 0x09, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x33, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x58, - 0x0a, 0x14, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x40, 0x0a, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x52, 0x06, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x3c, 0x0a, 0x10, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x61, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x16, 0x0a, 0x06, - 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x70, 0x75, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x03, 0x63, 0x70, 0x75, 0x22, 0x7e, 0x0a, 0x0f, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x12, 0x51, 0x0a, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0f, 0x64, 0x69, 0x73, 0x63, 0x6f, 0x76, 0x65, 0x72, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xfa, 0x03, 0x0a, 0x17, 0x50, 0x72, 0x6f, 0x6d, 0x65, - 0x74, 0x68, 0x65, 0x75, 0x73, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x69, 0x7a, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x55, 0x0a, 0x11, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, 0x75, 0x73, - 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x70, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x65, - 0x75, 0x73, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, 0x12, 0x4d, 0x0a, 0x0d, 0x6d, 0x65, 0x74, - 0x72, 0x69, 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0d, 0x6d, 0x65, 0x74, 0x72, 0x69, - 0x63, 0x73, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x12, 0x53, 0x0a, 0x10, 0x6b, 0x75, 0x62, 0x65, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x10, 0x6b, 0x75, 0x62, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x4d, 0x65, 0x74, 0x72, 0x69, 0x63, 0x73, 0x12, 0x4b, 0x0a, - 0x0c, 0x6e, 0x6f, 0x64, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x6e, 0x6f, - 0x64, 0x65, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x4b, 0x0a, 0x0c, 0x68, 0x65, - 0x6c, 0x6d, 0x45, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x0c, 0x68, 0x65, 0x6c, 0x6d, 0x45, - 0x78, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x72, 0x12, 0x4a, 0x0a, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, - 0x69, 0x72, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x09, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x73, 0x22, 0xc4, 0x01, 0x0a, 0x0c, 0x54, 0x61, 0x73, 0x6b, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x12, 0x70, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, - 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, 0x1f, 0x00, - 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, - 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0xd0, 0x01, 0x0a, 0x12, 0x54, - 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x12, 0x70, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, - 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, - 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, - 0x01, 0xea, 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6f, 0x6d, - 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, - 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc0, 0x01, - 0x0a, 0x0a, 0x56, 0x32, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x48, 0x0a, 0x0c, - 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, - 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x69, 0x73, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x10, 0x69, 0x73, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x12, 0x22, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x22, 0x78, 0x0a, 0x08, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x3c, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, - 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, - 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x6c, 0x0a, 0x0c, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, - 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x49, 0x44, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, - 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0a, - 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x63, 0x65, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, - 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, - 0x74, 0x61, 0x67, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xcb, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x2b, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xea, 0xde, 0x1f, - 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x31, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0b, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xea, 0xde, 0x1f, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, - 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x6e, 0x67, 0x72, 0x65, 0x73, - 0x73, 0x49, 0x50, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x69, 0x6e, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x49, 0x50, 0x73, 0x22, 0x9b, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x41, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x34, 0x0a, 0x03, 0x67, - 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x03, 0x67, 0x69, - 0x74, 0x12, 0x37, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x65, 0x6c, 0x6d, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x68, 0x65, 0x6c, 0x6d, 0x12, 0x18, 0x0a, 0x07, 0x74, 0x69, - 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0x22, 0xee, 0x01, 0x0a, 0x0a, 0x47, 0x69, 0x74, 0x4f, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0xea, 0xde, 0x1f, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x52, 0x08, - 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x11, 0x72, 0x65, 0x70, - 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, - 0x70, 0x6f, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x4a, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x11, - 0x72, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0xf2, 0xde, 0x1f, 0x2d, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x6c, 0x50, 0x61, 0x74, - 0x68, 0x22, 0x52, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x46, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x8b, 0x01, 0x0a, 0x0b, 0x48, 0x65, 0x6c, 0x6d, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x46, 0x0a, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x28, 0xea, 0xde, 0x1f, 0x09, 0x63, 0x68, - 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, - 0x65, 0x22, 0x52, 0x09, 0x63, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x34, 0x0a, - 0x03, 0x74, 0x61, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xea, 0xde, 0x1f, 0x03, - 0x74, 0x61, 0x67, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x52, 0x03, - 0x74, 0x61, 0x67, 0x22, 0x9b, 0x01, 0x0a, 0x08, 0x52, 0x65, 0x70, 0x6f, 0x46, 0x69, 0x6c, 0x65, - 0x12, 0x1c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x08, - 0xea, 0xde, 0x1f, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, - 0x0a, 0x07, 0x72, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0b, 0xea, 0xde, 0x1f, 0x07, 0x72, 0x65, 0x6c, 0x50, 0x61, 0x74, 0x68, 0x52, 0x07, 0x72, 0x65, - 0x6c, 0x50, 0x61, 0x74, 0x68, 0x12, 0x4a, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x0c, 0xea, 0xde, 0x1f, 0x08, 0x66, - 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, - 0x65, 0x22, 0x84, 0x02, 0x0a, 0x04, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x29, 0x0a, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0xea, 0xde, 0x1f, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0xf2, 0xde, 0x1f, 0x09, 0x70, 0x67, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x10, 0xf2, 0xde, 0x1f, 0x0c, 0x70, 0x67, 0x3a, 0x22, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x22, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x65, 0x0a, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, - 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x27, 0xea, 0xde, 0x1f, 0x08, 0x66, 0x69, 0x6c, 0x65, 0x54, - 0x79, 0x70, 0x65, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x67, 0x3a, 0x22, 0x66, 0x69, 0x6c, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x08, - 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x3e, 0x0a, 0x07, 0x6f, 0x72, 0x64, 0x69, - 0x6e, 0x61, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x24, 0xea, 0xde, 0x1f, 0x07, 0x6f, - 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0xf2, 0xde, 0x1f, 0x15, 0x70, 0x67, 0x3a, 0x22, 0x6f, 0x72, - 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, - 0x07, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x61, 0x6c, 0x22, 0xec, 0x05, 0x0a, 0x09, 0x48, 0x65, 0x6c, - 0x6d, 0x45, 0x78, 0x74, 0x72, 0x61, 0x12, 0x22, 0x0a, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0a, 0xea, 0xde, 0x1f, 0x06, 0x61, 0x74, 0x6f, 0x6d, - 0x69, 0x63, 0x52, 0x06, 0x61, 0x74, 0x6f, 0x6d, 0x69, 0x63, 0x12, 0x1c, 0x0a, 0x04, 0x77, 0x61, - 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x08, 0xea, 0xde, 0x1f, 0x04, 0x77, 0x61, - 0x69, 0x74, 0x52, 0x04, 0x77, 0x61, 0x69, 0x74, 0x12, 0x1f, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x09, 0xea, 0xde, 0x1f, 0x05, 0x66, 0x6f, 0x72, - 0x63, 0x65, 0x52, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x07, 0x6e, 0x6f, 0x48, - 0x6f, 0x6f, 0x6b, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0b, 0xea, 0xde, 0x1f, 0x07, - 0x6e, 0x6f, 0x48, 0x6f, 0x6f, 0x6b, 0x73, 0x52, 0x07, 0x6e, 0x6f, 0x48, 0x6f, 0x6f, 0x6b, 0x73, - 0x12, 0x2e, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x11, 0x42, 0x0e, 0xea, 0xde, 0x1f, 0x0a, 0x6d, 0x61, 0x78, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, - 0x12, 0x49, 0x0a, 0x13, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x43, 0x68, 0x61, - 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x17, 0xea, - 0xde, 0x1f, 0x13, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x75, 0x62, 0x43, 0x68, 0x61, 0x72, - 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x52, 0x13, 0x72, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x53, 0x75, - 0x62, 0x43, 0x68, 0x61, 0x72, 0x74, 0x4e, 0x6f, 0x74, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x0b, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x52, 0x0b, 0x72, 0x65, 0x73, 0x65, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x31, - 0x0a, 0x0b, 0x72, 0x65, 0x75, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x08, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b, 0x72, 0x65, 0x75, 0x73, 0x65, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x52, 0x0b, 0x72, 0x65, 0x75, 0x73, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, - 0x73, 0x12, 0x19, 0x0a, 0x03, 0x73, 0x65, 0x74, 0x18, 0x09, 0x20, 0x03, 0x28, 0x09, 0x42, 0x07, - 0xea, 0xde, 0x1f, 0x03, 0x73, 0x65, 0x74, 0x52, 0x03, 0x73, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x08, - 0x73, 0x6b, 0x69, 0x70, 0x43, 0x52, 0x44, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0c, - 0xea, 0xde, 0x1f, 0x08, 0x73, 0x6b, 0x69, 0x70, 0x43, 0x52, 0x44, 0x73, 0x52, 0x08, 0x73, 0x6b, - 0x69, 0x70, 0x43, 0x52, 0x44, 0x73, 0x12, 0x36, 0x0a, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, - 0x74, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x42, 0x1c, 0xea, 0xde, 0x1f, 0x07, 0x74, 0x69, 0x6d, - 0x65, 0x6f, 0x75, 0x74, 0xfa, 0xde, 0x1f, 0x0d, 0x74, 0x69, 0x6d, 0x65, 0x2e, 0x44, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x74, 0x69, 0x6d, 0x65, 0x6f, 0x75, 0x74, 0x12, 0x37, - 0x0a, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x55, 0x70, 0x4f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x18, - 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x11, 0xea, 0xde, 0x1f, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x6e, - 0x55, 0x70, 0x4f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x52, 0x0d, 0x63, 0x6c, 0x65, 0x61, 0x6e, 0x55, - 0x70, 0x4f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x12, 0x31, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xea, 0xde, - 0x1f, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x58, 0x0a, 0x18, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x42, 0x1c, 0xea, 0xde, - 0x1f, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, - 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x0b, 0x6b, 0x65, 0x65, 0x70, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, 0x42, 0x0f, 0xea, 0xde, 0x1f, 0x0b, 0x6b, - 0x65, 0x65, 0x70, 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0b, 0x6b, 0x65, 0x65, 0x70, - 0x48, 0x69, 0x73, 0x74, 0x6f, 0x72, 0x79, 0x22, 0x86, 0x01, 0x0a, 0x09, 0x59, 0x61, 0x6d, 0x6c, - 0x45, 0x78, 0x74, 0x72, 0x61, 0x12, 0x1f, 0x0a, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x42, 0x09, 0xea, 0xde, 0x1f, 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, - 0x05, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x58, 0x0a, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x1c, 0xea, 0xde, 0x1f, 0x18, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x56, 0x61, 0x6c, 0x69, - 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x18, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, - 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0xf7, 0x03, 0x0a, 0x0d, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x12, 0x52, 0x0a, 0x04, 0x68, 0x65, 0x6c, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x48, 0x65, 0x6c, 0x6d, 0x45, 0x78, - 0x74, 0x72, 0x61, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, - 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, - 0x52, 0x04, 0x68, 0x65, 0x6c, 0x6d, 0x12, 0x3b, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x48, 0x69, 0x73, - 0x74, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x11, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x72, - 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x48, 0x69, 0x73, 0x74, - 0x6f, 0x72, 0x79, 0x12, 0x59, 0x0a, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x41, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1b, 0xf2, 0xde, 0x1f, - 0x17, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, - 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x52, 0x04, 0x72, 0x65, 0x70, 0x6f, 0x12, 0x5d, - 0x0a, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x69, 0x70, 0x65, 0x6c, 0x69, - 0x6e, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x22, 0x52, 0x08, 0x70, 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x12, 0x47, 0x0a, - 0x10, 0x75, 0x73, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x22, 0x52, 0x10, 0x75, 0x73, 0x65, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, - 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x52, 0x0a, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x59, 0x61, - 0x6d, 0x6c, 0x45, 0x78, 0x74, 0x72, 0x61, 0x42, 0x1b, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x22, 0x52, 0x04, 0x79, 0x61, 0x6d, 0x6c, 0x22, 0xad, 0x01, 0x0a, 0x0b, 0x48, - 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0x90, - 0xdf, 0x1f, 0x01, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0xb6, 0x01, 0x0a, 0x05, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x12, 0x32, 0x0a, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xc8, 0xde, 0x1f, 0x01, 0xea, 0xde, - 0x1f, 0x0a, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x0a, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x1d, 0x0a, 0x03, 0x74, 0x61, 0x67, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0b, 0xc8, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x03, 0x74, - 0x61, 0x67, 0x52, 0x03, 0x74, 0x61, 0x67, 0x12, 0x32, 0x0a, 0x0a, 0x70, 0x75, 0x6c, 0x6c, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x12, 0xc8, 0xde, 0x1f, - 0x01, 0xea, 0xde, 0x1f, 0x0a, 0x70, 0x75, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x0a, 0x70, 0x75, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x26, 0x0a, 0x06, 0x64, - 0x69, 0x67, 0x65, 0x73, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xc8, 0xde, 0x1f, - 0x01, 0xea, 0xde, 0x1f, 0x06, 0x64, 0x69, 0x67, 0x65, 0x73, 0x74, 0x52, 0x06, 0x64, 0x69, 0x67, - 0x65, 0x73, 0x74, 0x22, 0x4b, 0x0a, 0x0b, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x6f, 0x75, - 0x6e, 0x74, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x22, 0x0a, 0x09, - 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x04, 0xc8, 0xde, 0x1f, 0x01, 0x52, 0x09, 0x6d, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x61, 0x74, 0x68, - 0x22, 0xc4, 0x01, 0x0a, 0x0d, 0x49, 0x6e, 0x69, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x65, 0x72, 0x12, 0x18, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x05, - 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xc8, 0xde, 0x1f, - 0x01, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x2e, 0x0a, 0x0f, 0x69, 0x6d, 0x61, 0x67, - 0x65, 0x50, 0x75, 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x01, 0x52, 0x0f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x75, - 0x6c, 0x6c, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x4d, 0x0a, 0x0c, 0x76, 0x6f, 0x6c, 0x75, - 0x6d, 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x4d, 0x6f, - 0x75, 0x6e, 0x74, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x01, 0x52, 0x0c, 0x76, 0x6f, 0x6c, 0x75, 0x6d, - 0x65, 0x4d, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x22, 0x5a, 0x0a, 0x06, 0x52, 0x65, 0x73, 0x74, 0x69, - 0x63, 0x12, 0x2a, 0x0a, 0x0d, 0x70, 0x6f, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x61, - 0x74, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x01, 0x52, 0x0d, - 0x70, 0x6f, 0x64, 0x56, 0x6f, 0x6c, 0x75, 0x6d, 0x65, 0x50, 0x61, 0x74, 0x68, 0x12, 0x24, 0x0a, - 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, 0x67, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x01, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x69, 0x6c, 0x65, - 0x67, 0x65, 0x64, 0x22, 0x5c, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x61, - 0x73, 0x6b, 0x53, 0x65, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x74, - 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x74, 0x61, 0x73, 0x6b, 0x53, 0x65, - 0x74, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0e, 0xea, 0xde, 0x1f, 0x0a, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, - 0x44, 0x2a, 0x42, 0x0a, 0x0f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x65, 0x66, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x54, 0x61, 0x73, 0x6b, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x10, 0x01, 0x1a, - 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x83, 0x01, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x54, 0x79, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, - 0x59, 0x61, 0x6d, 0x6c, 0x10, 0x00, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x65, 0x6c, 0x6d, 0x10, 0x01, - 0x12, 0x0e, 0x0a, 0x0a, 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x48, 0x65, 0x6c, 0x6d, 0x10, 0x02, - 0x12, 0x09, 0x0a, 0x05, 0x52, 0x61, 0x66, 0x61, 0x79, 0x10, 0x03, 0x12, 0x11, 0x0a, 0x0d, 0x48, - 0x65, 0x6c, 0x6d, 0x49, 0x6e, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x10, 0x04, 0x12, 0x11, - 0x0a, 0x0d, 0x59, 0x61, 0x6d, 0x6c, 0x49, 0x6e, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x10, - 0x05, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x6c, 0x6d, 0x49, 0x6e, 0x48, 0x65, 0x6c, 0x6d, 0x52, - 0x65, 0x70, 0x6f, 0x10, 0x06, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0xbd, 0x01, 0x0a, 0x0c, - 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, - 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, - 0x65, 0x74, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x57, 0x69, 0x7a, - 0x61, 0x72, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x10, 0x01, 0x12, 0x0d, 0x0a, - 0x09, 0x48, 0x65, 0x6c, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x74, 0x10, 0x02, 0x12, 0x0e, 0x0a, 0x0a, - 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x59, 0x41, 0x4d, 0x4c, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, - 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x57, 0x69, 0x74, 0x68, 0x48, 0x65, 0x6c, 0x6d, 0x10, - 0x04, 0x12, 0x19, 0x0a, 0x15, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x57, 0x69, 0x74, 0x68, - 0x4e, 0x61, 0x74, 0x69, 0x76, 0x65, 0x59, 0x41, 0x4d, 0x4c, 0x10, 0x05, 0x12, 0x0c, 0x0a, 0x08, - 0x48, 0x65, 0x6c, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x10, 0x06, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x56, 0x4d, 0x57, 0x69, 0x7a, 0x61, 0x72, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x10, 0x07, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x6a, 0x0a, 0x08, 0x46, - 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x46, 0x69, 0x6c, 0x65, 0x54, - 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x0f, 0x0a, 0x0b, 0x4b, - 0x38, 0x73, 0x59, 0x41, 0x4d, 0x4c, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, - 0x48, 0x65, 0x6c, 0x6d, 0x43, 0x68, 0x61, 0x72, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x10, 0x02, 0x12, - 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x6c, 0x6d, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x46, 0x69, 0x6c, - 0x65, 0x10, 0x03, 0x12, 0x0c, 0x0a, 0x08, 0x4a, 0x53, 0x4f, 0x4e, 0x46, 0x69, 0x6c, 0x65, 0x10, - 0x04, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x4b, 0x0a, 0x0c, 0x48, 0x65, 0x61, 0x6c, 0x74, - 0x68, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x0b, 0x0a, 0x07, 0x55, 0x4e, 0x4b, 0x4e, 0x4f, - 0x57, 0x4e, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, - 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, - 0x12, 0x0c, 0x0a, 0x08, 0x49, 0x4e, 0x41, 0x43, 0x54, 0x49, 0x56, 0x45, 0x10, 0x03, 0x1a, 0x04, - 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x3b, 0x0a, 0x09, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x12, 0x13, 0x0a, 0x0f, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x6f, - 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, - 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x02, 0x1a, 0x04, 0x88, 0xa3, 0x1e, - 0x00, 0x42, 0x83, 0x02, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x42, 0x0b, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, - 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, - 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, 0x01, 0xe0, 0xe2, 0x1e, 0x01, 0xc0, - 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_proto_types_config_config_proto_rawDescOnce sync.Once - file_proto_types_config_config_proto_rawDescData = file_proto_types_config_config_proto_rawDesc -) - -func file_proto_types_config_config_proto_rawDescGZIP() []byte { - file_proto_types_config_config_proto_rawDescOnce.Do(func() { - file_proto_types_config_config_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_config_config_proto_rawDescData) - }) - return file_proto_types_config_config_proto_rawDescData -} - -var file_proto_types_config_config_proto_enumTypes = make([]protoimpl.EnumInfo, 6) -var file_proto_types_config_config_proto_msgTypes = make([]protoimpl.MessageInfo, 27) -var file_proto_types_config_config_proto_goTypes = []interface{}{ - (SnapshotRefType)(0), // 0: rafay.dev.types.config.SnapshotRefType - (WorkloadType)(0), // 1: rafay.dev.types.config.WorkloadType - (ArtifactType)(0), // 2: rafay.dev.types.config.ArtifactType - (FileType)(0), // 3: rafay.dev.types.config.FileType - (HealthStatus)(0), // 4: rafay.dev.types.config.HealthStatus - (ShareMode)(0), // 5: rafay.dev.types.config.ShareMode - (*SnapshotRef)(nil), // 6: rafay.dev.types.config.SnapshotRef - (*DiscoveryConfig)(nil), // 7: rafay.dev.types.config.DiscoveryConfig - (*ResourceRequirements)(nil), // 8: rafay.dev.types.config.ResourceRequirements - (*ResourceQuantity)(nil), // 9: rafay.dev.types.config.ResourceQuantity - (*ComponentConfig)(nil), // 10: rafay.dev.types.config.ComponentConfig - (*PrometheusCustomization)(nil), // 11: rafay.dev.types.config.PrometheusCustomization - (*TaskTemplate)(nil), // 12: rafay.dev.types.config.TaskTemplate - (*TaskStatusTemplate)(nil), // 13: rafay.dev.types.config.TaskStatusTemplate - (*V2Workload)(nil), // 14: rafay.dev.types.config.V2Workload - (*FileMeta)(nil), // 15: rafay.dev.types.config.FileMeta - (*PipelineMeta)(nil), // 16: rafay.dev.types.config.PipelineMeta - (*ClusterMeta)(nil), // 17: rafay.dev.types.config.ClusterMeta - (*RepoArtifactMeta)(nil), // 18: rafay.dev.types.config.RepoArtifactMeta - (*GitOptions)(nil), // 19: rafay.dev.types.config.GitOptions - (*HelmOptions)(nil), // 20: rafay.dev.types.config.HelmOptions - (*RepoFile)(nil), // 21: rafay.dev.types.config.RepoFile - (*File)(nil), // 22: rafay.dev.types.config.File - (*HelmExtra)(nil), // 23: rafay.dev.types.config.HelmExtra - (*YamlExtra)(nil), // 24: rafay.dev.types.config.YamlExtra - (*ArtifactExtra)(nil), // 25: rafay.dev.types.config.ArtifactExtra - (*HealthCheck)(nil), // 26: rafay.dev.types.config.HealthCheck - (*Image)(nil), // 27: rafay.dev.types.config.Image - (*VolumeMount)(nil), // 28: rafay.dev.types.config.VolumeMount - (*InitContainer)(nil), // 29: rafay.dev.types.config.InitContainer - (*Restic)(nil), // 30: rafay.dev.types.config.Restic - (*ProjectTaskSet)(nil), // 31: rafay.dev.types.config.ProjectTaskSet - nil, // 32: rafay.dev.types.config.DiscoveryConfig.LabelsEntry - (*v1.ObjectMeta)(nil), // 33: k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta - (*controller.TaskSpec)(nil), // 34: rafay.dev.types.controller.TaskSpec - (*controller.TaskStatus)(nil), // 35: rafay.dev.types.controller.TaskStatus - (*timestamppb.Timestamp)(nil), // 36: google.protobuf.Timestamp -} -var file_proto_types_config_config_proto_depIdxs = []int32{ - 0, // 0: rafay.dev.types.config.SnapshotRef.refType:type_name -> rafay.dev.types.config.SnapshotRefType - 32, // 1: rafay.dev.types.config.DiscoveryConfig.labels:type_name -> rafay.dev.types.config.DiscoveryConfig.LabelsEntry - 9, // 2: rafay.dev.types.config.ResourceRequirements.limits:type_name -> rafay.dev.types.config.ResourceQuantity - 7, // 3: rafay.dev.types.config.ComponentConfig.discoveryConfig:type_name -> rafay.dev.types.config.DiscoveryConfig - 10, // 4: rafay.dev.types.config.PrometheusCustomization.prometheusAdapter:type_name -> rafay.dev.types.config.ComponentConfig - 10, // 5: rafay.dev.types.config.PrometheusCustomization.metricsServer:type_name -> rafay.dev.types.config.ComponentConfig - 10, // 6: rafay.dev.types.config.PrometheusCustomization.kubeStateMetrics:type_name -> rafay.dev.types.config.ComponentConfig - 10, // 7: rafay.dev.types.config.PrometheusCustomization.nodeExporter:type_name -> rafay.dev.types.config.ComponentConfig - 10, // 8: rafay.dev.types.config.PrometheusCustomization.helmExporter:type_name -> rafay.dev.types.config.ComponentConfig - 8, // 9: rafay.dev.types.config.PrometheusCustomization.resources:type_name -> rafay.dev.types.config.ResourceRequirements - 33, // 10: rafay.dev.types.config.TaskTemplate.objectMeta:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta - 34, // 11: rafay.dev.types.config.TaskTemplate.spec:type_name -> rafay.dev.types.controller.TaskSpec - 33, // 12: rafay.dev.types.config.TaskStatusTemplate.objectMeta:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta - 35, // 13: rafay.dev.types.config.TaskStatusTemplate.status:type_name -> rafay.dev.types.controller.TaskStatus - 1, // 14: rafay.dev.types.config.V2Workload.workloadType:type_name -> rafay.dev.types.config.WorkloadType - 3, // 15: rafay.dev.types.config.FileMeta.fileType:type_name -> rafay.dev.types.config.FileType - 19, // 16: rafay.dev.types.config.RepoArtifactMeta.git:type_name -> rafay.dev.types.config.GitOptions - 20, // 17: rafay.dev.types.config.RepoArtifactMeta.helm:type_name -> rafay.dev.types.config.HelmOptions - 21, // 18: rafay.dev.types.config.GitOptions.repoArtifactFiles:type_name -> rafay.dev.types.config.RepoFile - 3, // 19: rafay.dev.types.config.RepoFile.fileType:type_name -> rafay.dev.types.config.FileType - 3, // 20: rafay.dev.types.config.File.fileType:type_name -> rafay.dev.types.config.FileType - 23, // 21: rafay.dev.types.config.ArtifactExtra.helm:type_name -> rafay.dev.types.config.HelmExtra - 18, // 22: rafay.dev.types.config.ArtifactExtra.repo:type_name -> rafay.dev.types.config.RepoArtifactMeta - 16, // 23: rafay.dev.types.config.ArtifactExtra.pipeline:type_name -> rafay.dev.types.config.PipelineMeta - 24, // 24: rafay.dev.types.config.ArtifactExtra.yaml:type_name -> rafay.dev.types.config.YamlExtra - 4, // 25: rafay.dev.types.config.HealthCheck.status:type_name -> rafay.dev.types.config.HealthStatus - 36, // 26: rafay.dev.types.config.HealthCheck.lastUpdated:type_name -> google.protobuf.Timestamp - 28, // 27: rafay.dev.types.config.InitContainer.volumeMounts:type_name -> rafay.dev.types.config.VolumeMount - 28, // [28:28] is the sub-list for method output_type - 28, // [28:28] is the sub-list for method input_type - 28, // [28:28] is the sub-list for extension type_name - 28, // [28:28] is the sub-list for extension extendee - 0, // [0:28] is the sub-list for field type_name -} - -func init() { file_proto_types_config_config_proto_init() } -func file_proto_types_config_config_proto_init() { - if File_proto_types_config_config_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_types_config_config_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*SnapshotRef); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DiscoveryConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceRequirements); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceQuantity); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ComponentConfig); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PrometheusCustomization); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TaskStatusTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*V2Workload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*FileMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PipelineMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepoArtifactMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*GitOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HelmOptions); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepoFile); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*File); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HelmExtra); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*YamlExtra); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ArtifactExtra); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*HealthCheck); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Image); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*VolumeMount); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*InitContainer); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Restic); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_config_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectTaskSet); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_types_config_config_proto_rawDesc, - NumEnums: 6, - NumMessages: 27, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_types_config_config_proto_goTypes, - DependencyIndexes: file_proto_types_config_config_proto_depIdxs, - EnumInfos: file_proto_types_config_config_proto_enumTypes, - MessageInfos: file_proto_types_config_config_proto_msgTypes, - }.Build() - File_proto_types_config_config_proto = out.File - file_proto_types_config_config_proto_rawDesc = nil - file_proto_types_config_config_proto_goTypes = nil - file_proto_types_config_config_proto_depIdxs = nil -} diff --git a/components/common/proto/types/config/config.proto b/components/common/proto/types/config/config.proto deleted file mode 100644 index b6ea1e3..0000000 --- a/components/common/proto/types/config/config.proto +++ /dev/null @@ -1,313 +0,0 @@ -syntax = "proto3"; -package rafay.dev.types.config; - -import "gogoproto/gogo.proto"; -import "google/protobuf/timestamp.proto"; -import "protoc-gen-openapiv2/options/annotations.proto"; -import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/api/extensions/v1beta1/generated.proto"; -import "proto/types/commonpb/v3/common.proto"; -import "proto/types/controller/cluster_controller.proto"; - -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - -enum SnapshotRefType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - SnapshotTaskSet = 0; - SnapshotWorkload = 1; -} - -// SnapshotRef -// -// SnapshotRef refers to a published snapshot of a taskset/workload -message SnapshotRef { - string name = 1 [ (gogoproto.jsontag) = "name" ]; - string publishedGeneration = 2 - [ (gogoproto.jsontag) = "publishedGeneration" ]; - string selector = 3 [ (gogoproto.jsontag) = "selector" ]; - sint64 revision = 4 [ (gogoproto.jsontag) = "revision" ]; - string workloadID = 5; - SnapshotRefType refType = 6 [ (gogoproto.jsontag) = "refType" ]; - string version = 7 [ (gogoproto.jsontag) = "version,omitempty" ]; - bool isGlobal = 8 [ (gogoproto.jsontag) = "isGlobal,omitempty" ]; - string componentType = 9 [ (gogoproto.jsontag) = "componentType,omitempty" ]; - repeated string dependsOn = 10 - [ (gogoproto.jsontag) = "dependsOn,omitempty" ]; -} - -message DiscoveryConfig { - string namespace = 1; - string resource = 2; - map labels = 3; -} - -message ResourceRequirements { ResourceQuantity limits = 1; } - -message ResourceQuantity { - string memory = 1; - string cpu = 2; -} - -message ComponentConfig { - bool disable = 1; - // optional - DiscoveryConfig discoveryConfig = 2; -} - -message PrometheusCustomization { - ComponentConfig prometheusAdapter = 1; - ComponentConfig metricsServer = 2; - ComponentConfig kubeStateMetrics = 3; - ComponentConfig nodeExporter = 4; - ComponentConfig helmExporter = 5; - ResourceRequirements resources = 6; -} - -// TaskTemplate is the template for creating task -message TaskTemplate { - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - rafay.dev.types.controller.TaskSpec spec = 2 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -// TaskStatusTemplate is the template for sending status of the task -message TaskStatusTemplate { - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - rafay.dev.types.controller.TaskStatus status = 2 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -enum WorkloadType { - option (gogoproto.goproto_enum_prefix) = false; - NativeYaml = 0; - Helm = 1; - NativeHelm = 2; - Rafay = 3; - HelmInGitRepo = 4; - YamlInGitRepo = 5; - HelmInHelmRepo = 6; -} - -message V2Workload { - WorkloadType workloadType = 1; - bool isSystemWorkload = 2; - string workloadName = 3; - bytes payload = 4; -} - -message FileMeta { - string name = 1; - FileType fileType = 2; - sint64 fileSize = 3; -} - -message PipelineMeta { - string pipelineID = 1; - sint64 instanceID = 2; - string stageName = 3; -} - -message ClusterMeta { - string clusterID = 1 [ - (gogoproto.jsontag) = "clusterID" - ]; - string clusterName = 2 [ (gogoproto.jsontag) = "clusterName" ]; - string reason = 3 [ (gogoproto.jsontag) = "reason" ]; - bool deleted = 4; - repeated string ingressIPs = 5; -} - -message RepoArtifactMeta { - GitOptions git = 1; - HelmOptions helm = 2; - int64 timeout = 3; -} - -message GitOptions { - string revision = 1 [ - (gogoproto.moretags) = "patchStrategy:\"replace\"", - (gogoproto.jsontag) = "revision" - ]; - repeated RepoFile repoArtifactFiles = 2 [ - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"relPath\"", - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "repoArtifactFiles" - ]; -} - -message HelmOptions { - string chartName = 1 [ - (gogoproto.moretags) = "patchStrategy:\"replace\"", - (gogoproto.jsontag) = "chartName" - ]; - string tag = 2 [ - (gogoproto.moretags) = "patchStrategy:\"replace\"", - (gogoproto.jsontag) = "tag" - ]; -} - -enum ArtifactType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - ArtifactTypeNotSet = 0; - RafayWizardWorkload = 1; - HelmChart = 2; - NativeYAML = 3; - GitRepoWithHelm = 4; - GitRepoWithNativeYAML = 5; - HelmRepo = 6; - RafayVMWizardWorkload = 7; -} - -enum FileType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - FileTypeNotSet = 0; - K8sYAMLFile = 1; - HelmChartFile = 2; - HelmValuesFile = 3; - JSONFile = 4; -} - -message RepoFile { - string name = 1 [ (gogoproto.jsontag) = "name" ]; - string relPath = 2 [ (gogoproto.jsontag) = "relPath" ]; - FileType fileType = 3 [ (gogoproto.jsontag) = "fileType" ]; -} - -message File { - string name = 1 - [ (gogoproto.moretags) = "pg:\"name\"", (gogoproto.jsontag) = "name" ]; - bytes payload = 2 [ (gogoproto.moretags) = "pg:\"payload\"" ]; - FileType fileType = 3 [ - (gogoproto.moretags) = "pg:\"file_type,use_zero\"", - (gogoproto.jsontag) = "fileType" - ]; - int64 ordinal = 4 [ - (gogoproto.moretags) = "pg:\"ordinal,use_zero\"", - (gogoproto.jsontag) = "ordinal" - ]; -} - -message HelmExtra { - bool atomic = 1 [ (gogoproto.jsontag) = "atomic" ]; - bool wait = 2 [ (gogoproto.jsontag) = "wait" ]; - bool force = 3 [ (gogoproto.jsontag) = "force" ]; - bool noHooks = 4 [ (gogoproto.jsontag) = "noHooks" ]; - sint32 maxHistory = 5 [ (gogoproto.jsontag) = "maxHistory" ]; - bool renderSubChartNotes = 6 [ (gogoproto.jsontag) = "renderSubChartNotes" ]; - bool resetValues = 7 [ (gogoproto.jsontag) = "resetValues" ]; - bool reuseValues = 8 [ (gogoproto.jsontag) = "reuseValues" ]; - repeated string set = 9 [ (gogoproto.jsontag) = "set" ]; - bool skipCRDs = 10 [ (gogoproto.jsontag) = "skipCRDs" ]; - sint64 timeout = 11 [ - (gogoproto.jsontag) = "timeout", - (gogoproto.casttype) = "time.Duration" - ]; - bool cleanUpOnFail = 12 [ (gogoproto.jsontag) = "cleanUpOnFail" ]; - string description = 13 [ (gogoproto.jsontag) = "description" ]; - bool disableOpenAPIValidation = 14 - [ (gogoproto.jsontag) = "disableOpenAPIValidation" ]; - bool keepHistory = 15 [ (gogoproto.jsontag) = "keepHistory" ]; -} - -message YamlExtra { - bool force = 1 [ (gogoproto.jsontag) = "force" ]; - bool disableOpenAPIValidation = 2 - [ (gogoproto.jsontag) = "disableOpenAPIValidation" ]; -} - -message ArtifactExtra { - HelmExtra helm = 1 [ (gogoproto.moretags) = "patchStrategy:\"replace\"" ]; - sint32 maxHistory = 2 [ (gogoproto.moretags) = "patchStrategy:\"replace\"" ]; - RepoArtifactMeta repo = 3 - [ (gogoproto.moretags) = "patchStrategy:\"replace\"" ]; - PipelineMeta pipeline = 4 - [ (gogoproto.moretags) = "patchStrategy:\"replace\"" ]; - bool usePlacementName = 5 - [ (gogoproto.moretags) = "patchStrategy:\"replace\"" ]; - YamlExtra yaml = 6 [ (gogoproto.moretags) = "patchStrategy:\"replace\"" ]; -} - -enum HealthStatus { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - UNKNOWN = 0; - HEALTHY = 1; - UNHEALTHY = 2; - INACTIVE = 3; -} - -message HealthCheck { - HealthStatus status = 1; - google.protobuf.Timestamp lastUpdated = 2 - [ (gogoproto.stdtime) = true, (gogoproto.nullable) = false ]; - string comment = 3; -} - -message Image { - string repository = 1 - [ (gogoproto.nullable) = true, (gogoproto.jsontag) = "repository" ]; - string tag = 2 [ (gogoproto.nullable) = true, (gogoproto.jsontag) = "tag" ]; - string pullPolicy = 3 - [ (gogoproto.nullable) = true, (gogoproto.jsontag) = "pullPolicy" ]; - string digest = 4 - [ (gogoproto.nullable) = true, (gogoproto.jsontag) = "digest" ]; -} - -message VolumeMount { - string name = 1 [ (gogoproto.nullable) = true ]; - string mountPath = 2 [ (gogoproto.nullable) = true ]; -} - -message InitContainer { - string name = 1 [ (gogoproto.nullable) = true ]; - string image = 2 [ (gogoproto.nullable) = true ]; - string imagePullPolicy = 3 [ (gogoproto.nullable) = true ]; - repeated VolumeMount volumeMounts = 4 [ (gogoproto.nullable) = true ]; -} - -message Restic { - string podVolumePath = 1 [ (gogoproto.nullable) = true ]; - bool privileged = 2 [ (gogoproto.nullable) = true ]; -} - -enum ShareMode { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - ShareModeNotSet = 0; - ALL = 1; - CUSTOM = 2; -} - -message ProjectTaskSet { - string taskSetID = 1; - string projectID = 2 [ - (gogoproto.jsontag) = "project_id" - ]; -} \ No newline at end of file diff --git a/components/common/proto/types/config/constants.go b/components/common/proto/types/config/constants.go deleted file mode 100644 index c0bf021..0000000 --- a/components/common/proto/types/config/constants.go +++ /dev/null @@ -1,22 +0,0 @@ -package config - -const ( - ConfigGroup = "config.rafay.dev/v3" - OverrideScope = "rafay.dev/overrideScope" - OverrideType = "rafay.dev/overrideType" - OverrideCluster = "rafay.dev/overrideCluster" - OverrideScopeSpecificCluster = "cluster" - KubeDefaultNamespace = "default" - - LogEndpoint = "rafay.dev/logging" -) - -// Kind is kind of resource -type Kind = string - -const ( - NamespaceKind Kind = "Namespace" - NamespaceListKind Kind = "NamespaceList" - PlacementKind Kind = "Placement" - PlacementListKind Kind = "PlacementList" -) diff --git a/components/common/proto/types/config/namespace.pb.go b/components/common/proto/types/config/namespace.pb.go deleted file mode 100644 index 4465049..0000000 --- a/components/common/proto/types/config/namespace.pb.go +++ /dev/null @@ -1,1243 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/types/config/namespace.proto - -package config - -import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - controller "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" - _ "github.com/gogo/protobuf/gogoproto" - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - v1 "k8s.io/apimachinery/pkg/apis/meta/v1" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type NamespaceStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - GeneratedName string `protobuf:"bytes,1,opt,name=generatedName,proto3" json:"generatedName,omitempty"` - PublishPending bool `protobuf:"varint,2,opt,name=publishPending,proto3" json:"publishPending,omitempty"` - LastPublishedRevision int64 `protobuf:"zigzag64,3,opt,name=lastPublishedRevision,proto3" json:"lastPublishedRevision,omitempty"` - AssignedClusters []*ClusterMeta `protobuf:"bytes,4,rep,name=assignedClusters,proto3" json:"assignedClusters,omitempty"` - DeployedClusters []*ClusterMeta `protobuf:"bytes,5,rep,name=deployedClusters,proto3" json:"deployedClusters,omitempty"` - FailedClusters []*ClusterMeta `protobuf:"bytes,6,rep,name=failedClusters,proto3" json:"failedClusters,omitempty"` - ReadyClusters []*ClusterMeta `protobuf:"bytes,7,rep,name=readyClusters,proto3" json:"readyClusters,omitempty"` - DriftedClusters []*ClusterMeta `protobuf:"bytes,8,rep,name=driftedClusters,proto3" json:"driftedClusters,omitempty"` - Conditions []*WorkloadSnapshotCondition `protobuf:"bytes,9,rep,name=conditions,proto3" json:"conditions,omitempty"` - IsDirty bool `protobuf:"varint,10,opt,name=isDirty,proto3" json:"isDirty,omitempty"` -} - -func (x *NamespaceStatus) Reset() { - *x = NamespaceStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_namespace_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NamespaceStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NamespaceStatus) ProtoMessage() {} - -func (x *NamespaceStatus) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_namespace_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NamespaceStatus.ProtoReflect.Descriptor instead. -func (*NamespaceStatus) Descriptor() ([]byte, []int) { - return file_proto_types_config_namespace_proto_rawDescGZIP(), []int{0} -} - -func (x *NamespaceStatus) GetGeneratedName() string { - if x != nil { - return x.GeneratedName - } - return "" -} - -func (x *NamespaceStatus) GetPublishPending() bool { - if x != nil { - return x.PublishPending - } - return false -} - -func (x *NamespaceStatus) GetLastPublishedRevision() int64 { - if x != nil { - return x.LastPublishedRevision - } - return 0 -} - -func (x *NamespaceStatus) GetAssignedClusters() []*ClusterMeta { - if x != nil { - return x.AssignedClusters - } - return nil -} - -func (x *NamespaceStatus) GetDeployedClusters() []*ClusterMeta { - if x != nil { - return x.DeployedClusters - } - return nil -} - -func (x *NamespaceStatus) GetFailedClusters() []*ClusterMeta { - if x != nil { - return x.FailedClusters - } - return nil -} - -func (x *NamespaceStatus) GetReadyClusters() []*ClusterMeta { - if x != nil { - return x.ReadyClusters - } - return nil -} - -func (x *NamespaceStatus) GetDriftedClusters() []*ClusterMeta { - if x != nil { - return x.DriftedClusters - } - return nil -} - -func (x *NamespaceStatus) GetConditions() []*WorkloadSnapshotCondition { - if x != nil { - return x.Conditions - } - return nil -} - -func (x *NamespaceStatus) GetIsDirty() bool { - if x != nil { - return x.IsDirty - } - return false -} - -type LimitRangeItem struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MaxCpu float32 `protobuf:"fixed32,1,opt,name=maxCpu,proto3" json:"maxCpu,omitempty"` - MaxMemory float32 `protobuf:"fixed32,2,opt,name=maxMemory,proto3" json:"maxMemory,omitempty"` - MinCpu float32 `protobuf:"fixed32,3,opt,name=minCpu,proto3" json:"minCpu,omitempty"` - MinMemory float32 `protobuf:"fixed32,4,opt,name=minMemory,proto3" json:"minMemory,omitempty"` - DefaultCpu float32 `protobuf:"fixed32,5,opt,name=defaultCpu,proto3" json:"defaultCpu,omitempty"` - DefaultMemory float32 `protobuf:"fixed32,6,opt,name=defaultMemory,proto3" json:"defaultMemory,omitempty"` - DefaultRequestCpu float32 `protobuf:"fixed32,7,opt,name=defaultRequestCpu,proto3" json:"defaultRequestCpu,omitempty"` - DefaultRequestMemory float32 `protobuf:"fixed32,8,opt,name=defaultRequestMemory,proto3" json:"defaultRequestMemory,omitempty"` - MaxLimitRequestRatioCpu float32 `protobuf:"fixed32,9,opt,name=maxLimitRequestRatioCpu,proto3" json:"maxLimitRequestRatioCpu,omitempty"` - MaxLimitRequestRatioMemory float32 `protobuf:"fixed32,10,opt,name=maxLimitRequestRatioMemory,proto3" json:"maxLimitRequestRatioMemory,omitempty"` -} - -func (x *LimitRangeItem) Reset() { - *x = LimitRangeItem{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_namespace_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LimitRangeItem) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LimitRangeItem) ProtoMessage() {} - -func (x *LimitRangeItem) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_namespace_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LimitRangeItem.ProtoReflect.Descriptor instead. -func (*LimitRangeItem) Descriptor() ([]byte, []int) { - return file_proto_types_config_namespace_proto_rawDescGZIP(), []int{1} -} - -func (x *LimitRangeItem) GetMaxCpu() float32 { - if x != nil { - return x.MaxCpu - } - return 0 -} - -func (x *LimitRangeItem) GetMaxMemory() float32 { - if x != nil { - return x.MaxMemory - } - return 0 -} - -func (x *LimitRangeItem) GetMinCpu() float32 { - if x != nil { - return x.MinCpu - } - return 0 -} - -func (x *LimitRangeItem) GetMinMemory() float32 { - if x != nil { - return x.MinMemory - } - return 0 -} - -func (x *LimitRangeItem) GetDefaultCpu() float32 { - if x != nil { - return x.DefaultCpu - } - return 0 -} - -func (x *LimitRangeItem) GetDefaultMemory() float32 { - if x != nil { - return x.DefaultMemory - } - return 0 -} - -func (x *LimitRangeItem) GetDefaultRequestCpu() float32 { - if x != nil { - return x.DefaultRequestCpu - } - return 0 -} - -func (x *LimitRangeItem) GetDefaultRequestMemory() float32 { - if x != nil { - return x.DefaultRequestMemory - } - return 0 -} - -func (x *LimitRangeItem) GetMaxLimitRequestRatioCpu() float32 { - if x != nil { - return x.MaxLimitRequestRatioCpu - } - return 0 -} - -func (x *LimitRangeItem) GetMaxLimitRequestRatioMemory() float32 { - if x != nil { - return x.MaxLimitRequestRatioMemory - } - return 0 -} - -type LimitRange struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PodLimits *LimitRangeItem `protobuf:"bytes,1,opt,name=podLimits,proto3" json:"podLimits,omitempty"` - ContainerLimits *LimitRangeItem `protobuf:"bytes,2,opt,name=containerLimits,proto3" json:"containerLimits,omitempty"` -} - -func (x *LimitRange) Reset() { - *x = LimitRange{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_namespace_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *LimitRange) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*LimitRange) ProtoMessage() {} - -func (x *LimitRange) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_namespace_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use LimitRange.ProtoReflect.Descriptor instead. -func (*LimitRange) Descriptor() ([]byte, []int) { - return file_proto_types_config_namespace_proto_rawDescGZIP(), []int{2} -} - -func (x *LimitRange) GetPodLimits() *LimitRangeItem { - if x != nil { - return x.PodLimits - } - return nil -} - -func (x *LimitRange) GetContainerLimits() *LimitRangeItem { - if x != nil { - return x.ContainerLimits - } - return nil -} - -type ResourceQuota struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - CpuRequests float32 `protobuf:"fixed32,1,opt,name=cpuRequests,proto3" json:"cpuRequests,omitempty"` - MemoryRequests float32 `protobuf:"fixed32,2,opt,name=memoryRequests,proto3" json:"memoryRequests,omitempty"` - CpuLimits float32 `protobuf:"fixed32,3,opt,name=cpuLimits,proto3" json:"cpuLimits,omitempty"` - MemoryLimits float32 `protobuf:"fixed32,4,opt,name=memoryLimits,proto3" json:"memoryLimits,omitempty"` -} - -func (x *ResourceQuota) Reset() { - *x = ResourceQuota{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_namespace_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ResourceQuota) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ResourceQuota) ProtoMessage() {} - -func (x *ResourceQuota) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_namespace_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ResourceQuota.ProtoReflect.Descriptor instead. -func (*ResourceQuota) Descriptor() ([]byte, []int) { - return file_proto_types_config_namespace_proto_rawDescGZIP(), []int{3} -} - -func (x *ResourceQuota) GetCpuRequests() float32 { - if x != nil { - return x.CpuRequests - } - return 0 -} - -func (x *ResourceQuota) GetMemoryRequests() float32 { - if x != nil { - return x.MemoryRequests - } - return 0 -} - -func (x *ResourceQuota) GetCpuLimits() float32 { - if x != nil { - return x.CpuLimits - } - return 0 -} - -func (x *ResourceQuota) GetMemoryLimits() float32 { - if x != nil { - return x.MemoryLimits - } - return 0 -} - -// NamespaceStatusTemplate is the template for sending namespace status -type NamespaceStatusTemplate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ObjectMeta *v1.ObjectMeta `protobuf:"bytes,1,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"` - Status *controller.NamespaceStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *NamespaceStatusTemplate) Reset() { - *x = NamespaceStatusTemplate{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_namespace_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NamespaceStatusTemplate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NamespaceStatusTemplate) ProtoMessage() {} - -func (x *NamespaceStatusTemplate) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_namespace_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NamespaceStatusTemplate.ProtoReflect.Descriptor instead. -func (*NamespaceStatusTemplate) Descriptor() ([]byte, []int) { - return file_proto_types_config_namespace_proto_rawDescGZIP(), []int{4} -} - -func (x *NamespaceStatusTemplate) GetObjectMeta() *v1.ObjectMeta { - if x != nil { - return x.ObjectMeta - } - return nil -} - -func (x *NamespaceStatusTemplate) GetStatus() *controller.NamespaceStatus { - if x != nil { - return x.Status - } - return nil -} - -// NamespaceTemplate is the template for creating namespace -type NamespaceTemplate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ObjectMeta *v1.ObjectMeta `protobuf:"bytes,1,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"` - Spec *controller.NamespaceSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` - ResourceQuota *ResourceQuota `protobuf:"bytes,4,opt,name=resourceQuota,proto3" json:"resourceQuota,omitempty"` - LimitRange *LimitRange `protobuf:"bytes,5,opt,name=limitRange,proto3" json:"limitRange,omitempty"` - Placement *PlacementSpec `protobuf:"bytes,6,opt,name=placement,proto3" json:"placement,omitempty"` - Type string `protobuf:"bytes,7,opt,name=type,proto3" json:"type,omitempty"` - NamespaceFromFile string `protobuf:"bytes,8,opt,name=namespaceFromFile,proto3" json:"namespaceFromFile,omitempty"` - RepoRef string `protobuf:"bytes,9,opt,name=repoRef,proto3" json:"repoRef,omitempty"` - RepoArtifactMeta *RepoArtifactMeta `protobuf:"bytes,10,opt,name=repoArtifactMeta,proto3" json:"repoArtifactMeta,omitempty"` - NamespaceFromRepo string `protobuf:"bytes,11,opt,name=namespaceFromRepo,proto3" json:"namespaceFromRepo,omitempty"` -} - -func (x *NamespaceTemplate) Reset() { - *x = NamespaceTemplate{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_namespace_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NamespaceTemplate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NamespaceTemplate) ProtoMessage() {} - -func (x *NamespaceTemplate) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_namespace_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NamespaceTemplate.ProtoReflect.Descriptor instead. -func (*NamespaceTemplate) Descriptor() ([]byte, []int) { - return file_proto_types_config_namespace_proto_rawDescGZIP(), []int{5} -} - -func (x *NamespaceTemplate) GetObjectMeta() *v1.ObjectMeta { - if x != nil { - return x.ObjectMeta - } - return nil -} - -func (x *NamespaceTemplate) GetSpec() *controller.NamespaceSpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *NamespaceTemplate) GetResourceQuota() *ResourceQuota { - if x != nil { - return x.ResourceQuota - } - return nil -} - -func (x *NamespaceTemplate) GetLimitRange() *LimitRange { - if x != nil { - return x.LimitRange - } - return nil -} - -func (x *NamespaceTemplate) GetPlacement() *PlacementSpec { - if x != nil { - return x.Placement - } - return nil -} - -func (x *NamespaceTemplate) GetType() string { - if x != nil { - return x.Type - } - return "" -} - -func (x *NamespaceTemplate) GetNamespaceFromFile() string { - if x != nil { - return x.NamespaceFromFile - } - return "" -} - -func (x *NamespaceTemplate) GetRepoRef() string { - if x != nil { - return x.RepoRef - } - return "" -} - -func (x *NamespaceTemplate) GetRepoArtifactMeta() *RepoArtifactMeta { - if x != nil { - return x.RepoArtifactMeta - } - return nil -} - -func (x *NamespaceTemplate) GetNamespaceFromRepo() string { - if x != nil { - return x.NamespaceFromRepo - } - return "" -} - -// Namespace represets a kubernetes namespace along with all the objects -// whose lifecycle is tied to the kubernetes namespace lifecycle -type Namespace struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *NamespaceTemplate `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` - Status *NamespaceStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *Namespace) Reset() { - *x = Namespace{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_namespace_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Namespace) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Namespace) ProtoMessage() {} - -func (x *Namespace) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_namespace_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Namespace.ProtoReflect.Descriptor instead. -func (*Namespace) Descriptor() ([]byte, []int) { - return file_proto_types_config_namespace_proto_rawDescGZIP(), []int{6} -} - -func (x *Namespace) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *Namespace) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *Namespace) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *Namespace) GetSpec() *NamespaceTemplate { - if x != nil { - return x.Spec - } - return nil -} - -func (x *Namespace) GetStatus() *NamespaceStatus { - if x != nil { - return x.Status - } - return nil -} - -// NamespaceList is a list of namespaces -type NamespaceList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*Namespace `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *NamespaceList) Reset() { - *x = NamespaceList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_namespace_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *NamespaceList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*NamespaceList) ProtoMessage() {} - -func (x *NamespaceList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_namespace_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use NamespaceList.ProtoReflect.Descriptor instead. -func (*NamespaceList) Descriptor() ([]byte, []int) { - return file_proto_types_config_namespace_proto_rawDescGZIP(), []int{7} -} - -func (x *NamespaceList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *NamespaceList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *NamespaceList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *NamespaceList) GetItems() []*Namespace { - if x != nil { - return x.Items - } - return nil -} - -var File_proto_types_config_namespace_proto protoreflect.FileDescriptor - -var file_proto_types_config_namespace_proto_rawDesc = []byte{ - 0x0a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, - 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x34, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, - 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, - 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, - 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x21, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x0a, 0x0a, 0x0f, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4b, 0x0a, 0x0d, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x25, 0x92, 0x41, 0x02, 0x40, 0x01, 0xf2, 0xde, 0x1f, 0x1c, 0x70, 0x67, 0x3a, - 0x22, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x2c, - 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0d, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x5b, 0x0a, 0x0e, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x42, 0x33, 0xea, 0xde, 0x1f, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0xf2, 0xde, 0x1f, 0x1d, 0x70, 0x67, 0x3a, 0x22, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x2c, 0x75, 0x73, 0x65, 0x5f, - 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x5f, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x42, 0x29, 0xf2, 0xde, 0x1f, 0x25, 0x70, 0x67, 0x3a, 0x22, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, - 0x15, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xa8, 0x01, 0x0a, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, - 0x6e, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x57, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x4f, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, - 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x20, - 0x70, 0x67, 0x3a, 0x22, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, - 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, - 0x61, 0x42, 0x57, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x4f, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, - 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, 0x64, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xa2, 0x01, 0x0a, - 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, - 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x55, 0xc8, 0xde, 0x1f, 0x00, - 0xf2, 0xde, 0x1f, 0x4d, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, - 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x49, 0x44, 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, - 0x22, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x54, - 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x4c, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, - 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, 0x72, 0x65, 0x61, 0x64, - 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, - 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x0f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, - 0x74, 0x61, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x4e, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, - 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, - 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, - 0x64, 0x72, 0x69, 0x66, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0f, 0x64, 0x72, 0x69, 0x66, - 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xad, 0x01, 0x0a, 0x0a, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x5a, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x14, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0xf2, 0xde, 0x1f, 0x3a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, - 0x70, 0x67, 0x3a, 0x22, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x52, - 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3f, 0x0a, 0x07, 0x69, - 0x73, 0x44, 0x69, 0x72, 0x74, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x25, 0xea, 0xde, - 0x1f, 0x07, 0x69, 0x73, 0x44, 0x69, 0x72, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x16, 0x70, 0x67, 0x3a, - 0x22, 0x69, 0x73, 0x5f, 0x64, 0x69, 0x72, 0x74, 0x79, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, - 0x72, 0x6f, 0x22, 0x52, 0x07, 0x69, 0x73, 0x44, 0x69, 0x72, 0x74, 0x79, 0x22, 0xc9, 0x05, 0x0a, - 0x0e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, - 0x2c, 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x14, 0xea, 0xde, 0x1f, 0x10, 0x6d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x2c, 0x6f, 0x6d, 0x69, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x6d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x12, 0x35, 0x0a, - 0x09, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, - 0x42, 0x17, 0xea, 0xde, 0x1f, 0x13, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2c, - 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x4d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x2c, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x02, 0x42, 0x14, 0xea, 0xde, 0x1f, 0x10, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, - 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x43, - 0x70, 0x75, 0x12, 0x35, 0x0a, 0x09, 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x02, 0x42, 0x17, 0xea, 0xde, 0x1f, 0x13, 0x6d, 0x69, 0x6e, 0x4d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x09, - 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x38, 0x0a, 0x0a, 0x64, 0x65, 0x66, - 0x61, 0x75, 0x6c, 0x74, 0x43, 0x70, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x42, 0x18, 0xea, - 0xde, 0x1f, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x70, 0x75, 0x2c, 0x6f, 0x6d, - 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x43, 0x70, 0x75, 0x12, 0x41, 0x0a, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x42, 0x1b, 0xea, 0xde, 0x1f, 0x17, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2c, 0x6f, 0x6d, - 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x4d, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x70, 0x75, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x02, 0x42, 0x1f, 0xea, 0xde, 0x1f, 0x1b, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x70, 0x75, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0x52, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x43, 0x70, 0x75, 0x12, 0x56, 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, - 0x01, 0x28, 0x02, 0x42, 0x22, 0xea, 0xde, 0x1f, 0x1e, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2c, 0x6f, 0x6d, - 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x5f, 0x0a, - 0x17, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x52, 0x61, 0x74, 0x69, 0x6f, 0x43, 0x70, 0x75, 0x18, 0x09, 0x20, 0x01, 0x28, 0x02, 0x42, 0x25, - 0xea, 0xde, 0x1f, 0x21, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x43, 0x70, 0x75, 0x2c, 0x6f, 0x6d, 0x69, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x17, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x43, 0x70, 0x75, 0x12, 0x68, - 0x0a, 0x1a, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, - 0x28, 0x02, 0x42, 0x28, 0xea, 0xde, 0x1f, 0x24, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x4d, 0x65, 0x6d, 0x6f, - 0x72, 0x79, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x1a, 0x6d, 0x61, - 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, - 0x69, 0x6f, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x22, 0xdc, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x5d, 0x0a, 0x09, 0x70, 0x6f, 0x64, 0x4c, 0x69, - 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, - 0x65, 0x6d, 0x42, 0x17, 0xea, 0xde, 0x1f, 0x13, 0x70, 0x6f, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, - 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x09, 0x70, 0x6f, 0x64, - 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x6f, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, - 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x42, 0x1d, 0xea, 0xde, 0x1f, 0x19, 0x63, 0x6f, 0x6e, - 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x2c, 0x6f, 0x6d, 0x69, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, - 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x89, 0x02, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x70, 0x75, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x42, 0x19, - 0xea, 0xde, 0x1f, 0x15, 0x63, 0x70, 0x75, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x2c, - 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0b, 0x63, 0x70, 0x75, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x44, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x42, 0x1c, - 0xea, 0xde, 0x1f, 0x18, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0e, 0x6d, 0x65, - 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x35, 0x0a, 0x09, - 0x63, 0x70, 0x75, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x42, - 0x17, 0xea, 0xde, 0x1f, 0x13, 0x63, 0x70, 0x75, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x2c, 0x6f, - 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x09, 0x63, 0x70, 0x75, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x42, 0x1a, 0xea, 0xde, 0x1f, 0x16, 0x6d, - 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x17, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, - 0x70, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, - 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, - 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0xd2, 0x07, 0x0a, 0x11, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x70, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, - 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, - 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x47, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, - 0x63, 0x12, 0x72, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x42, - 0x25, 0xea, 0xde, 0x1f, 0x17, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, - 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x06, - 0x70, 0x67, 0x3a, 0x22, 0x2d, 0x22, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, 0x66, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, - 0x6e, 0x67, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x42, 0x22, 0xea, - 0xde, 0x1f, 0x14, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x2c, 0x6f, 0x6d, - 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x06, 0x70, 0x67, 0x3a, 0x22, 0x2d, - 0x22, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x6e, 0x0a, - 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x29, 0xea, 0xde, 0x1f, 0x13, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0xf2, 0xde, 0x1f, 0x0e, 0x70, 0x67, 0x3a, 0x22, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x22, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x33, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xea, 0xde, 0x1f, - 0x0e, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, - 0xde, 0x1f, 0x09, 0x70, 0x67, 0x3a, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x57, 0x0a, 0x11, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, - 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xea, - 0xde, 0x1f, 0x1b, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, - 0x46, 0x69, 0x6c, 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, - 0x1f, 0x06, 0x70, 0x67, 0x3a, 0x22, 0x2d, 0x22, 0x52, 0x11, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x72, - 0x65, 0x70, 0x6f, 0x52, 0x65, 0x66, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xea, 0xde, - 0x1f, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x66, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x0c, 0x70, 0x67, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x52, - 0x65, 0x66, 0x22, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x52, 0x65, 0x66, 0x12, 0x8d, 0x01, 0x0a, - 0x10, 0x72, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x42, 0x37, 0xea, 0xde, 0x1f, 0x1a, 0x72, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0xf2, 0xde, 0x1f, 0x15, 0x70, 0x67, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, - 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x57, 0x0a, 0x11, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, - 0x6f, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xea, 0xde, 0x1f, 0x1b, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x2c, 0x6f, - 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x06, 0x70, 0x67, 0x3a, 0x22, - 0x2d, 0x22, 0x52, 0x11, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, 0x72, 0x6f, - 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x22, 0x89, 0x04, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x65, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0x92, 0x41, 0x42, 0x2a, 0x0b, 0x41, 0x50, - 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, - 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, - 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0x92, 0x41, 0x38, 0x2a, 0x04, 0x4b, - 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x11, - 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x09, 0x70, 0x67, 0x3a, 0x22, 0x73, 0x70, 0x65, 0x63, - 0x22, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x45, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x41, - 0x92, 0x41, 0x3e, 0x0a, 0x3c, 0x2a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x32, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0xd2, 0x01, 0x0a, 0x61, 0x70, - 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, - 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, - 0x63, 0x22, 0xf8, 0x02, 0x0a, 0x0d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4a, 0x92, 0x41, 0x47, 0x2a, 0x0b, 0x41, 0x50, - 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, - 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x49, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0x92, - 0x41, 0x32, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x3a, 0x0d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, 0xf2, 0x01, 0x0a, - 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0e, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, - 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, - 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, - 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, - 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_proto_types_config_namespace_proto_rawDescOnce sync.Once - file_proto_types_config_namespace_proto_rawDescData = file_proto_types_config_namespace_proto_rawDesc -) - -func file_proto_types_config_namespace_proto_rawDescGZIP() []byte { - file_proto_types_config_namespace_proto_rawDescOnce.Do(func() { - file_proto_types_config_namespace_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_config_namespace_proto_rawDescData) - }) - return file_proto_types_config_namespace_proto_rawDescData -} - -var file_proto_types_config_namespace_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_proto_types_config_namespace_proto_goTypes = []interface{}{ - (*NamespaceStatus)(nil), // 0: rafay.dev.types.config.NamespaceStatus - (*LimitRangeItem)(nil), // 1: rafay.dev.types.config.LimitRangeItem - (*LimitRange)(nil), // 2: rafay.dev.types.config.LimitRange - (*ResourceQuota)(nil), // 3: rafay.dev.types.config.ResourceQuota - (*NamespaceStatusTemplate)(nil), // 4: rafay.dev.types.config.NamespaceStatusTemplate - (*NamespaceTemplate)(nil), // 5: rafay.dev.types.config.NamespaceTemplate - (*Namespace)(nil), // 6: rafay.dev.types.config.Namespace - (*NamespaceList)(nil), // 7: rafay.dev.types.config.NamespaceList - (*ClusterMeta)(nil), // 8: rafay.dev.types.config.ClusterMeta - (*WorkloadSnapshotCondition)(nil), // 9: rafay.dev.types.config.WorkloadSnapshotCondition - (*v1.ObjectMeta)(nil), // 10: k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta - (*controller.NamespaceStatus)(nil), // 11: rafay.dev.types.controller.NamespaceStatus - (*controller.NamespaceSpec)(nil), // 12: rafay.dev.types.controller.NamespaceSpec - (*PlacementSpec)(nil), // 13: rafay.dev.types.config.PlacementSpec - (*RepoArtifactMeta)(nil), // 14: rafay.dev.types.config.RepoArtifactMeta - (*v3.Metadata)(nil), // 15: rafay.dev.types.common.v3.Metadata - (*v3.ListMetadata)(nil), // 16: rafay.dev.types.common.v3.ListMetadata -} -var file_proto_types_config_namespace_proto_depIdxs = []int32{ - 8, // 0: rafay.dev.types.config.NamespaceStatus.assignedClusters:type_name -> rafay.dev.types.config.ClusterMeta - 8, // 1: rafay.dev.types.config.NamespaceStatus.deployedClusters:type_name -> rafay.dev.types.config.ClusterMeta - 8, // 2: rafay.dev.types.config.NamespaceStatus.failedClusters:type_name -> rafay.dev.types.config.ClusterMeta - 8, // 3: rafay.dev.types.config.NamespaceStatus.readyClusters:type_name -> rafay.dev.types.config.ClusterMeta - 8, // 4: rafay.dev.types.config.NamespaceStatus.driftedClusters:type_name -> rafay.dev.types.config.ClusterMeta - 9, // 5: rafay.dev.types.config.NamespaceStatus.conditions:type_name -> rafay.dev.types.config.WorkloadSnapshotCondition - 1, // 6: rafay.dev.types.config.LimitRange.podLimits:type_name -> rafay.dev.types.config.LimitRangeItem - 1, // 7: rafay.dev.types.config.LimitRange.containerLimits:type_name -> rafay.dev.types.config.LimitRangeItem - 10, // 8: rafay.dev.types.config.NamespaceStatusTemplate.objectMeta:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta - 11, // 9: rafay.dev.types.config.NamespaceStatusTemplate.status:type_name -> rafay.dev.types.controller.NamespaceStatus - 10, // 10: rafay.dev.types.config.NamespaceTemplate.objectMeta:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta - 12, // 11: rafay.dev.types.config.NamespaceTemplate.spec:type_name -> rafay.dev.types.controller.NamespaceSpec - 3, // 12: rafay.dev.types.config.NamespaceTemplate.resourceQuota:type_name -> rafay.dev.types.config.ResourceQuota - 2, // 13: rafay.dev.types.config.NamespaceTemplate.limitRange:type_name -> rafay.dev.types.config.LimitRange - 13, // 14: rafay.dev.types.config.NamespaceTemplate.placement:type_name -> rafay.dev.types.config.PlacementSpec - 14, // 15: rafay.dev.types.config.NamespaceTemplate.repoArtifactMeta:type_name -> rafay.dev.types.config.RepoArtifactMeta - 15, // 16: rafay.dev.types.config.Namespace.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 5, // 17: rafay.dev.types.config.Namespace.spec:type_name -> rafay.dev.types.config.NamespaceTemplate - 0, // 18: rafay.dev.types.config.Namespace.status:type_name -> rafay.dev.types.config.NamespaceStatus - 16, // 19: rafay.dev.types.config.NamespaceList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 6, // 20: rafay.dev.types.config.NamespaceList.items:type_name -> rafay.dev.types.config.Namespace - 21, // [21:21] is the sub-list for method output_type - 21, // [21:21] is the sub-list for method input_type - 21, // [21:21] is the sub-list for extension type_name - 21, // [21:21] is the sub-list for extension extendee - 0, // [0:21] is the sub-list for field type_name -} - -func init() { file_proto_types_config_namespace_proto_init() } -func file_proto_types_config_namespace_proto_init() { - if File_proto_types_config_namespace_proto != nil { - return - } - file_proto_types_config_config_proto_init() - file_proto_types_config_placement_proto_init() - file_proto_types_config_workload_proto_init() - if !protoimpl.UnsafeEnabled { - file_proto_types_config_namespace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NamespaceStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_namespace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LimitRangeItem); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_namespace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*LimitRange); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_namespace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ResourceQuota); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_namespace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NamespaceStatusTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_namespace_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NamespaceTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_namespace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Namespace); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_namespace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*NamespaceList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_types_config_namespace_proto_rawDesc, - NumEnums: 0, - NumMessages: 8, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_types_config_namespace_proto_goTypes, - DependencyIndexes: file_proto_types_config_namespace_proto_depIdxs, - MessageInfos: file_proto_types_config_namespace_proto_msgTypes, - }.Build() - File_proto_types_config_namespace_proto = out.File - file_proto_types_config_namespace_proto_rawDesc = nil - file_proto_types_config_namespace_proto_goTypes = nil - file_proto_types_config_namespace_proto_depIdxs = nil -} diff --git a/components/common/proto/types/config/namespace.proto b/components/common/proto/types/config/namespace.proto deleted file mode 100644 index 0638e97..0000000 --- a/components/common/proto/types/config/namespace.proto +++ /dev/null @@ -1,211 +0,0 @@ -syntax = "proto3"; -package rafay.dev.types.config; - -import "protoc-gen-openapiv2/options/annotations.proto"; -import "gogoproto/gogo.proto"; -import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; -import "proto/types/commonpb/v3/common.proto"; -import "proto/types/config/config.proto"; -import "proto/types/config/placement.proto"; -import "proto/types/config/workload.proto"; -import "proto/types/controller/cluster_controller.proto"; - -message NamespaceStatus { - string generatedName = 1 [ - (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - read_only : true - }, - (gogoproto.moretags) = "pg:\"generated_name,use_zero\"" - ]; - bool publishPending = 2 [ - (gogoproto.moretags) = "pg:\"publish_pending,use_zero\"", - (gogoproto.jsontag) = "publishPending" - ]; - sint64 lastPublishedRevision = 3 - [ (gogoproto.moretags) = "pg:\"last_published_revision,use_zero\"" ]; - repeated rafay.dev.types.config.ClusterMeta assignedClusters = 4 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"assigned_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated rafay.dev.types.config.ClusterMeta deployedClusters = 5 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"deployed_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated rafay.dev.types.config.ClusterMeta failedClusters = 6 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"failed_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated rafay.dev.types.config.ClusterMeta readyClusters = 7 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"ready_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated rafay.dev.types.config.ClusterMeta driftedClusters = 8 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"drifted_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated rafay.dev.types.config.WorkloadSnapshotCondition conditions = 9 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"type\" pg:\"conditions\"", - (gogoproto.jsontag) = "conditions,omitempty" - ]; - bool isDirty = 10 [ - (gogoproto.moretags) = "pg:\"is_dirty,use_zero\"", - (gogoproto.jsontag) = "isDirty" - ]; -} - -message LimitRangeItem { - float maxCpu = 1 [ (gogoproto.jsontag) = "maxCpu,omitempty" ]; - float maxMemory = 2 [ (gogoproto.jsontag) = "maxMemory,omitempty" ]; - float minCpu = 3 [ (gogoproto.jsontag) = "minCpu,omitempty" ]; - float minMemory = 4 [ (gogoproto.jsontag) = "minMemory,omitempty" ]; - float defaultCpu = 5 [ (gogoproto.jsontag) = "defaultCpu,omitempty" ]; - float defaultMemory = 6 [ (gogoproto.jsontag) = "defaultMemory,omitempty" ]; - float defaultRequestCpu = 7 - [ (gogoproto.jsontag) = "defaultRequestCpu,omitempty" ]; - float defaultRequestMemory = 8 - [ (gogoproto.jsontag) = "defaultRequestMemory,omitempty" ]; - float maxLimitRequestRatioCpu = 9 - [ (gogoproto.jsontag) = "maxLimitRequestRatioCpu,omitempty" ]; - float maxLimitRequestRatioMemory = 10 - [ (gogoproto.jsontag) = "maxLimitRequestRatioMemory,omitempty" ]; -} - -message LimitRange { - LimitRangeItem podLimits = 1 [ (gogoproto.jsontag) = "podLimits,omitempty" ]; - LimitRangeItem containerLimits = 2 - [ (gogoproto.jsontag) = "containerLimits,omitempty" ]; -} - -message ResourceQuota { - float cpuRequests = 1 [ (gogoproto.jsontag) = "cpuRequests,omitempty" ]; - float memoryRequests = 2 [ (gogoproto.jsontag) = "memoryRequests,omitempty" ]; - float cpuLimits = 3 [ (gogoproto.jsontag) = "cpuLimits,omitempty" ]; - float memoryLimits = 4 [ (gogoproto.jsontag) = "memoryLimits,omitempty" ]; -} - -// NamespaceStatusTemplate is the template for sending namespace status -message NamespaceStatusTemplate { - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - rafay.dev.types.controller.NamespaceStatus status = 2 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -// NamespaceTemplate is the template for creating namespace -message NamespaceTemplate { - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - rafay.dev.types.controller.NamespaceSpec spec = 2 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - - ResourceQuota resourceQuota = 4 [ - (gogoproto.moretags) = "pg:\"-\"", - (gogoproto.jsontag) = "resourceQuota,omitempty" - ]; - LimitRange limitRange = 5 [ - (gogoproto.moretags) = "pg:\"-\"", - (gogoproto.jsontag) = "limitRange,omitempty" - ]; - rafay.dev.types.config.PlacementSpec placement = 6 [ - (gogoproto.moretags) = "pg:\"placement\"", - (gogoproto.jsontag) = "placement,omitempty" - ]; - string type = 7 [ - (gogoproto.moretags) = "pg:\"type\"", - (gogoproto.jsontag) = "type,omitempty" - ]; - string namespaceFromFile = 8 [ - (gogoproto.moretags) = "pg:\"-\"", - (gogoproto.jsontag) = "namespaceFromFile,omitempty" - ]; - string repoRef = 9 [ - (gogoproto.moretags) = "pg:\"repoRef\"", - (gogoproto.jsontag) = "repoRef,omitempty" - ]; - rafay.dev.types.config.RepoArtifactMeta repoArtifactMeta = 10 [ - (gogoproto.moretags) = "pg:\"repoArtifactMeta\"", - (gogoproto.jsontag) = "repoArtifactMeta,omitempty" - ]; - string namespaceFromRepo = 11 [ - (gogoproto.moretags) = "pg:\"-\"", - (gogoproto.jsontag) = "namespaceFromRepo,omitempty" - ]; -} - -// Namespace represets a kubernetes namespace along with all the objects -// whose lifecycle is tied to the kubernetes namespace lifecycle -message Namespace { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema : { - title : "Namespace" - description : "Namespace" - required : [ "apiVersion", "kind", "metadata", "spec" ] - } - }; - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "ClusterOverrideList" - read_only : true - } ]; - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Metadata", - description : "Metadata of the resource" - } ]; - NamespaceTemplate spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.moretags) = "pg:\"spec\"" ]; - NamespaceStatus status = 5 - [ (gogoproto.nullable) = false ]; - } - - // NamespaceList is a list of namespaces - message NamespaceList { - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the list resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "NamespaceList" - read_only : true - } ]; - rafay.dev.types.common.v3.ListMetadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "ListMetadata", - description : "Metadata of the list resource" - read_only : true - } ]; - repeated Namespace items = 4; - } \ No newline at end of file diff --git a/components/common/proto/types/config/override.pb.go b/components/common/proto/types/config/override.pb.go deleted file mode 100644 index e5d00b4..0000000 --- a/components/common/proto/types/config/override.pb.go +++ /dev/null @@ -1,1215 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/types/config/override.proto - -package config - -import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - controller "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" - _ "github.com/gogo/protobuf/gogoproto" - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type ClusterOverrideType int32 - -const ( - ClusterOverrideType_ClusterOverrideTypeUnknown ClusterOverrideType = 0 - ClusterOverrideType_ClusterOverrideTypeWorkload ClusterOverrideType = 1 - ClusterOverrideType_ClusterOverrideTypeAddon ClusterOverrideType = 2 - ClusterOverrideType_ClusterOverrideTypeNamespace ClusterOverrideType = 3 - ClusterOverrideType_ClusterOverrideTypeBlueprint ClusterOverrideType = 4 -) - -// Enum value maps for ClusterOverrideType. -var ( - ClusterOverrideType_name = map[int32]string{ - 0: "ClusterOverrideTypeUnknown", - 1: "ClusterOverrideTypeWorkload", - 2: "ClusterOverrideTypeAddon", - 3: "ClusterOverrideTypeNamespace", - 4: "ClusterOverrideTypeBlueprint", - } - ClusterOverrideType_value = map[string]int32{ - "ClusterOverrideTypeUnknown": 0, - "ClusterOverrideTypeWorkload": 1, - "ClusterOverrideTypeAddon": 2, - "ClusterOverrideTypeNamespace": 3, - "ClusterOverrideTypeBlueprint": 4, - } -) - -func (x ClusterOverrideType) Enum() *ClusterOverrideType { - p := new(ClusterOverrideType) - *p = x - return p -} - -func (x ClusterOverrideType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClusterOverrideType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_override_proto_enumTypes[0].Descriptor() -} - -func (ClusterOverrideType) Type() protoreflect.EnumType { - return &file_proto_types_config_override_proto_enumTypes[0] -} - -func (x ClusterOverrideType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ClusterOverrideType.Descriptor instead. -func (ClusterOverrideType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_override_proto_rawDescGZIP(), []int{0} -} - -type TemplateOverrides struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClusterName string `protobuf:"bytes,1,opt,name=clusterName,proto3" json:"clusterName,omitempty"` - PartnerID int64 `protobuf:"zigzag64,2,opt,name=partnerID,proto3" json:"partnerID,omitempty"` - OrganizationID int64 `protobuf:"zigzag64,3,opt,name=organizationID,proto3" json:"organizationID,omitempty"` - ProjectID int64 `protobuf:"zigzag64,4,opt,name=projectID,proto3" json:"projectID,omitempty"` - V1EdgeID string `protobuf:"bytes,5,opt,name=v1EdgeID,proto3" json:"v1EdgeID,omitempty"` - V1FluentdAggregatorAddr string `protobuf:"bytes,6,opt,name=v1FluentdAggregatorAddr,proto3" json:"v1FluentdAggregatorAddr,omitempty"` - V1DeploymentEnv string `protobuf:"bytes,7,opt,name=v1DeploymentEnv,proto3" json:"v1DeploymentEnv,omitempty"` - V1InfluxDBFQDN string `protobuf:"bytes,8,opt,name=v1InfluxDBFQDN,proto3" json:"v1InfluxDBFQDN,omitempty"` - V1InfluxDBPassword string `protobuf:"bytes,9,opt,name=v1InfluxDBPassword,proto3" json:"v1InfluxDBPassword,omitempty"` - V1PromethuesRelayFQDN string `protobuf:"bytes,10,opt,name=v1PromethuesRelayFQDN,proto3" json:"v1PromethuesRelayFQDN,omitempty"` - V1EdgeDisplayName string `protobuf:"bytes,11,opt,name=v1EdgeDisplayName,proto3" json:"v1EdgeDisplayName,omitempty"` - OrganizationHash string `protobuf:"bytes,12,opt,name=organizationHash,proto3" json:"organizationHash,omitempty"` - PartnerHash string `protobuf:"bytes,13,opt,name=partnerHash,proto3" json:"partnerHash,omitempty"` - OrgDisplayName string `protobuf:"bytes,14,opt,name=orgDisplayName,proto3" json:"orgDisplayName,omitempty"` - PartnerDisplayName string `protobuf:"bytes,15,opt,name=partnerDisplayName,proto3" json:"partnerDisplayName,omitempty"` - V2EventFrameworkFQDN string `protobuf:"bytes,16,opt,name=V2EventFrameworkFQDN,proto3" json:"V2EventFrameworkFQDN,omitempty"` - ProxyURL string `protobuf:"bytes,17,opt,name=proxyURL,proto3" json:"proxyURL,omitempty"` -} - -func (x *TemplateOverrides) Reset() { - *x = TemplateOverrides{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_override_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TemplateOverrides) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TemplateOverrides) ProtoMessage() {} - -func (x *TemplateOverrides) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_override_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TemplateOverrides.ProtoReflect.Descriptor instead. -func (*TemplateOverrides) Descriptor() ([]byte, []int) { - return file_proto_types_config_override_proto_rawDescGZIP(), []int{0} -} - -func (x *TemplateOverrides) GetClusterName() string { - if x != nil { - return x.ClusterName - } - return "" -} - -func (x *TemplateOverrides) GetPartnerID() int64 { - if x != nil { - return x.PartnerID - } - return 0 -} - -func (x *TemplateOverrides) GetOrganizationID() int64 { - if x != nil { - return x.OrganizationID - } - return 0 -} - -func (x *TemplateOverrides) GetProjectID() int64 { - if x != nil { - return x.ProjectID - } - return 0 -} - -func (x *TemplateOverrides) GetV1EdgeID() string { - if x != nil { - return x.V1EdgeID - } - return "" -} - -func (x *TemplateOverrides) GetV1FluentdAggregatorAddr() string { - if x != nil { - return x.V1FluentdAggregatorAddr - } - return "" -} - -func (x *TemplateOverrides) GetV1DeploymentEnv() string { - if x != nil { - return x.V1DeploymentEnv - } - return "" -} - -func (x *TemplateOverrides) GetV1InfluxDBFQDN() string { - if x != nil { - return x.V1InfluxDBFQDN - } - return "" -} - -func (x *TemplateOverrides) GetV1InfluxDBPassword() string { - if x != nil { - return x.V1InfluxDBPassword - } - return "" -} - -func (x *TemplateOverrides) GetV1PromethuesRelayFQDN() string { - if x != nil { - return x.V1PromethuesRelayFQDN - } - return "" -} - -func (x *TemplateOverrides) GetV1EdgeDisplayName() string { - if x != nil { - return x.V1EdgeDisplayName - } - return "" -} - -func (x *TemplateOverrides) GetOrganizationHash() string { - if x != nil { - return x.OrganizationHash - } - return "" -} - -func (x *TemplateOverrides) GetPartnerHash() string { - if x != nil { - return x.PartnerHash - } - return "" -} - -func (x *TemplateOverrides) GetOrgDisplayName() string { - if x != nil { - return x.OrgDisplayName - } - return "" -} - -func (x *TemplateOverrides) GetPartnerDisplayName() string { - if x != nil { - return x.PartnerDisplayName - } - return "" -} - -func (x *TemplateOverrides) GetV2EventFrameworkFQDN() string { - if x != nil { - return x.V2EventFrameworkFQDN - } - return "" -} - -func (x *TemplateOverrides) GetProxyURL() string { - if x != nil { - return x.ProxyURL - } - return "" -} - -// OverrideSpec is the specification of override -type OverrideSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // an override is only applied if selector matches the taskset/namespace - // labels - ResourceSelector string `protobuf:"bytes,1,opt,name=resourceSelector,proto3" json:"resourceSelector,omitempty"` - // overrides is list of objects to be overriden - Overrides []*controller.StepObject `protobuf:"bytes,2,rep,name=overrides,proto3" json:"overrides,omitempty"` - ValuesFile string `protobuf:"bytes,3,opt,name=valuesFile,proto3" json:"valuesFile,omitempty"` - TemplateOverrides *TemplateOverrides `protobuf:"bytes,4,opt,name=templateOverrides,proto3" json:"templateOverrides,omitempty"` - ClusterSelector string `protobuf:"bytes,5,opt,name=clusterSelector,proto3" json:"clusterSelector,omitempty"` - ClusterPlacement *PlacementSpec `protobuf:"bytes,6,opt,name=clusterPlacement,proto3" json:"clusterPlacement,omitempty"` - RepositoryRef string `protobuf:"bytes,7,opt,name=repositoryRef,proto3" json:"repositoryRef,omitempty"` - RepoArtifactMeta *RepoArtifactMeta `protobuf:"bytes,8,opt,name=repoArtifactMeta,proto3" json:"repoArtifactMeta,omitempty"` -} - -func (x *OverrideSpec) Reset() { - *x = OverrideSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_override_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OverrideSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OverrideSpec) ProtoMessage() {} - -func (x *OverrideSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_override_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OverrideSpec.ProtoReflect.Descriptor instead. -func (*OverrideSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_override_proto_rawDescGZIP(), []int{1} -} - -func (x *OverrideSpec) GetResourceSelector() string { - if x != nil { - return x.ResourceSelector - } - return "" -} - -func (x *OverrideSpec) GetOverrides() []*controller.StepObject { - if x != nil { - return x.Overrides - } - return nil -} - -func (x *OverrideSpec) GetValuesFile() string { - if x != nil { - return x.ValuesFile - } - return "" -} - -func (x *OverrideSpec) GetTemplateOverrides() *TemplateOverrides { - if x != nil { - return x.TemplateOverrides - } - return nil -} - -func (x *OverrideSpec) GetClusterSelector() string { - if x != nil { - return x.ClusterSelector - } - return "" -} - -func (x *OverrideSpec) GetClusterPlacement() *PlacementSpec { - if x != nil { - return x.ClusterPlacement - } - return nil -} - -func (x *OverrideSpec) GetRepositoryRef() string { - if x != nil { - return x.RepositoryRef - } - return "" -} - -func (x *OverrideSpec) GetRepoArtifactMeta() *RepoArtifactMeta { - if x != nil { - return x.RepoArtifactMeta - } - return nil -} - -// Override is a list of objects that can be used to patch namespace/taskset -// at partner/org/project/cluster level -// override type should be sepecificed as a label rafay.dev/overrideType -// applicable values are partner/organization/project/cluster -type Override struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *OverrideSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` - Status *v3.Status `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *Override) Reset() { - *x = Override{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_override_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Override) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Override) ProtoMessage() {} - -func (x *Override) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_override_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Override.ProtoReflect.Descriptor instead. -func (*Override) Descriptor() ([]byte, []int) { - return file_proto_types_config_override_proto_rawDescGZIP(), []int{2} -} - -func (x *Override) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *Override) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *Override) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *Override) GetSpec() *OverrideSpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *Override) GetStatus() *v3.Status { - if x != nil { - return x.Status - } - return nil -} - -// OverrideList is a list of overrides -type OverrideList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*Override `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *OverrideList) Reset() { - *x = OverrideList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_override_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *OverrideList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*OverrideList) ProtoMessage() {} - -func (x *OverrideList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_override_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use OverrideList.ProtoReflect.Descriptor instead. -func (*OverrideList) Descriptor() ([]byte, []int) { - return file_proto_types_config_override_proto_rawDescGZIP(), []int{3} -} - -func (x *OverrideList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *OverrideList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *OverrideList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *OverrideList) GetItems() []*Override { - if x != nil { - return x.Items - } - return nil -} - -type ClusterOverride struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *ClusterOverrideSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` - Status *v3.Status `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *ClusterOverride) Reset() { - *x = ClusterOverride{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_override_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterOverride) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterOverride) ProtoMessage() {} - -func (x *ClusterOverride) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_override_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterOverride.ProtoReflect.Descriptor instead. -func (*ClusterOverride) Descriptor() ([]byte, []int) { - return file_proto_types_config_override_proto_rawDescGZIP(), []int{4} -} - -func (x *ClusterOverride) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *ClusterOverride) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *ClusterOverride) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *ClusterOverride) GetSpec() *ClusterOverrideSpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *ClusterOverride) GetStatus() *v3.Status { - if x != nil { - return x.Status - } - return nil -} - -// OverrideSpec is the specification of override -type ClusterOverrideSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ClusterSelector string `protobuf:"bytes,1,opt,name=clusterSelector,proto3" json:"clusterSelector,omitempty"` - ResourceSelector string `protobuf:"bytes,2,opt,name=resourceSelector,proto3" json:"resourceSelector,omitempty"` - Type ClusterOverrideType `protobuf:"varint,3,opt,name=type,proto3,enum=rafay.dev.types.config.ClusterOverrideType" json:"type,omitempty"` - OverrideValues string `protobuf:"bytes,4,opt,name=overrideValues,proto3" json:"overrideValues,omitempty"` - ClusterPlacement *PlacementSpec `protobuf:"bytes,5,opt,name=clusterPlacement,proto3" json:"clusterPlacement,omitempty"` - RepositoryRef string `protobuf:"bytes,6,opt,name=repositoryRef,proto3" json:"repositoryRef,omitempty"` - RepoArtifactMeta *RepoArtifactMeta `protobuf:"bytes,7,opt,name=repoArtifactMeta,proto3" json:"repoArtifactMeta,omitempty"` -} - -func (x *ClusterOverrideSpec) Reset() { - *x = ClusterOverrideSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_override_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterOverrideSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterOverrideSpec) ProtoMessage() {} - -func (x *ClusterOverrideSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_override_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterOverrideSpec.ProtoReflect.Descriptor instead. -func (*ClusterOverrideSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_override_proto_rawDescGZIP(), []int{5} -} - -func (x *ClusterOverrideSpec) GetClusterSelector() string { - if x != nil { - return x.ClusterSelector - } - return "" -} - -func (x *ClusterOverrideSpec) GetResourceSelector() string { - if x != nil { - return x.ResourceSelector - } - return "" -} - -func (x *ClusterOverrideSpec) GetType() ClusterOverrideType { - if x != nil { - return x.Type - } - return ClusterOverrideType_ClusterOverrideTypeUnknown -} - -func (x *ClusterOverrideSpec) GetOverrideValues() string { - if x != nil { - return x.OverrideValues - } - return "" -} - -func (x *ClusterOverrideSpec) GetClusterPlacement() *PlacementSpec { - if x != nil { - return x.ClusterPlacement - } - return nil -} - -func (x *ClusterOverrideSpec) GetRepositoryRef() string { - if x != nil { - return x.RepositoryRef - } - return "" -} - -func (x *ClusterOverrideSpec) GetRepoArtifactMeta() *RepoArtifactMeta { - if x != nil { - return x.RepoArtifactMeta - } - return nil -} - -// OverrideList is a list of overrides -type ClusterOverrideList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*ClusterOverride `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *ClusterOverrideList) Reset() { - *x = ClusterOverrideList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_override_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterOverrideList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterOverrideList) ProtoMessage() {} - -func (x *ClusterOverrideList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_override_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterOverrideList.ProtoReflect.Descriptor instead. -func (*ClusterOverrideList) Descriptor() ([]byte, []int) { - return file_proto_types_config_override_proto_rawDescGZIP(), []int{6} -} - -func (x *ClusterOverrideList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *ClusterOverrideList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *ClusterOverrideList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *ClusterOverrideList) GetItems() []*ClusterOverride { - if x != nil { - return x.Items - } - return nil -} - -var File_proto_types_config_override_proto protoreflect.FileDescriptor - -var file_proto_types_config_override_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, - 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x1a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xcb, 0x05, - 0x0a, 0x11, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, - 0x72, 0x49, 0x44, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0e, 0x6f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x31, 0x45, - 0x64, 0x67, 0x65, 0x49, 0x44, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x76, 0x31, 0x45, - 0x64, 0x67, 0x65, 0x49, 0x44, 0x12, 0x38, 0x0a, 0x17, 0x76, 0x31, 0x46, 0x6c, 0x75, 0x65, 0x6e, - 0x74, 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x17, 0x76, 0x31, 0x46, 0x6c, 0x75, 0x65, 0x6e, 0x74, - 0x64, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x6f, 0x72, 0x41, 0x64, 0x64, 0x72, 0x12, - 0x28, 0x0a, 0x0f, 0x76, 0x31, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, - 0x6e, 0x76, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x76, 0x31, 0x44, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x76, 0x12, 0x26, 0x0a, 0x0e, 0x76, 0x31, 0x49, - 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x44, 0x42, 0x46, 0x51, 0x44, 0x4e, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0e, 0x76, 0x31, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x44, 0x42, 0x46, 0x51, 0x44, - 0x4e, 0x12, 0x2e, 0x0a, 0x12, 0x76, 0x31, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x44, 0x42, 0x50, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x76, - 0x31, 0x49, 0x6e, 0x66, 0x6c, 0x75, 0x78, 0x44, 0x42, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, - 0x64, 0x12, 0x34, 0x0a, 0x15, 0x76, 0x31, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x75, 0x65, - 0x73, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x46, 0x51, 0x44, 0x4e, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x15, 0x76, 0x31, 0x50, 0x72, 0x6f, 0x6d, 0x65, 0x74, 0x68, 0x75, 0x65, 0x73, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x46, 0x51, 0x44, 0x4e, 0x12, 0x2c, 0x0a, 0x11, 0x76, 0x31, 0x45, 0x64, 0x67, - 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x11, 0x76, 0x31, 0x45, 0x64, 0x67, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2a, 0x0a, 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x10, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x61, 0x73, - 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x48, 0x61, 0x73, 0x68, - 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x48, - 0x61, 0x73, 0x68, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x2e, 0x0a, 0x12, 0x70, - 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, - 0x65, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x14, 0x56, - 0x32, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x46, - 0x51, 0x44, 0x4e, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x14, 0x56, 0x32, 0x45, 0x76, 0x65, - 0x6e, 0x74, 0x46, 0x72, 0x61, 0x6d, 0x65, 0x77, 0x6f, 0x72, 0x6b, 0x46, 0x51, 0x44, 0x4e, 0x12, - 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x52, 0x4c, 0x18, 0x11, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x55, 0x52, 0x4c, 0x22, 0xce, 0x05, 0x0a, 0x0c, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x10, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0xf2, 0xde, 0x1f, 0x16, 0x70, 0x67, 0x3a, 0x22, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x22, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x12, 0x5c, 0x0a, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, - 0x16, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0e, 0x70, 0x67, 0x3a, 0x22, 0x6f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x22, 0x52, 0x09, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x73, 0x12, 0x34, 0x0a, 0x0a, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x46, 0x69, 0x6c, 0x65, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xf2, 0xde, 0x1f, 0x10, 0x70, 0x67, 0x3a, 0x22, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x52, 0x0a, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x78, 0x0a, 0x11, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x42, 0x1f, - 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x17, 0x70, 0x67, 0x3a, 0x22, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x73, 0x22, 0x52, - 0x11, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x73, 0x12, 0x43, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xf2, 0xde, 0x1f, - 0x15, 0x70, 0x67, 0x3a, 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x22, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x6d, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x1a, 0xf2, 0xde, 0x1f, 0x16, 0x70, 0x67, - 0x3a, 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0x52, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xf2, - 0xde, 0x1f, 0x13, 0x70, 0x67, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x5f, 0x72, 0x65, 0x66, 0x22, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x52, 0x65, 0x66, 0x12, 0x75, 0x0a, 0x10, 0x72, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1f, 0xc8, 0xde, 0x1f, 0x00, 0xf2, - 0xde, 0x1f, 0x17, 0x70, 0x67, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x5f, 0x61, 0x72, 0x74, 0x69, - 0x66, 0x61, 0x63, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x52, 0x10, 0x72, 0x65, 0x70, 0x6f, - 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x22, 0x82, 0x04, 0x0a, - 0x08, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x65, 0x0a, 0x0a, 0x61, 0x70, 0x69, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0x92, - 0x41, 0x42, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, - 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, - 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x3e, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, - 0x92, 0x41, 0x27, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, - 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, - 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x60, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x42, 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x16, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x3a, 0x3f, 0x92, 0x41, 0x3c, 0x0a, 0x3a, 0x2a, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x32, 0x08, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0xd2, 0x01, 0x0a, 0x61, 0x70, - 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, - 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, - 0x63, 0x22, 0xf4, 0x02, 0x0a, 0x0c, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4a, 0x92, 0x41, 0x47, 0x2a, 0x0b, 0x41, 0x50, 0x49, - 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, - 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0x92, 0x41, - 0x30, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x3a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x40, - 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x9e, 0x04, 0x0a, 0x0f, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x12, 0x65, 0x0a, 0x0a, - 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x45, 0x92, 0x41, 0x42, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, - 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2a, 0x92, 0x41, 0x27, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, - 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x3a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, - 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x49, 0x0a, - 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, - 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x25, 0x92, 0x41, 0x22, - 0x2a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x40, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x4d, 0x92, 0x41, 0x4a, 0x0a, - 0x48, 0x2a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x32, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0xd2, 0x01, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0xa3, 0x03, 0x0a, 0x13, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x28, 0x0a, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, - 0x63, 0x74, 0x6f, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x2a, 0x0a, 0x10, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x53, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x3f, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x79, - 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, - 0x12, 0x51, 0x0a, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, - 0x63, 0x52, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x66, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x70, - 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x07, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, - 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x10, 0x72, - 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x22, - 0x8a, 0x03, 0x0a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4a, 0x92, 0x41, 0x47, - 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, - 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, - 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x3b, 0x92, 0x41, 0x38, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, - 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0xbe, 0x01, 0x0a, - 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x55, 0x6e, 0x6b, 0x6e, 0x6f, - 0x77, 0x6e, 0x10, 0x00, 0x12, 0x1f, 0x0a, 0x1b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, - 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x10, 0x01, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x41, 0x64, 0x64, 0x6f, - 0x6e, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x6c, 0x75, 0x65, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x10, 0x04, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xf1, 0x01, - 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, - 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, - 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, - 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, - 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_proto_types_config_override_proto_rawDescOnce sync.Once - file_proto_types_config_override_proto_rawDescData = file_proto_types_config_override_proto_rawDesc -) - -func file_proto_types_config_override_proto_rawDescGZIP() []byte { - file_proto_types_config_override_proto_rawDescOnce.Do(func() { - file_proto_types_config_override_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_config_override_proto_rawDescData) - }) - return file_proto_types_config_override_proto_rawDescData -} - -var file_proto_types_config_override_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_proto_types_config_override_proto_msgTypes = make([]protoimpl.MessageInfo, 7) -var file_proto_types_config_override_proto_goTypes = []interface{}{ - (ClusterOverrideType)(0), // 0: rafay.dev.types.config.ClusterOverrideType - (*TemplateOverrides)(nil), // 1: rafay.dev.types.config.TemplateOverrides - (*OverrideSpec)(nil), // 2: rafay.dev.types.config.OverrideSpec - (*Override)(nil), // 3: rafay.dev.types.config.Override - (*OverrideList)(nil), // 4: rafay.dev.types.config.OverrideList - (*ClusterOverride)(nil), // 5: rafay.dev.types.config.ClusterOverride - (*ClusterOverrideSpec)(nil), // 6: rafay.dev.types.config.ClusterOverrideSpec - (*ClusterOverrideList)(nil), // 7: rafay.dev.types.config.ClusterOverrideList - (*controller.StepObject)(nil), // 8: rafay.dev.types.controller.StepObject - (*PlacementSpec)(nil), // 9: rafay.dev.types.config.PlacementSpec - (*RepoArtifactMeta)(nil), // 10: rafay.dev.types.config.RepoArtifactMeta - (*v3.Metadata)(nil), // 11: rafay.dev.types.common.v3.Metadata - (*v3.Status)(nil), // 12: rafay.dev.types.common.v3.Status - (*v3.ListMetadata)(nil), // 13: rafay.dev.types.common.v3.ListMetadata -} -var file_proto_types_config_override_proto_depIdxs = []int32{ - 8, // 0: rafay.dev.types.config.OverrideSpec.overrides:type_name -> rafay.dev.types.controller.StepObject - 1, // 1: rafay.dev.types.config.OverrideSpec.templateOverrides:type_name -> rafay.dev.types.config.TemplateOverrides - 9, // 2: rafay.dev.types.config.OverrideSpec.clusterPlacement:type_name -> rafay.dev.types.config.PlacementSpec - 10, // 3: rafay.dev.types.config.OverrideSpec.repoArtifactMeta:type_name -> rafay.dev.types.config.RepoArtifactMeta - 11, // 4: rafay.dev.types.config.Override.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 2, // 5: rafay.dev.types.config.Override.spec:type_name -> rafay.dev.types.config.OverrideSpec - 12, // 6: rafay.dev.types.config.Override.status:type_name -> rafay.dev.types.common.v3.Status - 13, // 7: rafay.dev.types.config.OverrideList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 3, // 8: rafay.dev.types.config.OverrideList.items:type_name -> rafay.dev.types.config.Override - 11, // 9: rafay.dev.types.config.ClusterOverride.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 6, // 10: rafay.dev.types.config.ClusterOverride.spec:type_name -> rafay.dev.types.config.ClusterOverrideSpec - 12, // 11: rafay.dev.types.config.ClusterOverride.status:type_name -> rafay.dev.types.common.v3.Status - 0, // 12: rafay.dev.types.config.ClusterOverrideSpec.type:type_name -> rafay.dev.types.config.ClusterOverrideType - 9, // 13: rafay.dev.types.config.ClusterOverrideSpec.clusterPlacement:type_name -> rafay.dev.types.config.PlacementSpec - 10, // 14: rafay.dev.types.config.ClusterOverrideSpec.repoArtifactMeta:type_name -> rafay.dev.types.config.RepoArtifactMeta - 13, // 15: rafay.dev.types.config.ClusterOverrideList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 5, // 16: rafay.dev.types.config.ClusterOverrideList.items:type_name -> rafay.dev.types.config.ClusterOverride - 17, // [17:17] is the sub-list for method output_type - 17, // [17:17] is the sub-list for method input_type - 17, // [17:17] is the sub-list for extension type_name - 17, // [17:17] is the sub-list for extension extendee - 0, // [0:17] is the sub-list for field type_name -} - -func init() { file_proto_types_config_override_proto_init() } -func file_proto_types_config_override_proto_init() { - if File_proto_types_config_override_proto != nil { - return - } - file_proto_types_config_config_proto_init() - file_proto_types_config_placement_proto_init() - if !protoimpl.UnsafeEnabled { - file_proto_types_config_override_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TemplateOverrides); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_override_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OverrideSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_override_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Override); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_override_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*OverrideList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_override_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterOverride); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_override_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterOverrideSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_override_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterOverrideList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_types_config_override_proto_rawDesc, - NumEnums: 1, - NumMessages: 7, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_types_config_override_proto_goTypes, - DependencyIndexes: file_proto_types_config_override_proto_depIdxs, - EnumInfos: file_proto_types_config_override_proto_enumTypes, - MessageInfos: file_proto_types_config_override_proto_msgTypes, - }.Build() - File_proto_types_config_override_proto = out.File - file_proto_types_config_override_proto_rawDesc = nil - file_proto_types_config_override_proto_goTypes = nil - file_proto_types_config_override_proto_depIdxs = nil -} diff --git a/components/common/proto/types/config/override.proto b/components/common/proto/types/config/override.proto deleted file mode 100644 index 7e2278f..0000000 --- a/components/common/proto/types/config/override.proto +++ /dev/null @@ -1,206 +0,0 @@ -syntax = "proto3"; -package rafay.dev.types.config; - -import "protoc-gen-openapiv2/options/annotations.proto"; -import "gogoproto/gogo.proto"; -import "proto/types/config/config.proto"; -import "proto/types/config/placement.proto"; -import "proto/types/controller/cluster_controller.proto"; -import "proto/types/commonpb/v3/common.proto"; - -message TemplateOverrides { - string clusterName = 1; - sint64 partnerID = 2; - sint64 organizationID = 3; - sint64 projectID = 4; - string v1EdgeID = 5; - string v1FluentdAggregatorAddr = 6; - string v1DeploymentEnv = 7; - string v1InfluxDBFQDN = 8; - string v1InfluxDBPassword = 9; - string v1PromethuesRelayFQDN = 10; - string v1EdgeDisplayName = 11; - string organizationHash = 12; - string partnerHash = 13; - string orgDisplayName = 14; - string partnerDisplayName = 15; - string V2EventFrameworkFQDN = 16; - string proxyURL = 17; -} - -// OverrideSpec is the specification of override -message OverrideSpec { - // an override is only applied if selector matches the taskset/namespace - // labels - string resourceSelector = 1 - [ (gogoproto.moretags) = "pg:\"resource_selector\"" ]; - // overrides is list of objects to be overriden - repeated rafay.dev.types.controller.StepObject overrides = 2 [ - (gogoproto.moretags) = "pg:\"overrides\"", - (gogoproto.nullable) = false - ]; - string valuesFile = 3 [ (gogoproto.moretags) = "pg:\"values_file\"" ]; - TemplateOverrides templateOverrides = 4 [ - (gogoproto.moretags) = "pg:\"template_overrides\"", - (gogoproto.nullable) = false - ]; - string clusterSelector = 5 - [ (gogoproto.moretags) = "pg:\"cluster_selector\"" ]; - rafay.dev.types.config.PlacementSpec clusterPlacement = 6 - [ (gogoproto.moretags) = "pg:\"cluster_placement\"" ]; - string repositoryRef = 7 [ (gogoproto.moretags) = "pg:\"repository_ref\"" ]; - rafay.dev.types.config.RepoArtifactMeta repoArtifactMeta = 8 [ - (gogoproto.moretags) = "pg:\"repo_artifact_meta\"", - (gogoproto.nullable) = false - ]; -} - -// Override is a list of objects that can be used to patch namespace/taskset -// at partner/org/project/cluster level -// override type should be sepecificed as a label rafay.dev/overrideType -// applicable values are partner/organization/project/cluster -message Override { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema : { - title : "Override" - description : "Override" - required : [ "apiVersion", "kind", "metadata", "spec" ] - } - }; - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the resource" - default : "Cluster" - read_only : true - } ]; - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Metadata", - description : "Metadata of the resource" - } ]; - OverrideSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - rafay.dev.types.common.v3.Status status = 5 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Status", - description : "Status of the resource" - read_only : true - } ]; -} - -// OverrideList is a list of overrides -message OverrideList { - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the list resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "ClusterList" - read_only : true - } ]; - rafay.dev.types.common.v3.ListMetadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "ListMetadata", - description : "Metadata of the list resource" - read_only : true - } ]; - repeated Override items = 4; -} - -message ClusterOverride { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema : { - title : "ClusterOverride" - description : "ClusterOverride" - required : [ "apiVersion", "kind", "metadata", "spec" ] - } - }; - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the resource" - default : "Cluster" - read_only : true - } ]; - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Metadata", - description : "Metadata of the resource" - } ]; - ClusterOverrideSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - rafay.dev.types.common.v3.Status status = 5 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Status", - description : "Status of the resource" - read_only : true - } ]; -} - -// OverrideSpec is the specification of override -message ClusterOverrideSpec { - string clusterSelector = 1; - string resourceSelector = 2; - ClusterOverrideType type = 3; - string overrideValues = 4; - rafay.dev.types.config.PlacementSpec clusterPlacement = 5; - string repositoryRef = 6; - rafay.dev.types.config.RepoArtifactMeta repoArtifactMeta = 7; -} - -enum ClusterOverrideType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - ClusterOverrideTypeUnknown = 0; - ClusterOverrideTypeWorkload = 1; - ClusterOverrideTypeAddon = 2; - ClusterOverrideTypeNamespace = 3; - ClusterOverrideTypeBlueprint = 4; -} - -// OverrideList is a list of overrides -message ClusterOverrideList { - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the list resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "ClusterOverrideList" - read_only : true - } ]; - rafay.dev.types.common.v3.ListMetadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "ListMetadata", - description : "Metadata of the list resource" - read_only : true - } ]; - repeated ClusterOverride items = 4; -} \ No newline at end of file diff --git a/components/common/proto/types/config/placement.pb.go b/components/common/proto/types/config/placement.pb.go deleted file mode 100644 index 8156ef4..0000000 --- a/components/common/proto/types/config/placement.pb.go +++ /dev/null @@ -1,755 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/types/config/placement.proto - -package config - -import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/gogo/protobuf/gogoproto" - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type DriftReconcillationAction int32 - -const ( - DriftReconcillationAction_DriftReconcillationActionNotSet DriftReconcillationAction = 0 - DriftReconcillationAction_DriftReconcillationActionNotify DriftReconcillationAction = 1 - DriftReconcillationAction_DriftReconcillationActionDeny DriftReconcillationAction = 2 -) - -// Enum value maps for DriftReconcillationAction. -var ( - DriftReconcillationAction_name = map[int32]string{ - 0: "DriftReconcillationActionNotSet", - 1: "DriftReconcillationActionNotify", - 2: "DriftReconcillationActionDeny", - } - DriftReconcillationAction_value = map[string]int32{ - "DriftReconcillationActionNotSet": 0, - "DriftReconcillationActionNotify": 1, - "DriftReconcillationActionDeny": 2, - } -) - -func (x DriftReconcillationAction) Enum() *DriftReconcillationAction { - p := new(DriftReconcillationAction) - *p = x - return p -} - -func (x DriftReconcillationAction) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DriftReconcillationAction) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_placement_proto_enumTypes[0].Descriptor() -} - -func (DriftReconcillationAction) Type() protoreflect.EnumType { - return &file_proto_types_config_placement_proto_enumTypes[0] -} - -func (x DriftReconcillationAction) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use DriftReconcillationAction.Descriptor instead. -func (DriftReconcillationAction) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_placement_proto_rawDescGZIP(), []int{0} -} - -type PlacementType int32 - -const ( - PlacementType_ClusterSelector PlacementType = 0 - PlacementType_ClusterLocations PlacementType = 1 - PlacementType_ClusterLabels PlacementType = 2 - PlacementType_ClusterSpecific PlacementType = 3 -) - -// Enum value maps for PlacementType. -var ( - PlacementType_name = map[int32]string{ - 0: "ClusterSelector", - 1: "ClusterLocations", - 2: "ClusterLabels", - 3: "ClusterSpecific", - } - PlacementType_value = map[string]int32{ - "ClusterSelector": 0, - "ClusterLocations": 1, - "ClusterLabels": 2, - "ClusterSpecific": 3, - } -) - -func (x PlacementType) Enum() *PlacementType { - p := new(PlacementType) - *p = x - return p -} - -func (x PlacementType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (PlacementType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_placement_proto_enumTypes[1].Descriptor() -} - -func (PlacementType) Type() protoreflect.EnumType { - return &file_proto_types_config_placement_proto_enumTypes[1] -} - -func (x PlacementType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use PlacementType.Descriptor instead. -func (PlacementType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_placement_proto_rawDescGZIP(), []int{1} -} - -type PlacementLabel struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` - Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` -} - -func (x *PlacementLabel) Reset() { - *x = PlacementLabel{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_placement_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PlacementLabel) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlacementLabel) ProtoMessage() {} - -func (x *PlacementLabel) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_placement_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlacementLabel.ProtoReflect.Descriptor instead. -func (*PlacementLabel) Descriptor() ([]byte, []int) { - return file_proto_types_config_placement_proto_rawDescGZIP(), []int{0} -} - -func (x *PlacementLabel) GetKey() string { - if x != nil { - return x.Key - } - return "" -} - -func (x *PlacementLabel) GetValue() string { - if x != nil { - return x.Value - } - return "" -} - -// PlacementTemplate is the template for creating placements -type PlacementTemplate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *PlacementSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` -} - -func (x *PlacementTemplate) Reset() { - *x = PlacementTemplate{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_placement_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PlacementTemplate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlacementTemplate) ProtoMessage() {} - -func (x *PlacementTemplate) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_placement_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlacementTemplate.ProtoReflect.Descriptor instead. -func (*PlacementTemplate) Descriptor() ([]byte, []int) { - return file_proto_types_config_placement_proto_rawDescGZIP(), []int{1} -} - -func (x *PlacementTemplate) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *PlacementTemplate) GetSpec() *PlacementSpec { - if x != nil { - return x.Spec - } - return nil -} - -// PlacementSpec is the specification of placement -type PlacementSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // placementType is the type of placement - PlacementType PlacementType `protobuf:"varint,1,opt,name=placementType,proto3,enum=rafay.dev.types.config.PlacementType" json:"placementType,omitempty"` - ClusterSelector string `protobuf:"bytes,2,opt,name=clusterSelector,proto3" json:"clusterSelector,omitempty"` - DriftAction DriftReconcillationAction `protobuf:"varint,3,opt,name=driftAction,proto3,enum=rafay.dev.types.config.DriftReconcillationAction" json:"driftAction,omitempty"` - ClusterLabels []*PlacementLabel `protobuf:"bytes,4,rep,name=clusterLabels,proto3" json:"clusterLabels,omitempty"` - NodeGroupingKeys []string `protobuf:"bytes,5,rep,name=nodeGroupingKeys,proto3" json:"nodeGroupingKeys,omitempty"` -} - -func (x *PlacementSpec) Reset() { - *x = PlacementSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_placement_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PlacementSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlacementSpec) ProtoMessage() {} - -func (x *PlacementSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_placement_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlacementSpec.ProtoReflect.Descriptor instead. -func (*PlacementSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_placement_proto_rawDescGZIP(), []int{2} -} - -func (x *PlacementSpec) GetPlacementType() PlacementType { - if x != nil { - return x.PlacementType - } - return PlacementType_ClusterSelector -} - -func (x *PlacementSpec) GetClusterSelector() string { - if x != nil { - return x.ClusterSelector - } - return "" -} - -func (x *PlacementSpec) GetDriftAction() DriftReconcillationAction { - if x != nil { - return x.DriftAction - } - return DriftReconcillationAction_DriftReconcillationActionNotSet -} - -func (x *PlacementSpec) GetClusterLabels() []*PlacementLabel { - if x != nil { - return x.ClusterLabels - } - return nil -} - -func (x *PlacementSpec) GetNodeGroupingKeys() []string { - if x != nil { - return x.NodeGroupingKeys - } - return nil -} - -// Placement defines how clusters have to be selected for a taskset -type Placement struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *PlacementSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` - Status *v3.Status `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *Placement) Reset() { - *x = Placement{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_placement_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Placement) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Placement) ProtoMessage() {} - -func (x *Placement) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_placement_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Placement.ProtoReflect.Descriptor instead. -func (*Placement) Descriptor() ([]byte, []int) { - return file_proto_types_config_placement_proto_rawDescGZIP(), []int{3} -} - -func (x *Placement) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *Placement) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *Placement) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *Placement) GetSpec() *PlacementSpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *Placement) GetStatus() *v3.Status { - if x != nil { - return x.Status - } - return nil -} - -// PlacementList is a list of placements -type PlacementList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*Placement `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *PlacementList) Reset() { - *x = PlacementList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_placement_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *PlacementList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*PlacementList) ProtoMessage() {} - -func (x *PlacementList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_placement_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use PlacementList.ProtoReflect.Descriptor instead. -func (*PlacementList) Descriptor() ([]byte, []int) { - return file_proto_types_config_placement_proto_rawDescGZIP(), []int{4} -} - -func (x *PlacementList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *PlacementList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *PlacementList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *PlacementList) GetItems() []*Placement { - if x != nil { - return x.Items - } - return nil -} - -var File_proto_types_config_placement_proto protoreflect.FileDescriptor - -var file_proto_types_config_placement_proto_rawDesc = []byte{ - 0x0a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, - 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x38, 0x0a, 0x0e, 0x50, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, - 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x22, 0xa3, 0x01, 0x0a, 0x11, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x49, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, - 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0xac, 0x04, 0x0a, 0x0d, 0x50, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x7e, 0x0a, 0x0d, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x31, 0xea, 0xde, 0x1f, 0x0d, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0xf2, 0xde, 0x1f, 0x1c, 0x70, - 0x67, 0x3a, 0x22, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0d, 0x70, 0x6c, 0x61, - 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5f, 0x0a, 0x0f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x35, 0xea, 0xde, 0x1f, 0x0f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0xf2, 0xde, 0x1f, 0x1e, 0x70, 0x67, 0x3a, 0x22, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, - 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x82, 0x01, 0x0a, 0x0b, - 0x64, 0x72, 0x69, 0x66, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x72, 0x69, 0x66, 0x74, - 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x2d, 0xea, 0xde, 0x1f, 0x0b, 0x64, 0x72, 0x69, 0x66, 0x74, 0x41, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0xf2, 0xde, 0x1f, 0x1a, 0x70, 0x67, 0x3a, 0x22, 0x64, 0x72, 0x69, - 0x66, 0x74, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, - 0x72, 0x6f, 0x22, 0x52, 0x0b, 0x64, 0x72, 0x69, 0x66, 0x74, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x69, 0x0a, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x42, - 0x1b, 0xea, 0xde, 0x1f, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, - 0x6c, 0x73, 0xf2, 0xde, 0x1f, 0x06, 0x70, 0x67, 0x3a, 0x22, 0x2d, 0x22, 0x52, 0x0d, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x4a, 0x0a, 0x10, 0x6e, - 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x73, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x09, 0x42, 0x1e, 0xea, 0xde, 0x1f, 0x10, 0x6e, 0x6f, 0x64, 0x65, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x73, 0xf2, 0xde, 0x1f, 0x06, 0x70, - 0x67, 0x3a, 0x22, 0x2d, 0x22, 0x52, 0x10, 0x6e, 0x6f, 0x64, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, - 0x69, 0x6e, 0x67, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x97, 0x04, 0x0a, 0x09, 0x50, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x65, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0x92, 0x41, 0x42, 0x2a, 0x0b, - 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, - 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, - 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4f, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0x92, 0x41, 0x38, 0x2a, - 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x3a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, - 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, - 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x16, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x41, - 0x92, 0x41, 0x3e, 0x0a, 0x3c, 0x2a, 0x09, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x32, 0x09, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0xd2, 0x01, 0x0a, 0x61, 0x70, - 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, - 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, - 0x63, 0x22, 0xf8, 0x02, 0x0a, 0x0d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, - 0x69, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4a, 0x92, 0x41, 0x47, 0x2a, 0x0b, 0x41, 0x50, - 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, - 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x49, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x35, 0x92, - 0x41, 0x32, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x3a, 0x0d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x4c, 0x69, - 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x37, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x8e, 0x01, 0x0a, - 0x19, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x6c, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x1f, 0x44, 0x72, - 0x69, 0x66, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, - 0x23, 0x0a, 0x1f, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x65, 0x63, 0x6f, 0x6e, 0x63, 0x69, 0x6c, - 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x10, 0x01, 0x12, 0x21, 0x0a, 0x1d, 0x44, 0x72, 0x69, 0x66, 0x74, 0x52, 0x65, 0x63, - 0x6f, 0x6e, 0x63, 0x69, 0x6c, 0x6c, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x44, 0x65, 0x6e, 0x79, 0x10, 0x02, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x68, 0x0a, - 0x0d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x13, - 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x10, - 0x03, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xf2, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0e, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xe2, 0x02, 0x22, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_proto_types_config_placement_proto_rawDescOnce sync.Once - file_proto_types_config_placement_proto_rawDescData = file_proto_types_config_placement_proto_rawDesc -) - -func file_proto_types_config_placement_proto_rawDescGZIP() []byte { - file_proto_types_config_placement_proto_rawDescOnce.Do(func() { - file_proto_types_config_placement_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_config_placement_proto_rawDescData) - }) - return file_proto_types_config_placement_proto_rawDescData -} - -var file_proto_types_config_placement_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_proto_types_config_placement_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_proto_types_config_placement_proto_goTypes = []interface{}{ - (DriftReconcillationAction)(0), // 0: rafay.dev.types.config.DriftReconcillationAction - (PlacementType)(0), // 1: rafay.dev.types.config.PlacementType - (*PlacementLabel)(nil), // 2: rafay.dev.types.config.PlacementLabel - (*PlacementTemplate)(nil), // 3: rafay.dev.types.config.PlacementTemplate - (*PlacementSpec)(nil), // 4: rafay.dev.types.config.PlacementSpec - (*Placement)(nil), // 5: rafay.dev.types.config.Placement - (*PlacementList)(nil), // 6: rafay.dev.types.config.PlacementList - (*v3.Metadata)(nil), // 7: rafay.dev.types.common.v3.Metadata - (*v3.Status)(nil), // 8: rafay.dev.types.common.v3.Status - (*v3.ListMetadata)(nil), // 9: rafay.dev.types.common.v3.ListMetadata -} -var file_proto_types_config_placement_proto_depIdxs = []int32{ - 7, // 0: rafay.dev.types.config.PlacementTemplate.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 4, // 1: rafay.dev.types.config.PlacementTemplate.spec:type_name -> rafay.dev.types.config.PlacementSpec - 1, // 2: rafay.dev.types.config.PlacementSpec.placementType:type_name -> rafay.dev.types.config.PlacementType - 0, // 3: rafay.dev.types.config.PlacementSpec.driftAction:type_name -> rafay.dev.types.config.DriftReconcillationAction - 2, // 4: rafay.dev.types.config.PlacementSpec.clusterLabels:type_name -> rafay.dev.types.config.PlacementLabel - 7, // 5: rafay.dev.types.config.Placement.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 4, // 6: rafay.dev.types.config.Placement.spec:type_name -> rafay.dev.types.config.PlacementSpec - 8, // 7: rafay.dev.types.config.Placement.status:type_name -> rafay.dev.types.common.v3.Status - 9, // 8: rafay.dev.types.config.PlacementList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 5, // 9: rafay.dev.types.config.PlacementList.items:type_name -> rafay.dev.types.config.Placement - 10, // [10:10] is the sub-list for method output_type - 10, // [10:10] is the sub-list for method input_type - 10, // [10:10] is the sub-list for extension type_name - 10, // [10:10] is the sub-list for extension extendee - 0, // [0:10] is the sub-list for field type_name -} - -func init() { file_proto_types_config_placement_proto_init() } -func file_proto_types_config_placement_proto_init() { - if File_proto_types_config_placement_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_types_config_placement_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlacementLabel); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_placement_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlacementTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_placement_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlacementSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_placement_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Placement); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_placement_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*PlacementList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_types_config_placement_proto_rawDesc, - NumEnums: 2, - NumMessages: 5, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_types_config_placement_proto_goTypes, - DependencyIndexes: file_proto_types_config_placement_proto_depIdxs, - EnumInfos: file_proto_types_config_placement_proto_enumTypes, - MessageInfos: file_proto_types_config_placement_proto_msgTypes, - }.Build() - File_proto_types_config_placement_proto = out.File - file_proto_types_config_placement_proto_rawDesc = nil - file_proto_types_config_placement_proto_goTypes = nil - file_proto_types_config_placement_proto_depIdxs = nil -} diff --git a/components/common/proto/types/config/placement.proto b/components/common/proto/types/config/placement.proto deleted file mode 100644 index 3ed44b1..0000000 --- a/components/common/proto/types/config/placement.proto +++ /dev/null @@ -1,127 +0,0 @@ -syntax = "proto3"; -package rafay.dev.types.config; - -import "protoc-gen-openapiv2/options/annotations.proto"; -import "gogoproto/gogo.proto"; -import "proto/types/commonpb/v3/common.proto"; - -enum DriftReconcillationAction { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - DriftReconcillationActionNotSet = 0; - DriftReconcillationActionNotify = 1; - DriftReconcillationActionDeny = 2; -} - -enum PlacementType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - ClusterSelector = 0; - ClusterLocations = 1; - ClusterLabels = 2; - ClusterSpecific = 3; -} - -message PlacementLabel { - string key = 1; - string value = 2; -} - -// PlacementTemplate is the template for creating placements -message PlacementTemplate { - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - PlacementSpec spec = 2 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -// PlacementSpec is the specification of placement -message PlacementSpec { - // placementType is the type of placement - PlacementType placementType = 1 [ - (gogoproto.jsontag) = "placementType", - (gogoproto.moretags) = "pg:\"placement_type,use_zero\"" - ]; - string clusterSelector = 2 [ - (gogoproto.moretags) = "pg:\"cluster_selector,use_zero\"", - (gogoproto.jsontag) = "clusterSelector" - ]; - - DriftReconcillationAction driftAction = 3 [ - (gogoproto.moretags) = "pg:\"drift_action,use_zero\"", - (gogoproto.jsontag) = "driftAction" - ]; - repeated PlacementLabel clusterLabels = 4 [ - (gogoproto.moretags) = "pg:\"-\"", - (gogoproto.jsontag) = "clusterLabels" - ]; - repeated string nodeGroupingKeys = 5 [ - (gogoproto.moretags) = "pg:\"-\"", - (gogoproto.jsontag) = "nodeGroupingKeys" - ]; -} - -// Placement defines how clusters have to be selected for a taskset -message Placement { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema : { - title : "Placement" - description : "Placement" - required : [ "apiVersion", "kind", "metadata", "spec" ] - } - }; - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "ClusterOverrideList" - read_only : true - } ]; - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Metadata", - description : "Metadata of the resource" - } ]; - PlacementSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - rafay.dev.types.common.v3.Status status = 5 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Status", - description : "Status of the resource" - read_only : true - } ]; -} - -// PlacementList is a list of placements -message PlacementList { - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the list resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "PlacementList" - read_only : true - } ]; - rafay.dev.types.common.v3.ListMetadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "ListMetadata", - description : "Metadata of the list resource" - read_only : true - } ]; - repeated Placement items = 4; -} \ No newline at end of file diff --git a/components/common/proto/types/config/repository.pb.go b/components/common/proto/types/config/repository.pb.go deleted file mode 100644 index 1b72320..0000000 --- a/components/common/proto/types/config/repository.pb.go +++ /dev/null @@ -1,1049 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/types/config/repository.proto - -package config - -import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/gogo/protobuf/gogoproto" - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type RepositoryType int32 - -const ( - RepositoryType_RepositoryTypeNotSet RepositoryType = 0 - RepositoryType_GitRepository RepositoryType = 1 - RepositoryType_HelmRepository RepositoryType = 2 -) - -// Enum value maps for RepositoryType. -var ( - RepositoryType_name = map[int32]string{ - 0: "RepositoryTypeNotSet", - 1: "GitRepository", - 2: "HelmRepository", - } - RepositoryType_value = map[string]int32{ - "RepositoryTypeNotSet": 0, - "GitRepository": 1, - "HelmRepository": 2, - } -) - -func (x RepositoryType) Enum() *RepositoryType { - p := new(RepositoryType) - *p = x - return p -} - -func (x RepositoryType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RepositoryType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_repository_proto_enumTypes[0].Descriptor() -} - -func (RepositoryType) Type() protoreflect.EnumType { - return &file_proto_types_config_repository_proto_enumTypes[0] -} - -func (x RepositoryType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use RepositoryType.Descriptor instead. -func (RepositoryType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{0} -} - -type RepositoryCredentialType int32 - -const ( - RepositoryCredentialType_CredentialTypeNotSet RepositoryCredentialType = 0 - RepositoryCredentialType_UserPassCredential RepositoryCredentialType = 1 - RepositoryCredentialType_SSHCredential RepositoryCredentialType = 2 -) - -// Enum value maps for RepositoryCredentialType. -var ( - RepositoryCredentialType_name = map[int32]string{ - 0: "CredentialTypeNotSet", - 1: "UserPassCredential", - 2: "SSHCredential", - } - RepositoryCredentialType_value = map[string]int32{ - "CredentialTypeNotSet": 0, - "UserPassCredential": 1, - "SSHCredential": 2, - } -) - -func (x RepositoryCredentialType) Enum() *RepositoryCredentialType { - p := new(RepositoryCredentialType) - *p = x - return p -} - -func (x RepositoryCredentialType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (RepositoryCredentialType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_repository_proto_enumTypes[1].Descriptor() -} - -func (RepositoryCredentialType) Type() protoreflect.EnumType { - return &file_proto_types_config_repository_proto_enumTypes[1] -} - -func (x RepositoryCredentialType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use RepositoryCredentialType.Descriptor instead. -func (RepositoryCredentialType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{1} -} - -// Repository is a first class object for storing reference to git,helm, etc -// repo -type Repository struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *RepositorySpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` - Status *RepositoryStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *Repository) Reset() { - *x = Repository{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_repository_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Repository) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Repository) ProtoMessage() {} - -func (x *Repository) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_repository_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Repository.ProtoReflect.Descriptor instead. -func (*Repository) Descriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{0} -} - -func (x *Repository) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *Repository) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *Repository) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *Repository) GetSpec() *RepositorySpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *Repository) GetStatus() *RepositoryStatus { - if x != nil { - return x.Status - } - return nil -} - -type AgentRef struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` - Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"` -} - -func (x *AgentRef) Reset() { - *x = AgentRef{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_repository_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *AgentRef) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*AgentRef) ProtoMessage() {} - -func (x *AgentRef) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_repository_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use AgentRef.ProtoReflect.Descriptor instead. -func (*AgentRef) Descriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{1} -} - -func (x *AgentRef) GetName() string { - if x != nil { - return x.Name - } - return "" -} - -func (x *AgentRef) GetId() string { - if x != nil { - return x.Id - } - return "" -} - -// RepositorySpec is the spec of SecretStore -type RepositorySpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // helm, git etc - RepositoryType RepositoryType `protobuf:"varint,1,opt,name=repositoryType,proto3,enum=rafay.dev.types.config.RepositoryType" json:"repositoryType,omitempty"` - // Https URL or SSH URL - Endpoint string `protobuf:"bytes,2,opt,name=endpoint,proto3" json:"endpoint,omitempty"` - Insecure bool `protobuf:"varint,3,opt,name=insecure,proto3" json:"insecure,omitempty"` - CaCert string `protobuf:"bytes,4,opt,name=caCert,proto3" json:"caCert,omitempty"` - Credentials *RepoCredentials `protobuf:"bytes,5,opt,name=credentials,proto3" json:"credentials,omitempty"` - AgentNames []string `protobuf:"bytes,6,rep,name=agentNames,proto3" json:"agentNames,omitempty"` - CredentialType RepositoryCredentialType `protobuf:"varint,7,opt,name=credentialType,proto3,enum=rafay.dev.types.config.RepositoryCredentialType" json:"credentialType,omitempty"` - InternalNetworkAccessOnly bool `protobuf:"varint,9,opt,name=internalNetworkAccessOnly,proto3" json:"internalNetworkAccessOnly,omitempty"` - EnableSubmodules bool `protobuf:"varint,10,opt,name=enableSubmodules,proto3" json:"enableSubmodules,omitempty"` - MaxRetires int64 `protobuf:"zigzag64,11,opt,name=maxRetires,proto3" json:"maxRetires,omitempty"` - EnableLFS bool `protobuf:"varint,12,opt,name=enableLFS,proto3" json:"enableLFS,omitempty"` -} - -func (x *RepositorySpec) Reset() { - *x = RepositorySpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_repository_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RepositorySpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RepositorySpec) ProtoMessage() {} - -func (x *RepositorySpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_repository_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RepositorySpec.ProtoReflect.Descriptor instead. -func (*RepositorySpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{2} -} - -func (x *RepositorySpec) GetRepositoryType() RepositoryType { - if x != nil { - return x.RepositoryType - } - return RepositoryType_RepositoryTypeNotSet -} - -func (x *RepositorySpec) GetEndpoint() string { - if x != nil { - return x.Endpoint - } - return "" -} - -func (x *RepositorySpec) GetInsecure() bool { - if x != nil { - return x.Insecure - } - return false -} - -func (x *RepositorySpec) GetCaCert() string { - if x != nil { - return x.CaCert - } - return "" -} - -func (x *RepositorySpec) GetCredentials() *RepoCredentials { - if x != nil { - return x.Credentials - } - return nil -} - -func (x *RepositorySpec) GetAgentNames() []string { - if x != nil { - return x.AgentNames - } - return nil -} - -func (x *RepositorySpec) GetCredentialType() RepositoryCredentialType { - if x != nil { - return x.CredentialType - } - return RepositoryCredentialType_CredentialTypeNotSet -} - -func (x *RepositorySpec) GetInternalNetworkAccessOnly() bool { - if x != nil { - return x.InternalNetworkAccessOnly - } - return false -} - -func (x *RepositorySpec) GetEnableSubmodules() bool { - if x != nil { - return x.EnableSubmodules - } - return false -} - -func (x *RepositorySpec) GetMaxRetires() int64 { - if x != nil { - return x.MaxRetires - } - return 0 -} - -func (x *RepositorySpec) GetEnableLFS() bool { - if x != nil { - return x.EnableLFS - } - return false -} - -type RepositoryStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Agents []*AgentRef `protobuf:"bytes,2,rep,name=agents,proto3" json:"agents,omitempty"` -} - -func (x *RepositoryStatus) Reset() { - *x = RepositoryStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_repository_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RepositoryStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RepositoryStatus) ProtoMessage() {} - -func (x *RepositoryStatus) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_repository_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RepositoryStatus.ProtoReflect.Descriptor instead. -func (*RepositoryStatus) Descriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{3} -} - -func (x *RepositoryStatus) GetAgents() []*AgentRef { - if x != nil { - return x.Agents - } - return nil -} - -type RepoCredentials struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - UserPass *RepoUserPassCredentials `protobuf:"bytes,1,opt,name=userPass,proto3" json:"userPass,omitempty"` - Ssh *RepoSSHCredentials `protobuf:"bytes,2,opt,name=ssh,proto3" json:"ssh,omitempty"` -} - -func (x *RepoCredentials) Reset() { - *x = RepoCredentials{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_repository_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RepoCredentials) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RepoCredentials) ProtoMessage() {} - -func (x *RepoCredentials) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_repository_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RepoCredentials.ProtoReflect.Descriptor instead. -func (*RepoCredentials) Descriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{4} -} - -func (x *RepoCredentials) GetUserPass() *RepoUserPassCredentials { - if x != nil { - return x.UserPass - } - return nil -} - -func (x *RepoCredentials) GetSsh() *RepoSSHCredentials { - if x != nil { - return x.Ssh - } - return nil -} - -type RepoUserPassCredentials struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Username string `protobuf:"bytes,1,opt,name=username,proto3" json:"username,omitempty"` - Password string `protobuf:"bytes,2,opt,name=password,proto3" json:"password,omitempty"` - ClientCertData string `protobuf:"bytes,3,opt,name=clientCertData,proto3" json:"clientCertData,omitempty"` - ClientCertKey string `protobuf:"bytes,4,opt,name=clientCertKey,proto3" json:"clientCertKey,omitempty"` -} - -func (x *RepoUserPassCredentials) Reset() { - *x = RepoUserPassCredentials{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_repository_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RepoUserPassCredentials) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RepoUserPassCredentials) ProtoMessage() {} - -func (x *RepoUserPassCredentials) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_repository_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RepoUserPassCredentials.ProtoReflect.Descriptor instead. -func (*RepoUserPassCredentials) Descriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{5} -} - -func (x *RepoUserPassCredentials) GetUsername() string { - if x != nil { - return x.Username - } - return "" -} - -func (x *RepoUserPassCredentials) GetPassword() string { - if x != nil { - return x.Password - } - return "" -} - -func (x *RepoUserPassCredentials) GetClientCertData() string { - if x != nil { - return x.ClientCertData - } - return "" -} - -func (x *RepoUserPassCredentials) GetClientCertKey() string { - if x != nil { - return x.ClientCertKey - } - return "" -} - -type RepoSSHCredentials struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - SshPrivateKey string `protobuf:"bytes,1,opt,name=sshPrivateKey,proto3" json:"sshPrivateKey,omitempty"` -} - -func (x *RepoSSHCredentials) Reset() { - *x = RepoSSHCredentials{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_repository_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RepoSSHCredentials) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RepoSSHCredentials) ProtoMessage() {} - -func (x *RepoSSHCredentials) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_repository_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RepoSSHCredentials.ProtoReflect.Descriptor instead. -func (*RepoSSHCredentials) Descriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{6} -} - -func (x *RepoSSHCredentials) GetSshPrivateKey() string { - if x != nil { - return x.SshPrivateKey - } - return "" -} - -// RepositoryList is a list of repositories -type RepositoryList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*Repository `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *RepositoryList) Reset() { - *x = RepositoryList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_repository_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *RepositoryList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*RepositoryList) ProtoMessage() {} - -func (x *RepositoryList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_repository_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use RepositoryList.ProtoReflect.Descriptor instead. -func (*RepositoryList) Descriptor() ([]byte, []int) { - return file_proto_types_config_repository_proto_rawDescGZIP(), []int{7} -} - -func (x *RepositoryList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *RepositoryList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *RepositoryList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *RepositoryList) GetItems() []*Repository { - if x != nil { - return x.Items - } - return nil -} - -var File_proto_types_config_repository_proto protoreflect.FileDescriptor - -var file_proto_types_config_repository_proto_rawDesc = []byte{ - 0x0a, 0x23, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, - 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf7, 0x03, 0x0a, 0x0a, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x12, 0x65, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0x92, 0x41, - 0x42, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, - 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, - 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x41, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2d, 0x92, - 0x41, 0x2a, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x0a, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x44, 0x0a, 0x04, - 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x70, - 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x12, 0x4a, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xc8, 0xde, - 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x43, - 0x92, 0x41, 0x40, 0x0a, 0x3e, 0x2a, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x32, 0x0a, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0xd2, 0x01, 0x0a, - 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, - 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, - 0x70, 0x65, 0x63, 0x22, 0x2e, 0x0a, 0x08, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x66, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x02, 0x69, 0x64, 0x22, 0x98, 0x08, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, 0x83, 0x01, 0x0a, 0x0e, 0x72, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x42, 0x33, 0xea, 0xde, 0x1f, 0x0e, 0x72, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0xf2, 0xde, 0x1f, 0x1d, 0x70, - 0x67, 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x74, 0x79, - 0x70, 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0e, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x42, 0x0a, 0x08, - 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, - 0xea, 0xde, 0x1f, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0xf2, 0xde, 0x1f, 0x16, - 0x70, 0x67, 0x3a, 0x22, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2c, 0x75, 0x73, 0x65, - 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x08, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, - 0x12, 0x42, 0x0a, 0x08, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x26, 0xea, 0xde, 0x1f, 0x08, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, - 0xf2, 0xde, 0x1f, 0x16, 0x70, 0x67, 0x3a, 0x22, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, - 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x08, 0x69, 0x6e, 0x73, 0x65, - 0x63, 0x75, 0x72, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0xf2, 0xde, 0x1f, 0x15, 0x70, 0x67, 0x3a, 0x22, 0x63, 0x61, - 0x5f, 0x63, 0x65, 0x72, 0x74, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, - 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x6c, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x42, 0x21, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x19, 0x70, - 0x67, 0x3a, 0x22, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2c, 0x75, - 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0b, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x41, 0x0a, 0x0a, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x09, 0x42, 0x21, 0xc8, 0xde, 0x1f, 0x00, 0xf2, - 0xde, 0x1f, 0x19, 0x70, 0x67, 0x3a, 0x22, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0a, 0x61, 0x67, - 0x65, 0x6e, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x12, 0x8d, 0x01, 0x0a, 0x0e, 0x63, 0x72, 0x65, - 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x0e, 0x32, 0x30, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x54, - 0x79, 0x70, 0x65, 0x42, 0x33, 0xea, 0xde, 0x1f, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0xf2, 0xde, 0x1f, 0x1d, 0x70, 0x67, 0x3a, 0x22, 0x63, - 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x75, - 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0e, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, - 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x89, 0x01, 0x0a, 0x19, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0x18, 0x09, 0x20, 0x01, 0x28, 0x08, 0x42, 0x4b, 0xea, 0xde, - 0x1f, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, - 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x4f, 0x6e, 0x6c, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, - 0x67, 0x3a, 0x22, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x5f, 0x6e, 0x65, 0x74, 0x77, - 0x6f, 0x72, 0x6b, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, - 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x4f, 0x6e, 0x6c, 0x79, 0x12, 0x62, 0x0a, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, - 0x62, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x42, 0x36, - 0xea, 0xde, 0x1f, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, 0x62, 0x6d, 0x6f, 0x64, - 0x75, 0x6c, 0x65, 0x73, 0xf2, 0xde, 0x1f, 0x1e, 0x70, 0x67, 0x3a, 0x22, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x5f, 0x73, 0x75, 0x62, 0x6d, 0x6f, 0x64, 0x6c, 0x65, 0x73, 0x2c, 0x75, 0x73, 0x65, - 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x10, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x75, - 0x62, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x6d, 0x61, 0x78, 0x52, - 0x65, 0x74, 0x69, 0x72, 0x65, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x12, 0x42, 0x2b, 0xea, 0xde, - 0x1f, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0xf2, 0xde, 0x1f, 0x19, - 0x70, 0x67, 0x3a, 0x22, 0x6d, 0x61, 0x78, 0x5f, 0x72, 0x65, 0x74, 0x72, 0x69, 0x65, 0x73, 0x2c, - 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0a, 0x6d, 0x61, 0x78, 0x52, 0x65, - 0x74, 0x69, 0x72, 0x65, 0x73, 0x12, 0x47, 0x0a, 0x09, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, - 0x46, 0x53, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x42, 0x29, 0xea, 0xde, 0x1f, 0x09, 0x65, 0x6e, - 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x46, 0x53, 0xf2, 0xde, 0x1f, 0x18, 0x70, 0x67, 0x3a, 0x22, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x5f, 0x6c, 0x66, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, - 0x72, 0x6f, 0x22, 0x52, 0x09, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x4c, 0x46, 0x53, 0x22, 0x5c, - 0x0a, 0x10, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x48, 0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x66, 0x42, 0x0e, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x06, 0x70, 0x67, - 0x3a, 0x22, 0x2d, 0x22, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x9c, 0x01, 0x0a, - 0x0f, 0x52, 0x65, 0x70, 0x6f, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, - 0x12, 0x4b, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, - 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x12, 0x3c, 0x0a, - 0x03, 0x73, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x53, 0x48, 0x43, 0x72, 0x65, 0x64, 0x65, - 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x52, 0x03, 0x73, 0x73, 0x68, 0x22, 0x9f, 0x01, 0x0a, 0x17, - 0x52, 0x65, 0x70, 0x6f, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, - 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, - 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, - 0x26, 0x0a, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, - 0x65, 0x72, 0x74, 0x44, 0x61, 0x74, 0x61, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x6c, 0x69, 0x65, 0x6e, - 0x74, 0x43, 0x65, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x43, 0x65, 0x72, 0x74, 0x4b, 0x65, 0x79, 0x22, 0x3a, 0x0a, - 0x12, 0x52, 0x65, 0x70, 0x6f, 0x53, 0x53, 0x48, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x73, 0x73, 0x68, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x4b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x73, 0x73, 0x68, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x4b, 0x65, 0x79, 0x22, 0xfb, 0x02, 0x0a, 0x0e, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0a, - 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x4a, 0x92, 0x41, 0x47, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, - 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4a, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x36, 0x92, 0x41, 0x33, 0x2a, 0x04, 0x4b, 0x69, 0x6e, - 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x0e, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, - 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x38, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x57, 0x0a, 0x0e, 0x52, 0x65, 0x70, 0x6f, 0x73, - 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x65, - 0x74, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x47, 0x69, 0x74, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x65, 0x6c, 0x6d, 0x52, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x10, 0x02, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, - 0x2a, 0x65, 0x0a, 0x18, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x43, 0x72, - 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, - 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, - 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x16, 0x0a, 0x12, 0x55, 0x73, 0x65, 0x72, 0x50, 0x61, - 0x73, 0x73, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x11, - 0x0a, 0x0d, 0x53, 0x53, 0x48, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x10, - 0x02, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xf3, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0f, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, - 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xe2, 0x02, 0x22, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_proto_types_config_repository_proto_rawDescOnce sync.Once - file_proto_types_config_repository_proto_rawDescData = file_proto_types_config_repository_proto_rawDesc -) - -func file_proto_types_config_repository_proto_rawDescGZIP() []byte { - file_proto_types_config_repository_proto_rawDescOnce.Do(func() { - file_proto_types_config_repository_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_config_repository_proto_rawDescData) - }) - return file_proto_types_config_repository_proto_rawDescData -} - -var file_proto_types_config_repository_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_proto_types_config_repository_proto_msgTypes = make([]protoimpl.MessageInfo, 8) -var file_proto_types_config_repository_proto_goTypes = []interface{}{ - (RepositoryType)(0), // 0: rafay.dev.types.config.RepositoryType - (RepositoryCredentialType)(0), // 1: rafay.dev.types.config.RepositoryCredentialType - (*Repository)(nil), // 2: rafay.dev.types.config.Repository - (*AgentRef)(nil), // 3: rafay.dev.types.config.AgentRef - (*RepositorySpec)(nil), // 4: rafay.dev.types.config.RepositorySpec - (*RepositoryStatus)(nil), // 5: rafay.dev.types.config.RepositoryStatus - (*RepoCredentials)(nil), // 6: rafay.dev.types.config.RepoCredentials - (*RepoUserPassCredentials)(nil), // 7: rafay.dev.types.config.RepoUserPassCredentials - (*RepoSSHCredentials)(nil), // 8: rafay.dev.types.config.RepoSSHCredentials - (*RepositoryList)(nil), // 9: rafay.dev.types.config.RepositoryList - (*v3.Metadata)(nil), // 10: rafay.dev.types.common.v3.Metadata - (*v3.ListMetadata)(nil), // 11: rafay.dev.types.common.v3.ListMetadata -} -var file_proto_types_config_repository_proto_depIdxs = []int32{ - 10, // 0: rafay.dev.types.config.Repository.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 4, // 1: rafay.dev.types.config.Repository.spec:type_name -> rafay.dev.types.config.RepositorySpec - 5, // 2: rafay.dev.types.config.Repository.status:type_name -> rafay.dev.types.config.RepositoryStatus - 0, // 3: rafay.dev.types.config.RepositorySpec.repositoryType:type_name -> rafay.dev.types.config.RepositoryType - 6, // 4: rafay.dev.types.config.RepositorySpec.credentials:type_name -> rafay.dev.types.config.RepoCredentials - 1, // 5: rafay.dev.types.config.RepositorySpec.credentialType:type_name -> rafay.dev.types.config.RepositoryCredentialType - 3, // 6: rafay.dev.types.config.RepositoryStatus.agents:type_name -> rafay.dev.types.config.AgentRef - 7, // 7: rafay.dev.types.config.RepoCredentials.userPass:type_name -> rafay.dev.types.config.RepoUserPassCredentials - 8, // 8: rafay.dev.types.config.RepoCredentials.ssh:type_name -> rafay.dev.types.config.RepoSSHCredentials - 11, // 9: rafay.dev.types.config.RepositoryList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 2, // 10: rafay.dev.types.config.RepositoryList.items:type_name -> rafay.dev.types.config.Repository - 11, // [11:11] is the sub-list for method output_type - 11, // [11:11] is the sub-list for method input_type - 11, // [11:11] is the sub-list for extension type_name - 11, // [11:11] is the sub-list for extension extendee - 0, // [0:11] is the sub-list for field type_name -} - -func init() { file_proto_types_config_repository_proto_init() } -func file_proto_types_config_repository_proto_init() { - if File_proto_types_config_repository_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_types_config_repository_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Repository); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_repository_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*AgentRef); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_repository_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepositorySpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_repository_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepositoryStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_repository_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepoCredentials); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_repository_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepoUserPassCredentials); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_repository_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepoSSHCredentials); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_repository_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*RepositoryList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_types_config_repository_proto_rawDesc, - NumEnums: 2, - NumMessages: 8, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_types_config_repository_proto_goTypes, - DependencyIndexes: file_proto_types_config_repository_proto_depIdxs, - EnumInfos: file_proto_types_config_repository_proto_enumTypes, - MessageInfos: file_proto_types_config_repository_proto_msgTypes, - }.Build() - File_proto_types_config_repository_proto = out.File - file_proto_types_config_repository_proto_rawDesc = nil - file_proto_types_config_repository_proto_goTypes = nil - file_proto_types_config_repository_proto_depIdxs = nil -} diff --git a/components/common/proto/types/config/repository.proto b/components/common/proto/types/config/repository.proto deleted file mode 100644 index 977bbe7..0000000 --- a/components/common/proto/types/config/repository.proto +++ /dev/null @@ -1,161 +0,0 @@ -syntax = "proto3"; -package rafay.dev.types.config; - -import "protoc-gen-openapiv2/options/annotations.proto"; -import "gogoproto/gogo.proto"; -import "proto/types/commonpb/v3/common.proto"; - -// Repository is a first class object for storing reference to git,helm, etc -// repo -message Repository { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema : { - title : "Repository" - description : "Repository" - required : [ "apiVersion", "kind", "metadata", "spec" ] - } - }; - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the resource" - default : "Repository" - read_only : true - } ]; - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Metadata", - description : "Metadata of the resource" - } ]; - RepositorySpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - RepositoryStatus status = 5 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -enum RepositoryType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - RepositoryTypeNotSet = 0; - GitRepository = 1; - HelmRepository = 2; -} - -enum RepositoryCredentialType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - CredentialTypeNotSet = 0; - UserPassCredential = 1; - SSHCredential = 2; -} - -message AgentRef { - string name = 1; - string id = 2; -} - -// RepositorySpec is the spec of SecretStore -message RepositorySpec { - // helm, git etc - RepositoryType repositoryType = 1 [ - (gogoproto.moretags) = "pg:\"repository_type,use_zero\"", - (gogoproto.jsontag) = "repositoryType" - ]; - // Https URL or SSH URL - string endpoint = 2 [ - (gogoproto.moretags) = "pg:\"endpoint,use_zero\"", - (gogoproto.jsontag) = "endpoint" - ]; - - bool insecure = 3 [ - (gogoproto.moretags) = "pg:\"insecure,use_zero\"", - (gogoproto.jsontag) = "insecure" - ]; - - string caCert = 4 [ (gogoproto.moretags) = "pg:\"ca_cert,use_zero\"" ]; - - RepoCredentials credentials = 5 [ - (gogoproto.moretags) = "pg:\"credentials,use_zero\"", - (gogoproto.nullable) = false - ]; - - repeated string agentNames = 6 [ - (gogoproto.moretags) = "pg:\"agent_names,use_zero\"", - (gogoproto.nullable) = false - ]; - - RepositoryCredentialType credentialType = 7 [ - (gogoproto.moretags) = "pg:\"credential_type,use_zero\"", - (gogoproto.jsontag) = "credentialType" - ]; - - bool internalNetworkAccessOnly = 9 [ - (gogoproto.moretags) = "pg:\"internal_network_access_only,use_zero\"", - (gogoproto.jsontag) = "internalNetworkAccessOnly" - ]; - bool enableSubmodules = 10 [ - (gogoproto.moretags) = "pg:\"enable_submodles,use_zero\"", - (gogoproto.jsontag) = "enableSubmodules" - ]; - sint64 maxRetires = 11 [ - (gogoproto.moretags) = "pg:\"max_retries,use_zero\"", - (gogoproto.jsontag) = "maxRetries" - ]; - bool enableLFS = 12 [ - (gogoproto.moretags) = "pg:\"enable_lfs,use_zero\"", - (gogoproto.jsontag) = "enableLFS" - ]; -} - -message RepositoryStatus { - repeated AgentRef agents = 2 - [ (gogoproto.moretags) = "pg:\"-\"", (gogoproto.nullable) = false ]; -} - -message RepoCredentials { - RepoUserPassCredentials userPass = 1; - RepoSSHCredentials ssh = 2; -} - -message RepoUserPassCredentials { - string username = 1; - string password = 2; - string clientCertData = 3; - string clientCertKey = 4; -} - -message RepoSSHCredentials { string sshPrivateKey = 1; } - -// RepositoryList is a list of repositories -message RepositoryList { - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the list resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; -string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "RepositoryList" - read_only : true - } ]; -rafay.dev.types.common.v3.ListMetadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "ListMetadata", - description : "Metadata of the list resource" - read_only : true - } ]; - repeated Repository items = 4; -} \ No newline at end of file diff --git a/components/common/proto/types/config/workload.pb.go b/components/common/proto/types/config/workload.pb.go deleted file mode 100644 index 9b60205..0000000 --- a/components/common/proto/types/config/workload.pb.go +++ /dev/null @@ -1,2615 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/types/config/workload.proto - -package config - -import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/gogo/protobuf/gogoproto" - _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type DeploymentPlanType int32 - -const ( - DeploymentPlanType_DeploymentPlanNotSet DeploymentPlanType = 0 - DeploymentPlanType_ParallelDeploymentPlan DeploymentPlanType = 1 - DeploymentPlanType_CanaryDeploymentPlan DeploymentPlanType = 2 - DeploymentPlanType_BlueGreenDeploymentPlan DeploymentPlanType = 3 - DeploymentPlanType_DependencyDeploymentPlan DeploymentPlanType = 4 -) - -// Enum value maps for DeploymentPlanType. -var ( - DeploymentPlanType_name = map[int32]string{ - 0: "DeploymentPlanNotSet", - 1: "ParallelDeploymentPlan", - 2: "CanaryDeploymentPlan", - 3: "BlueGreenDeploymentPlan", - 4: "DependencyDeploymentPlan", - } - DeploymentPlanType_value = map[string]int32{ - "DeploymentPlanNotSet": 0, - "ParallelDeploymentPlan": 1, - "CanaryDeploymentPlan": 2, - "BlueGreenDeploymentPlan": 3, - "DependencyDeploymentPlan": 4, - } -) - -func (x DeploymentPlanType) Enum() *DeploymentPlanType { - p := new(DeploymentPlanType) - *p = x - return p -} - -func (x DeploymentPlanType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (DeploymentPlanType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_workload_proto_enumTypes[0].Descriptor() -} - -func (DeploymentPlanType) Type() protoreflect.EnumType { - return &file_proto_types_config_workload_proto_enumTypes[0] -} - -func (x DeploymentPlanType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use DeploymentPlanType.Descriptor instead. -func (DeploymentPlanType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{0} -} - -type WorkloadSnapshotType int32 - -const ( - WorkloadSnapshotType_WorkloadSnapshotTypeNotSet WorkloadSnapshotType = 0 - WorkloadSnapshotType_RafayWizardWorkloadJSON WorkloadSnapshotType = 1 - WorkloadSnapshotType_ZipArchive WorkloadSnapshotType = 2 -) - -// Enum value maps for WorkloadSnapshotType. -var ( - WorkloadSnapshotType_name = map[int32]string{ - 0: "WorkloadSnapshotTypeNotSet", - 1: "RafayWizardWorkloadJSON", - 2: "ZipArchive", - } - WorkloadSnapshotType_value = map[string]int32{ - "WorkloadSnapshotTypeNotSet": 0, - "RafayWizardWorkloadJSON": 1, - "ZipArchive": 2, - } -) - -func (x WorkloadSnapshotType) Enum() *WorkloadSnapshotType { - p := new(WorkloadSnapshotType) - *p = x - return p -} - -func (x WorkloadSnapshotType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WorkloadSnapshotType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_workload_proto_enumTypes[1].Descriptor() -} - -func (WorkloadSnapshotType) Type() protoreflect.EnumType { - return &file_proto_types_config_workload_proto_enumTypes[1] -} - -func (x WorkloadSnapshotType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use WorkloadSnapshotType.Descriptor instead. -func (WorkloadSnapshotType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{1} -} - -// WorkloadSnapshotConditionType is the condition type of workload -// snapshot condition -type WorkloadSnapshotConditionType int32 - -const ( - WorkloadSnapshotConditionType_WorkloadSnapshotValidate WorkloadSnapshotConditionType = 0 - WorkloadSnapshotConditionType_WorkloadSnapshotSchedule WorkloadSnapshotConditionType = 1 - WorkloadSnapshotConditionType_WorkloadSnapshotUnschedule WorkloadSnapshotConditionType = 2 - WorkloadSnapshotConditionType_WorkloadSnapshotClusterDeployed WorkloadSnapshotConditionType = 3 - WorkloadSnapshotConditionType_WorkloadSnapshotClusterReady WorkloadSnapshotConditionType = 4 - WorkloadSnapshotConditionType_WorkloadSnapshotClusterDrifted WorkloadSnapshotConditionType = 5 - WorkloadSnapshotConditionType_WorkloadSnapshotUpdateRepoArtifact WorkloadSnapshotConditionType = 6 -) - -// Enum value maps for WorkloadSnapshotConditionType. -var ( - WorkloadSnapshotConditionType_name = map[int32]string{ - 0: "WorkloadSnapshotValidate", - 1: "WorkloadSnapshotSchedule", - 2: "WorkloadSnapshotUnschedule", - 3: "WorkloadSnapshotClusterDeployed", - 4: "WorkloadSnapshotClusterReady", - 5: "WorkloadSnapshotClusterDrifted", - 6: "WorkloadSnapshotUpdateRepoArtifact", - } - WorkloadSnapshotConditionType_value = map[string]int32{ - "WorkloadSnapshotValidate": 0, - "WorkloadSnapshotSchedule": 1, - "WorkloadSnapshotUnschedule": 2, - "WorkloadSnapshotClusterDeployed": 3, - "WorkloadSnapshotClusterReady": 4, - "WorkloadSnapshotClusterDrifted": 5, - "WorkloadSnapshotUpdateRepoArtifact": 6, - } -) - -func (x WorkloadSnapshotConditionType) Enum() *WorkloadSnapshotConditionType { - p := new(WorkloadSnapshotConditionType) - *p = x - return p -} - -func (x WorkloadSnapshotConditionType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (WorkloadSnapshotConditionType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_config_workload_proto_enumTypes[2].Descriptor() -} - -func (WorkloadSnapshotConditionType) Type() protoreflect.EnumType { - return &file_proto_types_config_workload_proto_enumTypes[2] -} - -func (x WorkloadSnapshotConditionType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use WorkloadSnapshotConditionType.Descriptor instead. -func (WorkloadSnapshotConditionType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{2} -} - -type ParallelPlanSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MaxParallel int32 `protobuf:"zigzag32,1,opt,name=maxParallel,proto3" json:"maxParallel,omitempty"` -} - -func (x *ParallelPlanSpec) Reset() { - *x = ParallelPlanSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ParallelPlanSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ParallelPlanSpec) ProtoMessage() {} - -func (x *ParallelPlanSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ParallelPlanSpec.ProtoReflect.Descriptor instead. -func (*ParallelPlanSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{0} -} - -func (x *ParallelPlanSpec) GetMaxParallel() int32 { - if x != nil { - return x.MaxParallel - } - return 0 -} - -type Dependency struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Dependent string `protobuf:"bytes,1,opt,name=dependent,proto3" json:"dependent,omitempty"` - Dependencies []string `protobuf:"bytes,2,rep,name=dependencies,proto3" json:"dependencies,omitempty"` -} - -func (x *Dependency) Reset() { - *x = Dependency{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Dependency) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Dependency) ProtoMessage() {} - -func (x *Dependency) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Dependency.ProtoReflect.Descriptor instead. -func (*Dependency) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{1} -} - -func (x *Dependency) GetDependent() string { - if x != nil { - return x.Dependent - } - return "" -} - -func (x *Dependency) GetDependencies() []string { - if x != nil { - return x.Dependencies - } - return nil -} - -type DependencyPlanSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - MaxParallel int32 `protobuf:"zigzag32,1,opt,name=maxParallel,proto3" json:"maxParallel,omitempty"` - Dependencies []*Dependency `protobuf:"bytes,4,rep,name=dependencies,proto3" json:"dependencies,omitempty"` -} - -func (x *DependencyPlanSpec) Reset() { - *x = DependencyPlanSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DependencyPlanSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DependencyPlanSpec) ProtoMessage() {} - -func (x *DependencyPlanSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DependencyPlanSpec.ProtoReflect.Descriptor instead. -func (*DependencyPlanSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{2} -} - -func (x *DependencyPlanSpec) GetMaxParallel() int32 { - if x != nil { - return x.MaxParallel - } - return 0 -} - -func (x *DependencyPlanSpec) GetDependencies() []*Dependency { - if x != nil { - return x.Dependencies - } - return nil -} - -type CanaryPlanSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *CanaryPlanSpec) Reset() { - *x = CanaryPlanSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CanaryPlanSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CanaryPlanSpec) ProtoMessage() {} - -func (x *CanaryPlanSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CanaryPlanSpec.ProtoReflect.Descriptor instead. -func (*CanaryPlanSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{3} -} - -type BlueGreenPlanSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields -} - -func (x *BlueGreenPlanSpec) Reset() { - *x = BlueGreenPlanSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *BlueGreenPlanSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*BlueGreenPlanSpec) ProtoMessage() {} - -func (x *BlueGreenPlanSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use BlueGreenPlanSpec.ProtoReflect.Descriptor instead. -func (*BlueGreenPlanSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{4} -} - -type DeploymentPlanSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - PlanType DeploymentPlanType `protobuf:"varint,1,opt,name=planType,proto3,enum=rafay.dev.types.config.DeploymentPlanType" json:"planType,omitempty"` - ParallelSpec *ParallelPlanSpec `protobuf:"bytes,2,opt,name=parallelSpec,proto3" json:"parallelSpec,omitempty"` - CanarySpec *CanaryPlanSpec `protobuf:"bytes,3,opt,name=canarySpec,proto3" json:"canarySpec,omitempty"` - BlueGreenSpec *BlueGreenPlanSpec `protobuf:"bytes,4,opt,name=blueGreenSpec,proto3" json:"blueGreenSpec,omitempty"` - DependencySpec *DependencyPlanSpec `protobuf:"bytes,5,opt,name=dependencySpec,proto3" json:"dependencySpec,omitempty"` -} - -func (x *DeploymentPlanSpec) Reset() { - *x = DeploymentPlanSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[5] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *DeploymentPlanSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*DeploymentPlanSpec) ProtoMessage() {} - -func (x *DeploymentPlanSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[5] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use DeploymentPlanSpec.ProtoReflect.Descriptor instead. -func (*DeploymentPlanSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{5} -} - -func (x *DeploymentPlanSpec) GetPlanType() DeploymentPlanType { - if x != nil { - return x.PlanType - } - return DeploymentPlanType_DeploymentPlanNotSet -} - -func (x *DeploymentPlanSpec) GetParallelSpec() *ParallelPlanSpec { - if x != nil { - return x.ParallelSpec - } - return nil -} - -func (x *DeploymentPlanSpec) GetCanarySpec() *CanaryPlanSpec { - if x != nil { - return x.CanarySpec - } - return nil -} - -func (x *DeploymentPlanSpec) GetBlueGreenSpec() *BlueGreenPlanSpec { - if x != nil { - return x.BlueGreenSpec - } - return nil -} - -func (x *DeploymentPlanSpec) GetDependencySpec() *DependencyPlanSpec { - if x != nil { - return x.DependencySpec - } - return nil -} - -type Workload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *WorkloadSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` - Status *WorkloadStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *Workload) Reset() { - *x = Workload{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[6] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Workload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Workload) ProtoMessage() {} - -func (x *Workload) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[6] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Workload.ProtoReflect.Descriptor instead. -func (*Workload) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{6} -} - -func (x *Workload) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *Workload) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *Workload) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *Workload) GetSpec() *WorkloadSpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *Workload) GetStatus() *WorkloadStatus { - if x != nil { - return x.Status - } - return nil -} - -type WorkloadSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Placement *PlacementSpec `protobuf:"bytes,2,opt,name=placement,proto3" json:"placement,omitempty"` - DeploymentPlan *DeploymentPlanSpec `protobuf:"bytes,3,opt,name=deploymentPlan,proto3" json:"deploymentPlan,omitempty"` - ArtifactType ArtifactType `protobuf:"varint,4,opt,name=artifactType,proto3,enum=rafay.dev.types.config.ArtifactType" json:"artifactType,omitempty"` - ArtifactFiles []*File `protobuf:"bytes,5,rep,name=artifactFiles,proto3" json:"artifactFiles,omitempty"` - Extra *ArtifactExtra `protobuf:"bytes,6,opt,name=extra,proto3" json:"extra,omitempty"` - RepositoryRef string `protobuf:"bytes,7,opt,name=repositoryRef,proto3" json:"repositoryRef,omitempty"` - TemplateID string `protobuf:"bytes,8,opt,name=templateID,proto3" json:"templateID,omitempty"` - ShareMode ShareMode `protobuf:"varint,9,opt,name=shareMode,proto3,enum=rafay.dev.types.config.ShareMode" json:"shareMode,omitempty"` - ValueRepositoryRef string `protobuf:"bytes,10,opt,name=valueRepositoryRef,proto3" json:"valueRepositoryRef,omitempty"` - AdditionalReference *RepoArtifactMeta `protobuf:"bytes,11,opt,name=additionalReference,proto3" json:"additionalReference,omitempty"` -} - -func (x *WorkloadSpec) Reset() { - *x = WorkloadSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[7] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadSpec) ProtoMessage() {} - -func (x *WorkloadSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[7] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadSpec.ProtoReflect.Descriptor instead. -func (*WorkloadSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{7} -} - -func (x *WorkloadSpec) GetNamespace() string { - if x != nil { - return x.Namespace - } - return "" -} - -func (x *WorkloadSpec) GetPlacement() *PlacementSpec { - if x != nil { - return x.Placement - } - return nil -} - -func (x *WorkloadSpec) GetDeploymentPlan() *DeploymentPlanSpec { - if x != nil { - return x.DeploymentPlan - } - return nil -} - -func (x *WorkloadSpec) GetArtifactType() ArtifactType { - if x != nil { - return x.ArtifactType - } - return ArtifactType_ArtifactTypeNotSet -} - -func (x *WorkloadSpec) GetArtifactFiles() []*File { - if x != nil { - return x.ArtifactFiles - } - return nil -} - -func (x *WorkloadSpec) GetExtra() *ArtifactExtra { - if x != nil { - return x.Extra - } - return nil -} - -func (x *WorkloadSpec) GetRepositoryRef() string { - if x != nil { - return x.RepositoryRef - } - return "" -} - -func (x *WorkloadSpec) GetTemplateID() string { - if x != nil { - return x.TemplateID - } - return "" -} - -func (x *WorkloadSpec) GetShareMode() ShareMode { - if x != nil { - return x.ShareMode - } - return ShareMode_ShareModeNotSet -} - -func (x *WorkloadSpec) GetValueRepositoryRef() string { - if x != nil { - return x.ValueRepositoryRef - } - return "" -} - -func (x *WorkloadSpec) GetAdditionalReference() *RepoArtifactMeta { - if x != nil { - return x.AdditionalReference - } - return nil -} - -type ProjectWorkload struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkloadID string `protobuf:"bytes,1,opt,name=workloadID,proto3" json:"workloadID,omitempty"` - ProjectID string `protobuf:"bytes,2,opt,name=projectID,proto3" json:"projectID,omitempty"` -} - -func (x *ProjectWorkload) Reset() { - *x = ProjectWorkload{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[8] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ProjectWorkload) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ProjectWorkload) ProtoMessage() {} - -func (x *ProjectWorkload) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[8] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ProjectWorkload.ProtoReflect.Descriptor instead. -func (*ProjectWorkload) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{8} -} - -func (x *ProjectWorkload) GetWorkloadID() string { - if x != nil { - return x.WorkloadID - } - return "" -} - -func (x *ProjectWorkload) GetProjectID() string { - if x != nil { - return x.ProjectID - } - return "" -} - -type WorkloadStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - WorkloadID string `protobuf:"bytes,1,opt,name=workloadID,proto3" json:"workloadID,omitempty"` - PublishPending bool `protobuf:"varint,2,opt,name=publishPending,proto3" json:"publishPending,omitempty"` - LastPublishedRevision int64 `protobuf:"zigzag64,3,opt,name=lastPublishedRevision,proto3" json:"lastPublishedRevision,omitempty"` - Projects []*ProjectWorkload `protobuf:"bytes,4,rep,name=projects,proto3" json:"projects,omitempty"` -} - -func (x *WorkloadStatus) Reset() { - *x = WorkloadStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[9] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadStatus) ProtoMessage() {} - -func (x *WorkloadStatus) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[9] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadStatus.ProtoReflect.Descriptor instead. -func (*WorkloadStatus) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{9} -} - -func (x *WorkloadStatus) GetWorkloadID() string { - if x != nil { - return x.WorkloadID - } - return "" -} - -func (x *WorkloadStatus) GetPublishPending() bool { - if x != nil { - return x.PublishPending - } - return false -} - -func (x *WorkloadStatus) GetLastPublishedRevision() int64 { - if x != nil { - return x.LastPublishedRevision - } - return 0 -} - -func (x *WorkloadStatus) GetProjects() []*ProjectWorkload { - if x != nil { - return x.Projects - } - return nil -} - -// WorkloadList is a list of Workloads -type WorkloadList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*Workload `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *WorkloadList) Reset() { - *x = WorkloadList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[10] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadList) ProtoMessage() {} - -func (x *WorkloadList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[10] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadList.ProtoReflect.Descriptor instead. -func (*WorkloadList) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{10} -} - -func (x *WorkloadList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *WorkloadList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *WorkloadList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *WorkloadList) GetItems() []*Workload { - if x != nil { - return x.Items - } - return nil -} - -// WorkloadSnapshotCondition is the condition of workload snapshot -type WorkloadSnapshotCondition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type WorkloadSnapshotConditionType `protobuf:"varint,1,opt,name=type,proto3,enum=rafay.dev.types.config.WorkloadSnapshotConditionType" json:"type,omitempty"` - Status *v3.Status `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` - LastUpdated *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` - Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` -} - -func (x *WorkloadSnapshotCondition) Reset() { - *x = WorkloadSnapshotCondition{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[11] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadSnapshotCondition) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadSnapshotCondition) ProtoMessage() {} - -func (x *WorkloadSnapshotCondition) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[11] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadSnapshotCondition.ProtoReflect.Descriptor instead. -func (*WorkloadSnapshotCondition) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{11} -} - -func (x *WorkloadSnapshotCondition) GetType() WorkloadSnapshotConditionType { - if x != nil { - return x.Type - } - return WorkloadSnapshotConditionType_WorkloadSnapshotValidate -} - -func (x *WorkloadSnapshotCondition) GetStatus() *v3.Status { - if x != nil { - return x.Status - } - return nil -} - -func (x *WorkloadSnapshotCondition) GetLastUpdated() *timestamppb.Timestamp { - if x != nil { - return x.LastUpdated - } - return nil -} - -func (x *WorkloadSnapshotCondition) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -type WorkloadSnapshotAuthMeta struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - AccountID int64 `protobuf:"zigzag64,1,opt,name=accountID,proto3" json:"accountID,omitempty"` - IsSSOUser bool `protobuf:"varint,2,opt,name=isSSOUser,proto3" json:"isSSOUser,omitempty"` - UserName string `protobuf:"bytes,3,opt,name=userName,proto3" json:"userName,omitempty"` -} - -func (x *WorkloadSnapshotAuthMeta) Reset() { - *x = WorkloadSnapshotAuthMeta{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[12] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadSnapshotAuthMeta) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadSnapshotAuthMeta) ProtoMessage() {} - -func (x *WorkloadSnapshotAuthMeta) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[12] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadSnapshotAuthMeta.ProtoReflect.Descriptor instead. -func (*WorkloadSnapshotAuthMeta) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{12} -} - -func (x *WorkloadSnapshotAuthMeta) GetAccountID() int64 { - if x != nil { - return x.AccountID - } - return 0 -} - -func (x *WorkloadSnapshotAuthMeta) GetIsSSOUser() bool { - if x != nil { - return x.IsSSOUser - } - return false -} - -func (x *WorkloadSnapshotAuthMeta) GetUserName() string { - if x != nil { - return x.UserName - } - return "" -} - -type WorkloadSnapshotSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Namespace string `protobuf:"bytes,1,opt,name=namespace,proto3" json:"namespace,omitempty"` - Placement *PlacementSpec `protobuf:"bytes,2,opt,name=placement,proto3" json:"placement,omitempty"` - DeploymentPlan *DeploymentPlanSpec `protobuf:"bytes,3,opt,name=deploymentPlan,proto3" json:"deploymentPlan,omitempty"` - ArtifactType ArtifactType `protobuf:"varint,4,opt,name=artifactType,proto3,enum=rafay.dev.types.config.ArtifactType" json:"artifactType,omitempty"` - SnapshotType WorkloadSnapshotType `protobuf:"varint,5,opt,name=snapshotType,proto3,enum=rafay.dev.types.config.WorkloadSnapshotType" json:"snapshotType,omitempty"` - Snapshot []byte `protobuf:"bytes,6,opt,name=snapshot,proto3" json:"snapshot,omitempty"` - SnapshotFiles []*FileMeta `protobuf:"bytes,7,rep,name=snapshotFiles,proto3" json:"snapshotFiles,omitempty"` - Extra *ArtifactExtra `protobuf:"bytes,8,opt,name=extra,proto3" json:"extra,omitempty"` - AuthMeta *WorkloadSnapshotAuthMeta `protobuf:"bytes,9,opt,name=authMeta,proto3" json:"authMeta,omitempty"` - WorkloadName string `protobuf:"bytes,10,opt,name=workloadName,proto3" json:"workloadName,omitempty"` - RepositoryRef string `protobuf:"bytes,11,opt,name=repositoryRef,proto3" json:"repositoryRef,omitempty"` - ValueRepositoryRef string `protobuf:"bytes,12,opt,name=valueRepositoryRef,proto3" json:"valueRepositoryRef,omitempty"` - AdditionalReference *RepoArtifactMeta `protobuf:"bytes,13,opt,name=additionalReference,proto3" json:"additionalReference,omitempty"` -} - -func (x *WorkloadSnapshotSpec) Reset() { - *x = WorkloadSnapshotSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[13] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadSnapshotSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadSnapshotSpec) ProtoMessage() {} - -func (x *WorkloadSnapshotSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[13] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadSnapshotSpec.ProtoReflect.Descriptor instead. -func (*WorkloadSnapshotSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{13} -} - -func (x *WorkloadSnapshotSpec) GetNamespace() string { - if x != nil { - return x.Namespace - } - return "" -} - -func (x *WorkloadSnapshotSpec) GetPlacement() *PlacementSpec { - if x != nil { - return x.Placement - } - return nil -} - -func (x *WorkloadSnapshotSpec) GetDeploymentPlan() *DeploymentPlanSpec { - if x != nil { - return x.DeploymentPlan - } - return nil -} - -func (x *WorkloadSnapshotSpec) GetArtifactType() ArtifactType { - if x != nil { - return x.ArtifactType - } - return ArtifactType_ArtifactTypeNotSet -} - -func (x *WorkloadSnapshotSpec) GetSnapshotType() WorkloadSnapshotType { - if x != nil { - return x.SnapshotType - } - return WorkloadSnapshotType_WorkloadSnapshotTypeNotSet -} - -func (x *WorkloadSnapshotSpec) GetSnapshot() []byte { - if x != nil { - return x.Snapshot - } - return nil -} - -func (x *WorkloadSnapshotSpec) GetSnapshotFiles() []*FileMeta { - if x != nil { - return x.SnapshotFiles - } - return nil -} - -func (x *WorkloadSnapshotSpec) GetExtra() *ArtifactExtra { - if x != nil { - return x.Extra - } - return nil -} - -func (x *WorkloadSnapshotSpec) GetAuthMeta() *WorkloadSnapshotAuthMeta { - if x != nil { - return x.AuthMeta - } - return nil -} - -func (x *WorkloadSnapshotSpec) GetWorkloadName() string { - if x != nil { - return x.WorkloadName - } - return "" -} - -func (x *WorkloadSnapshotSpec) GetRepositoryRef() string { - if x != nil { - return x.RepositoryRef - } - return "" -} - -func (x *WorkloadSnapshotSpec) GetValueRepositoryRef() string { - if x != nil { - return x.ValueRepositoryRef - } - return "" -} - -func (x *WorkloadSnapshotSpec) GetAdditionalReference() *RepoArtifactMeta { - if x != nil { - return x.AdditionalReference - } - return nil -} - -type WorkloadSnapshotStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Revision int64 `protobuf:"zigzag64,1,opt,name=revision,proto3" json:"revision,omitempty"` - WorkloadID string `protobuf:"bytes,2,opt,name=workloadID,proto3" json:"workloadID,omitempty"` - Conditions []*WorkloadSnapshotCondition `protobuf:"bytes,3,rep,name=conditions,proto3" json:"conditions,omitempty"` - AssignedClusters []*ClusterMeta `protobuf:"bytes,4,rep,name=assignedClusters,proto3" json:"assignedClusters,omitempty"` - DeployedClusters []*ClusterMeta `protobuf:"bytes,5,rep,name=deployedClusters,proto3" json:"deployedClusters,omitempty"` - FailedClusters []*ClusterMeta `protobuf:"bytes,6,rep,name=failedClusters,proto3" json:"failedClusters,omitempty"` - ReadyClusters []*ClusterMeta `protobuf:"bytes,7,rep,name=readyClusters,proto3" json:"readyClusters,omitempty"` - DriftedClusters []*ClusterMeta `protobuf:"bytes,8,rep,name=driftedClusters,proto3" json:"driftedClusters,omitempty"` - RepoSourceVersion string `protobuf:"bytes,9,opt,name=repoSourceVersion,proto3" json:"repoSourceVersion,omitempty"` -} - -func (x *WorkloadSnapshotStatus) Reset() { - *x = WorkloadSnapshotStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[14] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadSnapshotStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadSnapshotStatus) ProtoMessage() {} - -func (x *WorkloadSnapshotStatus) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[14] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadSnapshotStatus.ProtoReflect.Descriptor instead. -func (*WorkloadSnapshotStatus) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{14} -} - -func (x *WorkloadSnapshotStatus) GetRevision() int64 { - if x != nil { - return x.Revision - } - return 0 -} - -func (x *WorkloadSnapshotStatus) GetWorkloadID() string { - if x != nil { - return x.WorkloadID - } - return "" -} - -func (x *WorkloadSnapshotStatus) GetConditions() []*WorkloadSnapshotCondition { - if x != nil { - return x.Conditions - } - return nil -} - -func (x *WorkloadSnapshotStatus) GetAssignedClusters() []*ClusterMeta { - if x != nil { - return x.AssignedClusters - } - return nil -} - -func (x *WorkloadSnapshotStatus) GetDeployedClusters() []*ClusterMeta { - if x != nil { - return x.DeployedClusters - } - return nil -} - -func (x *WorkloadSnapshotStatus) GetFailedClusters() []*ClusterMeta { - if x != nil { - return x.FailedClusters - } - return nil -} - -func (x *WorkloadSnapshotStatus) GetReadyClusters() []*ClusterMeta { - if x != nil { - return x.ReadyClusters - } - return nil -} - -func (x *WorkloadSnapshotStatus) GetDriftedClusters() []*ClusterMeta { - if x != nil { - return x.DriftedClusters - } - return nil -} - -func (x *WorkloadSnapshotStatus) GetRepoSourceVersion() string { - if x != nil { - return x.RepoSourceVersion - } - return "" -} - -type WorkloadSnapshot struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *WorkloadSnapshotSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` - Status *WorkloadSnapshotStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *WorkloadSnapshot) Reset() { - *x = WorkloadSnapshot{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[15] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadSnapshot) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadSnapshot) ProtoMessage() {} - -func (x *WorkloadSnapshot) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[15] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadSnapshot.ProtoReflect.Descriptor instead. -func (*WorkloadSnapshot) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{15} -} - -func (x *WorkloadSnapshot) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *WorkloadSnapshot) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *WorkloadSnapshot) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *WorkloadSnapshot) GetSpec() *WorkloadSnapshotSpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *WorkloadSnapshot) GetStatus() *WorkloadSnapshotStatus { - if x != nil { - return x.Status - } - return nil -} - -type WorkloadSnapshotList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*WorkloadSnapshot `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *WorkloadSnapshotList) Reset() { - *x = WorkloadSnapshotList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[16] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadSnapshotList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadSnapshotList) ProtoMessage() {} - -func (x *WorkloadSnapshotList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[16] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadSnapshotList.ProtoReflect.Descriptor instead. -func (*WorkloadSnapshotList) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{16} -} - -func (x *WorkloadSnapshotList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *WorkloadSnapshotList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *WorkloadSnapshotList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *WorkloadSnapshotList) GetItems() []*WorkloadSnapshot { - if x != nil { - return x.Items - } - return nil -} - -type WorkloadTemplateSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ArtifactType ArtifactType `protobuf:"varint,1,opt,name=artifactType,proto3,enum=rafay.dev.types.config.ArtifactType" json:"artifactType,omitempty"` - ArtifactFiles []*File `protobuf:"bytes,2,rep,name=artifactFiles,proto3" json:"artifactFiles,omitempty"` - Extra *ArtifactExtra `protobuf:"bytes,3,opt,name=extra,proto3" json:"extra,omitempty"` - RepositoryRef string `protobuf:"bytes,4,opt,name=repositoryRef,proto3" json:"repositoryRef,omitempty"` -} - -func (x *WorkloadTemplateSpec) Reset() { - *x = WorkloadTemplateSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[17] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadTemplateSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadTemplateSpec) ProtoMessage() {} - -func (x *WorkloadTemplateSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[17] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadTemplateSpec.ProtoReflect.Descriptor instead. -func (*WorkloadTemplateSpec) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{17} -} - -func (x *WorkloadTemplateSpec) GetArtifactType() ArtifactType { - if x != nil { - return x.ArtifactType - } - return ArtifactType_ArtifactTypeNotSet -} - -func (x *WorkloadTemplateSpec) GetArtifactFiles() []*File { - if x != nil { - return x.ArtifactFiles - } - return nil -} - -func (x *WorkloadTemplateSpec) GetExtra() *ArtifactExtra { - if x != nil { - return x.Extra - } - return nil -} - -func (x *WorkloadTemplateSpec) GetRepositoryRef() string { - if x != nil { - return x.RepositoryRef - } - return "" -} - -type WorkloadTemplate struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *WorkloadTemplateSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` -} - -func (x *WorkloadTemplate) Reset() { - *x = WorkloadTemplate{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[18] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadTemplate) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadTemplate) ProtoMessage() {} - -func (x *WorkloadTemplate) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[18] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadTemplate.ProtoReflect.Descriptor instead. -func (*WorkloadTemplate) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{18} -} - -func (x *WorkloadTemplate) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *WorkloadTemplate) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *WorkloadTemplate) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *WorkloadTemplate) GetSpec() *WorkloadTemplateSpec { - if x != nil { - return x.Spec - } - return nil -} - -type WorkloadTemplateList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*WorkloadTemplate `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *WorkloadTemplateList) Reset() { - *x = WorkloadTemplateList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_config_workload_proto_msgTypes[19] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *WorkloadTemplateList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*WorkloadTemplateList) ProtoMessage() {} - -func (x *WorkloadTemplateList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_config_workload_proto_msgTypes[19] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use WorkloadTemplateList.ProtoReflect.Descriptor instead. -func (*WorkloadTemplateList) Descriptor() ([]byte, []int) { - return file_proto_types_config_workload_proto_rawDescGZIP(), []int{19} -} - -func (x *WorkloadTemplateList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *WorkloadTemplateList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *WorkloadTemplateList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *WorkloadTemplateList) GetItems() []*WorkloadTemplate { - if x != nil { - return x.Items - } - return nil -} - -var File_proto_types_config_workload_proto protoreflect.FileDescriptor - -var file_proto_types_config_workload_proto_rawDesc = []byte{ - 0x0a, 0x21, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, - 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, 0x6c, - 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x34, 0x0a, - 0x10, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6c, - 0x6c, 0x65, 0x6c, 0x22, 0x4e, 0x0a, 0x0a, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x74, 0x12, - 0x22, 0x0a, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, - 0x69, 0x65, 0x73, 0x22, 0x8f, 0x01, 0x0a, 0x12, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, - 0x63, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x12, 0x20, 0x0a, 0x0b, 0x6d, 0x61, - 0x78, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x11, 0x52, - 0x0b, 0x6d, 0x61, 0x78, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x12, 0x57, 0x0a, 0x0c, - 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x69, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, 0x70, 0x65, - 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x42, 0x0f, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x07, - 0x2c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x0c, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, - 0x6e, 0x63, 0x69, 0x65, 0x73, 0x22, 0x10, 0x0a, 0x0e, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x50, - 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x22, 0x13, 0x0a, 0x11, 0x42, 0x6c, 0x75, 0x65, 0x47, - 0x72, 0x65, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x22, 0xa5, 0x03, 0x0a, - 0x12, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x54, 0x0a, 0x08, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, - 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x0c, 0xea, 0xde, 0x1f, 0x08, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x08, 0x70, 0x6c, 0x61, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4c, 0x0a, 0x0c, 0x70, 0x61, 0x72, - 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, - 0x6c, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0c, 0x70, 0x61, 0x72, 0x61, 0x6c, - 0x6c, 0x65, 0x6c, 0x53, 0x70, 0x65, 0x63, 0x12, 0x46, 0x0a, 0x0a, 0x63, 0x61, 0x6e, 0x61, 0x72, - 0x79, 0x53, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x50, 0x6c, 0x61, 0x6e, 0x53, - 0x70, 0x65, 0x63, 0x52, 0x0a, 0x63, 0x61, 0x6e, 0x61, 0x72, 0x79, 0x53, 0x70, 0x65, 0x63, 0x12, - 0x4f, 0x0a, 0x0d, 0x62, 0x6c, 0x75, 0x65, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, - 0x42, 0x6c, 0x75, 0x65, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, - 0x63, 0x52, 0x0d, 0x62, 0x6c, 0x75, 0x65, 0x47, 0x72, 0x65, 0x65, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x52, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x53, 0x70, - 0x65, 0x63, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x50, 0x6c, 0x61, 0x6e, - 0x53, 0x70, 0x65, 0x63, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, - 0x53, 0x70, 0x65, 0x63, 0x22, 0xeb, 0x03, 0x0a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x12, 0x65, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0x92, 0x41, 0x42, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, - 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x2a, 0x04, 0x4b, 0x69, 0x6e, - 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, - 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, - 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x3a, 0x3f, 0x92, 0x41, 0x3c, 0x0a, 0x3a, 0x2a, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x32, 0x08, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0xd2, 0x01, 0x0a, 0x61, - 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x22, 0xc4, 0x07, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, - 0x70, 0x65, 0x63, 0x12, 0x3d, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1f, 0xea, 0xde, 0x1f, 0x09, 0x6e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0xf2, 0xde, 0x1f, 0x0e, 0x70, 0x67, 0x3a, 0x22, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x12, 0x5b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, - 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x16, 0xc8, 0xde, - 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0e, 0x70, 0x67, 0x3a, 0x22, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, - 0x65, 0x6e, 0x74, 0x22, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, - 0x70, 0x0a, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, - 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x53, - 0x70, 0x65, 0x63, 0x42, 0x1c, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x14, 0x70, 0x67, 0x3a, - 0x22, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, - 0x22, 0x52, 0x0e, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, - 0x6e, 0x12, 0x79, 0x0a, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x2f, 0xea, - 0xde, 0x1f, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0xf2, - 0xde, 0x1f, 0x1b, 0x70, 0x67, 0x3a, 0x22, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0c, - 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x4e, 0x0a, 0x0d, - 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, - 0x65, 0x42, 0x0a, 0xf2, 0xde, 0x1f, 0x06, 0x70, 0x67, 0x3a, 0x22, 0x2d, 0x22, 0x52, 0x0d, 0x61, - 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x05, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x42, 0x12, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0a, 0x70, 0x67, 0x3a, 0x22, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x3d, 0x0a, - 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, 0x18, 0x07, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xf2, 0xde, 0x1f, 0x13, 0x70, 0x67, 0x3a, 0x22, 0x72, 0x65, - 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x22, 0x52, 0x0d, 0x72, - 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, 0x12, 0x1e, 0x0a, 0x0a, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x49, 0x44, 0x12, 0x5d, 0x0a, 0x09, - 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, - 0x64, 0x65, 0x42, 0x1c, 0xf2, 0xde, 0x1f, 0x18, 0x70, 0x67, 0x3a, 0x22, 0x73, 0x68, 0x61, 0x72, - 0x65, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, - 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x4d, 0x0a, 0x12, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, - 0x66, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d, 0xf2, 0xde, 0x1f, 0x19, 0x70, 0x67, 0x3a, - 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x5f, 0x72, 0x65, 0x66, 0x22, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x70, - 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, 0x12, 0x7d, 0x0a, 0x13, 0x61, 0x64, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x42, 0x21, 0xc8, 0xde, 0x1f, 0x01, 0xf2, 0xde, 0x1f, 0x19, 0x70, 0x67, 0x3a, 0x22, 0x61, - 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, - 0x6e, 0x63, 0x65, 0x22, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, - 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x5f, 0x0a, 0x0f, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x1e, 0x0a, 0x0a, - 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x09, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x0e, 0xea, 0xde, 0x1f, 0x0a, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x69, 0x64, 0x52, - 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x22, 0xd9, 0x02, 0x0a, 0x0e, 0x57, - 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2b, 0x0a, - 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x0b, 0xf2, 0xde, 0x1f, 0x07, 0x70, 0x67, 0x3a, 0x22, 0x69, 0x64, 0x22, 0x52, 0x0a, - 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x12, 0x49, 0x0a, 0x0e, 0x70, 0x75, - 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x08, 0x42, 0x21, 0xf2, 0xde, 0x1f, 0x1d, 0x70, 0x67, 0x3a, 0x22, 0x70, 0x75, 0x62, 0x6c, - 0x69, 0x73, 0x68, 0x5f, 0x70, 0x65, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x2c, 0x75, 0x73, 0x65, 0x5f, - 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0e, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x50, 0x65, - 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x5f, 0x0a, 0x15, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x12, 0x42, 0x29, 0xf2, 0xde, 0x1f, 0x25, 0x70, 0x67, 0x3a, 0x22, 0x6c, 0x61, - 0x73, 0x74, 0x5f, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x5f, 0x72, 0x65, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, - 0x15, 0x6c, 0x61, 0x73, 0x74, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x52, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x6e, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x42, 0x29, 0x92, 0x41, 0x02, 0x40, 0x01, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x12, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x06, 0x70, 0x67, 0x3a, 0x22, 0x2d, 0x22, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x22, 0xf5, 0x02, 0x0a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4a, 0x92, 0x41, 0x47, - 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, - 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, - 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x34, 0x92, 0x41, 0x31, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, - 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x0c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, - 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xb2, - 0x02, 0x0a, 0x19, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x35, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x08, 0xea, 0xde, 0x1f, 0x04, 0x74, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x60, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x32, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0b, - 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x22, 0x72, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x12, - 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x12, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, - 0x09, 0x69, 0x73, 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x09, 0x69, 0x73, 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, - 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0xb2, 0x09, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6b, - 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x3d, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x1f, 0xea, 0xde, 0x1f, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0xf2, 0xde, 0x1f, 0x0e, 0x70, 0x67, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x22, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, - 0x5b, 0x0a, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x6c, 0x61, 0x63, - 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x16, 0xc8, 0xde, 0x1f, 0x00, 0xf2, - 0xde, 0x1f, 0x0e, 0x70, 0x67, 0x3a, 0x22, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, - 0x22, 0x52, 0x09, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x70, 0x0a, 0x0e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x42, 0x1c, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x14, 0x70, 0x67, 0x3a, 0x22, 0x64, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x70, 0x6c, 0x61, 0x6e, 0x22, 0x52, 0x0e, - 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x12, 0x79, - 0x0a, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x72, - 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x2f, 0xea, 0xde, 0x1f, 0x0c, - 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0xf2, 0xde, 0x1f, 0x1b, - 0x70, 0x67, 0x3a, 0x22, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, - 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0c, 0x61, 0x72, 0x74, - 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x68, 0x0a, 0x0c, 0x73, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x42, 0x16, 0xf2, - 0xde, 0x1f, 0x12, 0x70, 0x67, 0x3a, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0c, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x32, 0x0a, 0x08, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x0c, 0x42, 0x16, 0xea, 0xde, 0x1f, 0x01, 0x2d, 0xf2, 0xde, 0x1f, 0x0d, - 0x70, 0x67, 0x3a, 0x22, 0x73, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x22, 0x52, 0x08, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x12, 0x63, 0x0a, 0x0d, 0x73, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x42, 0x1b, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x13, 0x70, 0x67, 0x3a, 0x22, 0x73, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x22, 0x52, 0x0d, 0x73, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x4f, 0x0a, 0x05, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x45, 0x78, 0x74, - 0x72, 0x61, 0x42, 0x12, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0a, 0x70, 0x67, 0x3a, 0x22, - 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x12, 0x64, 0x0a, - 0x08, 0x61, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x30, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, - 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, - 0x61, 0x42, 0x16, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0e, 0x70, 0x67, 0x3a, 0x22, 0x61, - 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x22, 0x52, 0x08, 0x61, 0x75, 0x74, 0x68, 0x4d, - 0x65, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4e, - 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xea, 0xde, 0x1f, 0x0c, 0x77, - 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0xf2, 0xde, 0x1f, 0x12, 0x70, - 0x67, 0x3a, 0x22, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x52, 0x0c, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x12, - 0x3d, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xf2, 0xde, 0x1f, 0x13, 0x70, 0x67, 0x3a, 0x22, - 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x22, 0x52, - 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, 0x12, 0x4d, - 0x0a, 0x12, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, - 0x79, 0x52, 0x65, 0x66, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1d, 0xf2, 0xde, 0x1f, 0x19, - 0x70, 0x67, 0x3a, 0x22, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x5f, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, - 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x66, 0x22, 0x52, 0x12, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x52, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, 0x12, 0x7d, 0x0a, - 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2e, 0x52, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x42, 0x21, 0xc8, 0xde, 0x1f, 0x01, 0xf2, 0xde, 0x1f, 0x19, 0x70, 0x67, - 0x3a, 0x22, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x61, 0x6c, 0x5f, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x52, 0x13, 0x61, 0x64, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x61, 0x6c, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x22, 0xdf, 0x09, 0x0a, - 0x16, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2d, 0x0a, 0x08, 0x72, 0x65, 0x76, 0x69, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x42, 0x11, 0xf2, 0xde, 0x1f, 0x0d, 0x70, - 0x67, 0x3a, 0x22, 0x72, 0x65, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x52, 0x08, 0x72, 0x65, - 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x34, 0x0a, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, - 0x61, 0x64, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xf2, 0xde, 0x1f, 0x10, - 0x70, 0x67, 0x3a, 0x22, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x22, - 0x52, 0x0a, 0x77, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x44, 0x12, 0xad, 0x01, 0x0a, - 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x5a, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x14, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x3a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, - 0x20, 0x70, 0x67, 0x3a, 0x22, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, - 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xa8, 0x01, 0x0a, - 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x57, 0xc8, 0xde, - 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x4f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x44, 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, - 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, - 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x10, 0x61, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xa8, 0x01, 0x0a, 0x10, 0x64, 0x65, 0x70, 0x6c, - 0x6f, 0x79, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x05, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x57, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, - 0x4f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, - 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, - 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, - 0x20, 0x70, 0x67, 0x3a, 0x22, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x5f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, - 0x52, 0x10, 0x64, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x73, 0x12, 0xa2, 0x01, 0x0a, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, - 0x42, 0x55, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x4d, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, 0x66, 0x61, - 0x69, 0x6c, 0x65, 0x64, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x75, 0x73, - 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0e, 0x66, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0x9f, 0x01, 0x0a, 0x0d, 0x72, 0x65, 0x61, 0x64, - 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4d, 0x65, 0x74, 0x61, 0x42, 0x54, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x4c, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, - 0x79, 0x3a, 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x20, 0x70, 0x67, - 0x3a, 0x22, 0x72, 0x65, 0x61, 0x64, 0x79, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, - 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0d, 0x72, 0x65, 0x61, 0x64, - 0x79, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x12, 0xa5, 0x01, 0x0a, 0x0f, 0x64, 0x72, - 0x69, 0x66, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x56, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, - 0x1f, 0x4e, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, - 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, - 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, - 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, 0x64, 0x72, 0x69, 0x66, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, - 0x52, 0x0f, 0x64, 0x72, 0x69, 0x66, 0x74, 0x65, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x73, 0x12, 0x6b, 0x0a, 0x11, 0x72, 0x65, 0x70, 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3d, 0xf2, 0xde, - 0x1f, 0x39, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, - 0x22, 0x72, 0x65, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, 0x72, 0x65, - 0x70, 0x6f, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x11, 0x72, 0x65, 0x70, - 0x6f, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x9b, - 0x04, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x12, 0x65, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0x92, 0x41, 0x42, 0x2a, 0x0b, 0x41, 0x50, - 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, - 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, - 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0x92, 0x41, 0x30, 0x2a, 0x04, 0x4b, - 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, - 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x4a, 0x0a, - 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, - 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x50, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, - 0xde, 0x1f, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x4f, 0x92, 0x41, 0x4c, - 0x0a, 0x4a, 0x2a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x32, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0xd2, 0x01, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x8d, 0x03, 0x0a, - 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4a, 0x92, 0x41, 0x47, 0x2a, 0x0b, - 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, - 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, - 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x50, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x3c, 0x92, 0x41, 0x39, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, - 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xf1, 0x02, 0x0a, - 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x79, 0x0a, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x24, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, - 0x65, 0x42, 0x2f, 0xea, 0xde, 0x1f, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, - 0x79, 0x70, 0x65, 0xf2, 0xde, 0x1f, 0x1b, 0x70, 0x67, 0x3a, 0x22, 0x61, 0x72, 0x74, 0x69, 0x66, - 0x61, 0x63, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, - 0x6f, 0x22, 0x52, 0x0c, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x4e, 0x0a, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, - 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x46, 0x69, 0x6c, 0x65, 0x42, 0x0a, 0xf2, 0xde, 0x1f, 0x06, 0x70, 0x67, 0x3a, 0x22, 0x2d, - 0x22, 0x52, 0x0d, 0x61, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x73, - 0x12, 0x4f, 0x0a, 0x05, 0x65, 0x78, 0x74, 0x72, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, - 0x74, 0x45, 0x78, 0x74, 0x72, 0x61, 0x42, 0x12, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0a, - 0x70, 0x67, 0x3a, 0x22, 0x65, 0x78, 0x74, 0x72, 0x61, 0x22, 0x52, 0x05, 0x65, 0x78, 0x74, 0x72, - 0x61, 0x12, 0x3d, 0x0a, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, - 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x17, 0xf2, 0xde, 0x1f, 0x13, 0x70, 0x67, - 0x3a, 0x22, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x66, - 0x22, 0x52, 0x0d, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x66, - 0x22, 0xc9, 0x03, 0x0a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x65, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x45, 0x92, 0x41, 0x42, 0x2a, 0x0b, - 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, - 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, - 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0x92, 0x41, 0x30, 0x2a, - 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x10, 0x57, 0x6f, 0x72, - 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x40, 0x01, 0x52, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, - 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x4a, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, - 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x3a, 0x4f, 0x92, 0x41, 0x4c, - 0x0a, 0x4a, 0x2a, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x32, 0x10, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xd2, 0x01, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x8d, 0x03, 0x0a, - 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x6a, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x4a, 0x92, 0x41, 0x47, 0x2a, 0x0b, - 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, - 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, - 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0x12, 0x50, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x3c, 0x92, 0x41, 0x39, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, - 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, - 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0xa5, 0x01, 0x0a, - 0x12, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x54, - 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, - 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x1a, 0x0a, - 0x16, 0x50, 0x61, 0x72, 0x61, 0x6c, 0x6c, 0x65, 0x6c, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, - 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x61, 0x6e, - 0x61, 0x72, 0x79, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, - 0x6e, 0x10, 0x02, 0x12, 0x1b, 0x0a, 0x17, 0x42, 0x6c, 0x75, 0x65, 0x47, 0x72, 0x65, 0x65, 0x6e, - 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x10, 0x03, - 0x12, 0x1c, 0x0a, 0x18, 0x44, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x65, 0x6e, 0x63, 0x79, 0x44, 0x65, - 0x70, 0x6c, 0x6f, 0x79, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x6c, 0x61, 0x6e, 0x10, 0x04, 0x1a, 0x04, - 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x69, 0x0a, 0x14, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x1a, - 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, - 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x17, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x57, 0x69, 0x7a, 0x61, 0x72, 0x64, 0x57, 0x6f, 0x72, 0x6b, 0x6c, - 0x6f, 0x61, 0x64, 0x4a, 0x53, 0x4f, 0x4e, 0x10, 0x01, 0x12, 0x0e, 0x0a, 0x0a, 0x5a, 0x69, 0x70, - 0x41, 0x72, 0x63, 0x68, 0x69, 0x76, 0x65, 0x10, 0x02, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, - 0x94, 0x02, 0x0a, 0x1d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, - 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x1c, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, - 0x70, 0x73, 0x68, 0x6f, 0x74, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x65, 0x10, 0x00, 0x12, - 0x1c, 0x0a, 0x18, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, - 0x68, 0x6f, 0x74, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x10, 0x01, 0x12, 0x1e, 0x0a, - 0x1a, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x55, 0x6e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x10, 0x02, 0x12, 0x23, 0x0a, - 0x1f, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, - 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, 0x70, 0x6c, 0x6f, 0x79, 0x65, 0x64, - 0x10, 0x03, 0x12, 0x20, 0x0a, 0x1c, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, - 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, - 0x64, 0x79, 0x10, 0x04, 0x12, 0x22, 0x0a, 0x1e, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, - 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, - 0x72, 0x69, 0x66, 0x74, 0x65, 0x64, 0x10, 0x05, 0x12, 0x26, 0x0a, 0x22, 0x57, 0x6f, 0x72, 0x6b, - 0x6c, 0x6f, 0x61, 0x64, 0x53, 0x6e, 0x61, 0x70, 0x73, 0x68, 0x6f, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x52, 0x65, 0x70, 0x6f, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x10, 0x06, - 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xf1, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x6c, 0x6f, 0x61, 0x64, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, - 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, -} - -var ( - file_proto_types_config_workload_proto_rawDescOnce sync.Once - file_proto_types_config_workload_proto_rawDescData = file_proto_types_config_workload_proto_rawDesc -) - -func file_proto_types_config_workload_proto_rawDescGZIP() []byte { - file_proto_types_config_workload_proto_rawDescOnce.Do(func() { - file_proto_types_config_workload_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_config_workload_proto_rawDescData) - }) - return file_proto_types_config_workload_proto_rawDescData -} - -var file_proto_types_config_workload_proto_enumTypes = make([]protoimpl.EnumInfo, 3) -var file_proto_types_config_workload_proto_msgTypes = make([]protoimpl.MessageInfo, 20) -var file_proto_types_config_workload_proto_goTypes = []interface{}{ - (DeploymentPlanType)(0), // 0: rafay.dev.types.config.DeploymentPlanType - (WorkloadSnapshotType)(0), // 1: rafay.dev.types.config.WorkloadSnapshotType - (WorkloadSnapshotConditionType)(0), // 2: rafay.dev.types.config.WorkloadSnapshotConditionType - (*ParallelPlanSpec)(nil), // 3: rafay.dev.types.config.ParallelPlanSpec - (*Dependency)(nil), // 4: rafay.dev.types.config.Dependency - (*DependencyPlanSpec)(nil), // 5: rafay.dev.types.config.DependencyPlanSpec - (*CanaryPlanSpec)(nil), // 6: rafay.dev.types.config.CanaryPlanSpec - (*BlueGreenPlanSpec)(nil), // 7: rafay.dev.types.config.BlueGreenPlanSpec - (*DeploymentPlanSpec)(nil), // 8: rafay.dev.types.config.DeploymentPlanSpec - (*Workload)(nil), // 9: rafay.dev.types.config.Workload - (*WorkloadSpec)(nil), // 10: rafay.dev.types.config.WorkloadSpec - (*ProjectWorkload)(nil), // 11: rafay.dev.types.config.ProjectWorkload - (*WorkloadStatus)(nil), // 12: rafay.dev.types.config.WorkloadStatus - (*WorkloadList)(nil), // 13: rafay.dev.types.config.WorkloadList - (*WorkloadSnapshotCondition)(nil), // 14: rafay.dev.types.config.WorkloadSnapshotCondition - (*WorkloadSnapshotAuthMeta)(nil), // 15: rafay.dev.types.config.WorkloadSnapshotAuthMeta - (*WorkloadSnapshotSpec)(nil), // 16: rafay.dev.types.config.WorkloadSnapshotSpec - (*WorkloadSnapshotStatus)(nil), // 17: rafay.dev.types.config.WorkloadSnapshotStatus - (*WorkloadSnapshot)(nil), // 18: rafay.dev.types.config.WorkloadSnapshot - (*WorkloadSnapshotList)(nil), // 19: rafay.dev.types.config.WorkloadSnapshotList - (*WorkloadTemplateSpec)(nil), // 20: rafay.dev.types.config.WorkloadTemplateSpec - (*WorkloadTemplate)(nil), // 21: rafay.dev.types.config.WorkloadTemplate - (*WorkloadTemplateList)(nil), // 22: rafay.dev.types.config.WorkloadTemplateList - (*v3.Metadata)(nil), // 23: rafay.dev.types.common.v3.Metadata - (*PlacementSpec)(nil), // 24: rafay.dev.types.config.PlacementSpec - (ArtifactType)(0), // 25: rafay.dev.types.config.ArtifactType - (*File)(nil), // 26: rafay.dev.types.config.File - (*ArtifactExtra)(nil), // 27: rafay.dev.types.config.ArtifactExtra - (ShareMode)(0), // 28: rafay.dev.types.config.ShareMode - (*RepoArtifactMeta)(nil), // 29: rafay.dev.types.config.RepoArtifactMeta - (*v3.ListMetadata)(nil), // 30: rafay.dev.types.common.v3.ListMetadata - (*v3.Status)(nil), // 31: rafay.dev.types.common.v3.Status - (*timestamppb.Timestamp)(nil), // 32: google.protobuf.Timestamp - (*FileMeta)(nil), // 33: rafay.dev.types.config.FileMeta - (*ClusterMeta)(nil), // 34: rafay.dev.types.config.ClusterMeta -} -var file_proto_types_config_workload_proto_depIdxs = []int32{ - 4, // 0: rafay.dev.types.config.DependencyPlanSpec.dependencies:type_name -> rafay.dev.types.config.Dependency - 0, // 1: rafay.dev.types.config.DeploymentPlanSpec.planType:type_name -> rafay.dev.types.config.DeploymentPlanType - 3, // 2: rafay.dev.types.config.DeploymentPlanSpec.parallelSpec:type_name -> rafay.dev.types.config.ParallelPlanSpec - 6, // 3: rafay.dev.types.config.DeploymentPlanSpec.canarySpec:type_name -> rafay.dev.types.config.CanaryPlanSpec - 7, // 4: rafay.dev.types.config.DeploymentPlanSpec.blueGreenSpec:type_name -> rafay.dev.types.config.BlueGreenPlanSpec - 5, // 5: rafay.dev.types.config.DeploymentPlanSpec.dependencySpec:type_name -> rafay.dev.types.config.DependencyPlanSpec - 23, // 6: rafay.dev.types.config.Workload.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 10, // 7: rafay.dev.types.config.Workload.spec:type_name -> rafay.dev.types.config.WorkloadSpec - 12, // 8: rafay.dev.types.config.Workload.status:type_name -> rafay.dev.types.config.WorkloadStatus - 24, // 9: rafay.dev.types.config.WorkloadSpec.placement:type_name -> rafay.dev.types.config.PlacementSpec - 8, // 10: rafay.dev.types.config.WorkloadSpec.deploymentPlan:type_name -> rafay.dev.types.config.DeploymentPlanSpec - 25, // 11: rafay.dev.types.config.WorkloadSpec.artifactType:type_name -> rafay.dev.types.config.ArtifactType - 26, // 12: rafay.dev.types.config.WorkloadSpec.artifactFiles:type_name -> rafay.dev.types.config.File - 27, // 13: rafay.dev.types.config.WorkloadSpec.extra:type_name -> rafay.dev.types.config.ArtifactExtra - 28, // 14: rafay.dev.types.config.WorkloadSpec.shareMode:type_name -> rafay.dev.types.config.ShareMode - 29, // 15: rafay.dev.types.config.WorkloadSpec.additionalReference:type_name -> rafay.dev.types.config.RepoArtifactMeta - 11, // 16: rafay.dev.types.config.WorkloadStatus.projects:type_name -> rafay.dev.types.config.ProjectWorkload - 30, // 17: rafay.dev.types.config.WorkloadList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 9, // 18: rafay.dev.types.config.WorkloadList.items:type_name -> rafay.dev.types.config.Workload - 2, // 19: rafay.dev.types.config.WorkloadSnapshotCondition.type:type_name -> rafay.dev.types.config.WorkloadSnapshotConditionType - 31, // 20: rafay.dev.types.config.WorkloadSnapshotCondition.status:type_name -> rafay.dev.types.common.v3.Status - 32, // 21: rafay.dev.types.config.WorkloadSnapshotCondition.lastUpdated:type_name -> google.protobuf.Timestamp - 24, // 22: rafay.dev.types.config.WorkloadSnapshotSpec.placement:type_name -> rafay.dev.types.config.PlacementSpec - 8, // 23: rafay.dev.types.config.WorkloadSnapshotSpec.deploymentPlan:type_name -> rafay.dev.types.config.DeploymentPlanSpec - 25, // 24: rafay.dev.types.config.WorkloadSnapshotSpec.artifactType:type_name -> rafay.dev.types.config.ArtifactType - 1, // 25: rafay.dev.types.config.WorkloadSnapshotSpec.snapshotType:type_name -> rafay.dev.types.config.WorkloadSnapshotType - 33, // 26: rafay.dev.types.config.WorkloadSnapshotSpec.snapshotFiles:type_name -> rafay.dev.types.config.FileMeta - 27, // 27: rafay.dev.types.config.WorkloadSnapshotSpec.extra:type_name -> rafay.dev.types.config.ArtifactExtra - 15, // 28: rafay.dev.types.config.WorkloadSnapshotSpec.authMeta:type_name -> rafay.dev.types.config.WorkloadSnapshotAuthMeta - 29, // 29: rafay.dev.types.config.WorkloadSnapshotSpec.additionalReference:type_name -> rafay.dev.types.config.RepoArtifactMeta - 14, // 30: rafay.dev.types.config.WorkloadSnapshotStatus.conditions:type_name -> rafay.dev.types.config.WorkloadSnapshotCondition - 34, // 31: rafay.dev.types.config.WorkloadSnapshotStatus.assignedClusters:type_name -> rafay.dev.types.config.ClusterMeta - 34, // 32: rafay.dev.types.config.WorkloadSnapshotStatus.deployedClusters:type_name -> rafay.dev.types.config.ClusterMeta - 34, // 33: rafay.dev.types.config.WorkloadSnapshotStatus.failedClusters:type_name -> rafay.dev.types.config.ClusterMeta - 34, // 34: rafay.dev.types.config.WorkloadSnapshotStatus.readyClusters:type_name -> rafay.dev.types.config.ClusterMeta - 34, // 35: rafay.dev.types.config.WorkloadSnapshotStatus.driftedClusters:type_name -> rafay.dev.types.config.ClusterMeta - 23, // 36: rafay.dev.types.config.WorkloadSnapshot.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 16, // 37: rafay.dev.types.config.WorkloadSnapshot.spec:type_name -> rafay.dev.types.config.WorkloadSnapshotSpec - 17, // 38: rafay.dev.types.config.WorkloadSnapshot.status:type_name -> rafay.dev.types.config.WorkloadSnapshotStatus - 30, // 39: rafay.dev.types.config.WorkloadSnapshotList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 18, // 40: rafay.dev.types.config.WorkloadSnapshotList.items:type_name -> rafay.dev.types.config.WorkloadSnapshot - 25, // 41: rafay.dev.types.config.WorkloadTemplateSpec.artifactType:type_name -> rafay.dev.types.config.ArtifactType - 26, // 42: rafay.dev.types.config.WorkloadTemplateSpec.artifactFiles:type_name -> rafay.dev.types.config.File - 27, // 43: rafay.dev.types.config.WorkloadTemplateSpec.extra:type_name -> rafay.dev.types.config.ArtifactExtra - 23, // 44: rafay.dev.types.config.WorkloadTemplate.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 20, // 45: rafay.dev.types.config.WorkloadTemplate.spec:type_name -> rafay.dev.types.config.WorkloadTemplateSpec - 30, // 46: rafay.dev.types.config.WorkloadTemplateList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 21, // 47: rafay.dev.types.config.WorkloadTemplateList.items:type_name -> rafay.dev.types.config.WorkloadTemplate - 48, // [48:48] is the sub-list for method output_type - 48, // [48:48] is the sub-list for method input_type - 48, // [48:48] is the sub-list for extension type_name - 48, // [48:48] is the sub-list for extension extendee - 0, // [0:48] is the sub-list for field type_name -} - -func init() { file_proto_types_config_workload_proto_init() } -func file_proto_types_config_workload_proto_init() { - if File_proto_types_config_workload_proto != nil { - return - } - file_proto_types_config_config_proto_init() - file_proto_types_config_placement_proto_init() - if !protoimpl.UnsafeEnabled { - file_proto_types_config_workload_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ParallelPlanSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Dependency); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DependencyPlanSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CanaryPlanSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*BlueGreenPlanSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*DeploymentPlanSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Workload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ProjectWorkload); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadSnapshotCondition); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadSnapshotAuthMeta); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadSnapshotSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadSnapshotStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadSnapshot); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadSnapshotList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadTemplateSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadTemplate); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_config_workload_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*WorkloadTemplateList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_types_config_workload_proto_rawDesc, - NumEnums: 3, - NumMessages: 20, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_types_config_workload_proto_goTypes, - DependencyIndexes: file_proto_types_config_workload_proto_depIdxs, - EnumInfos: file_proto_types_config_workload_proto_enumTypes, - MessageInfos: file_proto_types_config_workload_proto_msgTypes, - }.Build() - File_proto_types_config_workload_proto = out.File - file_proto_types_config_workload_proto_rawDesc = nil - file_proto_types_config_workload_proto_goTypes = nil - file_proto_types_config_workload_proto_depIdxs = nil -} diff --git a/components/common/proto/types/config/workload.proto b/components/common/proto/types/config/workload.proto deleted file mode 100644 index 2136d17..0000000 --- a/components/common/proto/types/config/workload.proto +++ /dev/null @@ -1,409 +0,0 @@ -syntax = "proto3"; -package rafay.dev.types.config; - -import "google/protobuf/timestamp.proto"; -import "protoc-gen-openapiv2/options/annotations.proto"; -import "gogoproto/gogo.proto"; -import "proto/types/config/config.proto"; -import "proto/types/commonpb/v3/common.proto"; -import "proto/types/config/placement.proto"; - -enum DeploymentPlanType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - DeploymentPlanNotSet = 0; - ParallelDeploymentPlan = 1; - CanaryDeploymentPlan = 2; - BlueGreenDeploymentPlan = 3; - DependencyDeploymentPlan = 4; -} - -message ParallelPlanSpec { sint32 maxParallel = 1; } - -message Dependency { - string dependent = 1; - repeated string dependencies = 2; -} - -message DependencyPlanSpec { - sint32 maxParallel = 1; - repeated Dependency dependencies = 4 - [ (gogoproto.nullable) = false, (gogoproto.jsontag) = ",inline" ]; -} - -message CanaryPlanSpec {} - -message BlueGreenPlanSpec {} - -message DeploymentPlanSpec { - DeploymentPlanType planType = 1 [ (gogoproto.jsontag) = "planType" ]; - ParallelPlanSpec parallelSpec = 2; - CanaryPlanSpec canarySpec = 3; - BlueGreenPlanSpec blueGreenSpec = 4; - DependencyPlanSpec dependencySpec = 5; -} - -message Workload { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema : { - title : "Workload" - description : "Workload" - required : [ "apiVersion", "kind", "metadata", "spec" ] - } - }; - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the resource" - default : "Workload" - read_only : true - } ]; - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Metadata", - description : "Metadata of the resource" - } ]; - WorkloadSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - WorkloadStatus status = 5 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -message WorkloadSpec { - string namespace = 1 [ - (gogoproto.moretags) = "pg:\"namespace\"", - (gogoproto.jsontag) = "namespace" - ]; - rafay.dev.types.config.PlacementSpec placement = 2 [ - (gogoproto.moretags) = "pg:\"placement\"", - (gogoproto.nullable) = false - ]; - DeploymentPlanSpec deploymentPlan = 3 [ - (gogoproto.moretags) = "pg:\"deployment_plan\"", - (gogoproto.nullable) = false - ]; - rafay.dev.types.config.ArtifactType artifactType = 4 [ - (gogoproto.moretags) = "pg:\"artifact_type,use_zero\"", - (gogoproto.jsontag) = "artifactType" - ]; - repeated rafay.dev.types.config.File artifactFiles = 5 [ (gogoproto.moretags) = "pg:\"-\"" ]; - rafay.dev.types.config.ArtifactExtra extra = 6 - [ (gogoproto.moretags) = "pg:\"extra\"", (gogoproto.nullable) = false ]; - string repositoryRef = 7 [ (gogoproto.moretags) = "pg:\"repository_ref\"" ]; - string templateID = 8; - rafay.dev.types.config.ShareMode shareMode = 9 - [ (gogoproto.moretags) = "pg:\"share_mode,use_zero\"" ]; - string valueRepositoryRef = 10 [ (gogoproto.moretags) = "pg:\"value_repository_ref\"" ]; - rafay.dev.types.config.RepoArtifactMeta additionalReference = 11 [ (gogoproto.moretags) = "pg:\"additional_reference\"", (gogoproto.nullable) = true ]; -} - -message ProjectWorkload { - string workloadID = 1; - string projectID = 2 [ - (gogoproto.jsontag) = "project_id" - ]; -} - -message WorkloadStatus { - string workloadID = 1 [ - (gogoproto.moretags) = "pg:\"id\"" - ]; - bool publishPending = 2 - [ (gogoproto.moretags) = "pg:\"publish_pending,use_zero\"" ]; - sint64 lastPublishedRevision = 3 - [ (gogoproto.moretags) = "pg:\"last_published_revision,use_zero\"" ]; - repeated ProjectWorkload projects = 4 [ - (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - read_only : true - }, - (gogoproto.moretags) = "pg:\"-\"", - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "projects,omitempty" - ]; -} - -// WorkloadList is a list of Workloads -message WorkloadList { - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the list resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "WorkloadList" - read_only : true - } ]; - rafay.dev.types.common.v3.ListMetadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "ListMetadata", - description : "Metadata of the list resource" - read_only : true - } ]; - repeated Workload items = 4; -} - -enum WorkloadSnapshotType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - WorkloadSnapshotTypeNotSet = 0; - RafayWizardWorkloadJSON = 1; - ZipArchive = 2; -} - - // WorkloadSnapshotConditionType is the condition type of workload - // snapshot condition -enum WorkloadSnapshotConditionType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - WorkloadSnapshotValidate = 0; - WorkloadSnapshotSchedule = 1; - WorkloadSnapshotUnschedule = 2; - WorkloadSnapshotClusterDeployed = 3; - WorkloadSnapshotClusterReady = 4; - WorkloadSnapshotClusterDrifted = 5; - WorkloadSnapshotUpdateRepoArtifact = 6; -} - - // WorkloadSnapshotCondition is the condition of workload snapshot -message WorkloadSnapshotCondition { - WorkloadSnapshotConditionType type = 1 [ (gogoproto.jsontag) = "type" ]; - rafay.dev.types.common.v3.Status status = 5 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Status", - description : "Status of the resource" - read_only : true - } ]; - google.protobuf.Timestamp lastUpdated = 3 - [ (gogoproto.stdtime) = true, (gogoproto.nullable) = false ]; - string reason = 4; -} - -message WorkloadSnapshotAuthMeta { - sint64 accountID = 1; - bool isSSOUser = 2; - string userName = 3; -} - -message WorkloadSnapshotSpec { - string namespace = 1 [ - (gogoproto.moretags) = "pg:\"namespace\"", - (gogoproto.jsontag) = "namespace" - ]; - rafay.dev.types.config.PlacementSpec placement = 2 [ - (gogoproto.moretags) = "pg:\"placement\"", - (gogoproto.nullable) = false - ]; - DeploymentPlanSpec deploymentPlan = 3 [ - (gogoproto.moretags) = "pg:\"deployment_plan\"", - (gogoproto.nullable) = false - ]; - rafay.dev.types.config.ArtifactType artifactType = 4 [ - (gogoproto.moretags) = "pg:\"artifact_type,use_zero\"", - (gogoproto.jsontag) = "artifactType" - ]; - WorkloadSnapshotType snapshotType = 5 - [ (gogoproto.moretags) = "pg:\"snapshot_type\"" ]; - bytes snapshot = 6 - [ (gogoproto.moretags) = "pg:\"snapshot\"", (gogoproto.jsontag) = "-" ]; - repeated rafay.dev.types.config.FileMeta snapshotFiles = 7 [ - (gogoproto.moretags) = "pg:\"snapshot_files\"", - (gogoproto.nullable) = false - ]; - rafay.dev.types.config.ArtifactExtra extra = 8 - [ (gogoproto.moretags) = "pg:\"extra\"", (gogoproto.nullable) = false ]; - WorkloadSnapshotAuthMeta authMeta = 9 [ - (gogoproto.moretags) = "pg:\"auth_meta\"", - (gogoproto.nullable) = false - ]; - string workloadName = 10 [ - (gogoproto.moretags) = "pg:\"workload_name\"", - (gogoproto.jsontag) = "workloadName" - ]; - string repositoryRef = 11 [ (gogoproto.moretags) = "pg:\"repository_ref\"" ]; - string valueRepositoryRef = 12 [ (gogoproto.moretags) = "pg:\"value_repository_ref\"" ]; - rafay.dev.types.config.RepoArtifactMeta additionalReference = 13 [ (gogoproto.moretags) = "pg:\"additional_reference\"", (gogoproto.nullable) = true ]; -} - -message WorkloadSnapshotStatus { - sint64 revision = 1 [ (gogoproto.moretags) = "pg:\"revision\"" ]; - string workloadID = 2 [ - (gogoproto.moretags) = "pg:\"workload_id\"" - ]; - repeated WorkloadSnapshotCondition conditions = 3 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"type\" pg:\"conditions\"", - (gogoproto.jsontag) = "conditions,omitempty" - ]; - repeated ClusterMeta assignedClusters = 4 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"assigned_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated ClusterMeta deployedClusters = 5 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"deployed_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated ClusterMeta failedClusters = 6 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"failed_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated ClusterMeta readyClusters = 7 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"ready_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - repeated ClusterMeta driftedClusters = 8 [ - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"clusterID\" " - "pg:\"drifted_clusters,use_zero\"", - (gogoproto.nullable) = false - ]; - string repoSourceVersion = 9 - [ (gogoproto.moretags) = "patchStrategy:\"replace\" " - "pg:\"repo_source_version,use_zero\"" ]; -} - -message WorkloadSnapshot { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema : { - title : "WorkloadSnapshot" - description : "WorkloadSnapshot" - required : [ "apiVersion", "kind", "metadata", "spec" ] - } - }; - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the resource" - default : "WorkloadSnapshot" - read_only : true - } ]; - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Metadata", - description : "Metadata of the resource" - } ]; - WorkloadSnapshotSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - WorkloadSnapshotStatus status = 5 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -message WorkloadSnapshotList { - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the list resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "WorkloadSnapshotList" - read_only : true - } ]; - rafay.dev.types.common.v3.ListMetadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "ListMetadata", - description : "Metadata of the list resource" - read_only : true - } ]; - repeated WorkloadSnapshot items = 4; -} - -message WorkloadTemplateSpec { - ArtifactType artifactType = 1 [ - (gogoproto.moretags) = "pg:\"artifact_type,use_zero\"", - (gogoproto.jsontag) = "artifactType" - ]; - repeated File artifactFiles = 2 [ (gogoproto.moretags) = "pg:\"-\"" ]; - rafay.dev.types.config.ArtifactExtra extra = 3 - [ (gogoproto.moretags) = "pg:\"extra\"", (gogoproto.nullable) = false ]; - string repositoryRef = 4 [ (gogoproto.moretags) = "pg:\"repository_ref\"" ]; -} - -message WorkloadTemplate { - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema) = { - json_schema : { - title : "WorkloadTemplate" - description : "WorkloadTemplate" - required : [ "apiVersion", "kind", "metadata", "spec" ] - } - }; - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; - string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the resource" - default : "WorkloadTemplate" - read_only : true - } ]; - rafay.dev.types.common.v3.Metadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Metadata", - description : "Metadata of the resource" - } ]; - WorkloadTemplateSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; -} - -message WorkloadTemplateList { - string apiVersion = 1 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "API Version", - description : "API Version of the list resource" - default : "config.k8smgmt.io/v3" - read_only : true - } ]; -string kind = 2 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "Kind", - description : "Kind of the list resource" - default : "WorkloadSnapshotList" - read_only : true - } ]; -rafay.dev.types.common.v3.ListMetadata metadata = 3 - [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { - title : "ListMetadata", - description : "Metadata of the list resource" - read_only : true - } ]; - repeated WorkloadTemplate items = 4; -} \ No newline at end of file diff --git a/components/common/proto/types/controller/cluster_controller.proto b/components/common/proto/types/controller/cluster_controller.proto deleted file mode 100644 index 4ba624e..0000000 --- a/components/common/proto/types/controller/cluster_controller.proto +++ /dev/null @@ -1,376 +0,0 @@ -syntax = "proto3"; -package rafay.dev.types.controller; - -import "gogoproto/gogo.proto"; -import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; -import "k8s.io/apimachinery/pkg/runtime/generated.proto"; - -import "k8s.io/api/core/v1/generated.proto"; -import "k8s.io/api/batch/v1beta1/generated.proto"; - -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - -// +kubebuilder:object:generate=true -// StepObject can represent any kubernetes object -message StepObject { - k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1 - [(gogoproto.embed) = true, (gogoproto.nullable) = false]; - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 2 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - string name = 3; - bytes raw = 4; -} - -// +kubebuilder:object:generate=true -// StepTemplate is the description of a step -message StepTemplate { - string name = 1; - string onFailed = 2 [(gogoproto.casttype) = "StepOnFailed"]; - StepObject object = 3; - k8s.io.api.batch.v1beta1.JobTemplateSpec jobTemplate = 4; -} - -// +kubebuilder:object:generate=true -// StepStatus is the status of the step -message StepStatus { - string name = 1; - k8s.io.api.core.v1.ObjectReference objectRef = 2; - string objectState = 3 [ - (gogoproto.jsontag) = "objectState", - (gogoproto.casttype) = "StepObjectState" - ]; - string objectReason = 4; - string jobState = 5 - [(gogoproto.jsontag) = "jobState", (gogoproto.casttype) = "StepJobState"]; - string jobReason = 6; - k8s.io.api.core.v1.ObjectReference jobRef = 7; - string state = 8 - [(gogoproto.jsontag) = "state", (gogoproto.casttype) = "StepState"]; - string reason = 9; - string objectSpecHash = 10; - string jobSpecHash = 11; -} - -// +kubebuilder:object:generate=true -// TaskletSpec is the spec of the tasklet -message TaskletSpec { - repeated StepTemplate init = 1 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "init,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; - repeated StepTemplate install = 2 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "install,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; - repeated StepTemplate postInstall = 3 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "postInstall,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; - repeated StepTemplate preDelete = 4 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "preDelete,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; -} - -// +kubebuilder:object:generate=true -// TaskletCondition is the condition of the tasklet -message TaskletCondition { - string type = 1 [ - (gogoproto.jsontag) = "type", - (gogoproto.casttype) = "TaskletConditionType" - ]; - string status = 2 [(gogoproto.casttype) = "ConditionStatus"]; - k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3 - [(gogoproto.nullable) = false]; - string reason = 4; -} - -// +kubebuilder:object:generate=true -// TaskletStatus is the status of the tasklet -message TaskletStatus { - sint64 observedGeneration = 1; - repeated TaskletCondition conditions = 2 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "conditions,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"type\"" - ]; - repeated StepStatus init = 3 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "init,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; - repeated StepStatus install = 4 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "install,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; - repeated StepStatus postInstall = 5 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "postInstall,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; - repeated StepStatus preDelete = 6 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "preDelete,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; -} - -// +kubebuilder:object:root=true -// +kubebuilder:subresource:status -// +kubebuilder:resource:shortName=rtl -// Tasklet is the schema of tasklet -message Tasklet { - k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = ",inline" - ]; - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 2 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - TaskletSpec spec = 3 [(gogoproto.nullable) = false]; - TaskletStatus status = 4 [(gogoproto.nullable) = false]; -} - -// +kubebuilder:object:root=true -// TaskletList contains a list of tasklets -message TaskletList { - k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = ",inline" - ]; - - k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta listMeta = 2 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - repeated Tasklet items = 3 [(gogoproto.nullable) = false]; -} - -// +kubebuilder:object:generate=true -// TaskletTemplate is the template for creating a tasklet -message TaskletTemplate { - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - TaskletSpec spec = 2 [(gogoproto.nullable) = false]; -} - -// +kubebuilder:object:generate=true -// TaskSpec is the spec of the task -message TaskSpec { - repeated StepTemplate init = 1 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "init,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; - - TaskletTemplate tasklet = 2 [(gogoproto.nullable) = false]; - repeated StepTemplate preDelete = 3 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "preDelete,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; -} - -// +kubebuilder:object:generate=true -// TaskCondition is the condition of the tasklet -message TaskCondition { - string type = 1 [ - (gogoproto.jsontag) = "type", - (gogoproto.casttype) = "TaskConditionType" - ]; - string status = 2 [(gogoproto.casttype) = "ConditionStatus"]; - k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3 - [(gogoproto.nullable) = false]; - string reason = 4; -} - -// +kubebuilder:object:generate=true -// TaskStatus is the status of the task -message TaskStatus { - sint64 observedGeneration = 1; - repeated TaskCondition conditions = 2 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "conditions,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"type\"" - ]; - repeated StepStatus init = 3 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "init,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; - k8s.io.api.core.v1.ObjectReference taskletRef = 4; - repeated StepStatus preDelete = 5 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "preDelete,omitempty", - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"" - ]; -} - -// +kubebuilder:object:root=true -// +kubebuilder:subresource:status -// +kubebuilder:resource:shortName=rt -// Tasklet is the schema of task -message Task { - k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = ",inline" - ]; - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 2 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - TaskSpec spec = 3 - [(gogoproto.nullable) = false, (gogoproto.jsontag) = "spec,omitempty"]; - TaskStatus status = 4 - [(gogoproto.nullable) = false, (gogoproto.jsontag) = "status,omitempty"]; -} - -// +kubebuilder:object:root=true -// TaskList contains a list of tasks -message TaskList { - k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = ",inline" - ]; - - k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta listMeta = 2 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - repeated Task items = 3 [(gogoproto.nullable) = false]; -} - -// +kubebuilder:object:generate=true -// NamespaceSpec is the spec of the namespace -message NamespaceSpec { - repeated StepTemplate init = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"", - (gogoproto.jsontag) = "init,omitempty" - ]; - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta namespaceMeta = 2 - [(gogoproto.nullable) = false]; - repeated StepTemplate postCreate = 3 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"", - (gogoproto.jsontag) = "postCreate,omitempty" - ]; - repeated StepTemplate preDelete = 4 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"", - (gogoproto.jsontag) = "preDelete,omitempty" - ]; -} - -// +kubebuilder:object:generate=true -message NamespaceCondition { - string type = 1 [ - (gogoproto.jsontag) = "type", - (gogoproto.casttype) = "NamespaceConditionType" - ]; - string status = 2 [(gogoproto.casttype) = "ConditionStatus"]; - k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3 - [(gogoproto.nullable) = false]; - string reason = 4; -} - -// +kubebuilder:object:generate=true -// NamespaceStatus is the status of namespace -message NamespaceStatus { - sint64 observedGeneration = 1; - repeated NamespaceCondition conditions = 2 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"type\"", - (gogoproto.jsontag) = "conditions,omitempty" - ]; - repeated StepStatus init = 3 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"", - (gogoproto.jsontag) = "init,omitempty" - ]; - k8s.io.api.core.v1.ObjectReference namespaceRef = 4; - repeated StepStatus postCreate = 5 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"", - (gogoproto.jsontag) = "postCreate,omitempty" - ]; - repeated StepStatus preDelete = 6 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "patchStrategy:\"merge\" patchMergeKey:\"name\"", - (gogoproto.jsontag) = "preDelete,omitempty" - ]; -} - -// +kubebuilder:object:root=true -// +kubebuilder:subresource:status -// +kubebuilder:resource:shortName=rns -// Namespace is the schema of namespace -message Namespace { - k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = ",inline" - ]; - k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 2 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - NamespaceSpec spec = 3 - [(gogoproto.nullable) = false, (gogoproto.jsontag) = "spec,omitempty"]; - NamespaceStatus status = 4 - [(gogoproto.nullable) = false, (gogoproto.jsontag) = "status,omitempty"]; -} - -// +kubebuilder:object:root=true -// TaskletList contains a list of tasklets -message NamespaceList { - k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = ",inline" - ]; - - k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta listMeta = 2 [ - (gogoproto.embed) = true, - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "metadata,omitempty" - ]; - - repeated Namespace items = 3 [(gogoproto.nullable) = false]; -} diff --git a/components/common/proto/types/scheduler/namespace.pb.go b/components/common/proto/types/scheduler/namespace.pb.go deleted file mode 100644 index c8569ce..0000000 --- a/components/common/proto/types/scheduler/namespace.pb.go +++ /dev/null @@ -1,740 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.27.1 -// protoc (unknown) -// source: proto/types/scheduler/namespace.proto - -package scheduler - -import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - config "github.com/RafaySystems/rcloud-base/components/common/proto/types/config" - controller "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" - _ "github.com/gogo/protobuf/gogoproto" - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - timestamppb "google.golang.org/protobuf/types/known/timestamppb" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type ClusterNamespaceConditionType int32 - -const ( - ClusterNamespaceConditionType_ClusterNamespaceAssigned ClusterNamespaceConditionType = 0 - ClusterNamespaceConditionType_ClusterNamespaceConverged ClusterNamespaceConditionType = 1 - ClusterNamespaceConditionType_ClusterNamespaceReady ClusterNamespaceConditionType = 2 - ClusterNamespaceConditionType_ClusterNamespaceDelete ClusterNamespaceConditionType = 3 -) - -// Enum value maps for ClusterNamespaceConditionType. -var ( - ClusterNamespaceConditionType_name = map[int32]string{ - 0: "ClusterNamespaceAssigned", - 1: "ClusterNamespaceConverged", - 2: "ClusterNamespaceReady", - 3: "ClusterNamespaceDelete", - } - ClusterNamespaceConditionType_value = map[string]int32{ - "ClusterNamespaceAssigned": 0, - "ClusterNamespaceConverged": 1, - "ClusterNamespaceReady": 2, - "ClusterNamespaceDelete": 3, - } -) - -func (x ClusterNamespaceConditionType) Enum() *ClusterNamespaceConditionType { - p := new(ClusterNamespaceConditionType) - *p = x - return p -} - -func (x ClusterNamespaceConditionType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClusterNamespaceConditionType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_scheduler_namespace_proto_enumTypes[0].Descriptor() -} - -func (ClusterNamespaceConditionType) Type() protoreflect.EnumType { - return &file_proto_types_scheduler_namespace_proto_enumTypes[0] -} - -func (x ClusterNamespaceConditionType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ClusterNamespaceConditionType.Descriptor instead. -func (ClusterNamespaceConditionType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{0} -} - -type ClusterNamespaceType int32 - -const ( - ClusterNamespaceType_ClusterNamespaceSystem ClusterNamespaceType = 0 - ClusterNamespaceType_ClusterNamespaceCustom ClusterNamespaceType = 1 -) - -// Enum value maps for ClusterNamespaceType. -var ( - ClusterNamespaceType_name = map[int32]string{ - 0: "ClusterNamespaceSystem", - 1: "ClusterNamespaceCustom", - } - ClusterNamespaceType_value = map[string]int32{ - "ClusterNamespaceSystem": 0, - "ClusterNamespaceCustom": 1, - } -) - -func (x ClusterNamespaceType) Enum() *ClusterNamespaceType { - p := new(ClusterNamespaceType) - *p = x - return p -} - -func (x ClusterNamespaceType) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (ClusterNamespaceType) Descriptor() protoreflect.EnumDescriptor { - return file_proto_types_scheduler_namespace_proto_enumTypes[1].Descriptor() -} - -func (ClusterNamespaceType) Type() protoreflect.EnumType { - return &file_proto_types_scheduler_namespace_proto_enumTypes[1] -} - -func (x ClusterNamespaceType) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use ClusterNamespaceType.Descriptor instead. -func (ClusterNamespaceType) EnumDescriptor() ([]byte, []int) { - return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{1} -} - -type ClusterNamespaceSpec struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type ClusterNamespaceType `protobuf:"varint,1,opt,name=type,proto3,enum=rafay.dev.types.scheduler.ClusterNamespaceType" json:"type,omitempty"` - Namespace *config.NamespaceTemplate `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` - ClusterID string `protobuf:"bytes,3,opt,name=clusterID,proto3" json:"clusterID,omitempty"` -} - -func (x *ClusterNamespaceSpec) Reset() { - *x = ClusterNamespaceSpec{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterNamespaceSpec) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterNamespaceSpec) ProtoMessage() {} - -func (x *ClusterNamespaceSpec) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterNamespaceSpec.ProtoReflect.Descriptor instead. -func (*ClusterNamespaceSpec) Descriptor() ([]byte, []int) { - return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{0} -} - -func (x *ClusterNamespaceSpec) GetType() ClusterNamespaceType { - if x != nil { - return x.Type - } - return ClusterNamespaceType_ClusterNamespaceSystem -} - -func (x *ClusterNamespaceSpec) GetNamespace() *config.NamespaceTemplate { - if x != nil { - return x.Namespace - } - return nil -} - -func (x *ClusterNamespaceSpec) GetClusterID() string { - if x != nil { - return x.ClusterID - } - return "" -} - -type ClusterNamespaceCondition struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Type ClusterNamespaceConditionType `protobuf:"varint,1,opt,name=type,proto3,enum=rafay.dev.types.scheduler.ClusterNamespaceConditionType" json:"type,omitempty"` - Status v3.RafayConditionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=rafay.dev.types.common.v3.RafayConditionStatus" json:"status,omitempty"` - LastUpdated *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` - Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` -} - -func (x *ClusterNamespaceCondition) Reset() { - *x = ClusterNamespaceCondition{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterNamespaceCondition) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterNamespaceCondition) ProtoMessage() {} - -func (x *ClusterNamespaceCondition) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterNamespaceCondition.ProtoReflect.Descriptor instead. -func (*ClusterNamespaceCondition) Descriptor() ([]byte, []int) { - return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{1} -} - -func (x *ClusterNamespaceCondition) GetType() ClusterNamespaceConditionType { - if x != nil { - return x.Type - } - return ClusterNamespaceConditionType_ClusterNamespaceAssigned -} - -func (x *ClusterNamespaceCondition) GetStatus() v3.RafayConditionStatus { - if x != nil { - return x.Status - } - return v3.RafayConditionStatus(0) -} - -func (x *ClusterNamespaceCondition) GetLastUpdated() *timestamppb.Timestamp { - if x != nil { - return x.LastUpdated - } - return nil -} - -func (x *ClusterNamespaceCondition) GetReason() string { - if x != nil { - return x.Reason - } - return "" -} - -type ClusterNamespaceStatus struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Conditions []*ClusterNamespaceCondition `protobuf:"bytes,1,rep,name=conditions,proto3" json:"conditions,omitempty"` - Status *controller.NamespaceStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *ClusterNamespaceStatus) Reset() { - *x = ClusterNamespaceStatus{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterNamespaceStatus) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterNamespaceStatus) ProtoMessage() {} - -func (x *ClusterNamespaceStatus) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterNamespaceStatus.ProtoReflect.Descriptor instead. -func (*ClusterNamespaceStatus) Descriptor() ([]byte, []int) { - return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{2} -} - -func (x *ClusterNamespaceStatus) GetConditions() []*ClusterNamespaceCondition { - if x != nil { - return x.Conditions - } - return nil -} - -func (x *ClusterNamespaceStatus) GetStatus() *controller.NamespaceStatus { - if x != nil { - return x.Status - } - return nil -} - -type ClusterNamespace struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Spec *ClusterNamespaceSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` - Status *ClusterNamespaceStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` -} - -func (x *ClusterNamespace) Reset() { - *x = ClusterNamespace{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterNamespace) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterNamespace) ProtoMessage() {} - -func (x *ClusterNamespace) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterNamespace.ProtoReflect.Descriptor instead. -func (*ClusterNamespace) Descriptor() ([]byte, []int) { - return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{3} -} - -func (x *ClusterNamespace) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *ClusterNamespace) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *ClusterNamespace) GetMetadata() *v3.Metadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *ClusterNamespace) GetSpec() *ClusterNamespaceSpec { - if x != nil { - return x.Spec - } - return nil -} - -func (x *ClusterNamespace) GetStatus() *ClusterNamespaceStatus { - if x != nil { - return x.Status - } - return nil -} - -type ClusterNamespaceList struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` - Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` - Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` - Items []*ClusterNamespace `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` -} - -func (x *ClusterNamespaceList) Reset() { - *x = ClusterNamespaceList{} - if protoimpl.UnsafeEnabled { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[4] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *ClusterNamespaceList) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*ClusterNamespaceList) ProtoMessage() {} - -func (x *ClusterNamespaceList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_scheduler_namespace_proto_msgTypes[4] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use ClusterNamespaceList.ProtoReflect.Descriptor instead. -func (*ClusterNamespaceList) Descriptor() ([]byte, []int) { - return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{4} -} - -func (x *ClusterNamespaceList) GetApiVersion() string { - if x != nil { - return x.ApiVersion - } - return "" -} - -func (x *ClusterNamespaceList) GetKind() string { - if x != nil { - return x.Kind - } - return "" -} - -func (x *ClusterNamespaceList) GetMetadata() *v3.ListMetadata { - if x != nil { - return x.Metadata - } - return nil -} - -func (x *ClusterNamespaceList) GetItems() []*ClusterNamespace { - if x != nil { - return x.Items - } - return nil -} - -var File_proto_types_scheduler_namespace_proto protoreflect.FileDescriptor - -var file_proto_types_scheduler_namespace_proto_rawDesc = []byte{ - 0x0a, 0x25, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x72, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, - 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, - 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8f, 0x02, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x63, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, - 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x42, 0x1e, 0xea, 0xde, - 0x1f, 0x04, 0x74, 0x79, 0x70, 0x65, 0xf2, 0xde, 0x1f, 0x12, 0x70, 0x67, 0x3a, 0x22, 0x74, 0x79, - 0x70, 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x12, 0x5f, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x4e, - 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x42, 0x16, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x0e, 0x70, 0x67, 0x3a, 0x22, 0x6e, 0x61, - 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x12, 0x31, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xf2, 0xde, 0x1f, 0x0f, 0x70, 0x67, 0x3a, 0x22, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x22, 0x52, 0x09, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0xb4, 0x02, 0x0a, 0x19, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x56, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x08, 0xea, 0xde, - 0x1f, 0x04, 0x74, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x53, 0x0a, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x66, 0x61, 0x79, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x0a, 0xea, - 0xde, 0x1f, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x46, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0b, 0x6c, 0x61, - 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x22, 0x0a, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0a, 0xea, 0xde, 0x1f, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x89, 0x02, - 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x98, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x42, 0xc8, 0xde, 0x1f, 0x00, 0xf2, 0xde, 0x1f, 0x3a, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, - 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, - 0x3a, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x20, 0x70, 0x67, 0x3a, 0x22, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x54, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x42, 0x0f, 0xf2, 0xde, 0x1f, 0x0b, 0x70, 0x67, 0x3a, 0x22, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x22, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xab, 0x02, 0x0a, 0x10, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, - 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, - 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, - 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, - 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x12, 0x53, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xd2, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x1e, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x12, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x05, 0x69, 0x74, 0x65, - 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x99, 0x01, 0x0a, - 0x1d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, - 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x64, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, - 0x65, 0x61, 0x64, 0x79, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x10, 0x03, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x54, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, - 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x10, 0x01, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0x98, - 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, - 0x42, 0x0e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, - 0x50, 0x01, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, - 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0xa2, - 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, - 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x65, 0x72, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0xe2, 0x02, - 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x5c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, - 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x63, 0x68, 0x65, - 0x64, 0x75, 0x6c, 0x65, 0x72, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, 0x01, 0xe0, 0xe2, 0x1e, - 0x01, 0xc0, 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, -} - -var ( - file_proto_types_scheduler_namespace_proto_rawDescOnce sync.Once - file_proto_types_scheduler_namespace_proto_rawDescData = file_proto_types_scheduler_namespace_proto_rawDesc -) - -func file_proto_types_scheduler_namespace_proto_rawDescGZIP() []byte { - file_proto_types_scheduler_namespace_proto_rawDescOnce.Do(func() { - file_proto_types_scheduler_namespace_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_scheduler_namespace_proto_rawDescData) - }) - return file_proto_types_scheduler_namespace_proto_rawDescData -} - -var file_proto_types_scheduler_namespace_proto_enumTypes = make([]protoimpl.EnumInfo, 2) -var file_proto_types_scheduler_namespace_proto_msgTypes = make([]protoimpl.MessageInfo, 5) -var file_proto_types_scheduler_namespace_proto_goTypes = []interface{}{ - (ClusterNamespaceConditionType)(0), // 0: rafay.dev.types.scheduler.ClusterNamespaceConditionType - (ClusterNamespaceType)(0), // 1: rafay.dev.types.scheduler.ClusterNamespaceType - (*ClusterNamespaceSpec)(nil), // 2: rafay.dev.types.scheduler.ClusterNamespaceSpec - (*ClusterNamespaceCondition)(nil), // 3: rafay.dev.types.scheduler.ClusterNamespaceCondition - (*ClusterNamespaceStatus)(nil), // 4: rafay.dev.types.scheduler.ClusterNamespaceStatus - (*ClusterNamespace)(nil), // 5: rafay.dev.types.scheduler.ClusterNamespace - (*ClusterNamespaceList)(nil), // 6: rafay.dev.types.scheduler.ClusterNamespaceList - (*config.NamespaceTemplate)(nil), // 7: rafay.dev.types.config.NamespaceTemplate - (v3.RafayConditionStatus)(0), // 8: rafay.dev.types.common.v3.RafayConditionStatus - (*timestamppb.Timestamp)(nil), // 9: google.protobuf.Timestamp - (*controller.NamespaceStatus)(nil), // 10: rafay.dev.types.controller.NamespaceStatus - (*v3.Metadata)(nil), // 11: rafay.dev.types.common.v3.Metadata - (*v3.ListMetadata)(nil), // 12: rafay.dev.types.common.v3.ListMetadata -} -var file_proto_types_scheduler_namespace_proto_depIdxs = []int32{ - 1, // 0: rafay.dev.types.scheduler.ClusterNamespaceSpec.type:type_name -> rafay.dev.types.scheduler.ClusterNamespaceType - 7, // 1: rafay.dev.types.scheduler.ClusterNamespaceSpec.namespace:type_name -> rafay.dev.types.config.NamespaceTemplate - 0, // 2: rafay.dev.types.scheduler.ClusterNamespaceCondition.type:type_name -> rafay.dev.types.scheduler.ClusterNamespaceConditionType - 8, // 3: rafay.dev.types.scheduler.ClusterNamespaceCondition.status:type_name -> rafay.dev.types.common.v3.RafayConditionStatus - 9, // 4: rafay.dev.types.scheduler.ClusterNamespaceCondition.lastUpdated:type_name -> google.protobuf.Timestamp - 3, // 5: rafay.dev.types.scheduler.ClusterNamespaceStatus.conditions:type_name -> rafay.dev.types.scheduler.ClusterNamespaceCondition - 10, // 6: rafay.dev.types.scheduler.ClusterNamespaceStatus.status:type_name -> rafay.dev.types.controller.NamespaceStatus - 11, // 7: rafay.dev.types.scheduler.ClusterNamespace.metadata:type_name -> rafay.dev.types.common.v3.Metadata - 2, // 8: rafay.dev.types.scheduler.ClusterNamespace.spec:type_name -> rafay.dev.types.scheduler.ClusterNamespaceSpec - 4, // 9: rafay.dev.types.scheduler.ClusterNamespace.status:type_name -> rafay.dev.types.scheduler.ClusterNamespaceStatus - 12, // 10: rafay.dev.types.scheduler.ClusterNamespaceList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata - 5, // 11: rafay.dev.types.scheduler.ClusterNamespaceList.items:type_name -> rafay.dev.types.scheduler.ClusterNamespace - 12, // [12:12] is the sub-list for method output_type - 12, // [12:12] is the sub-list for method input_type - 12, // [12:12] is the sub-list for extension type_name - 12, // [12:12] is the sub-list for extension extendee - 0, // [0:12] is the sub-list for field type_name -} - -func init() { file_proto_types_scheduler_namespace_proto_init() } -func file_proto_types_scheduler_namespace_proto_init() { - if File_proto_types_scheduler_namespace_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_proto_types_scheduler_namespace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterNamespaceSpec); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_scheduler_namespace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterNamespaceCondition); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_scheduler_namespace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterNamespaceStatus); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_scheduler_namespace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterNamespace); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_proto_types_scheduler_namespace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*ClusterNamespaceList); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_types_scheduler_namespace_proto_rawDesc, - NumEnums: 2, - NumMessages: 5, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_proto_types_scheduler_namespace_proto_goTypes, - DependencyIndexes: file_proto_types_scheduler_namespace_proto_depIdxs, - EnumInfos: file_proto_types_scheduler_namespace_proto_enumTypes, - MessageInfos: file_proto_types_scheduler_namespace_proto_msgTypes, - }.Build() - File_proto_types_scheduler_namespace_proto = out.File - file_proto_types_scheduler_namespace_proto_rawDesc = nil - file_proto_types_scheduler_namespace_proto_goTypes = nil - file_proto_types_scheduler_namespace_proto_depIdxs = nil -} diff --git a/components/common/proto/types/scheduler/namespace.proto b/components/common/proto/types/scheduler/namespace.proto deleted file mode 100644 index 47552f7..0000000 --- a/components/common/proto/types/scheduler/namespace.proto +++ /dev/null @@ -1,87 +0,0 @@ -syntax = "proto3"; -package rafay.dev.types.scheduler; - -import "google/protobuf/timestamp.proto"; -import "gogoproto/gogo.proto"; -import "proto/types/commonpb/v3/common.proto"; -import "proto/types/config/namespace.proto"; -import "proto/types/controller/cluster_controller.proto"; - -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - -message ClusterNamespaceSpec { - ClusterNamespaceType type = 1 [ - (gogoproto.moretags) = "pg:\"type,use_zero\"", - (gogoproto.jsontag) = "type" - ]; - rafay.dev.types.config.NamespaceTemplate namespace = 2 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = "pg:\"namespace\"" - ]; - string clusterID = 3 [ - (gogoproto.moretags) = "pg:\"cluster_id\"" - ]; -} - -enum ClusterNamespaceConditionType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - ClusterNamespaceAssigned = 0; - ClusterNamespaceConverged = 1; - ClusterNamespaceReady = 2; - ClusterNamespaceDelete = 3; -} - -message ClusterNamespaceCondition { - ClusterNamespaceConditionType type = 1 [(gogoproto.jsontag) = "type"]; - rafay.dev.types.common.v3.RafayConditionStatus status = 2 - [(gogoproto.jsontag) = "status"]; - google.protobuf.Timestamp lastUpdated = 3 - [(gogoproto.stdtime) = true, (gogoproto.nullable) = false]; - string reason = 4 [(gogoproto.jsontag) = "reason"]; -} - -message ClusterNamespaceStatus { - repeated ClusterNamespaceCondition conditions = 1 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"type\" pg:\"conditions\"" - ]; - rafay.dev.types.controller.NamespaceStatus status = 2 - [(gogoproto.moretags) = "pg:\"status\""]; -} - -enum ClusterNamespaceType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - - ClusterNamespaceSystem = 0; - ClusterNamespaceCustom = 1; -} - -message ClusterNamespace { - string apiVersion = 1; - string kind = 2; - rafay.dev.types.common.v3.Metadata metadata = 3; - ClusterNamespaceSpec spec = 4 - [(gogoproto.nullable) = false, (gogoproto.embed) = true]; - ClusterNamespaceStatus status = 5 - [(gogoproto.nullable) = false, (gogoproto.embed) = true]; -} - -message ClusterNamespaceList { - string apiVersion = 1; - string kind = 2; - rafay.dev.types.common.v3.ListMetadata metadata = 3; - repeated ClusterNamespace items = 4; -} \ No newline at end of file diff --git a/components/relay/Dockerfile b/components/relay/Dockerfile deleted file mode 100644 index 89370d9..0000000 --- a/components/relay/Dockerfile +++ /dev/null @@ -1,50 +0,0 @@ -# Build the manager binary -FROM golang:1.16.6 as builder - -WORKDIR /workspace -# Copy the Go Modules manifests -COPY go.mod go.mod -COPY go.sum go.sum - -# setup github user and token -ARG BUILD_USR="nothing" -ARG BUILD_PWD="nothing" - -# Create the user and group files that will be used in the running -# container to run the process as an unprivileged user. -RUN mkdir /user && \ - echo 'nobody:x:65534:65534:nobody:/:' > /user/passwd && \ - echo 'nobody:x:65534:' > /user/group - -# Create a netrc file using the credentials specified using --build-arg -RUN printf "machine github.com\n\ - login ${BUILD_USR}\n\ - password ${BUILD_PWD}\n\ - \n\ - machine api.github.com\n\ - login ${BUILD_USR}\n\ - password ${BUILD_PWD}\n"\ - >> /root/.netrc -RUN chmod 600 /root/.netrc - -# cache deps before building and copying source so that we don't need to re-download as much -# and so that source changes don't invalidate our downloaded layer -RUN GOPRIVATE=github.com/RafaySystems/* go mod download - -# Copy the go source -COPY main.go main.go -COPY pkg/ pkg/ - - -# Build -# uncomment this to debug race conditions -#RUN GOPRIVATE=github.com/RafaySystems/* CGO_ENABLED=1 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -race -a -o rafay-relay main.go -RUN GOPRIVATE=github.com/RafaySystems/* CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" -a -o rafay-relay main.go - -# Use distroless as minimal base image to package the manager binary -# Refer to https://github.com/GoogleContainerTools/distroless for more details -FROM gcr.io/distroless/static:latest -WORKDIR / -COPY --from=builder /workspace/relay . -ENTRYPOINT ["/relay"] - diff --git a/components/relay/Dockerfile.agent b/components/relay/Dockerfile.agent deleted file mode 100644 index c50e75c..0000000 --- a/components/relay/Dockerfile.agent +++ /dev/null @@ -1,65 +0,0 @@ -# Build the manager binary -FROM golang:1.16.6 as builder - -WORKDIR /workspace -# Copy the Go Modules manifests -COPY go.mod go.mod -COPY go.sum go.sum - -# setup github user and token -ARG BUILD_USR="nothing" -ARG BUILD_PWD="nothing" - -# Create the user and group files that will be used in the running -# container to run the process as an unprivileged user. -RUN mkdir /user && \ - echo 'nobody:x:65534:65534:nobody:/:' > /user/passwd && \ - echo 'nobody:x:65534:' > /user/group - -# Create a netrc file using the credentials specified using --build-arg -RUN printf "machine github.com\n\ - login ${BUILD_USR}\n\ - password ${BUILD_PWD}\n\ - \n\ - machine api.github.com\n\ - login ${BUILD_USR}\n\ - password ${BUILD_PWD}\n"\ - >> /root/.netrc -RUN chmod 600 /root/.netrc - -# cache deps before building and copying source so that we don't need to re-download as much -# and so that source changes don't invalidate our downloaded layer -RUN GOPRIVATE=github.com/RafaySystems/* go mod download - -# Copy the go source -COPY main.go main.go -COPY pkg/ pkg/ - - -# Build -# uncomment this to debug race conditions -#RUN GOPRIVATE=github.com/RafaySystems/* CGO_ENABLED=1 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -race -a -o rafay-relay main.go -RUN GOPRIVATE=github.com/RafaySystems/* CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" -a -o rafay-relay main.go - -# Use distroless as minimal base image to package the manager binary -# Refer to https://github.com/GoogleContainerTools/distroless for more details -FROM gcr.io/distroless/static:latest -WORKDIR / -COPY --from=builder /workspace/relay . -ENTRYPOINT ["/relay"] - - -# Before copying the Go binary directly to the final image, -# add them to the intermdediate upx image -FROM rafaysystems/upx:latest as upx -COPY --from=builder /workspace/relay /relay.orig - -# Compress the binary and copy it to final image -RUN upx --best --lzma -o /relay /relay.orig - -# Use distroless as minimal base image to package the manager binary -# Refer to https://github.com/GoogleContainerTools/distroless for more details -FROM gcr.io/distroless/static:nonroot -WORKDIR / -COPY --from=upx /relay . -ENTRYPOINT ["/relay"] diff --git a/components/relay/Dockerfile.dev b/components/relay/Dockerfile.dev deleted file mode 100644 index 125f600..0000000 --- a/components/relay/Dockerfile.dev +++ /dev/null @@ -1,8 +0,0 @@ -# Use distroless as minimal base image to package the manager binary -# Refer to https://github.com/GoogleContainerTools/distroless for more details -#FROM gcr.io/distroless/static:latest -## use base:debug for shell access -FROM gcr.io/distroless/static:latest -WORKDIR / -COPY relay.upx relay -ENTRYPOINT ["/relay"] diff --git a/components/relay/Makefile b/components/relay/Makefile deleted file mode 100644 index 062dcb5..0000000 --- a/components/relay/Makefile +++ /dev/null @@ -1,33 +0,0 @@ -IMG ?= relay:latest -TS := $(shell /bin/date "+%Y%m%d%H%M%S") -DEV_USER ?= dev -DEV_TAG := registry.dev.rafay-edge.net:5000/${DEV_USER}/relay:$(TS) - -.PHONY: tidy -tidy: - GOPRIVATE=github.com/RafaySystems/* go mod tidy - -.PHONY: vendor -vendor: - GOPROXY=direct GOPRIVATE=github.com/RafaySystems/* go mod vendor - -check: - go fmt ./... - go vet ./... - -build: - docker build . -t ${IMG} --build-arg BUILD_USR=${BUILD_USER} --build-arg BUILD_PWD=${BUILD_PASSWORD} - -build-agent: - docker build -t ${IMG} --build-arg BUILD_USR=${BUILD_USER} --build-arg BUILD_PWD=${BUILD_PASSWORD} -f Dockerfile.agent . - -tag-dev: - docker tag ${IMG} $(DEV_TAG) - docker push $(DEV_TAG) - -build-dev: - rm -rf relay.* - CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -ldflags "-X google.golang.org/protobuf/reflect/protoregistry.conflictPolicy=warn" -o relay.dev main.go - upx -5 -o relay.upx relay.dev - docker build -f Dockerfile.dev -t ${IMG} . - $(MAKE) tag-dev diff --git a/components/relay/README.md b/components/relay/README.md deleted file mode 100644 index 9bf89aa..0000000 --- a/components/relay/README.md +++ /dev/null @@ -1,137 +0,0 @@ -# Rafay relay-server / rafay-agent -Relay server and agent for kubectl access. - -## Development Setup -Relay depends following code-repos -1. rcloud-base/components/common : git@github.com:RafaySystems/rcloud-base.git -2. rcloud-base/components/adminsrv : git@github.com:RafaySystems/rcloud-base.git -3. rcloud-base/components/cluster-scheduler : git@github.com:RafaySystems/rcloud-base.git - -Check out the above code repos. - -Go to cluster-scheduler -``` -make teardown -make setup -make run -``` - -Go to adminsrv -``` -make teardown -make setup -GRPC_GO_LOG_VERBOSITY_LEVEL=99 GRPC_GO_LOG_SEVERITY_LEVEL=info go run main.go - -``` - -### Rafay Relay Server -Get peer client token for relay. - -Open the admindb postgress and execute below SQL to fetch the token. -``` -admindb=# select token from sentry_bootstrap_agent_template where name='rafay-sentry-peering-client'; - token ----------------------- - brhsrbbipt349qt0qad0 - -``` - -Use above token set the environment variable for relay-server -``` -export RELAY_PEERING_TOKEN=brhsrbbipt349qt0qad0 -export RAFAY_RELAY_PEERSERVICE=http://peering.sentry.rafay.local:10001 -export POD_NAME=relay-pod1 -go run main.go --mode server --log-level 3 - -``` -### Rafay Relay Agent - -Get the config for rafay relay agent -``` -curl http://localhost:11000/infra/v3/project/:metadata.project/cluster/:metadata.name/download -``` - -Use the values of relay-agent-config and apply in the cluster. - -``` -kubectl -n rafay-system get cm/relay-agent-config -o yaml - -apiVersion: v1 -data: - clusterID: 4qkolkn - relays: '[{"token":"brht3cjipt35cb3kfjag","addr":"api.sentry.rafay.local:11000","endpoint":"*.core-connector.relay.rafay.local:443","name":"rafay-core-relay-agent","templateToken":"brhsrbbipt349qt0qae0"}]' -kind: ConfigMap -metadata: - creationTimestamp: "2020-04-28T07:10:53Z" - name: relay-agent-config - namespace: rafay-system - resourceVersion: "3127787" - selfLink: /api/v1/namespaces/rafay-system/configmaps/relay-agent-config - uid: e5fb5c16-c659-46d3-805f-3a2f3b73e9d7 -``` - -``` -kubectl apply -f -``` - -Run relay-agent -``` -export POD_NAME=relay-agent-pod1 -go run main.go --mode client --log-level 3 -``` - -Setup the local /etc/hosts file to resolve below hostname to localhost -``` -127.0.0.1 peering.sentry.rafay.local - -127.0.0.1 rx28oml.core-connector.relay.rafay.local -127.0.0.1 4qkolkn.core-connector.relay.rafay.local - -127.0.0.1 rx28oml.user.relay.rafay.local -127.0.0.1 4qkolkn.user.relay.rafay.local -``` - -Download kubeconfig -``` -curl http://localhost:11000/v2/sentry/kubeconfig/user?opts.selector=rafay.dev/clusterName=c-4 -``` - -Save the contents to a file and use for kubectl -``` -kubectl --v=6 --kubeconfig //kubeconfig-c-5 get pod -A -``` - - -### Production -Relay server need following environment variables - -POD_NAME - name of the relay instaance (auto generated) -POD_NAMESPACE - namespace of the relay instance - -RAFAY_SENTRY - URL to boostrap with sentry service -RAFAY_RELAY_PEERSERVICE - To join gRPC with sentry peer service - - -RELAY_USER_DOMAIN - domain suffix for relay user facing server -RELAY_CONNECTOR_DOMAIN - domain suffix for relay connector facing domain - -RELAY_TOKEN - Peer Service Token bootstrapping -RELAY_USER_TOKEN - Relay user facing server bootstrapping -RELAY_CONNECTOR_TOKEN - Relay connector facing server bootstrapping - -RELAY_LISTENIP - specify the listen IP if you want servers to listen other than 0.0.0.0 (usefull in testing local) - - -Examples: -``` -export RAFAY_SENTRY=http://sentry.rafay.dev:9000 -export RAFAY_RELAY_PEERSERVICE=http://peering.sentry.rafay.local:7001 - -export RELAY_USER_DOMAIN="user.relay.rafay.local" -export RELAY_CONNECTOR_DOMAIN="core-connector.relay.rafay.local" - -export RELAY_TOKEN=bqfvhabipt3a2g46986g -export RELAY_USER_TOKEN=bqfvhabipt3a2g46987g -export RELAY_CONNECTOR_TOKEN=bqfvhabipt3a2g469870 -export RELAY_LISTENIP=127.0.10.1 -``` \ No newline at end of file diff --git a/components/relay/go.mod b/components/relay/go.mod deleted file mode 100644 index a1b8c36..0000000 --- a/components/relay/go.mod +++ /dev/null @@ -1,114 +0,0 @@ -module github.com/RafaySystems/rcloud-base/components/relay - -go 1.17 - -require ( - github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished - github.com/cenkalti/backoff v2.2.1+incompatible - github.com/dgraph-io/ristretto v0.1.0 - github.com/felixge/httpsnoop v1.0.1 - github.com/felixge/tcpkeepalive v0.0.0-20160804073959-5bb0b2dea91e - github.com/fsnotify/fsnotify v1.5.1 - github.com/google/uuid v1.3.0 - github.com/inconshreveable/go-vhost v0.0.0-20160627193104-06d84117953b - github.com/jinzhu/inflection v1.0.0 - github.com/julienschmidt/httprouter v1.3.0 - github.com/rs/xid v1.3.0 - github.com/segmentio/encoding v0.3.3 - github.com/spf13/pflag v1.0.5 - github.com/spf13/viper v1.8.1 - github.com/twmb/murmur3 v1.1.6 - go.uber.org/zap v1.20.0 - golang.org/x/net v0.0.0-20211209124913-491a49abca63 - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac - google.golang.org/grpc v1.43.0 - gopkg.in/natefinch/lumberjack.v2 v2.0.0 - k8s.io/api v0.23.4 - k8s.io/apimachinery v0.23.4 - k8s.io/client-go v0.23.4 - sigs.k8s.io/controller-runtime v0.11.1 - sigs.k8s.io/yaml v1.3.0 -) - -require ( - github.com/PuerkitoBio/purell v1.1.1 // indirect - github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect - github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.1 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/dustin/go-humanize v1.0.0 // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect - github.com/go-logr/logr v1.2.0 // indirect - github.com/go-openapi/analysis v0.20.1 // indirect - github.com/go-openapi/errors v0.20.2 // indirect - github.com/go-openapi/jsonpointer v0.19.5 // indirect - github.com/go-openapi/jsonreference v0.19.6 // indirect - github.com/go-openapi/loads v0.21.0 // indirect - github.com/go-openapi/runtime v0.23.0 // indirect - github.com/go-openapi/spec v0.20.4 // indirect - github.com/go-openapi/strfmt v0.21.2 // indirect - github.com/go-openapi/swag v0.19.15 // indirect - github.com/go-openapi/validate v0.20.3 // indirect - github.com/go-stack/stack v1.8.0 // indirect - github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.0.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.7 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/googleapis/gnostic v0.5.5 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/imdario/mergo v0.3.12 // indirect - github.com/josharian/intern v1.0.0 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/magiconair/properties v1.8.5 // indirect - github.com/mailru/easyjson v0.7.6 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mitchellh/mapstructure v1.4.1 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect - github.com/oklog/ulid v1.3.1 // indirect - github.com/opentracing/opentracing-go v1.2.0 // indirect - github.com/pelletier/go-toml v1.9.3 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/processout/grpc-go-pool v1.2.1 // indirect - github.com/prometheus/client_golang v1.11.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.28.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect - github.com/segmentio/asm v1.1.3 // indirect - github.com/spf13/afero v1.6.0 // indirect - github.com/spf13/cast v1.3.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - github.com/valyala/fastjson v1.6.3 // indirect - go.mongodb.org/mongo-driver v1.7.5 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sys v0.0.0-20211123173158-ef496fb156ab // indirect - golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect - golang.org/x/text v0.3.7 // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5 // indirect - google.golang.org/protobuf v1.27.1 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/ini.v1 v1.62.0 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/apiextensions-apiserver v0.23.4 // indirect - k8s.io/component-base v0.23.4 // indirect - k8s.io/klog v1.0.0 // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/kube-openapi v0.0.0-20220114203427-a0453230fd26 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect - sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect -) - -replace github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished => /home/infracloud/development/vscode-workspace/rafay/rcloud-base/components/common/ diff --git a/components/relay/go.sum b/components/relay/go.sum deleted file mode 100644 index ac01a97..0000000 --- a/components/relay/go.sum +++ /dev/null @@ -1,1311 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.2/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1 h1:WXkYYl6Yr3qBf1K79EBnL4mak0OimBfB0XUf9Vl28OQ= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/cenkalti/backoff v2.2.1+incompatible h1:tNowT99t7UNflLxfYYSlKYsBpXdEet03Pg2g16Swow4= -github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/elazarl/goproxy v0.0.0-20191011121108-aa519ddbe484/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= -github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/felixge/httpsnoop v1.0.1 h1:lvB5Jl89CsZtGIWuTcDM1E/vkVs49/Ml7JJe07l8SPQ= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/felixge/tcpkeepalive v0.0.0-20160804073959-5bb0b2dea91e h1:mVIjvOd7NckIwf9J4hLB2YWXBYjhREF4vBeZXZ8mrWM= -github.com/felixge/tcpkeepalive v0.0.0-20160804073959-5bb0b2dea91e/go.mod h1:z0yk3Pix6k848RFizhkU4uY36ts5pB1t3toBwudGbBo= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= -github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= -github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk= -github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/analysis v0.20.1 h1:zdVbw8yoD4SWZeq+cWdGgquaB0W4VrsJvDJHJND/Ktc= -github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.1/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= -github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= -github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= -github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4= -github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o= -github.com/go-openapi/loads v0.21.0 h1:jYtUO4wwP7psAweisP/MDoOpdzsYEESdoPcsWjHDR68= -github.com/go-openapi/loads v0.21.0/go.mod h1:rHYve9nZrQ4CJhyeIIFJINGCg1tQpx2yJrrNo8sf1ws= -github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= -github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= -github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98= -github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= -github.com/go-openapi/runtime v0.23.0 h1:HX6ET2sHCIvaKeDDQoU01CtO1ekg5EkekHSkLTtWXH0= -github.com/go-openapi/runtime v0.23.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ= -github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg= -github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk= -github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= -github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os= -github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M= -github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= -github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= -github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= -github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4= -github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI= -github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= -github.com/go-openapi/validate v0.20.3 h1:GZPPhhKSZrE8HjB4eEkoYAZmoWA4+tCemSgINH1/vKw= -github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= -github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= -github.com/gophercloud/gophercloud v0.6.0/go.mod h1:GICNByuaEBibcjmjvI7QvYJSZEbGkcYwAR7EZK2WMqM= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1 h1:EGx4pi6eqNxGaHF6qqu48+N2wcFQ5qg5FXgOdqsJ5d8= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2/go.mod h1:lsuH8kb4GlMdSlI4alNIBBSAt5CHJtg3i+0WuN9J5YM= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 h1:I8MsauTJQXZ8df8qJvEln0kYNc3bSapuaSsEsnFdEFU= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3/go.mod h1:lZdb/YAJUSj9OqrCHs2ihjtoO3+xK3G53wTYXFWRGDo= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/go-vhost v0.0.0-20160627193104-06d84117953b h1:IpLPmn6Re21F0MaV6Zsc5RdSE6KuoFpWmHiUSEs3PrE= -github.com/inconshreveable/go-vhost v0.0.0-20160627193104-06d84117953b/go.mod h1:aA6DnFhALT3zH0y+A39we+zbrdMC2N0X/q21e6FI0LU= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible h1:xdiiI2gbIgH/gLH7ADydsJ1uDOEzR8yvV7C0MuV77Wo= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0 h1:U0609e9tgbseu3rBINet9P48AI/D3oJs4dN7jwJOQ1U= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/ory/kratos-client-go v0.8.2-alpha.1/go.mod h1:dOQIsar76K07wMPJD/6aMhrWyY+sFGEagLDLso1CpsA= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.9.3 h1:zeC5b1GviRUyKYd6OJPvBU/mcVDVoL1OhT17FCt5dSQ= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/processout/grpc-go-pool v1.2.1 h1:hbp1BOA02CIxEAoRLHGpUhhPFv77nwfBLBeO3Ya9P7I= -github.com/processout/grpc-go-pool v1.2.1/go.mod h1:F4hiNj96O6VQ87jv4rdz8R9tkHdelQQJ/J2B1a5VSt4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/asm v1.1.0/go.mod h1:4EUJGaKsB8ImLUwOGORVsNd9vTRDeh44JGsY4aKp5I4= -github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= -github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= -github.com/segmentio/encoding v0.3.2/go.mod h1:waft2p6XI4z2pk07M0YzZV4wEiqaRvsBSyWNHxVx4gU= -github.com/segmentio/encoding v0.3.3 h1:VG1HceOLwHkSDdkxshlu9pD4FftWkScmHc8RDQ+w9uM= -github.com/segmentio/encoding v0.3.3/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d h1:zE9ykElWQ6/NYmHa3jpm/yHnI4xSofP+UP6SpjHcSeM= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/speps/go-hashids v2.0.0+incompatible/go.mod h1:P7hqPzMdnZOfyIk+xrlG1QaSMw+gCBdHKsBDnhpaZvc= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= -github.com/twmb/murmur3 v1.1.6 h1:mqrRot1BRxm+Yct+vavLMou2/iJt0tNVTTC0QoIjaZg= -github.com/twmb/murmur3 v1.1.6/go.mod h1:Qq/R7NUyOfr65zD+6Q5IHKsJLwP7exErjN6lyyq3OSQ= -github.com/uptrace/bun v1.0.20/go.mod h1:Uv7z0z+7dXnUS9P5hMF0hdiM/4M+xOUHQCrZpyDrpRc= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= -github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= -go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= -go.mongodb.org/mongo-driver v1.7.5 h1:ny3p0reEpgsR2cfA5cjgwFZg3Cv/ofFh/8jbhGtz9VI= -go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -go.uber.org/zap v1.20.0 h1:N4oPlghZwYG55MlU6LXk/Zp00FVNE9X9wrYO8CEs4lc= -go.uber.org/zap v1.20.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211123173158-ef496fb156ab h1:rfJ1bsoJQQIAoAxTxB7bme+vHrNkRw8CqfsYh9w54cw= -golang.org/x/sys v0.0.0-20211123173158-ef496fb156ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5 h1:zzNejm+EgrbLfDZ6lu9Uud2IVvHySPl8vQzf04laR5Q= -google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0 h1:duBzk771uxoUuOlyRLkHsygud9+5lrlGjdFBb4mSKDU= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= -k8s.io/api v0.23.4 h1:85gnfXQOWbJa1SiWGpE9EEtHs0UVvDyIsSMpEtl2D4E= -k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= -k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= -k8s.io/apiextensions-apiserver v0.23.4 h1:AFDUEu/yEf0YnuZhqhIFhPLPhhcQQVuR1u3WCh0rveU= -k8s.io/apiextensions-apiserver v0.23.4/go.mod h1:TWYAKymJx7nLMxWCgWm2RYGXHrGlVZnxIlGnvtfYu+g= -k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= -k8s.io/apimachinery v0.23.4 h1:fhnuMd/xUL3Cjfl64j5ULKZ1/J9n8NuQEgNL+WXWfdM= -k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= -k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= -k8s.io/apiserver v0.23.4/go.mod h1:A6l/ZcNtxGfPSqbFDoxxOjEjSKBaQmE+UTveOmMkpNc= -k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= -k8s.io/client-go v0.23.4 h1:YVWvPeerA2gpUudLelvsolzH7c2sFoXXR5wM/sWqNFU= -k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= -k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= -k8s.io/code-generator v0.23.4/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= -k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= -k8s.io/component-base v0.23.4 h1:SziYh48+QKxK+ykJ3Ejqd98XdZIseVBG7sBaNLPqy6M= -k8s.io/component-base v0.23.4/go.mod h1:8o3Gg8i2vnUXGPOwciiYlkSaZT+p+7gA9Scoz8y4W4E= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/kube-openapi v0.0.0-20220114203427-a0453230fd26 h1:2G24ndYyfk0l23ZrGutxb0s9TRe4m1ZjFlcu4cEU1zA= -k8s.io/kube-openapi v0.0.0-20220114203427-a0453230fd26/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/utils v0.0.0-20191030222137-2b95a09bc58d/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27/go.mod h1:tq2nT0Kx7W+/f2JVE+zxYtUhdjuELJkVpNz+x/QN5R4= -sigs.k8s.io/controller-runtime v0.11.1 h1:7YIHT2QnHJArj/dk9aUkYhfqfK5cIxPOX5gPECfdZLU= -sigs.k8s.io/controller-runtime v0.11.1/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 h1:otg4dLFc03c3gzl+2CV8GPGcd1kk8wjXwD+UhhcCn5I= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0/go.mod h1:bl/gVJgYYhJZCZdYU2BfnaKYAlqFkgbJEkpl302jEss= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/components/relay/main.go b/components/relay/main.go deleted file mode 100644 index dd666f8..0000000 --- a/components/relay/main.go +++ /dev/null @@ -1,148 +0,0 @@ -// Copyright (C) 2020 Rafay Systems https://rafay.co/ - -package main - -import ( - "context" - "flag" - "fmt" - "os" - "os/signal" - "syscall" - "time" - - "net/http" - _ "net/http/pprof" - - "github.com/spf13/pflag" - "github.com/spf13/viper" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/agent" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relay" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/tail" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" -) - -var ( - log *relaylogger.RelayLog -) - -func exit(cancel context.CancelFunc) { - cancel() - os.Exit(0) -} - -func terminate(cancel context.CancelFunc) { - cancel() - os.Exit(1) -} - -//os signal handler -func signalHandler(sig os.Signal, cancel context.CancelFunc) { - if sig == syscall.SIGINT || sig == syscall.SIGKILL || sig == syscall.SIGTERM || sig == syscall.SIGQUIT { - log.Error( - nil, - "Received", - "signal", sig, - ) - exit(cancel) - return - } - - log.Info( - "Received", - "signal", sig, - ) -} - -func main() { - - flag.String("mode", "server", "mode of relay, accepeted values server/client") - flag.Int("log-level", 1, "log leve, accepted values 0-3") - flag.Bool("profile", false, "enable profiling") - flag.Int("profile-port", 13000, "profiler http port") - - pflag.CommandLine.AddGoFlagSet(flag.CommandLine) - pflag.Parse() - viper.BindPFlags(pflag.CommandLine) - - mode := viper.GetString("mode") - logLevel := viper.GetInt("log-level") - profile := viper.GetBool("profile") - profilePort := viper.GetInt("profile-port") - - utils.GenUUID() - - ctx, cancel := context.WithCancel(context.Background()) - defer cancel() - - log = relaylogger.NewLogger(logLevel).WithName("Relay") - - signalChan := make(chan os.Signal, 2) - signal.Notify(signalChan, - os.Interrupt, - syscall.SIGINT, - syscall.SIGHUP, - syscall.SIGKILL, - syscall.SIGTERM, - syscall.SIGQUIT, - ) - - log.Info( - "Relay", - "mode", mode, - "loglevel", logLevel, - ) - - utils.LogLevel = logLevel - - if profile { - go func() { - log.Info("profiling enabled", "profilePort", profilePort) - err := http.ListenAndServe(fmt.Sprintf(":%d", profilePort), nil) - if err != nil { - panic(err) - } - }() - } - -restart: - switch mode { - case "client": - log.Info("Starting relay agent client") - utils.Mode = utils.RELAYAGENT - go agent.RunRelayKubeCTLAgent(ctx, logLevel) - case "cdclient": - log.Info("Starting relay agent client") - utils.Mode = utils.CDRELAYAGENT - go agent.RunRelayCDAgent(ctx, logLevel) - case "tail": - log.Info("Starting relay log tail") - go tail.RunRelayTail(ctx) - case "cdrelay": - utils.Mode = utils.CDRELAY - log.Info("Starting cdrelay server") - go relay.RunCDRelayServer(ctx, logLevel) - default: - // default server - utils.Mode = utils.RELAY - log.Info("Starting relay server") - go relay.RunRelayServer(ctx, logLevel) - } - - for { - select { - case <-utils.ExitChan: - log.Info( - "got exit", - ) - time.Sleep(time.Second * 5) - goto restart - case <-utils.TerminateChan: - terminate(cancel) - case sig := <-signalChan: - signalHandler(sig, cancel) - } - } -} diff --git a/components/relay/pkg/agent/agent.go b/components/relay/pkg/agent/agent.go deleted file mode 100644 index 705ce21..0000000 --- a/components/relay/pkg/agent/agent.go +++ /dev/null @@ -1,595 +0,0 @@ -package agent - -import ( - "context" - "crypto/sha256" - "encoding/json" - "fmt" - "io/ioutil" - "net/url" - "strconv" - "time" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/apply" - clientutil "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/client" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/register" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/cleanup" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/proxy" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/tunnel" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "github.com/fsnotify/fsnotify" - "github.com/spf13/viper" - corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "sigs.k8s.io/controller-runtime/pkg/client" -) - -const ( - podNameEnv = "POD_NAME" - podNamespaceEnv = "POD_NAMESPACE" - maxDialsEnv = "MAX_DIALS" - dialoutProxyEnv = "DIALOUT_PROXY" - dialoutProxyAuthEnv = "DIALOUT_PROXY_AUTHENTICATION" // user:password - configNameEnv = "RELAY_CONFIGMAP_NAME" - configNameCD = "cd-agent-configmap" - cdConfigPath = "/etc/config/relayConfigData" - relayRegisterTokenName = "relays" - relayClusterIDName = "clusterID" - relayAgentIDName = "agentID" -) - -var ( - podName string - podNamespace string - relayRegisterToken string - relayClusterID string - relayAgentID string - applier client.Client - lastHash string - log *relaylogger.RelayLog - configName string -) - -const ( - rafaySystemNamespace = "rafay-system" -) - -func processRelayConfigData(cfgData string) error { - if err := json.Unmarshal([]byte(cfgData), &utils.RelayNetworks); err != nil { - log.Error( - err, - "failed to unmashal", - ) - return err - } - return nil -} - -func getConfigMap(ctx context.Context, c client.Client, name string) (*corev1.ConfigMap, error) { - cm := corev1.ConfigMap{} - - err := c.Get(ctx, client.ObjectKey{ - Namespace: rafaySystemNamespace, - Name: name, - }, &cm) - if err != nil { - return nil, err - } - - cm.TypeMeta = metav1.TypeMeta{ - Kind: "ConfigMap", - APIVersion: "v1", - } - - return &cm, nil -} - -func getConfigHash(ctx context.Context, configMap string) (string, error) { - - cm, err := getConfigMap(ctx, applier, configMap) - if err != nil { - return "", err - } - - b, err := json.Marshal(cm.Data) - if err != nil { - return "", err - } - - h := sha256.New() - h.Write(b) - - //return cm.Annotations[hash.ObjectHash], nil - return fmt.Sprintf("%x", h.Sum(nil)), nil -} - -func getRelayAgentConfig(ctx context.Context) error { - var ok bool - - cm, err := getConfigMap(ctx, applier, configName) - if err != nil { - return err - } - - if relayClusterID, ok = cm.Data[relayClusterIDName]; !ok { - return fmt.Errorf("failed to get relayClusterID") - } - if relayRegisterToken, ok = cm.Data[relayRegisterTokenName]; !ok { - return fmt.Errorf("failed to get relayRegisterToken") - } - - if err := processRelayConfigData(relayRegisterToken); err != nil { - return fmt.Errorf("failed to process relayRegisterToken %s", relayRegisterToken) - } - if len(utils.RelayNetworks) <= 0 { - return fmt.Errorf("empty relaynetwork configmap %s", relayRegisterToken) - } - - log.Info( - "relay agent config values", - "podName", podName, - "podNamespace", podNamespace, - ) - - for _, item := range utils.RelayNetworks { - log.Info( - "relay network info", - "Token", item.Token, - "Addr", item.Addr, - "Domain", item.Domain, - "Name", item.Name, - ) - } - - utils.ClusterID = relayClusterID - return nil -} - -func setupclient(ctx context.Context, log *relaylogger.RelayLog) error { - configName = "relay-agent-config" - viper.SetDefault(podNameEnv, "relay-agent") - viper.SetDefault(podNamespaceEnv, "rafay-system") - viper.BindEnv(podNameEnv) - viper.BindEnv(podNamespaceEnv) - - podName = viper.GetString(podNameEnv) - podNamespace = viper.GetString(podNamespaceEnv) - - utils.PODNAME = podName - - viper.SetDefault(maxDialsEnv, "10") - viper.BindEnv(maxDialsEnv) - utils.MaxDials = viper.GetInt(maxDialsEnv) - - viper.SetDefault(dialoutProxyEnv, "") - viper.BindEnv(dialoutProxyEnv) - - if u, err := url.Parse(viper.GetString(dialoutProxyEnv)); err == nil { - utils.DialoutProxy = u.Host - } else { - utils.DialoutProxy = viper.GetString(dialoutProxyEnv) - } - - viper.SetDefault(dialoutProxyAuthEnv, "") - viper.BindEnv(dialoutProxyAuthEnv) - proxyAuth := viper.GetString(dialoutProxyAuthEnv) - utils.DialoutProxyAuth = proxyAuth - - if utils.MaxDials < utils.MinDials { - utils.MaxDials = utils.MinDials - } - - viper.SetDefault(configNameEnv, "") - viper.BindEnv(configNameEnv) - customeRelayCfgMap := viper.GetString(configNameEnv) - if customeRelayCfgMap != "" { - configName = customeRelayCfgMap - } - - err := getRelayAgentConfig(ctx) - if err != nil { - log.Error( - err, - "failed to get relay config", - ) - return err - } - return nil -} - -func setupCDClient(ctx context.Context, log *relaylogger.RelayLog) error { - - viper.SetDefault(podNameEnv, "relay-cdagent") - viper.SetDefault(podNamespaceEnv, "rafay-system") - viper.BindEnv(podNameEnv) - viper.BindEnv(podNamespaceEnv) - - podName = viper.GetString(podNameEnv) - podNamespace = viper.GetString(podNamespaceEnv) - - utils.PODNAME = podName - - viper.SetDefault(maxDialsEnv, "2") - viper.BindEnv(maxDialsEnv) - // utils.MaxDials = viper.GetInt(maxDialsEnv) - - viper.SetDefault(dialoutProxyEnv, "") - viper.BindEnv(dialoutProxyEnv) - // utils.DialoutProxy = viper.GetString(dialoutProxyEnv) - - viper.SetDefault(dialoutProxyAuthEnv, "") - viper.BindEnv(dialoutProxyAuthEnv) - // proxyAuth := viper.GetString(dialoutProxyAuthEnv) - // utils.DialoutProxyAuth = base64.StdEncoding.EncodeToString([]byte(proxyAuth)) - - // if utils.MaxDials < 1 { - // utils.MaxDials = 2 - // } - - err := getRelayCDAgentConfig(ctx) - if err != nil { - log.Error( - err, - "failed to get relay config", - ) - return err - } - return nil -} - -func getRelayCDAgentConfig(ctx context.Context) error { - var ok bool - - configBytes, err := ioutil.ReadFile(cdConfigPath) - if err != nil { - return err - } - - var config map[string]interface{} - err = json.Unmarshal(configBytes, &config) - if err != nil { - return err - } - - if relayAgentID, ok = config[relayAgentIDName].(string); !ok { - return fmt.Errorf("failed to get cd-relayClusterID") - } - - if maxDialsStr, ok := config["maxDials"].(string); ok { - maxDials, err := strconv.Atoi(maxDialsStr) - if err != nil { - maxDials = 2 - } - utils.MaxDials = maxDials - } - - if utils.MaxDials < utils.MinDials { - utils.MaxDials = utils.MinDials - } - - var dialoutProxy string - if dp, ok := config["dialoutProxy"]; ok { - if dialoutProxy, ok = dp.(string); ok { - } - } - - if dialoutProxy == "" { - if u, err := url.Parse(viper.GetString(dialoutProxyEnv)); err == nil { - dialoutProxy = u.Host - } else { - dialoutProxy = viper.GetString(dialoutProxyEnv) - } - } - - utils.DialoutProxy = dialoutProxy - - var dialoutProxyAuth string - if dpa, ok := config["dialoutProxyAuthentication"]; ok { - if dialoutProxyAuth, ok = dpa.(string); ok { - } - } - - if dialoutProxyAuth == "" { - dialoutProxyAuth = viper.GetString(dialoutProxyAuthEnv) - } - - utils.DialoutProxyAuth = dialoutProxyAuth - - if relays, ok := config[relayRegisterTokenName].(interface{}); ok { - relayRegisterTokenBytes, err := json.Marshal(relays) - if err != nil { - return fmt.Errorf("failed to get cd-relayRegisterToken: %s", err.Error()) - } - relayRegisterToken = string(relayRegisterTokenBytes) - } else { - return fmt.Errorf("failed to get cd-relayRegisterToken") - } - - if err := processRelayConfigData(relayRegisterToken); err != nil { - return fmt.Errorf("failed to process cd-relayRegisterToken %s", relayRegisterToken) - } - if len(utils.RelayNetworks) <= 0 { - return fmt.Errorf("empty cd-relaynetwork configmap %s", relayRegisterToken) - } - - log.Info( - "relay cd agent config values", - "podName", podName, - "podNamespace", podNamespace, - ) - - for _, item := range utils.RelayNetworks { - log.Info( - "relay network info", - "Token", item.Token, - "Addr", item.Addr, - "Domain", item.Domain, - "Name", item.Name, - ) - } - - utils.AgentID = relayAgentID - return nil -} - -// registerRelayAgent will register with rafay-core-relay-connector template token -// registration fetches client-certificate/root-ca to connect to relay server -func registerRelayAgent(ctx context.Context, rn utils.Relaynetwork) error { - cfg := ®ister.Config{ - TemplateToken: rn.TemplateToken, - Addr: rn.Addr, - ClientID: rn.Token, - ClientIP: utils.GetRelayIP(), - Name: podName, - } - - if utils.IsHTTPS(rn.Addr) { - cfg.Scheme = "https" - } - - log.Info("config:", cfg) - - if err := register.Register(ctx, cfg); err != nil { - log.Error( - err, - "failed to register relay agent", - ) - return err - } - - log.Info( - "certificate:", - string(cfg.Certificate), - ) - - rc := utils.RelayNetworkConfig{} - rc.Network = rn - rc.RelayAgentCACert = cfg.CACertificate - rc.RelayAgentCert = cfg.Certificate - rc.RelayAgentKey = cfg.PrivateKey - - utils.RelayAgentConfig[rn.Name] = rc - - return nil -} - -func checkConfigMapChange(configMap string) bool { - ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) - defer cancel() - - h, err := getConfigHash(ctx, configMap) - if err != nil { - log.Error( - err, - "failed to get relay configmap hash", - ) - return false - } - - if lastHash != "" { - if lastHash != h { - //hash changed - log.Info("hash of configmap data changed", "prev", lastHash, "curr", h) - lastHash = h - return true - } - } else { - log.Info("setting hash of configmap data", "hash", h) - lastHash = h - } - - return false -} - -// RunRelayCDAgent entry to the relay client -func RunRelayCDAgent(ctx context.Context, logLvl int) { - lastHash = "" - utils.RelayNetworks = nil - utils.RelayAgentConfig = make(map[string]utils.RelayNetworkConfig) - - log = relaylogger.NewLogger(logLvl).WithName("Relay Agent") - - c, err := clientutil.New() - if err != nil { - log.Error( - err, - "failed in clientutil new", - ) - utils.ExitChan <- true - return - } - - if err := proxy.InitUnixCacheRoundTripper(); err != nil { - log.Error( - err, - "failed to init unix cached round tripper", - ) - utils.ExitChan <- true - return - } - - applier = apply.NewApplier(c) - - rctx, cancel := context.WithCancel(ctx) - defer cancel() - - if err := setupCDClient(rctx, log); err != nil { - log.Error( - err, - "relay agent exiting", - ) - utils.ExitChan <- true - return - } - - for _, rn := range utils.RelayNetworks { - go handleRelayNetworks(rctx, rn) - } - - //watch config changes - watcher, err := fsnotify.NewWatcher() - if err != nil { - log.Error(err, "unable to create watcher for config file") - utils.ExitChan <- true - return - } - defer watcher.Close() - err = watcher.Add(cdConfigPath) - if err != nil { - log.Error(err, "unable to add config file to watcher") - } - for { - select { - case event, ok := <-watcher.Events: - if ok { - log.Info("event:", event, "modified file:", event.Name) - } - if event.Op != fsnotify.Chmod { - utils.ExitChan <- true - return - } - case err, ok := <-watcher.Errors: - if !ok { - utils.ExitChan <- true - return - } - log.Info("error:", err) - case <-ctx.Done(): - log.Info( - "Relay agent exiting", - ) - return - } - } - -} - -// RunRelayKubeCTLAgent entry to the relay client -func RunRelayKubeCTLAgent(ctx context.Context, logLvl int) { - lastHash = "" - utils.RelayNetworks = nil - utils.RelayAgentConfig = make(map[string]utils.RelayNetworkConfig) - - log = relaylogger.NewLogger(logLvl).WithName("Relay Agent") - - c, err := clientutil.New() - if err != nil { - log.Error( - err, - "failed in clientutil new", - ) - utils.TerminateChan <- true - return - } - - if err := proxy.InitUnixCacheRoundTripper(); err != nil { - log.Error( - err, - "failed to init unix cached round tripper", - ) - utils.ExitChan <- true - return - } - - applier = apply.NewApplier(c) - - rctx, cancel := context.WithCancel(ctx) - defer cancel() - - if err := setupclient(rctx, log); err != nil { - log.Error( - err, - "relay agent exiting", - ) - utils.ExitChan <- true - return - } - - go cleanup.StaleAuthz(rctx) - - for _, rn := range utils.RelayNetworks { - go handleRelayNetworks(rctx, rn) - } - - //ticker configmap changes - ticker := time.NewTicker(10 * time.Second) - for { - select { - case <-ticker.C: - if checkConfigMapChange(configName) { - // cancel the ctx - ticker.Stop() - utils.ExitChan <- true - return - } - case <-ctx.Done(): - log.Info( - "Relay agent exiting", - ) - return - } - } - -} - -func handleRelayNetworks(ctx context.Context, rn utils.Relaynetwork) { - rnExitChan := make(chan bool) -restartRegister: - ticker := time.NewTicker(5 * time.Second) - if err := registerRelayAgent(ctx, rn); err != nil { - //wait until config is available - for { - select { - case <-ticker.C: - goto restartRegister - case <-ctx.Done(): - ticker.Stop() - return - } - } - } - ticker.Stop() - -restartNetwork: - go tunnel.StartClient(ctx, log, "", utils.RelayAgentConfig[rn.Name], rnExitChan) - - for { - select { - case <-rnExitChan: - log.Info( - "relay network stopped, restart in 5 secs", - "name", rn.Name, - ) - time.Sleep(2 * time.Second) - goto restartNetwork - case <-ctx.Done(): - log.Info( - "Relay network exiting", - "name", rn.Name, - ) - return - } - } - -} diff --git a/components/relay/pkg/agent/lib.go b/components/relay/pkg/agent/lib.go deleted file mode 100644 index 65e84ad..0000000 --- a/components/relay/pkg/agent/lib.go +++ /dev/null @@ -1,36 +0,0 @@ -package agent - -import ( - "context" - "time" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" -) - -// RunCDAgentRoutine starts cd agent. run as a go routine -func RunCDAgentRoutine(ctx context.Context, logLevel int) { - - _log := relaylogger.NewLogger(logLevel).WithName("Relay") - _log.Info("Starting relay agent client") - - utils.GenUUID() - utils.LogLevel = logLevel - utils.Mode = utils.CDRELAYAGENT - -restart: - go RunRelayCDAgent(ctx, logLevel) - - for { - select { - case <-utils.ExitChan: - log.Info( - "got exit", - ) - time.Sleep(time.Second * 5) - goto restart - case <-ctx.Done(): - return - } - } -} diff --git a/components/relay/pkg/audit/audit.go b/components/relay/pkg/audit/audit.go deleted file mode 100644 index 10de238..0000000 --- a/components/relay/pkg/audit/audit.go +++ /dev/null @@ -1,97 +0,0 @@ -package audit - -import ( - "net/http" - "strings" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/sessions" - "github.com/felixge/httpsnoop" - "github.com/rs/xid" - "go.uber.org/zap" - "go.uber.org/zap/zapcore" -) - -// options holds audit options -type options struct { - basePath string - maxSizeMB int - maxBackups int - maxAgeDays int -} - -// Option is the functional argument for audit options -type Option func(o *options) - -// WithBasePath sets base path for audit logs -func WithBasePath(path string) Option { - return func(o *options) { - o.basePath = path - } -} - -// WithMaxSizeMB sets max size of audit file before it is rotated -func WithMaxSizeMB(size int) Option { - return func(o *options) { - o.maxSizeMB = size - } -} - -// WithMaxBackups sets maximum number of backed up rotated audit logs to maintain -func WithMaxBackups(backups int) Option { - return func(o *options) { - o.maxBackups = backups - } -} - -// WithMaxAgeDays sets age after which backed up rotated audit logs will be deleted -func WithMaxAgeDays(ageDays int) Option { - return func(o *options) { - o.maxAgeDays = ageDays - } -} - -type audit struct { - logger *zap.Logger -} - -func (a *audit) handler(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - - metrics := httpsnoop.CaptureMetrics(next, w, r) - - fields := make([]zapcore.Field, 0, 10) - fields = append(fields, zap.String("xid", xid.New().String())) - fields = append(fields, zap.String("method", r.Method)) - fields = append(fields, zap.String("url", r.URL.EscapedPath())) - fields = append(fields, zap.String("query", r.URL.RawQuery)) - fields = append(fields, zap.String("serverName", r.TLS.ServerName)) - fields = append(fields, zap.String("user", r.TLS.PeerCertificates[0].Subject.CommonName)) - fields = append(fields, zap.String("remoteAddr", strings.Split(r.RemoteAddr, ":")[0])) - fields = append(fields, zap.Int("statusCode", metrics.Code)) - fields = append(fields, zap.Int64("written", metrics.Written)) - fields = append(fields, zap.Duration("duration", metrics.Duration)) - if r.Header.Get("X-Rafay-Audit") == "" { - a.logger.Info("access", fields...) - } else { - a.logger.Info("audit", fields...) - } - - if metrics.Code == http.StatusUnauthorized || metrics.Code == http.StatusBadGateway { - sessKey := r.Header.Get("X-Rafay-Sessionkey") - sessions.SetSessionErrorFlag(sessKey) - } - - }) -} - -// WrapWithAudit wrap audit handler around next http.Handler -func WrapWithAudit(next http.Handler, opts ...Option) http.Handler { - - auditOpts := &options{} - for _, opt := range opts { - opt(auditOpts) - } - - audit := &audit{logger: getAuditLogger(auditOpts)} - return audit.handler(next) -} diff --git a/components/relay/pkg/audit/logger.go b/components/relay/pkg/audit/logger.go deleted file mode 100644 index 49eda82..0000000 --- a/components/relay/pkg/audit/logger.go +++ /dev/null @@ -1,30 +0,0 @@ -package audit - -import ( - "fmt" - - "go.uber.org/zap" - "go.uber.org/zap/zapcore" - "gopkg.in/natefinch/lumberjack.v2" -) - -func getAuditLogger(opts *options) *zap.Logger { - - path := fmt.Sprintf("%s/audit.log", opts.basePath) - - encoder := zap.NewProductionEncoderConfig() - encoder.EncodeTime = zapcore.ISO8601TimeEncoder - - logger := zap.New(zapcore.NewCore( - zapcore.NewJSONEncoder(encoder), - zapcore.AddSync(&lumberjack.Logger{ - Filename: path, - MaxSize: opts.maxSizeMB, // megabytes - MaxBackups: opts.maxBackups, - MaxAge: opts.maxAgeDays, // days - }), - zap.InfoLevel, - )) - - return logger -} diff --git a/components/relay/pkg/cleanup/authz.go b/components/relay/pkg/cleanup/authz.go deleted file mode 100644 index f4d7d3d..0000000 --- a/components/relay/pkg/cleanup/authz.go +++ /dev/null @@ -1,150 +0,0 @@ -package cleanup - -import ( - "context" - "strconv" - "time" - - clientutil "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/client" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "sigs.k8s.io/controller-runtime/pkg/client" - - corev1 "k8s.io/api/core/v1" - rbacv1 "k8s.io/api/rbac/v1" - "k8s.io/apimachinery/pkg/labels" - "k8s.io/apimachinery/pkg/selection" -) - -var ( - _log = log.GetLogger() -) - -const ( - // how often should the cleanup routine run - sweepInterval = time.Minute * 10 - // any authz which is olderThan this should be cleaned up - olderThan = time.Hour * 8 - - rafayRelayLabel = "rafay-relay" - authzRefreshLabel = "authz-refreshed" - rafaySystemNS = "rafay-system" - - maxResults = 50 -) - -func getMatchingLabelSelector() (sel client.MatchingLabelsSelector, err error) { - var relayLabelReq, refreshLabelReq *labels.Requirement - - relayLabelReq, err = labels.NewRequirement(rafayRelayLabel, selection.Equals, []string{"true"}) - if err != nil { - _log.Infow("unable to create relay label requirment", "error", err) - return - } - - refreshLabelReq, err = labels.NewRequirement( - authzRefreshLabel, - selection.LessThan, - []string{strconv.FormatInt(time.Now().Add(-olderThan).Unix(), 10)}, - ) - if err != nil { - _log.Infow("unable to create authz refresh requirment", "error", err) - return - } - sel.Selector = labels.NewSelector().Add(*relayLabelReq, *refreshLabelReq) - - return -} - -func cleanServiceAccounts(ctx context.Context, c client.Client, sel client.MatchingLabelsSelector) { - nCtx, cancel := context.WithTimeout(ctx, time.Second*10) - defer cancel() - - var saList corev1.ServiceAccountList - - err := c.List(nCtx, &saList, sel, client.InNamespace(rafaySystemNS), client.Limit(maxResults)) - if err != nil { - _log.Infow("unable to list service accounts", "error", err) - return - } - - for _, item := range saList.Items { - _log.Infow("found stale service account", "name", item.Name) - err = c.Delete(ctx, &item) - if err != nil { - _log.Infow("unable to delete stale service account", "name", item.Name, "error", err) - } - } - -} - -func cleanClusterRoleBindings(ctx context.Context, c client.Client, sel client.MatchingLabelsSelector) { - nCtx, cancel := context.WithTimeout(ctx, time.Second*10) - defer cancel() - - var crbList rbacv1.ClusterRoleBindingList - - err := c.List(nCtx, &crbList, sel, client.Limit(maxResults)) - if err != nil { - _log.Infow("unable to list cluster role bindings", "error", err) - return - } - - for _, item := range crbList.Items { - _log.Infow("found stale cluster role binding", "name", item.Name) - err = c.Delete(ctx, &item) - if err != nil { - _log.Infow("unable to delete cluster role binding", "name", item.Name, "error", err) - } - } -} - -func cleanRoleBindings(ctx context.Context, c client.Client, sel client.MatchingLabelsSelector) { - nCtx, cancel := context.WithTimeout(ctx, time.Second*10) - defer cancel() - - var rbList rbacv1.RoleBindingList - - err := c.List(nCtx, &rbList, sel, client.Limit(maxResults)) - if err != nil { - _log.Infow("unable to list role bindings", "error", err) - return - } - - for _, item := range rbList.Items { - _log.Infow("found stale role binding", "name", item.Name) - err = c.Delete(ctx, &item) - if err != nil { - _log.Infow("unable to delete role binding", "name", item.Name, "error", err) - } - } -} - -// StaleAuthz cleans up state authorizations provisioned in the cluster -func StaleAuthz(ctx context.Context) { - c, err := clientutil.New() - if err != nil { - _log.Fatalw("unable to create client for cleaning stale authz entries", "error", err) - } - - ticker := time.NewTicker(sweepInterval) -sweepLoop: - for ; true; <-ticker.C { - select { - case <-ctx.Done(): - break sweepLoop - default: - } - - sel, err := getMatchingLabelSelector() - if err != nil { - _log.Infow("unable to build matching label selector", "error", err) - continue - } - - _log.Infow("finding authz matching", "selector", sel) - - cleanClusterRoleBindings(ctx, c, sel) - cleanRoleBindings(ctx, c, sel) - cleanServiceAccounts(ctx, c, sel) - } -} diff --git a/components/relay/pkg/profile/profile.go b/components/relay/pkg/profile/profile.go deleted file mode 100644 index b9b3d71..0000000 --- a/components/relay/pkg/profile/profile.go +++ /dev/null @@ -1,31 +0,0 @@ -package profile - -import ( - "context" - "fmt" - "net/http" - _ "net/http/pprof" - "time" -) - -// RunProfiler runs pprof on the given port -func RunProfiler(port int, stop <-chan struct{}) error { - - s := http.Server{ - Addr: fmt.Sprintf(":%d", port), - } - - defer func() { - <-stop - ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) - defer cancel() - s.Shutdown(ctx) - }() - - err := s.ListenAndServe() - if err != nil { - return err - } - - return nil -} diff --git a/components/relay/pkg/proxy/kube_proxy.go b/components/relay/pkg/proxy/kube_proxy.go deleted file mode 100644 index 0e6b786..0000000 --- a/components/relay/pkg/proxy/kube_proxy.go +++ /dev/null @@ -1,299 +0,0 @@ -package proxy - -import ( - "context" - "crypto/tls" - "encoding/json" - "hash" - "net" - "net/http" - "net/url" - "strings" - "time" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "github.com/dgraph-io/ristretto" - utilnet "k8s.io/apimachinery/pkg/util/net" - k8proxy "k8s.io/apimachinery/pkg/util/proxy" - "k8s.io/client-go/rest" - "k8s.io/client-go/transport" -) - -// TODO convert to JSON -type responder struct{} - -func (r *responder) Error(w http.ResponseWriter, req *http.Request, err error) { - http.Error(w, err.Error(), http.StatusInternalServerError) -} - -type unixCachedRoundTrip struct { - proxy http.Handler - t *http.Transport -} - -type relayCachedPeerRoundTrip struct { - proxy http.Handler - t *http.Transport -} - -var ( - cacheTTL = time.Minute * 15 - // cache map of unix round tripper - unixCachedRoundTripper *ristretto.Cache - // cache map for peer upstream round tripper - relayPeerRoundTripper *ristretto.Cache -) - -// InitUnixCacheRoundTripper initialize the cache -func InitUnixCacheRoundTripper() error { - var err error - unixCachedRoundTripper, err = ristretto.NewCache(&ristretto.Config{ - NumCounters: 1e4, // Num keys to track frequency of (10k). - MaxCost: 1 << 25, // Maximum cost of cache (32MB). - BufferItems: 64, // Number of keys per Get buffer. - }) - - return err -} - -// InitPeerCacheRoundTripper initialize the cache -func InitPeerCacheRoundTripper() error { - var err error - relayPeerRoundTripper, err = ristretto.NewCache(&ristretto.Config{ - NumCounters: 1e4, // Num keys to track frequency of (10k). - MaxCost: 1 << 25, // Maximum cost of cache (32MB). - BufferItems: 64, // Number of keys per Get buffer. - }) - - return err -} - -// makeUpgradeTransport creates a transport that explicitly bypasses HTTP2 support -// for proxy connections that must upgrade. -func makeUpgradeTransport(config *rest.Config, keepalive time.Duration) (k8proxy.UpgradeRequestRoundTripper, error) { - - transportConfig, err := config.TransportConfig() - if err != nil { - return nil, err - } - tlsConfig, err := transport.TLSConfigFor(transportConfig) - if err != nil { - return nil, err - } - tlsConfig.NextProtos = []string{"http/1.1"} - rt := utilnet.SetOldTransportDefaults(&http.Transport{ - TLSClientConfig: tlsConfig, - DialContext: (&net.Dialer{ - Timeout: 30 * time.Second, - KeepAlive: keepalive, - }).DialContext, - TLSNextProto: make(map[string]func(authority string, c *tls.Conn) http.RoundTripper), - MaxIdleConns: idleConns, - MaxConnsPerHost: idleConnsPerHost, - }) - - upgrader, err := transport.HTTPWrappersForConfig(transportConfig, k8proxy.MirrorRequest) - if err != nil { - return nil, err - } - - return k8proxy.NewUpgradeRequestRoundTripper(rt, upgrader), nil -} - -// NewCachedKubeHandler is cached kube handler -func NewCachedKubeHandler(cfg *rest.Config, keepalive time.Duration) (*k8proxy.UpgradeAwareHandler, error) { - host := cfg.Host - if !strings.HasSuffix(host, "/") { - host = host + "/" - } - target, err := url.Parse(host) - if err != nil { - return nil, err - } - - responder := &responder{} - - transport, err := rest.TransportFor(cfg) - if err != nil { - return nil, err - } - - rt, err := NewCachedRoundTripper(transport) - if err != nil { - return nil, err - } - - upgradeTransport, err := makeUpgradeTransport(cfg, keepalive) - if err != nil { - return nil, err - } - - kproxy := k8proxy.NewUpgradeAwareHandler(target, rt, false, false, responder) - kproxy.UpgradeTransport = upgradeTransport - kproxy.UseRequestLocation = true - - return kproxy, nil -} - -// UnixDialContext unix dial -func UnixDialContext(sockPath, key, username, sni string) func(ctx context.Context, network, addr string) (net.Conn, error) { - return func(ctx context.Context, network, addr string) (net.Conn, error) { - - conn, err := net.DialTimeout("unix", sockPath, 60*time.Second) - if err != nil { - return nil, err - } - - hdr := &utils.ProxyProtocolMessage{ - DialinKey: key, - UserName: username, - SNI: sni, - } - - b, err := json.Marshal(hdr) - if err != nil { - return nil, err - } - - buf := make([]byte, utils.ProxyProtocolSize) - copy(buf, b) - - _, err = conn.Write(buf) - if err != nil { - return nil, err - } - return conn, nil - } -} - -func makeUnixUpgradeTransport(sockPath, key, username, sni string) (k8proxy.UpgradeRequestRoundTripper, error) { - - rt := utilnet.SetOldTransportDefaults(&http.Transport{ - DialContext: UnixDialContext(sockPath, key, username, sni), - }) - - upgrader, err := transport.HTTPWrappersForConfig(new(transport.Config), k8proxy.MirrorRequest) - if err != nil { - return nil, err - } - return k8proxy.NewUpgradeRequestRoundTripper(rt, upgrader), nil -} - -func getRTCacheKey(skey string) (key uint64) { - hasher := _hashPool.Get().(hash.Hash64) - hasher.Reset() - hasher.Write([]byte(skey)) - key = hasher.Sum64() - _hashPool.Put(hasher) - return -} - -type unixHandlerOptions struct { - sockPath string - key string - username string - sni string -} - -//UnixKubeHandler unix handler -func UnixKubeHandler(sockPath, key, username, sni string) (http.Handler, error) { - - hkey := getRTCacheKey(username + key) - if val, ok := unixCachedRoundTripper.Get(hkey); ok { - rt := val.(unixCachedRoundTrip) - return rt.proxy, nil - } - - target, err := url.Parse("http://unixpath-relay/") - if err != nil { - return nil, err - } - - responder := &responder{} - - upgradeTransport, err := makeUnixUpgradeTransport(sockPath, key, username, sni) - if err != nil { - return nil, err - } - - t := getUnixTransport(sockPath, key, username, sni) - proxy := k8proxy.NewUpgradeAwareHandler(target, t, false, false, responder) - proxy.UpgradeTransport = upgradeTransport - proxy.UseRequestLocation = true - - rt := unixCachedRoundTrip{ - proxy: proxy, - t: t, - } - - unixCachedRoundTripper.SetWithTTL(hkey, rt, 100, cacheTTL) - - return proxy, nil -} - -// Peer Relay Proxy Helpers -func peerDialContext(relayIP string) func(ctx context.Context, network, addr string) (net.Conn, error) { - return func(ctx context.Context, network, addr string) (net.Conn, error) { - conn, err := net.DialTimeout("tcp", relayIP, 60*time.Second) - if err != nil { - return nil, err - } - return conn, nil - } -} - -//makePeerUpgradeTransport ... -func makePeerUpgradeTransport(relayIP string, tlscfg *tls.Config) (k8proxy.UpgradeRequestRoundTripper, error) { - rt := utilnet.SetOldTransportDefaults(&http.Transport{ - DialContext: peerDialContext(relayIP), - TLSClientConfig: tlscfg, - MaxIdleConns: 10, - IdleConnTimeout: utils.IdleTimeout, - TLSHandshakeTimeout: 30 * time.Second, - // Keep the peer upstream non http2 - // Found issues in upgradeaware http2 - // missing http2 preface when doing proxy. - ForceAttemptHTTP2: false, - }) - - upgrader, err := transport.HTTPWrappersForConfig(new(transport.Config), k8proxy.MirrorRequest) - if err != nil { - return nil, err - } - return k8proxy.NewUpgradeRequestRoundTripper(rt, upgrader), nil -} - -//PeerKubeHandler peer proxying handler -func PeerKubeHandler(tlscfg *tls.Config, relayIP string) (http.Handler, error) { - hkey := getRTCacheKey(tlscfg.ServerName) - if val, ok := relayPeerRoundTripper.Get(hkey); ok { - rt := val.(relayCachedPeerRoundTrip) - return rt.proxy, nil - } - - target, err := url.Parse("https://" + tlscfg.ServerName + "/") - if err != nil { - return nil, err - } - - responder := &responder{} - - upgradeTransport, err := makePeerUpgradeTransport(relayIP, tlscfg) - if err != nil { - return nil, err - } - - t := getPeerTransport(tlscfg, relayIP) - proxy := k8proxy.NewUpgradeAwareHandler(target, t, false, false, responder) - proxy.UpgradeTransport = upgradeTransport - proxy.UseRequestLocation = true - - rt := relayCachedPeerRoundTrip{ - proxy: proxy, - t: t, - } - - relayPeerRoundTripper.SetWithTTL(hkey, rt, 100, cacheTTL) - - return proxy, nil -} diff --git a/components/relay/pkg/proxy/proxy.go b/components/relay/pkg/proxy/proxy.go deleted file mode 100644 index c760431..0000000 --- a/components/relay/pkg/proxy/proxy.go +++ /dev/null @@ -1,12 +0,0 @@ -package proxy - -import ( - "io" - "net/http" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" -) - -// Func is responsible for forwarding a remote connection to local server -// and writing the response. -type Func func(w io.Writer, r io.ReadCloser, msg *utils.ControlMessage, req *http.Request) diff --git a/components/relay/pkg/proxy/round_tripper.go b/components/relay/pkg/proxy/round_tripper.go deleted file mode 100644 index 2bf5205..0000000 --- a/components/relay/pkg/proxy/round_tripper.go +++ /dev/null @@ -1,214 +0,0 @@ -package proxy - -import ( - "context" - "crypto/tls" - "errors" - "fmt" - "hash" - "net/http" - "sync" - "time" - - "github.com/twmb/murmur3" - - clientutil "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/client" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "github.com/dgraph-io/ristretto" - utilnet "k8s.io/apimachinery/pkg/util/net" - - "sigs.k8s.io/controller-runtime/pkg/client" -) - -var ( - logger = relaylogger.NewLogger(utils.LogLevel).WithName("Proxy") - // ErrInvalidUser is returned for invalid user - ErrInvalidUser = errors.New("invalid user") -) - -var _hashPool = sync.Pool{ - New: func() interface{} { - // The Pool's New function should generally only return pointer - // types, since a pointer can be put into the return interface - // value without an allocation: - return murmur3.New64() - }, -} - -const ( - defaulTLSHandshakeTimeout = 10 * time.Second - idleConnsPerHost = 5 - idleConns = 25 - defaultTimeout = 30 * time.Second - defaultKeepAlive = 30 * time.Second - disableCompression = false -) - -func getUnixTransport(sockPath, key, username, sni string) *http.Transport { - return utilnet.SetTransportDefaults(&http.Transport{ - TLSHandshakeTimeout: defaulTLSHandshakeTimeout, - MaxIdleConnsPerHost: idleConnsPerHost, - DialContext: UnixDialContext(sockPath, key, username, sni), - DisableCompression: disableCompression, - MaxIdleConns: idleConns, - }) -} - -func getPeerTransport(tlscfg *tls.Config, relayIP string) *http.Transport { - if tlscfg != nil { - tlscfg.NextProtos = []string{"http/1.1"} - } - return &http.Transport{ - TLSHandshakeTimeout: defaulTLSHandshakeTimeout, - TLSClientConfig: tlscfg, - MaxIdleConns: idleConns, - MaxIdleConnsPerHost: idleConnsPerHost, - DialContext: peerDialContext(relayIP), - DisableCompression: disableCompression, - TLSNextProto: make(map[string]func(authority string, c *tls.Conn) http.RoundTripper), - //Keep the peer upstream non http2 - ForceAttemptHTTP2: false, - } -} - -// NewCachedRoundTripper returns new cached round tripper -func NewCachedRoundTripper(rt http.RoundTripper) (http.RoundTripper, error) { - logger = relaylogger.NewLogger(utils.LogLevel).WithName("CachedRoundTripper") - c, err := clientutil.New() - if err != nil { - logger.Error( - err, - "failed in clientutil.New", - ) - return nil, err - } - - cache, err := ristretto.NewCache(&ristretto.Config{ - NumCounters: 1e4, // Num keys to track frequency of (10k). - MaxCost: 1 << 25, // Maximum cost of cache (32MB). - BufferItems: 64, // Number of keys per Get buffer. - }) - if err != nil { - return nil, err - } - - crt := &cachedRoundTripper{client: c, cache: cache, rt: rt} - - return crt, nil -} - -type cachedRoundTripper struct { - client client.Client - rt http.RoundTripper - cache *ristretto.Cache -} - -func getCacheKey(userName, namespace string) (key uint64) { - hasher := _hashPool.Get().(hash.Hash64) - hasher.Reset() - hasher.Write([]byte(namespace)) - hasher.Write([]byte(userName)) - key = hasher.Sum64() - _hashPool.Put(hasher) - return -} - -func (rt *cachedRoundTripper) getToken(req *http.Request) (token string, err error) { - userName := req.Header.Get(utils.HeaderRafayUserName) - namespace := req.Header.Get(utils.HeaderRafayNamespace) - clearCache := req.Header.Get(utils.HeaderClearSecret) - if userName == "" || namespace == "" { - logger.Error( - nil, - "getToken failed", - "userName", userName, - "namespace", namespace, - "req", req, - ) - return "", ErrInvalidUser - } - - logger.Debug( - "getToken for ", - "user", userName, - "namespace", namespace, - "clearCache", clearCache, - ) - - key := getCacheKey(userName, namespace) - - if clearCache == "" { - if val, ok := rt.cache.Get(key); ok { - if strVal, ok := val.(string); ok { - logger.Debug( - "token found in cache ", - "user", userName, - "namespace", namespace, - ) - token = strVal - return - } - } - } else { - // Clear the header - req.Header.Del(utils.HeaderClearSecret) - } - - ctx, cancel := context.WithTimeout(req.Context(), time.Second*10) - defer cancel() - - secret, err := getServiceAccountSecret(ctx, rt.client, userName, namespace) - if err != nil { - return "", err - } - - token = string(secret.Data[tokenKey]) - rt.cache.SetWithTTL(key, token, 100, time.Minute*5) - return - -} - -func (rt *cachedRoundTripper) RoundTrip(req *http.Request) (*http.Response, error) { - logger.Debug("RoundTrip", "request", req) - // cache here - token, err := rt.getToken(req) - if err != nil { - logger.Error( - err, - "failed getToken in RoundTrip", - "req", req, - ) - return nil, err - } - - req = utilnet.CloneRequest(req) - - req.Header.Set("Authorization", fmt.Sprintf("Bearer %s", token)) - // remove x-rafay heders before sending to kube-apiserver - req.Header.Del("X-Rafay-Key") - req.Header.Del("X-Rafay-Namespace") - req.Header.Del("X-Rafay-User") - - return rt.rt.RoundTrip(req) -} - -func (rt *cachedRoundTripper) CancelRequest(req *http.Request) { - tryCancelRequest(rt.WrappedRoundTripper(), req) -} - -func (rt *cachedRoundTripper) WrappedRoundTripper() http.RoundTripper { return rt.rt } - -func tryCancelRequest(rt http.RoundTripper, req *http.Request) { - type canceler interface { - CancelRequest(*http.Request) - } - switch rt := rt.(type) { - case canceler: - rt.CancelRequest(req) - case utilnet.RoundTripperWrapper: - tryCancelRequest(rt.WrappedRoundTripper(), req) - default: - logger.Error(nil, "Unable to cancel request") - } -} diff --git a/components/relay/pkg/proxy/service_account.go b/components/relay/pkg/proxy/service_account.go deleted file mode 100644 index e1a7336..0000000 --- a/components/relay/pkg/proxy/service_account.go +++ /dev/null @@ -1,157 +0,0 @@ -package proxy - -import ( - "context" - "encoding/base64" - "encoding/json" - "errors" - "fmt" - "time" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/apply" - clientutil "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/client" - cruntime "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/runtime" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - corev1 "k8s.io/api/core/v1" - k8sclient "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/yaml" -) - -var ( - svclogger = relaylogger.NewLogger(utils.LogLevel).WithName("ServiceAccount") - // ErrNotSAToken is returned when secret refered by service account is not of type service account token - ErrNotSAToken = errors.New("secert is not of type ServiceAccountToken") -) - -const ( - caCertKey = "ca.crt" - tokenKey = "token" -) - -// getServiceAccountSecret returns secret for the service account -func getServiceAccountSecret(ctx context.Context, c k8sclient.Client, name, namespace string) (*corev1.Secret, error) { - var serviceAccount corev1.ServiceAccount - var secret corev1.Secret - - err := c.Get(ctx, k8sclient.ObjectKey{ - Name: name, - Namespace: namespace, - }, &serviceAccount) - - if err != nil { - return nil, err - } - - for _, saSecret := range serviceAccount.Secrets { - err = c.Get(ctx, k8sclient.ObjectKey{ - Name: saSecret.Name, - Namespace: namespace, - }, &secret) - if err != nil { - continue - } - - if secret.Type == corev1.SecretTypeServiceAccountToken { - return &secret, nil - } - } - - return nil, fmt.Errorf("service account %s/%s does not have secrets of type ServiceAccountToken", namespace, name) -} - -//DeleteServiceAccount from cluster and cache -func DeleteServiceAccount(key, rafayAuthzSA, rafayAuthzRole, rafayAuthzRoleBind string, delCache bool) { - svclogger.Debug( - "DeleteServiceAccount", - key, - "not evicted", delCache, - ) - dstrSA, err1 := base64.StdEncoding.DecodeString(rafayAuthzSA) - dstrRole, err2 := base64.StdEncoding.DecodeString(rafayAuthzRole) - dstrRB, err3 := base64.StdEncoding.DecodeString(rafayAuthzRoleBind) - - if err1 == nil && err2 == nil && err3 == nil { - // delete sa,role,rolebinding - svclogger.Debug( - "delete service account", - "yaml SA:", - string(dstrSA), - "yaml Role:", - string(dstrRole), - "yaml RoleBind:", - string(dstrRB), - ) - - c, err := clientutil.New() - if err != nil { - svclogger.Error( - err, - "failed in clientutil new", - ) - return - } - applier := apply.NewApplier(c) - - sa, err1 := getObject(dstrSA) - role, err2 := getObject(dstrRole) - rb, err3 := getObject(dstrRB) - - if err1 == nil && err2 == nil && err3 == nil { - deleteAuthz(applier, rb) - deleteAuthz(applier, role) - deleteAuthz(applier, sa) - if delCache { - //delete from service cache - utils.DeleteCache(utils.ServiceAccountCache, key) - } - - return - } - - svclogger.Error( - nil, - "failed to cleanup service account", - "serviceaccount", string(dstrSA), - "role", string(dstrRole), - "rolebinding", string(dstrRB), - ) - } -} - -func getObject(yamlData []byte) (k8sclient.Object, error) { - jb, err := yaml.YAMLToJSON(yamlData) - if err != nil { - return nil, err - } - - var so clusterv2.StepObject - err = json.Unmarshal(jb, &so) - if err != nil { - return nil, err - } - - o, _, err := cruntime.ToUnstructuredObject(&so) - if err != nil { - return nil, err - } - - return o, nil -} - -func deleteAuthz(applier apply.Applier, obj k8sclient.Object) error { - ctx, cancel := context.WithTimeout(context.Background(), time.Second*10) - defer cancel() - - err := applier.Delete(ctx, obj) - if err != nil { - svclogger.Error( - err, - "failed to delete sa/role/rolebinding", - ) - return err - } - - return nil -} diff --git a/components/relay/pkg/proxy/tcpproxy.go b/components/relay/pkg/proxy/tcpproxy.go deleted file mode 100644 index 70de9ce..0000000 --- a/components/relay/pkg/proxy/tcpproxy.go +++ /dev/null @@ -1,244 +0,0 @@ -package proxy - -import ( - "crypto/tls" - "io" - "net" - "net/http" - "net/url" - "os" - "syscall" - "time" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - k8proxy "k8s.io/apimachinery/pkg/util/proxy" - "sigs.k8s.io/controller-runtime/pkg/client/config" -) - -// TCPProxy forwards TCP streams. -type TCPProxy struct { - // logger is the proxy logger. - logger *relaylogger.RelayLog - config *utils.ProxyConfig - handler *k8proxy.UpgradeAwareHandler - //kube-apiserver address - apiHost string -} - -func (tp *TCPProxy) ServeHTTP(w http.ResponseWriter, r *http.Request) { - u, err := url.Parse(tp.apiHost) - if err == nil { - r.URL.Host = u.Host - r.URL.Scheme = u.Scheme - r.Host = u.Host - } - r.Header.Set("Host", tp.apiHost) - utils.UnSetXForwardedRafay(r.Header) - tp.handler.ServeHTTP(w, r) -} - -func (tp *TCPProxy) backendProxy() error { - socketPath := utils.UNIXAGENTSOCKET + tp.config.ServiceSNI - syscall.Unlink(socketPath) - - l, err := net.Listen("unix", socketPath) - if err != nil { - tp.logger.Error( - err, - "failed to listen on unix", - "socketPath", socketPath, - ) - return err - } - - tp.logger.Info( - "started listening on unix", - "socketPath", socketPath, - ) - - cfg, err := config.GetConfig() - if err != nil { - tp.logger.Error( - err, - "failed in NewKubeHandler", - ) - return nil - } - - hndlr, err := NewCachedKubeHandler(cfg, utils.DefaultKeepAliveInterval) - if err != nil { - tp.logger.Error( - err, - "unable to create kube handler for config", - ) - return err - } - - tp.handler = hndlr - - go func() { - - s := &http.Server{ - Handler: http.Handler(tp), - TLSNextProto: make(map[string]func(*http.Server, *tls.Conn, http.Handler)), - } - - if err := s.Serve(l); err != nil { - tp.logger.Error( - err, - "unable to start backend server", - ) - } - }() - - tp.handler = hndlr - - return nil -} - -// NewKubeCtlTCPProxy creates new direct TCPProxy, everything will be proxied to -// unix socket. -func NewKubeCtlTCPProxy(lg *relaylogger.RelayLog, cfg *utils.ProxyConfig) *TCPProxy { - tp := &TCPProxy{ - logger: lg, - config: cfg, - } - - err := tp.backendProxy() - if err != nil { - return nil - } - - host, port := os.Getenv("KUBERNETES_SERVICE_HOST"), os.Getenv("KUBERNETES_SERVICE_PORT") - if len(host) == 0 || len(port) == 0 { - ec, err := config.GetConfig() - if err != nil { - tp.logger.Error( - err, - "failed to get kubeapi host:port", - ) - return nil - } - tp.apiHost = ec.Host - } else { - tp.apiHost = "https://" + net.JoinHostPort(host, port) - } - - return tp -} - -// NewTCPProxy creates new direct TCPProxy, everything will be proxied to -// unix socket. -func NewTCPProxy(lg *relaylogger.RelayLog, cfg *utils.ProxyConfig) *TCPProxy { - tp := &TCPProxy{ - logger: lg, - config: cfg, - } - - host, port := os.Getenv("KUBERNETES_SERVICE_HOST"), os.Getenv("KUBERNETES_SERVICE_PORT") - if len(host) == 0 || len(port) == 0 { - ec, err := config.GetConfig() - if err != nil { - tp.logger.Error( - err, - "failed to get kubeapi host:port", - ) - return nil - } - tp.apiHost = ec.Host - } else { - tp.apiHost = "https://" + net.JoinHostPort(host, port) - } - - return tp -} - -// Proxy is a ProxyFunc. -func (tp *TCPProxy) Proxy(w io.Writer, r io.ReadCloser, msg *utils.ControlMessage, req *http.Request) { - var target string - var network string - var directionTO, directionFrom string - - switch tp.config.Protocol { - case utils.CDAGENTCORE: - if tp.config.Upstream != "" { - target = tp.config.Upstream - } else { - target = utils.DefaultTCPUpstream - } - network = "tcp" - directionTO = "tunnel to TCP" - directionFrom = "TCP to tunnel" - default: - target = utils.UNIXAGENTSOCKET + tp.config.ServiceSNI - network = "unix" - directionTO = "tunnel to unix" - directionFrom = "unix to tunnel" - } - - if target == "" { - tp.logger.Info( - "no unix target", - "ctrlMsg", msg, - ) - return - } - - local, err := net.DialTimeout(network, target, utils.DefaultMuxTimeout) - if err != nil { - tp.logger.Error( - err, - "msg dial failed", - "target", target, - "ctrlMsg", msg, - "err", err, - ) - return - } - defer local.Close() - - done := make(chan struct{}) - go func() { - utils.Transfer(flushWriter{w, tp.logger, local}, local, tp.logger, directionFrom) - close(done) - }() - - utils.Transfer(local, r, tp.logger, directionTO) - -proxyDone: - for { - select { - case <-req.Context().Done(): - break proxyDone - case <-done: - break proxyDone - } - } - // wait fr 2 sec before closing - time.Sleep(2 * time.Second) -} - -type flushWriter struct { - w io.Writer - lg *relaylogger.RelayLog - c net.Conn -} - -func (fw flushWriter) Write(p []byte) (n int, err error) { - n, err = fw.w.Write(p) - fw.lg.Debug( - "data wrote", - "data", string(p), - ) - if f, ok := fw.w.(http.Flusher); ok { - f.Flush() - } else { - fw.lg.Info( - "flushWriter http.Flusher not ok", - ) - } - // tolerate up to utils.IdleTimeout idletime - fw.c.SetDeadline(time.Now().Add(utils.IdleTimeout)) - return -} diff --git a/components/relay/pkg/proxy/testdata/role.yaml b/components/relay/pkg/proxy/testdata/role.yaml deleted file mode 100644 index 090e7f4..0000000 --- a/components/relay/pkg/proxy/testdata/role.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: rafay-core-debug - namespace: default - labels: - creator: rafay-relay - expire: "yes" ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: Role -metadata: - name: rafay-core-debug-role - namespace: default -rules: -- apiGroups: - - "" - resources: - - "*" - verbs: - - "*" ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: RoleBinding -metadata: - name: rafay-core-debug-binding - namespace: default -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: Role - name: rafay-core-debug-role -subjects: -- kind: ServiceAccount - name: rafay-core-debug diff --git a/components/relay/pkg/relay/relay.go b/components/relay/pkg/relay/relay.go deleted file mode 100644 index d7c394e..0000000 --- a/components/relay/pkg/relay/relay.go +++ /dev/null @@ -1,888 +0,0 @@ -package relay - -import ( - "context" - "crypto/x509/pkix" - "fmt" - "net" - "net/http" - "strconv" - "time" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/register" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/tunnel" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "github.com/spf13/viper" -) - -const ( - podNameEnv = "POD_NAME" - podNamespaceEnv = "POD_NAMESPACE" - peerServiceURIEnv = "RAFAY_RELAY_PEERSERVICE" - relayListenIPEnv = "RELAY_LISTENIP" - sentryAddrEnv = "SENTRY_ADDR" // used by relay running inside core - auditPathEnv = "AUDIT_PATH" - metricListenEnv = "METRIC_LISTEN" - - // for relays running outside of core - // supply bootstrapAddr and token as environment variables - bootstrapAddrEnv = "BOOTSTRAP_ADDR" - relayPeeringTokenEnv = "RELAY_PEERING_TOKEN" - relayUserTokenEnv = "RELAY_USER_TOKEN" - relayConnectorTokenEnv = "RELAY_CONNECTOR_TOKEN" - relayUserHostPortEnv = "RELAY_USER_HOST_PORT" - relayConnectorHostPortEnv = "RELAY_CONNECTOR_HOST_PORT" - relayNetworkIDEnv = "RELAY_NETWORK_ID" - - // cd relay - cdRelayUserTokenEnv = "CD_RELAY_USER_TOKEN" - cdRelayConnectorTokenEnv = "CD_RELAY_CONNECTOR_TOKEN" -) - -var ( - podName string - podNamespace string - relayPeeringURI string - relayListenIP string - log *relaylogger.RelayLog - sentryAddr string // used by relay running inside core - auditPath string - metricListen string - - // for relays running outside of core - relayPeeringToken string - relayConnectorToken string - relayUserToken string - bootstrapAddr string - relayUserHostPort string - relayConnectorHostPort string - relayNetworkID string - - // cd relay - cdRelayConnectorToken string - cdRelayUserToken string -) - -func setupserver(log *relaylogger.RelayLog) error { - // Enable VIPER to read Environment Variables - viper.AutomaticEnv() - - viper.SetDefault(podNameEnv, "relay-pod") - viper.SetDefault(podNamespace, "rafay-system") - viper.SetDefault(peerServiceURIEnv, "https://peering.sentry.rafay.local:10001") - viper.SetDefault(sentryAddrEnv, "localhost:10000") - - // for relays running outside of core - viper.SetDefault(bootstrapAddrEnv, "") - viper.SetDefault(relayPeeringTokenEnv, "-") - viper.SetDefault(relayUserToken, "-") - viper.SetDefault(relayConnectorToken, "-") - viper.SetDefault(relayUserHostPortEnv, "") - viper.SetDefault(relayConnectorHostPortEnv, "") - viper.SetDefault(auditPathEnv, "/tmp") - viper.SetDefault(metricListenEnv, ":8003") - viper.SetDefault(relayNetworkIDEnv, "rafay-core-64a66h0asw") - - viper.BindEnv(podNameEnv) - viper.BindEnv(podNamespaceEnv) - viper.BindEnv(relayPeeringTokenEnv) - viper.BindEnv(sentryAddrEnv) - - // outside core configs - viper.BindEnv(bootstrapAddrEnv) - viper.BindEnv(relayUserHostPortEnv) - viper.BindEnv(relayConnectorHostPortEnv) - viper.BindEnv(relayUserTokenEnv) - viper.BindEnv(relayConnectorTokenEnv) - viper.BindEnv(relayNetworkIDEnv) - - // for testing - viper.BindEnv(relayListenIPEnv) - - podName = viper.GetString(podNameEnv) - podNamespace = viper.GetString(podNamespaceEnv) - sentryAddr = viper.GetString(sentryAddrEnv) - auditPath = viper.GetString(auditPathEnv) - - utils.PODNAME = podName - - relayPeeringURI = viper.GetString(peerServiceURIEnv) - - // outside core relay configurations - bootstrapAddr = viper.GetString(bootstrapAddrEnv) - relayUserHostPort = viper.GetString(relayUserHostPortEnv) - relayConnectorHostPort = viper.GetString(relayConnectorHostPortEnv) - relayNetworkID = viper.GetString(relayNetworkIDEnv) - - if sentryAddr == "" && bootstrapAddr == "" { - log.Error( - nil, - "missing sentry & bootstrap uri, please set one of the environment variable RAFAY_SENTRY[relay deployed inside core] (or) BOOTSTRAP_ADDR[outside core]", - ) - return fmt.Errorf("relay server failed in setupserver") - } - - if bootstrapAddr != "" { - // outside config found, unset inside boostrap endpoint. - // both cannot be set, only one mode is possible - sentryAddr = "" - } - - if relayPeeringURI == "" { - log.Error( - nil, - "missing relay peer service uri, please set RAFAY_RELAY_PEERSERVICE environment variable", - ) - return fmt.Errorf("relay server failed in setupserver") - } - - relayPeeringToken = viper.GetString(relayPeeringTokenEnv) - relayUserToken = viper.GetString(relayUserTokenEnv) - relayConnectorToken = viper.GetString(relayConnectorTokenEnv) - relayListenIP = viper.GetString(relayListenIPEnv) // used for running multiple relays in local test hosts - metricListen = viper.GetString(metricListenEnv) - - log.Info( - "relay server setup values", - "podName", podName, - "podNamespace", podNamespace, - "relayPeeringURI", relayPeeringURI, - "relayListenIP", relayListenIP, - ) - - if sentryAddr != "" { - log.Info("relay inside core: sentryAddr", sentryAddr) - } else { - log.Info( - "outside core relay: bootStrapURI", bootstrapAddr, - "relayPeeringToken", relayPeeringToken, - "relayUserToken", relayUserToken, - "relayConnectorToken", relayConnectorToken, - ) - if relayPeeringToken == "-" || relayUserToken == "-" || relayConnectorToken == "-" || relayUserHostPort == "" || relayConnectorHostPort == "" { - log.Error( - fmt.Errorf("missing env variable"), - "outside core relay: one of the required token is missing, please set missing environment variables", - "RELAY_PEERING_TOKEN", relayPeeringToken, - "RELAY_USER_TOKEN", relayUserToken, - "RELAY_CONNECTOR_TOKEN", relayConnectorToken, - "RELAY_USER_HOST_PORT", relayUserHostPort, - "RELAY_CONNECTOR_HOST_PORT", relayConnectorHostPort, - ) - return fmt.Errorf("relay server failed in setupserver") - } - - // process the user facing host:port - host, port, err := net.SplitHostPort(relayUserHostPort) - if err != nil { - log.Error( - err, - "failed to process RELAY_USER_HOST_PORT env variable", relayUserHostPort, - ) - return fmt.Errorf("relay server failed in setupserver") - } - utils.RelayUserPort, err = strconv.Atoi(port) - if err != nil { - log.Error( - err, - "invalid port in RELAY_USER_HOST_PORT env variable", relayUserHostPort, - ) - return fmt.Errorf("relay server failed in setupserver") - } - utils.RelayUserHost = host - - // process the connector facing host:port - host, port, err = net.SplitHostPort(relayConnectorHostPort) - if err != nil { - log.Error( - err, - "failed to process RELAY_CONNECTOR_HOST_PORT env variable", relayConnectorHostPort, - ) - return fmt.Errorf("relay server failed in setupserver") - } - utils.RelayConnectorPort, err = strconv.Atoi(port) - if err != nil { - log.Error( - err, - "invalid port in RELAY_CONNECTOR_HOST_PORT env variable", relayConnectorHostPort, - ) - return fmt.Errorf("relay server failed in setupserver") - } - utils.RelayConnectorHost = host - } - - utils.RelayIPFromConfig = relayListenIP - return nil -} - -func setupCDServer(log *relaylogger.RelayLog) error { - // Enable VIPER to read Environment Variables - viper.AutomaticEnv() - - viper.SetDefault(podNameEnv, "cdrelay-pod") - viper.SetDefault(podNamespace, "rafay-system") - viper.SetDefault(peerServiceURIEnv, "https://peering.sentry.rafay.local:10001") - viper.SetDefault(sentryAddrEnv, "localhost:10000") - - // for relays running outside of core - viper.SetDefault(bootstrapAddrEnv, "") - viper.SetDefault(relayPeeringTokenEnv, "-") - viper.SetDefault(cdRelayUserTokenEnv, "-") - viper.SetDefault(cdRelayConnectorTokenEnv, "-") - viper.SetDefault(auditPathEnv, "/tmp") - viper.SetDefault(metricListenEnv, ":8003") - - viper.BindEnv(podNameEnv) - viper.BindEnv(podNamespaceEnv) - viper.BindEnv(relayPeeringTokenEnv) - viper.BindEnv(sentryAddrEnv) - - // outside core configs - viper.BindEnv(bootstrapAddrEnv) - viper.BindEnv(cdRelayUserTokenEnv) - viper.BindEnv(cdRelayConnectorTokenEnv) - - // for testing - viper.BindEnv(relayListenIPEnv) - - podName = viper.GetString(podNameEnv) - podNamespace = viper.GetString(podNamespaceEnv) - sentryAddr = viper.GetString(sentryAddrEnv) - auditPath = viper.GetString(auditPathEnv) - - utils.PODNAME = podName - - relayPeeringURI = viper.GetString(peerServiceURIEnv) - - if sentryAddr == "" { - log.Error( - nil, - "missing sentry uri, please set one of the environment variable RAFAY_SENTRY[relay deployed inside core] (or) BOOTSTRAP_ADDR[outside core]", - ) - return fmt.Errorf("relay server failed in setupserver") - } - - if relayPeeringURI == "" { - log.Error( - nil, - "missing relay peer service uri, please set RAFAY_RELAY_PEERSERVICE environment variable", - ) - return fmt.Errorf("relay server failed in setupserver") - } - - relayPeeringToken = viper.GetString(relayPeeringTokenEnv) - cdRelayUserToken = viper.GetString(cdRelayUserTokenEnv) - cdRelayConnectorToken = viper.GetString(cdRelayConnectorTokenEnv) - relayListenIP = viper.GetString(relayListenIPEnv) // used for running multiple relays in local test hosts - metricListen = viper.GetString(metricListenEnv) - - log.Debug( - "relay server setup values", - "podName", podName, - "podNamespace", podNamespace, - "relayPeeringURI", relayPeeringURI, - "relayListenIP", relayListenIP, - ) - - utils.RelayIPFromConfig = relayListenIP - return nil -} - -// prepare config for outside relay boot strapping -func prepareConfigCSRForBootStrapOutSideCore(config *register.Config, CN string, log *relaylogger.RelayLog) error { - privKey, err := cryptoutil.GenerateECDSAPrivateKey() - if err != nil { - log.Error( - err, - "failed generate ecd private key with CN", CN, - ) - return err - } - - key, err := cryptoutil.EncodePrivateKey(privKey, cryptoutil.NoPassword) - if err != nil { - log.Error( - err, - "failed encode ecd private key with CN", CN, - ) - return err - } - - config.PrivateKey = key - - csr, err := cryptoutil.CreateCSR(pkix.Name{ - CommonName: CN, - Country: []string{"USA"}, - Organization: []string{"Rafay Systems Inc"}, - Province: []string{"California"}, - Locality: []string{"Sunnyvale"}, - OrganizationalUnit: []string{relayNetworkID}, - }, privKey) - if err != nil { - log.Error( - err, - "failed create CSR with CN", CN, - ) - return err - } - - config.CSR = csr - return nil -} - -// registerRelayPeerService will register with rafay-sentry-peering-client template token -// registration fetches client-certificate/root-ca to connect to sentry peer service -func registerRelayPeerService(ctx context.Context, log *relaylogger.RelayLog) error { - cfg := ®ister.Config{ - ClientID: "peering-" + podName, - ClientIP: utils.GetRelayIP(), - Name: "peering-" + podName, - Mode: "client", - } - - if bootstrapAddr != "" { - // outside core bootstrap - cfg.Addr = bootstrapAddr - if relayPeeringToken == "" { - return fmt.Errorf("empty peering token for bootstrap") - } - cfg.TemplateToken = relayPeeringToken - cfg.Scheme = "http" - // check port is 443 then set scheme as https - if utils.IsHTTPS(bootstrapAddr) { - cfg.Scheme = "https" - } - // this is a client certificate CN is same as ClientID - err := prepareConfigCSRForBootStrapOutSideCore(cfg, cfg.ClientID, log) - if err != nil { - return fmt.Errorf("failed in config csr for relay peering bootstrap") - } - } else { - cfg.TemplateToken = "template/-" - cfg.Addr = sentryAddr - cfg.Scheme = "grpc" - cfg.TemplateName = "rafay-sentry-peering-client" - } - - if err := register.Register(ctx, cfg); err != nil { - log.Error( - err, - "failed to register peering relay", - ) - return err - } - - log.Info( - "peer certificate:", - string(cfg.Certificate), - ) - - utils.PeerCertificate = cfg.Certificate - utils.PeerPrivateKey = cfg.PrivateKey - utils.PeerCACertificate = cfg.CACertificate - utils.PeerServiceURI = relayPeeringURI - - return nil -} - -// registerCDRelayPeerService will register with rafay-sentry-cd-peering-client template token -// registration fetches client-certificate/root-ca to connect to sentry peer service -func registerCDRelayPeerService(ctx context.Context, log *relaylogger.RelayLog) error { - cfg := ®ister.Config{ - ClientID: "peering-" + podName, - ClientIP: utils.GetRelayIP(), - Name: "peering-" + podName, - Mode: "client", - } - - if bootstrapAddr != "" { - // outside core bootstrap - cfg.Addr = bootstrapAddr - if relayPeeringToken == "" { - return fmt.Errorf("empty peering token for bootstrap") - } - cfg.TemplateToken = relayPeeringToken - cfg.Scheme = "http" - // check port is 443 then set scheme as https - if utils.IsHTTPS(bootstrapAddr) { - cfg.Scheme = "https" - } - // this is a client certificate CN is same as ClientID - err := prepareConfigCSRForBootStrapOutSideCore(cfg, cfg.ClientID, log) - if err != nil { - return fmt.Errorf("failed in config csr for relay peering bootstrap") - } - } else { - cfg.TemplateToken = "template/cd-relay" - cfg.Addr = sentryAddr - cfg.Scheme = "grpc" - cfg.TemplateName = "rafay-sentry-cd-peering-client" - } - - if err := register.Register(ctx, cfg); err != nil { - log.Error( - err, - "failed to register cd peering relay", - ) - return err - } - - log.Info( - "peer certificate:", - string(cfg.Certificate), - ) - - utils.PeerCertificate = cfg.Certificate - utils.PeerPrivateKey = cfg.PrivateKey - utils.PeerCACertificate = cfg.CACertificate - utils.PeerServiceURI = relayPeeringURI - - return nil -} - -// registerRelayUserServer will register with rafay-core-relay-user template token -// registration fetches client-certificate/root-ca to terminate user connections -// the same certificate will be used as the client cert for peer-upstreams -func registerRelayUserServer(ctx context.Context, log *relaylogger.RelayLog) error { - cfg := ®ister.Config{ - ClientID: "user-" + podName, - ClientIP: utils.GetRelayIP(), - Name: "user-" + podName, - Mode: "server", - } - - if bootstrapAddr != "" { - // outside core bootstrap - cfg.Addr = bootstrapAddr - if relayUserToken == "" { - return fmt.Errorf("empty user token for bootstrap") - } - cfg.TemplateToken = relayUserToken - cfg.Scheme = "http" - // check port is 443 then set scheme as https - if utils.IsHTTPS(bootstrapAddr) { - cfg.Scheme = "https" - } - // this is a server certificate CN is same as ServerHost - cfg.ServerHost = utils.RelayUserHost - cfg.ServerPort = utils.RelayUserPort - err := prepareConfigCSRForBootStrapOutSideCore(cfg, cfg.ServerHost, log) - if err != nil { - return fmt.Errorf("failed in config csr for relay user server bootstrap") - } - } else { - cfg.Addr = sentryAddr - cfg.Scheme = "grpc" - cfg.TemplateName = "rafay-core-relay-user" - } - - if err := register.Register(ctx, cfg); err != nil { - log.Error( - err, - "failed to register user relay", - ) - return err - } - - log.Info( - "user certificate:", - string(cfg.Certificate), - ) - - utils.RelayUserCert = cfg.Certificate - utils.RelayUserKey = cfg.PrivateKey - utils.RelayUserCACert = cfg.CACertificate - utils.RelayUserPort = cfg.ServerPort - utils.RelayUserHost = cfg.ServerHost - - return nil -} - -// registerCDRelayUserServer will register with rafay-core-cd-relay-user template token -// registration fetches client-certificate/root-ca to terminate user connections -// the same certificate will be used as the client cert for peer-upstreams -func registerCDRelayUserServer(ctx context.Context, log *relaylogger.RelayLog) error { - cfg := ®ister.Config{ - ClientID: "cd-user-" + podName, - ClientIP: utils.GetRelayIP(), - Name: "cd-user-" + podName, - Mode: "server", - } - - //inside core bootstrap - cfg.Addr = sentryAddr - cfg.Scheme = "grpc" - cfg.TemplateName = "rafay-core-cd-relay-user" - - if err := register.Register(ctx, cfg); err != nil { - log.Error( - err, - "failed to register user cd relay", - ) - return err - } - - log.Info( - "user certificate:", - string(cfg.Certificate), - ) - - utils.CDRelayUserCert = cfg.Certificate - utils.CDRelayUserKey = cfg.PrivateKey - utils.CDRelayUserCACert = cfg.CACertificate - utils.CDRelayUserPort = cfg.ServerPort - utils.CDRelayUserHost = cfg.ServerHost - - return nil -} - -// registerRelayConnectorServer will register with rafay-core-relay-connector template token -// registration fetches client-certificate/root-ca to terminate connector connections -// the same certificate will be used as the client cert for peer-upstreams -func registerRelayConnectorServer(ctx context.Context, log *relaylogger.RelayLog) error { - cfg := ®ister.Config{ - ClientID: "relay-server-" + podName, - ClientIP: utils.GetRelayIP(), - Name: "relay-server-" + podName, - Mode: "server", - } - - if bootstrapAddr != "" { - // outside core bootstrap - cfg.Addr = bootstrapAddr - if relayConnectorToken == "" { - return fmt.Errorf("empty user token for bootstrap") - } - cfg.TemplateToken = relayConnectorToken - cfg.Scheme = "http" - // check port is 443 then set scheme as https - if utils.IsHTTPS(bootstrapAddr) { - cfg.Scheme = "https" - } - // this is a server certificate CN is same as ServerHost - cfg.ServerHost = utils.RelayConnectorHost - cfg.ServerPort = utils.RelayConnectorPort - err := prepareConfigCSRForBootStrapOutSideCore(cfg, cfg.ServerHost, log) - if err != nil { - return fmt.Errorf("failed in config csr for relay connector server bootstrap") - } - } else { - //inside core bootstrap - cfg.Addr = sentryAddr - cfg.Scheme = "grpc" - cfg.TemplateName = "rafay-core-relay-server" - } - - if err := register.Register(ctx, cfg); err != nil { - log.Error( - err, - "failed to register connector relay", - ) - return err - } - - log.Info( - "connector certificate:", - string(cfg.Certificate), - ) - - utils.RelayConnectorCert = cfg.Certificate - utils.RelayConnectorKey = cfg.PrivateKey - utils.RelayConnectorCACert = cfg.CACertificate - utils.RelayConnectorHost = cfg.ServerHost - utils.RelayConnectorPort = cfg.ServerPort - - return nil -} - -// registerCDRelayConnectorServer will register with rafay-core-cd-relay-connector template token -// registration fetches client-certificate/root-ca to terminate connector connections -// the same certificate will be used as the client cert for peer-upstreams -func registerCDRelayConnectorServer(ctx context.Context, log *relaylogger.RelayLog) error { - cfg := ®ister.Config{ - ClientID: "cd-relay-server-" + podName, - ClientIP: utils.GetRelayIP(), - Name: "cd-relay-server-" + podName, - Mode: "server", - } - - //inside core bootstrap - cfg.Addr = sentryAddr - cfg.Scheme = "grpc" - cfg.TemplateName = "rafay-core-cd-relay-server" - - if err := register.Register(ctx, cfg); err != nil { - log.Error( - err, - "failed to register connector cd relay", - ) - return err - } - - log.Info( - "connector certificate:", - string(cfg.Certificate), - ) - - utils.CDRelayConnectorCert = cfg.Certificate - utils.CDRelayConnectorKey = cfg.PrivateKey - utils.CDRelayConnectorCACert = cfg.CACertificate - utils.CDRelayConnectorHost = cfg.ServerHost - utils.CDRelayConnectorPort = cfg.ServerPort - - return nil -} - -func relayServerBootStrap(ctx context.Context, log *relaylogger.RelayLog) { - //peer service bootstrap - ticker := time.NewTicker(5 * time.Second) - for { - err := registerRelayPeerService(ctx, log) - if err != nil { - log.Error( - err, - "failed to register relay with peer-service-bootstrap service, will retry", - ) - select { - case <-ticker.C: - continue - case <-ctx.Done(): - ticker.Stop() - return - } - } - break - } - ticker.Stop() - - ticker = time.NewTicker(5 * time.Second) - // relay user server bootstrap - for { - err := registerRelayUserServer(ctx, log) - if err != nil { - log.Error( - err, - "failed to register relay with relay-user-bootstrap service, will retry", - ) - select { - case <-ticker.C: - continue - case <-ctx.Done(): - ticker.Stop() - return - } - } - break - } - ticker.Stop() - - ticker = time.NewTicker(5 * time.Second) - // relay connector server bootstrap - for { - err := registerRelayConnectorServer(ctx, log) - if err != nil { - log.Error( - err, - "failed to register relay with relay-connector-bootstrap service, will retry", - ) - select { - case <-ticker.C: - continue - case <-ctx.Done(): - ticker.Stop() - return - } - } - break - } - ticker.Stop() -} - -func cdRelayServerBootStrap(ctx context.Context, log *relaylogger.RelayLog) { - //peer service bootstrap - ticker := time.NewTicker(5 * time.Second) - for { - err := registerCDRelayPeerService(ctx, log) - if err != nil { - log.Error( - err, - "failed to register cd relay with peer-service-bootstrap service, will retry", - ) - select { - case <-ticker.C: - continue - case <-ctx.Done(): - ticker.Stop() - return - } - } - break - } - ticker.Stop() - - ticker = time.NewTicker(5 * time.Second) - // relay user server bootstrap - for { - err := registerCDRelayUserServer(ctx, log) - if err != nil { - log.Error( - err, - "failed to register relay with cd-relay-user-bootstrap service, will retry", - ) - select { - case <-ticker.C: - continue - case <-ctx.Done(): - ticker.Stop() - return - } - } - break - } - ticker.Stop() - - ticker = time.NewTicker(5 * time.Second) - // relay connector server bootstrap - for { - err := registerCDRelayConnectorServer(ctx, log) - if err != nil { - log.Error( - err, - "failed to register relay with cd-relay-connector-bootstrap service, will retry", - ) - select { - case <-ticker.C: - continue - case <-ctx.Done(): - ticker.Stop() - return - } - } - break - } - ticker.Stop() -} - -//RunRelayServer entry to the relay server -func RunRelayServer(ctx context.Context, logLvl int) { - rctx, cancel := context.WithCancel(ctx) - defer cancel() - - log = relaylogger.NewLogger(logLvl).WithName("Relay Server") - - if err := setupserver(log); err != nil { - //config is not available - log.Error( - err, - "relay server exiting", - ) - utils.ExitChan <- true - return - } - -restartServer: - relayServerBootStrap(rctx, log) - go tunnel.StartServer(rctx, log, fmt.Sprintf("%s/%s", auditPath, podName), utils.ExitChan) - go runMetricServer(rctx, log) - - for { - select { - case <-utils.ExitChan: - log.Info( - "Relay server stopped, restart in 2 secs", - ) - time.Sleep(2 * time.Second) - goto restartServer - case <-ctx.Done(): - log.Info( - "Relay server exiting", - ) - return - } - } -} - -//RunCDRelayServer entry to the relay server -func RunCDRelayServer(ctx context.Context, logLvl int) { - rctx, cancel := context.WithCancel(ctx) - defer cancel() - - log = relaylogger.NewLogger(logLvl).WithName("Relay Server") - - if err := setupCDServer(log); err != nil { - //config is not available - log.Error( - err, - "relay server exiting", - ) - utils.ExitChan <- true - return - } - -restartServer: - cdRelayServerBootStrap(rctx, log) - go tunnel.StartCDServer(rctx, log, fmt.Sprintf("%s/%s", auditPath, podName), utils.ExitChan) - go runMetricServer(rctx, log) - - for { - select { - case <-utils.ExitChan: - log.Info( - "Relay server stopped, restart in 2 secs", - ) - time.Sleep(2 * time.Second) - goto restartServer - case <-ctx.Done(): - log.Info( - "Relay server exiting", - ) - return - } - } -} - -func runMetricServer(ctx context.Context, log *relaylogger.RelayLog) { - - m := http.NewServeMux() - s := http.Server{Addr: metricListen, Handler: m} - m.HandleFunc("/dialins", dialinMetrics) - m.HandleFunc("/loglevel", setLoglevel) - m.HandleFunc("/health", healthCheck) - - go func() { - <-ctx.Done() - s.Shutdown(context.Background()) - }() - log.Info("Start Relay Metric Server at", metricListen) - err := s.ListenAndServe() - log.Info("Stopping Relay Metric Server at", metricListen, err) -} - -func dialinMetrics(w http.ResponseWriter, r *http.Request) { - tunnel.DialinMetric(w) -} - -func setLoglevel(w http.ResponseWriter, r *http.Request) { - keys, ok := r.URL.Query()["level"] - if !ok || len(keys[0]) < 1 { - fmt.Fprintf(w, "missing level query string") - return - } - - level := keys[0] - lvl, err := strconv.Atoi(level) - if err != nil { - fmt.Fprintf(w, "invalid level query string") - return - } - - relaylogger.SetRunTimeLogLevel(lvl) - - fmt.Fprintf(w, "Success: set loglevel to "+level) -} - -func healthCheck(w http.ResponseWriter, r *http.Request) { - fmt.Fprintf(w, "up and feels good") -} diff --git a/components/relay/pkg/relaylogger/relaylogger.go b/components/relay/pkg/relaylogger/relaylogger.go deleted file mode 100644 index 5a82884..0000000 --- a/components/relay/pkg/relaylogger/relaylogger.go +++ /dev/null @@ -1,145 +0,0 @@ -package relaylogger - -import ( - "bytes" - "fmt" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "go.uber.org/zap" -) - -var ( - logtmp = log.GetLogger() - plain = logtmp.SugaredLogger.Desugar().WithOptions(zap.AddCallerSkip(2)) - rlog = plain.Sugar() - runLevel = 0 -) - -// RelayLog is a sample logr.Logger that logs to stderr. -// It's terribly inefficient, and is *only* a basic example. -type RelayLog struct { - level int - name string - keyValues map[string]interface{} -} - -func (l *RelayLog) relaylog(level int, msg string, kvs ...interface{}) { - var buf bytes.Buffer - - if level > runLevel { - return - } - - fmt.Fprintf(&buf, "%s::%s ", l.name, msg) - for k, v := range l.keyValues { - fmt.Fprintf(&buf, "%s: %+v ", k, v) - } - - if len(kvs)%2 == 0 { - for i := 0; i < len(kvs); i += 2 { - fmt.Fprintf(&buf, "%s: %+v ", kvs[i], kvs[i+1]) - - } - } else { - for i := 0; i < len(kvs); i++ { - fmt.Fprintf(&buf, "%+v ", kvs[i]) - } - } - - fmt.Fprintf(&buf, "\n") - switch level { - case 0: - rlog.Panicw(buf.String()) - case 1: - rlog.Errorw(buf.String()) - case 2: - rlog.Warnw(buf.String()) - case 3: - rlog.Infow(buf.String()) - case 4: - rlog.Debugw(buf.String()) - } - -} - -//Enabled log enabled -func (_ *RelayLog) Enabled() bool { - return true -} - -//Critical log critical -func (l *RelayLog) Critical(msg string, kvs ...interface{}) { - l.relaylog(0, msg, kvs...) -} - -//Error log error level -func (l *RelayLog) Error(err error, msg string, kvs ...interface{}) { - kvs = append(kvs, "error", err) - l.relaylog(1, msg, kvs...) -} - -//Warn log warning level -func (l *RelayLog) Warn(msg string, kvs ...interface{}) { - l.relaylog(2, msg, kvs...) -} - -//Info log info level -func (l *RelayLog) Info(msg string, kvs ...interface{}) { - l.relaylog(3, msg, kvs...) -} - -//Debug log debug level -func (l *RelayLog) Debug(msg string, kvs ...interface{}) { - l.relaylog(4, msg, kvs...) -} - -//V .. -func (l *RelayLog) V(_ int) *RelayLog { - return l -} - -//WithName set log name -func (l *RelayLog) WithName(name string) *RelayLog { - var objName string - if l.name == "" { - objName = name - } else { - objName = l.name + "." + name - } - - return &RelayLog{ - level: l.level, - name: objName, - keyValues: l.keyValues, - } -} - -//WithValues log key values -func (l *RelayLog) WithValues(kvs ...interface{}) *RelayLog { - newMap := make(map[string]interface{}, len(l.keyValues)+len(kvs)/2) - for k, v := range l.keyValues { - newMap[k] = v - } - for i := 0; i < len(kvs); i += 2 { - newMap[kvs[i].(string)] = kvs[i+1] - } - return &RelayLog{ - level: l.level, - name: l.name, - keyValues: newMap, - } -} - -//NewLogger create new logger -func NewLogger(level int) *RelayLog { - if runLevel < level { - runLevel = level - } - return &RelayLog{level: level} -} - -//SetRunTimeLogLevel set a run time log level -func SetRunTimeLogLevel(level int) { - fmt.Println("log level changed from ", runLevel, " to ", level) - runLevel = level -} diff --git a/components/relay/pkg/sessions/usersession.go b/components/relay/pkg/sessions/usersession.go deleted file mode 100644 index cc6fc45..0000000 --- a/components/relay/pkg/sessions/usersession.go +++ /dev/null @@ -1,161 +0,0 @@ -package sessions - -import ( - "hash" - "net/http" - "sync" - "time" - - "github.com/dgraph-io/ristretto" - "github.com/julienschmidt/httprouter" - "github.com/twmb/murmur3" -) - -//UserSession session cache -type UserSession struct { - // Type of the server. Relay means user-facing - // Dialin means cluster-facing - Type string - - // ServerName of the server which accepted the connection - ServerName string - - // CertSNI derived from client certificate - CertSNI string - - // server block of this connection - //server *Server - - // DialinCachedKey already stiched to a dialin - DialinCachedKey string - - // ErrorFlag indicate the session got 401/502 - ErrorFlag bool - - // UserName used in login - UserName string - - // RoleName Role - RoleName string - - // IsReadrole read/write - IsReadrole bool - - // IsReadrole OrgAdmin - IsOrgAdmin bool - - // EnforceOrgAdminOnlySecret access - EnforceOrgAdminOnlySecret bool -} - -var ( - // userSessions cache - userSessions *ristretto.Cache - - // for URL matching - roleCheck *httprouter.Router - - // for URL matching - roleCheckSecret *httprouter.Router - - _hashPool = sync.Pool{ - New: func() interface{} { - // The Pool's New function should generally only return pointer - // types, since a pointer can be put into the return interface - // value without an allocation: - return murmur3.New64() - }, - } -) - -var _dummyHandler = func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {} - -//InitUserSessionCache init user cache -func InitUserSessionCache() error { - var err error - userSessions, err = ristretto.NewCache(&ristretto.Config{ - NumCounters: 1e4, // Num keys to track frequency of (10k). - MaxCost: 1 << 25, // Maximum cost of cache (32MB). - BufferItems: 64, // Number of keys per Get buffer. - }) - - roleCheck = httprouter.New() - roleCheck.Handle("POST", "/api/:version/namespaces/:namespace/pods/:pod/exec", _dummyHandler) - roleCheck.Handle("POST", "/api/:version/namespaces/:namespace/secrets", _dummyHandler) - roleCheck.Handle("GET", "/api/:version/namespaces/:namespace/secrets", _dummyHandler) - roleCheck.Handle("GET", "/api/:version/secrets", _dummyHandler) - - roleCheckSecret = httprouter.New() - roleCheckSecret.Handle("POST", "/api/:version/namespaces/:namespace/secrets", _dummyHandler) - roleCheckSecret.Handle("GET", "/api/:version/namespaces/:namespace/secrets", _dummyHandler) - roleCheckSecret.Handle("GET", "/api/:version/secrets", _dummyHandler) - - return err -} - -// GetRoleCheck check the given method and URL matches -func GetRoleCheck(method, url string) bool { - h, _, _ := roleCheck.Lookup(method, url) - return h != nil -} - -// GetRoleCheck check the given method and URL matches -func GetSecretRoleCheck(method, url string) bool { - h, _, _ := roleCheckSecret.Lookup(method, url) - return h != nil -} - -//GetUserSession get the user session -func GetUserSession(skey string) (*UserSession, bool) { - hkey := getUserCacheKey(skey) - if val, ok := userSessions.Get(hkey); ok { - return val.(*UserSession), true - } - return nil, false -} - -//AddUserSession add user session -func AddUserSession(s *UserSession, skey string) { - hkey := getUserCacheKey(skey) - userSessions.SetWithTTL(hkey, s, 100, time.Minute*15) -} - -//DeleteUserSession add user session -func DeleteUserSession(skey string) { - hkey := getUserCacheKey(skey) - userSessions.Del(hkey) -} - -//UpdateUserSessionExpiry set a short TTL when error happens -func UpdateUserSessionExpiry(skey string, secs int) { - hkey := getUserCacheKey(skey) - if val, ok := userSessions.Get(hkey); ok { - s := val.(*UserSession) - if !s.ErrorFlag { - s.ErrorFlag = true - userSessions.Del(hkey) - userSessions.SetWithTTL(hkey, s, 100, time.Second*time.Duration(secs)) - } - } -} - -//SetSessionErrorFlag ser session errflg -func SetSessionErrorFlag(skey string) { - hkey := getUserCacheKey(skey) - if val, ok := userSessions.Get(hkey); ok { - s := val.(*UserSession) - if !s.ErrorFlag { - s.ErrorFlag = true - } - } -} - -//getUserCacheKey get cache key -func getUserCacheKey(skey string) (key uint64) { - hasher := _hashPool.Get().(hash.Hash64) - hasher.Reset() - hasher.Write([]byte(skey)) - key = hasher.Sum64() - _hashPool.Put(hasher) - return -} diff --git a/components/relay/pkg/tail/follower/follower.go b/components/relay/pkg/tail/follower/follower.go deleted file mode 100644 index a03f033..0000000 --- a/components/relay/pkg/tail/follower/follower.go +++ /dev/null @@ -1,322 +0,0 @@ -package follower - -import ( - "bufio" - "bytes" - "fmt" - "io" - "os" - "sync" - "time" - - "github.com/fsnotify/fsnotify" -) - -const ( - bufSize = 4 * 1024 - peekSize = 1024 -) - -var ( - _ = fmt.Print -) - -type Line struct { - bytes []byte - discarded int -} - -func (l *Line) Bytes() []byte { - return l.bytes -} - -func (l *Line) String() string { - return string(l.bytes) -} - -func (l *Line) Discarded() int { - return l.discarded -} - -type Config struct { - Offset int64 - Whence int - Reopen bool -} - -type Follower struct { - once sync.Once - file *os.File - filename string - lines chan Line - err error - config Config - reader *bufio.Reader - watcher *fsnotify.Watcher - offset int64 - closeCh chan struct{} -} - -func New(filename string, config Config) (*Follower, error) { - t := &Follower{ - filename: filename, - lines: make(chan Line), - config: config, - closeCh: make(chan struct{}), - } - - err := t.reopen() - if err != nil { - return nil, err - } - - go t.once.Do(t.run) - - return t, nil -} - -func (t *Follower) Lines() chan Line { - return t.lines -} - -func (t *Follower) Err() error { - return t.err -} - -func (t *Follower) Close() { - t.closeCh <- struct{}{} -} - -func (t *Follower) run() { - t.close(t.follow()) -} - -func (t *Follower) follow() error { - _, err := t.file.Seek(t.config.Offset, t.config.Whence) - if err != nil { - return err - } - - var ( - eventChan = make(chan fsnotify.Event) - errChan = make(chan error, 1) - ) - - t.watcher, err = fsnotify.NewWatcher() - if err != nil { - return err - } - - defer t.watcher.Close() - go t.watchFileEvents(eventChan, errChan) - - t.watcher.Add(t.filename) - - for { - for { - // discard leading NUL bytes - var discarded int - - for { - b, _ := t.reader.Peek(peekSize) - i := bytes.LastIndexByte(b, '\x00') - - if i > 0 { - n, _ := t.reader.Discard(i + 1) - discarded += n - } - - if i+1 < peekSize { - break - } - } - - s, err := t.reader.ReadBytes('\n') - if err != nil && err != io.EOF { - return err - } - - // if we encounter EOF before a line delimiter, - // ReadBytes() will return the remaining bytes, - // so push them back onto the buffer, rewind - // our seek position, and wait for further file changes. - // we also have to save our dangling byte count in the event - // that we want to re-open the file and seek to the end - if err == io.EOF { - l := len(s) - - t.offset, err = t.file.Seek(-int64(l), io.SeekCurrent) - if err != nil { - return err - } - - t.reader.Reset(t.file) - break - } - - t.sendLine(s, discarded) - } - - // we're now at EOF, so wait for changes - select { - case evt := <-eventChan: - switch evt.Op { - - // as soon as something is written, go back and read until EOF. - case fsnotify.Chmod: - fallthrough - - case fsnotify.Write: - fi, err := t.file.Stat() - if err != nil { - if !os.IsNotExist(err) { - return err - } - - // it's possible that an unlink can cause fsnotify.Chmod, - // so attempt to rewatch if the file is missing - if err := t.rewatch(); err != nil { - return err - } - - continue - } - - // file was truncated, seek to the beginning - if t.offset > fi.Size() { - t.offset, err = t.file.Seek(0, io.SeekStart) - if err != nil { - return err - } - - t.reader.Reset(t.file) - } - - continue - - // if a file is removed or renamed - // and re-opening is desired, see if it appears - // again within a 1 second deadline. this should be enough time - // to see the file again for log rotation programs with this behavior - default: - if !t.config.Reopen { - return nil - } - - if err := t.rewatch(); err != nil { - return err - } - - continue - } - - // any errors that come from fsnotify - case err := <-errChan: - return err - - // a request to stop - case <-t.closeCh: - t.watcher.Remove(t.filename) - return nil - - // fall back to 10 second polling if we haven't received any fsevents - // stat the file, if it's still there, just continue and try to read bytes - // if not, go through our re-opening routine - case <-time.After(10 * time.Second): - fi1, err := t.file.Stat() - if err != nil && !os.IsNotExist(err) { - return err - } - - fi2, err := os.Stat(t.filename) - if err != nil && !os.IsNotExist(err) { - return err - } - - if os.SameFile(fi1, fi2) { - continue - } - - if err := t.rewatch(); err != nil { - return err - } - - continue - } - } - -} - -func (t *Follower) rewatch() error { - t.watcher.Remove(t.filename) - if err := t.reopen(); err != nil { - return err - } - - t.watcher.Add(t.filename) - return nil -} - -func (t *Follower) reopen() error { - if t.file != nil { - t.file.Close() - t.file = nil - } - - file, err := os.Open(t.filename) - if err != nil { - return err - } - - t.file = file - t.reader = bufio.NewReaderSize(t.file, bufSize) - - return nil -} - -func (t *Follower) close(err error) { - t.err = err - - if t.file != nil { - t.file.Close() - } - - close(t.lines) -} - -func (t *Follower) sendLine(l []byte, d int) { - t.lines <- Line{l[:len(l)-1], d} -} - -func (t *Follower) watchFileEvents(eventChan chan fsnotify.Event, errChan chan error) { - for { - select { - case evt, ok := <-t.watcher.Events: - if !ok { - return - } - - // debounce write events, but send all others - switch evt.Op { - case fsnotify.Write: - select { - case eventChan <- evt: - default: - } - - default: - select { - case eventChan <- evt: - case err := <-t.watcher.Errors: - errChan <- err - return - } - } - - // die on a file watching error - case err := <-t.watcher.Errors: - errChan <- err - return - } - } -} diff --git a/components/relay/pkg/tail/register.go b/components/relay/pkg/tail/register.go deleted file mode 100644 index 8fbd4a6..0000000 --- a/components/relay/pkg/tail/register.go +++ /dev/null @@ -1,109 +0,0 @@ -package tail - -import ( - "context" - "crypto/x509/pkix" - "fmt" - "net/url" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/register" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" -) - -// prepare config for outside relay boot strapping -func prepareConfigCSRForBootStrapOutSideCore(config *register.Config, CN string) error { - privKey, err := cryptoutil.GenerateECDSAPrivateKey() - if err != nil { - _log.Infow("failed generate private key", "CN", CN) - return err - } - - key, err := cryptoutil.EncodePrivateKey(privKey, cryptoutil.NoPassword) - if err != nil { - _log.Infow("failed encode ecd private key", "cn", CN, "error", err) - return err - } - - config.PrivateKey = key - - csr, err := cryptoutil.CreateCSR(pkix.Name{ - CommonName: CN, - Country: []string{"USA"}, - Organization: []string{"Rafay Systems Inc"}, - OrganizationalUnit: []string{config.Name}, - Province: []string{"California"}, - Locality: []string{"Sunnyvale"}, - }, privKey) - if err != nil { - _log.Infow("failed to create CSR", "CN", CN, "error", err) - return err - } - - config.CSR = csr - return nil -} - -// registerRelayPeerService will register with rafay-sentry-peering-client template token -// registration fetches client-certificate/root-ca to connect to sentry peer service -func registerRelayPeerService(ctx context.Context) (*register.Config, error) { - cfg := ®ister.Config{ - ClientID: "tail-" + podName, - Name: "tail-" + podName, - Mode: "client", - } - - if bootstrapAddr != "" { - // outside core bootstrap - cfg.Addr = bootstrapAddr - if relayPeeringToken == "" { - return nil, fmt.Errorf("empty peering token for bootstrap") - } - cfg.TemplateToken = relayPeeringToken - cfg.Scheme = "http" - // check port is 443 then set scheme as https - if utils.IsHTTPS(bootstrapAddr) { - cfg.Scheme = "https" - } - // this is a client certificate CN is same as ClientID - err := prepareConfigCSRForBootStrapOutSideCore(cfg, cfg.ClientID) - if err != nil { - return nil, fmt.Errorf("failed in config csr for relay peering bootstrap") - } - } else { - cfg.TemplateToken = "template/-" - cfg.Addr = sentryAddr - cfg.Scheme = "grpc" - cfg.TemplateName = "rafay-sentry-peering-client" - } - - if err := register.Register(ctx, cfg); err != nil { - _log.Infow("unable to register", "error", err) - return nil, err - } - - _log.Infow("successfully registered", "cert", string(cfg.Certificate)) - - return cfg, nil -} - -func newSentryAuthorizationPool(ctx context.Context) (sentryrpc.SentryAuthorizationPool, error) { - - cfg, err := registerRelayPeerService(ctx) - if err != nil { - return nil, err - } - - url, err := url.Parse(relayPeeringURI) - if err != nil { - return nil, err - } - - return sentryrpc.NewSentryAuthorizationPool( - sentryrpc.WithAddr(url.Host), - sentryrpc.WithClientCertPEM(cfg.Certificate), - sentryrpc.WithClientKeyPEM(cfg.PrivateKey), - sentryrpc.WithCaCertPEM(cfg.CACertificate), - ) -} diff --git a/components/relay/pkg/tail/run.go b/components/relay/pkg/tail/run.go deleted file mode 100644 index aefc4f7..0000000 --- a/components/relay/pkg/tail/run.go +++ /dev/null @@ -1,213 +0,0 @@ -package tail - -import ( - "context" - "fmt" - "os" - "sync" - "time" - - "github.com/segmentio/encoding/json" - "github.com/spf13/viper" -) - -const ( - auditPathEnv = "AUDIT_PATH" - podNameEnv = "POD_NAME" - podNamespaceEnv = "POD_NAMESPACE" - peerServiceURIEnv = "RAFAY_RELAY_PEERSERVICE" - sentryAddrEnv = "SENTRY_ADDR" // used by relay running inside core - bootstrapAddrEnv = "BOOTSTRAP_ADDR" - relayPeeringTokenEnv = "RELAY_PEERING_TOKEN" -) - -var ( - podName string - podNamespace string - relayPeeringURI string - sentryAddr string // used by relay running inside core - auditPath string - - // for relays running outside of core - relayPeeringToken string - bootstrapAddr string -) - -func setupTail() error { - // Enable VIPER to read Environment Variables - viper.AutomaticEnv() - - viper.SetDefault(podNameEnv, "relay-pod") - viper.SetDefault(podNamespace, "rafay-system") - viper.SetDefault(peerServiceURIEnv, "https://peering.sentry.rafay.local:10001") - viper.SetDefault(sentryAddrEnv, "localhost:10000") - - // for relays running outside of core - viper.SetDefault(bootstrapAddrEnv, "") - viper.SetDefault(relayPeeringTokenEnv, "-") - viper.SetDefault(auditPathEnv, "/tmp") - - viper.BindEnv(podNameEnv) - viper.BindEnv(podNamespaceEnv) - viper.BindEnv(relayPeeringTokenEnv) - viper.BindEnv(sentryAddrEnv) - - // outside core configs - viper.BindEnv(bootstrapAddrEnv) - - podName = viper.GetString(podNameEnv) - podNamespace = viper.GetString(podNamespaceEnv) - sentryAddr = viper.GetString(sentryAddrEnv) - auditPath = viper.GetString(auditPathEnv) - - relayPeeringURI = viper.GetString(peerServiceURIEnv) - - // outside core relay configurations - bootstrapAddr = viper.GetString(bootstrapAddrEnv) - - if sentryAddr == "" && bootstrapAddr == "" { - _log.Infow("missing sentry & bootstrap uri, please set one of the environment variable RAFAY_SENTRY[relay deployed inside core] (or) BOOTSTRAP_ADDR[outside core]") - return fmt.Errorf("relay server failed in setupserver") - } - - if bootstrapAddr != "" { - // outside config found, unset inside boostrap endpoint. - // both cannot be set, only one mode is possible - sentryAddr = "" - } - - if relayPeeringURI == "" { - _log.Infow("missing relay peer service uri, please set RAFAY_RELAY_PEERSERVICE environment variable") - return fmt.Errorf("relay server failed in setupserver") - } - - relayPeeringToken = viper.GetString(relayPeeringTokenEnv) - - _log.Infow( - "relay server setup values", - "podName", podName, - "podNamespace", podNamespace, - "relayPeeringURI", relayPeeringURI, - "auditPath", auditPath, - ) - - if sentryAddr != "" { - _log.Infow("relay inside core", "sentryAddr", sentryAddr) - } else { - _log.Infow("outside core relay", "bootStrapURI", bootstrapAddr, - "relayPeeringToken", relayPeeringToken, - ) - if relayPeeringToken == "-" { - _log.Infow("missing env variable", "RELAY_PEERING_TOKEN", relayPeeringToken) - return fmt.Errorf("relay server failed in setupserver") - } - - } - return nil -} - -func runTail(ctx context.Context) { - sap, err := newSentryAuthorizationPool(ctx) - if err != nil { - _log.Panicw("unable to create sentry authorization pool", "error", err) - } - - //_log.Infow("created sentry authorization pool") - - transformer, err := NewTransformer(sap) - if err != nil { - _log.Panicw("unable to create transformer", "error", err) - } - - //_log.Infow("created audit transformer") - - logChan := make(chan LogMsg) - - go func() { - ticker := time.NewTicker(time.Second * 30) - defer ticker.Stop() - - watchedDir := make(map[string]context.CancelFunc) - var m sync.Mutex - - // find new dirs in audit path - for ; true; <-ticker.C { - //_log.Infow("ticker started") - // check if context is done - select { - case <-ctx.Done(): - _log.Infow("context done") - for _, c := range watchedDir { - c() - } - break - default: - } - - staleDirs, err := findStaleDirs(auditPath) - if err != nil { - _log.Infow("unable to find state directories", "error", err) - continue - } - - remStaleLoop: - for _, staleDir := range staleDirs { - err := os.RemoveAll(staleDir) - if err != nil { - _log.Infow("unable to remove stale dir", "error", err) - continue remStaleLoop - } - } - - dirs, err := findLogDirs(auditPath) - if err != nil { - _log.Infow("unable to find log dirs", "error", err) - continue - } - - //_log.Infow("found log dirs", "dirs", dirs) - - for _, dir := range dirs { - m.Lock() - - if _, ok := watchedDir[dir]; !ok { - wCtx, cancel := context.WithCancel(ctx) - watchedDir[dir] = cancel - - go tailDir(wCtx, dir, logChan) - } - m.Unlock() - } - } - - }() - -transformLoop: - for { - select { - case lm := <-logChan: - var am AuditMsg - err := transformer.Transform(&lm, &am) - if err != nil { - _log.Infow("unable to transform message", "error", err) - continue - } - - err = json.NewEncoder(os.Stdout).Encode(&am) - if err != nil { - _log.Infow("unable to encode audit msg", "error", err) - continue - } - - case <-ctx.Done(): - break transformLoop - } - } - -} - -// RunRelayTail runs relay tail -func RunRelayTail(ctx context.Context) { - setupTail() - runTail(ctx) -} diff --git a/components/relay/pkg/tail/tail.go b/components/relay/pkg/tail/tail.go deleted file mode 100644 index 3266ddb..0000000 --- a/components/relay/pkg/tail/tail.go +++ /dev/null @@ -1,241 +0,0 @@ -package tail - -import ( - "bufio" - "context" - "encoding/json" - "fmt" - "io" - "os" - "path/filepath" - "sort" - "strings" - "time" - - "golang.org/x/time/rate" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/tail/follower" -) - -const ( - filterName = "lines.cuckoo" -) - -var ( - _log = log.GetLogger() -) - -func isStaleDir(path string) bool { - autitLogPath := fmt.Sprintf("%s/audit.log", path) - info, err := os.Stat(autitLogPath) - if err != nil { - _log.Infow("unable to stat file", "path", autitLogPath, "error", err) - return false - } - - // delete directory that has no modified files in last 7 days. - if info.ModTime().Before(time.Now().Add(-time.Hour * 24 * 7)) { - _log.Infow("audit log not updated for 7 days", "path", autitLogPath) - return true - } - - return false -} - -func hasLogs(path string) bool { - - matches, _ := filepath.Glob(fmt.Sprintf("%s/audit*.log", path)) - - return len(matches) > 0 -} - -func findStaleDirs(root string) ([]string, error) { - if !strings.HasSuffix(root, "/") { - root = root + "/" - } - - var staleDirs []string - var nonStaleDirs []string - - err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { - if err != nil { - _log.Infow("prevent panic by handling failure in accessing the path", path, "error", err) - return err - } - if info.IsDir() && hasLogs(path) { - if isStaleDir(path) { - staleDirs = append(staleDirs, path) - } else { - nonStaleDirs = append(nonStaleDirs, path) - } - } - - return nil - }) - - if err != nil { - return nil, err - } - - if len(nonStaleDirs) <= 0 { - // looks like all are stale directories, there are no logs for - // 7 days hence can't identify which one to delete. - // skip stale directory cleanup for now. - return nil, fmt.Errorf("can not identify stale vs non-stale directory") - } - - return staleDirs, nil -} - -func findLogDirs(root string) ([]string, error) { - - if !strings.HasSuffix(root, "/") { - root = root + "/" - } - - var auditDirs []string - - err := filepath.Walk(root, func(path string, info os.FileInfo, err error) error { - if err != nil { - _log.Infow("prevent panic by handling failure in accessing the path", path, "error", err) - return err - } - if info.IsDir() && hasLogs(path) && !isStaleDir(path) { - auditDirs = append(auditDirs, path) - } - - return nil - }) - - if err != nil { - return nil, err - } - - return auditDirs, nil -} - -func tailRotatedFile(ctx context.Context, filePath string, tailChan chan<- LogMsg) error { - f, err := os.Open(filePath) - if err != nil { - return err - } - defer f.Close() - - limiter := rate.NewLimiter(rate.Every(time.Minute/200), 200) - - scanner := bufio.NewScanner(f) - - for scanner.Scan() { - - err := limiter.Wait(ctx) - if err != nil { - return err - } - - var lm LogMsg - err = json.Unmarshal(scanner.Bytes(), &lm) - if err != nil { - continue - } - - tailChan <- lm - } - - if err := scanner.Err(); err != nil { - return err - } - - // remove the file after done reading - os.Remove(filePath) - - return nil -} - -func tailCurrentFile(ctx context.Context, filePath string, tailChan chan<- LogMsg) error { - - t, err := follower.New(filePath, follower.Config{ - Whence: io.SeekStart, - Offset: 0, - Reopen: true, - }) - - if err != nil { - return err - } - - limiter := rate.NewLimiter(rate.Every(time.Minute/200), 200) - - for line := range t.Lines() { - - err := limiter.Wait(ctx) - if err != nil { - return err - } - - var lm LogMsg - err = json.Unmarshal(line.Bytes(), &lm) - if err != nil { - continue - } - - tailChan <- lm - - } - - if t.Err() != nil { - return err - } - - return nil -} - -// tailDir tails audit log directory for a relay pod -func tailDir(ctx context.Context, path string, logChan chan<- LogMsg) error { - - // filter, err := getFilter(path) - // if err != nil { - // return err - // } - - // defer saveFilter(path, filter) - - files := func() []string { - matches, _ := filepath.Glob(fmt.Sprintf("%s/audit*.log", path)) - - sort.Strings(matches) - return matches - }() - - //_log.Infow("found files", "files", files) - - tailChan := make(chan LogMsg) - for _, file := range files { - if strings.HasSuffix(file, "audit.log") { - go tailCurrentFile(ctx, file, tailChan) - } else { - go tailRotatedFile(ctx, file, tailChan) - } - } - -tailLoop: - for { - select { - case <-ctx.Done(): - break tailLoop - case log := <-tailChan: - - // // if the log xid is seen already ignore - // if filter.Lookup(lm.XID.Bytes()) { - // filter.Delete(lm.XID.Bytes()) - // continue - // } - - // filter.InsertUnique(lm.XID.Bytes()) - logChan <- log - - } - } - - return nil -} diff --git a/components/relay/pkg/tail/transform.go b/components/relay/pkg/tail/transform.go deleted file mode 100644 index 85db113..0000000 --- a/components/relay/pkg/tail/transform.go +++ /dev/null @@ -1,217 +0,0 @@ -package tail - -import ( - "bytes" - "context" - "fmt" - "hash" - "net/http" - "strings" - "sync" - "time" - - "github.com/dgraph-io/ristretto" - "github.com/jinzhu/inflection" - "github.com/twmb/murmur3" - - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - "github.com/julienschmidt/httprouter" -) - -var _dummyHandler = func(w http.ResponseWriter, r *http.Request, _ httprouter.Params) {} - -var _bufPool = sync.Pool{ - New: func() interface{} { - return new(bytes.Buffer) - }, -} - -var _hashPool = sync.Pool{ - New: func() interface{} { - return murmur3.New64() - }, -} - -func getCacheKey(s string) uint64 { - hasher := _hashPool.Get().(hash.Hash64) - defer _hashPool.Put(hasher) - - buf := _bufPool.Get().(*bytes.Buffer) - defer _bufPool.Put(buf) - - buf.Reset() - buf.WriteString(s) - - hasher.Reset() - hasher.Write(buf.Bytes()) - return hasher.Sum64() -} - -// Transformer is the interface for transforming relay log message into audit message -type Transformer interface { - Transform(lm *LogMsg, am *AuditMsg) error -} - -// NewTransformer returns new relay log transformer -func NewTransformer(authzPool sentryrpc.SentryAuthorizationPool) (Transformer, error) { - - r := httprouter.New() - - r.Handle("GET", "/api", _dummyHandler) - r.Handle("GET", "/api/:version", _dummyHandler) - r.Handle("GET", "/api/:version/:kind0", _dummyHandler) - r.Handle("GET", "/api/:version/:kind0/:namespace", _dummyHandler) - r.Handle("GET", "/api/:version/:kind0/:namespace/:kind1", _dummyHandler) - r.Handle("GET", "/api/:version/:kind0/:namespace/:kind1/:name", _dummyHandler) - r.Handle("GET", "/apis", _dummyHandler) - r.Handle("GET", "/apis/:group/:version", _dummyHandler) - r.Handle("GET", "/apis/:group/:version/:kind0", _dummyHandler) - r.Handle("GET", "/apis/:group/:version/:kind0/:namespace", _dummyHandler) - r.Handle("GET", "/apis/:group/:version/:kind0/:namespace/:kind1", _dummyHandler) - r.Handle("GET", "/apis/:group/:version/:kind0/:namespace/:kind1/:name", _dummyHandler) - - cache, err := ristretto.NewCache(&ristretto.Config{ - NumCounters: 1e4, // Num keys to track frequency of (10k). - MaxCost: 1 << 27, // Maximum cost of cache (128MB). - BufferItems: 64, // Number of keys per Get buffer. - }) - if err != nil { - return nil, err - } - - t := &transformer{ - authzPool: authzPool, - r: r, - cache: cache, - } - return t, nil -} - -type transformer struct { - authzPool sentryrpc.SentryAuthorizationPool - cache *ristretto.Cache - r *httprouter.Router -} - -func (t *transformer) getUser(cn string) (*sentryrpc.LookupUserResponse, error) { - key := getCacheKey(cn) - if val, ok := t.cache.Get(key); ok { - if usr, ok := val.(*sentryrpc.LookupUserResponse); ok { - return usr, nil - } - } - - // cache miss - ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) - defer cancel() - - authzClient, err := t.authzPool.NewClient(ctx) - if err != nil { - return nil, err - } - defer authzClient.Close() - - resp, err := authzClient.LookupUser(ctx, &sentryrpc.LookupUserRequest{ - UserCN: cn, - }) - - if err != nil { - return nil, err - } - - t.cache.Set(key, resp, 100) - return resp, nil -} - -func (t *transformer) getCluster(serverName string) (*sentryrpc.LookupClusterResponse, error) { - idx := strings.Index(serverName, ".") - - if idx > 0 { - key := getCacheKey(serverName[0:idx]) - if val, ok := t.cache.Get(key); ok { - if cluster, ok := val.(*sentryrpc.LookupClusterResponse); ok { - return cluster, nil - } - } - - // cache miss - ctx, cancel := context.WithTimeout(context.Background(), time.Second*5) - defer cancel() - - authzClient, err := t.authzPool.NewClient(ctx) - if err != nil { - return nil, err - } - defer authzClient.Close() - - resp, err := authzClient.LookupCluster(ctx, &sentryrpc.LookupClusterRequest{ - ClusterSNI: serverName, - }) - - if err != nil { - return nil, err - } - - t.cache.Set(key, resp, 110) - return resp, nil - } - - return nil, fmt.Errorf("invalid serverName %s", serverName) -} - -func (t *transformer) getParams(url string) httprouter.Params { - - if h, params, _ := t.r.Lookup("GET", url); h != nil { - - return params - } - - return nil -} - -func (t *transformer) Transform(lm *LogMsg, am *AuditMsg) error { - - //_log.Infow("transforming", "logMessage", *lm) - cluster, err := t.getCluster(lm.ServerName) - if err != nil { - _log.Infow("unable to lookup cluster", "error", err) - return err - } - - user, err := t.getUser(lm.User) - if err != nil { - _log.Infow("unable to lookup user", "error", err) - return err - } - - params := t.getParams(lm.URL) - - am.ClusterName = cluster.Name - am.OrganizationID = user.OrganizationID - am.PartnerID = user.PartnerID - am.UserName = user.UserName - am.Duration = lm.Duration - am.Written = lm.Written - am.Timestamp = lm.Timestamp - am.Method = lm.Method - am.URL = lm.URL - am.Query = lm.Query - am.XID = lm.XID - am.StatusCode = lm.StatusCode - am.RemoteAddr = lm.RemoteAddr - am.SessionType = user.SessionType - - if params != nil { - am.APIVersion = fmt.Sprintf("%s/%s", params.ByName("group"), params.ByName("version")) - if params.ByName("kind1") != "" { - am.Kind = params.ByName("kind1") - } else { - am.Kind = params.ByName("kind0") - } - am.Kind = inflection.Singular(am.Kind) - am.Namespace = params.ByName("namespace") - am.Name = params.ByName("name") - } - - return nil -} diff --git a/components/relay/pkg/tail/types.go b/components/relay/pkg/tail/types.go deleted file mode 100644 index 6dff2d2..0000000 --- a/components/relay/pkg/tail/types.go +++ /dev/null @@ -1,80 +0,0 @@ -package tail - -import ( - "github.com/rs/xid" -) - -// { -// "level": "info", -// "ts": 1591154299.638035, -// "msg": "audit", -// "xid": "brbhcuug10lf2qfjj1hg", -// "method": "GET", -// "url": "/apis/metrics.k8s.io/v1beta1?timeout=32s", -// "serverName": "x3mxvkr.user.relay.rafay.local", -// "user": "rafay-core-debug", -// "remoteAddr": "127.0.0.1:63513", -// "statusCode": 503, -// "written": 20, -// "duration": 0.002513407 -// } - -// LogMsg represents log message -type LogMsg struct { - //Level string `json:"level"` - //Message string `json:"msg"` - Timestamp string `json:"ts"` - XID xid.ID `json:"xid"` - Method string `json:"method"` - URL string `json:"url"` - Query string `json:"query"` - ServerName string `json:"serverName"` - User string `json:"user"` - RemoteAddr string `json:"remoteAddr"` - StatusCode int `json:"statusCode"` - Written int64 `json:"written"` - Duration float64 `json:"duration"` -} - -// AuditMsg represents audit message -type AuditMsg struct { - Timestamp string `json:"ts"` - XID xid.ID `json:"id"` - StatusCode int `json:"sc"` - UserName string `json:"un"` - OrganizationID string `json:"o"` - PartnerID string `json:"p"` - RemoteAddr string `json:"ra"` - Duration float64 `json:"d"` - ClusterName string `json:"cn"` - APIVersion string `json:"av"` - Kind string `json:"k"` - Namespace string `json:"ns"` - Name string `json:"n"` - Method string `json:"m"` - URL string `json:"url"` - Query string `json:"q"` - Written int64 `json:"w"` - SessionType string `json:"st"` -} - -// Reset resets audit message -func (m *AuditMsg) Reset() { - m.Timestamp = "" - m.XID = xid.NilID() - m.StatusCode = 0 - m.UserName = "" - m.OrganizationID = "" - m.PartnerID = "" - m.RemoteAddr = "" - m.Duration = 0 - m.ClusterName = "" - m.APIVersion = "" - m.Kind = "" - m.Namespace = "" - m.Name = "" - m.Method = "" - m.URL = "" - m.Query = "" - m.Written = 0 -} diff --git a/components/relay/pkg/tail/url_test.go b/components/relay/pkg/tail/url_test.go deleted file mode 100644 index c3a1602..0000000 --- a/components/relay/pkg/tail/url_test.go +++ /dev/null @@ -1,76 +0,0 @@ -package tail - -import ( - "testing" - - "github.com/julienschmidt/httprouter" -) - -// CASE 1 /api -// CASE 2 /apis -// CASE 3 /apis/storage.k8s.io/v1beta1 -// CASE 4 /api/v1/namespaces -// CASE 5 /api/v1/pods -// CASE 6 /api/v1/namespaces/rafay-system -// CASE 7 /api/v1/namespaces/rafay-system/configmaps/relay-agent-config -// CASE 8 /apis/k3s.cattle.io/v1/namespaces/kube-system/addons - -func TestURL(t *testing.T) { - r := httprouter.New() - - r.Handle("GET", "/api", _dummyHandler) - r.Handle("GET", "/api/:version", _dummyHandler) - r.Handle("GET", "/api/:version/:kind0", _dummyHandler) - r.Handle("GET", "/api/:version/:kind0/:namespace", _dummyHandler) - r.Handle("GET", "/api/:version/:kind0/:namespace/:kind1", _dummyHandler) - r.Handle("GET", "/api/:version/:kind0/:namespace/:kind1/:name", _dummyHandler) - r.Handle("GET", "/apis", _dummyHandler) - r.Handle("GET", "/apis/:group/:version", _dummyHandler) - r.Handle("GET", "/apis/:group/:version/:kind0", _dummyHandler) - r.Handle("GET", "/apis/:group/:version/:kind0/:namespace", _dummyHandler) - r.Handle("GET", "/apis/:group/:version/:kind0/:namespace/:kind1", _dummyHandler) - r.Handle("GET", "/apis/:group/:version/:kind0/:namespace/:kind1/:name", _dummyHandler) - - if h, params, _ := r.Lookup("GET", "/api/v1/pods"); h != nil { - t.Log(params) - } else { - t.Error("expected match") - return - } - - if h, params, _ := r.Lookup("GET", "/apis/storage.k8s.io/v1beta1"); h != nil { - t.Log(params) - } else { - t.Error("expected match") - return - } - - if h, params, _ := r.Lookup("GET", "/api/v1/namespaces/rafay-system/configmaps/relay-agent-config"); h != nil { - t.Log(params) - } else { - t.Error("expected match") - return - } - - if h, params, _ := r.Lookup("GET", "/apis/k3s.cattle.io/v1/namespaces/kube-system/addons"); h != nil { - t.Log(params) - } else { - t.Error("expected match") - return - } - - if h, params, _ := r.Lookup("GET", "/apis/metrics.k8s.io/v1beta1"); h != nil { - t.Log(params) - } else { - t.Error("expected match") - return - } - - if h, params, _ := r.Lookup("GET", "/api/v1/namespaces/test-ns"); h != nil { - t.Log(params) - } else { - t.Error("expected match") - return - } - -} diff --git a/components/relay/pkg/tunnel/authz.go b/components/relay/pkg/tunnel/authz.go deleted file mode 100644 index 95b9640..0000000 --- a/components/relay/pkg/tunnel/authz.go +++ /dev/null @@ -1,397 +0,0 @@ -package tunnel - -import ( - "context" - "fmt" - "hash" - "net/http" - "net/url" - "strings" - "sync" - "time" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/apply" - "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/proxy" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "github.com/dgraph-io/ristretto" - "github.com/twmb/murmur3" - "google.golang.org/grpc/credentials" - "k8s.io/client-go/kubernetes/scheme" - "k8s.io/client-go/rest" - "k8s.io/client-go/transport" - "sigs.k8s.io/controller-runtime/pkg/client" - "sigs.k8s.io/controller-runtime/pkg/client/apiutil" -) - -var ( - _log = log.GetLogger() -) - -const ( - bypassNamespace = "rafay-system" -) - -var bypassUserNames = []string{"system-sa", "default"} - -func getClusterID(sni string) (string, error) { - idx := strings.Index(sni, ".") - if idx < 0 { - return "", fmt.Errorf("invalid user sni format %s", sni) - } - return sni[0:idx], nil -} - -type bypassWrapper struct { - sni, key, bypassUserName string - rt http.RoundTripper -} - -func (w *bypassWrapper) RoundTrip(r *http.Request) (*http.Response, error) { - r.Header.Set("X-Rafay-User", w.bypassUserName) - r.Header.Set("X-Rafay-Key", w.key) - r.Header.Set("X-Rafay-Namespace", bypassNamespace) - - if !strings.HasSuffix(r.URL.Path, "/") { - r.URL.Path = r.URL.Path + "/" - } - - return w.rt.RoundTrip(r) -} - -func newBypassWrapper(sni, key, bypassUserName string) transport.WrapperFunc { - return func(rt http.RoundTripper) http.RoundTripper { - return &bypassWrapper{sni: sni, key: key, rt: rt, bypassUserName: bypassUserName} - } -} - -func getKubeRESTConfig(socketPath, sni, dialinLookupKey, username string) *rest.Config { - - cfg := &rest.Config{ - Host: fmt.Sprintf("%s_%s", sni, dialinLookupKey), - // Set transport expicitly to prevent client for caching transport - Transport: &http.Transport{ - DialContext: proxy.UnixDialContext(socketPath, dialinLookupKey, username, sni), - }, - Timeout: time.Second * 5, - } - - cfg.Wrap(newBypassWrapper(sni, dialinLookupKey, username)) - - return cfg - -} - -var _hashPool = sync.Pool{ - New: func() interface{} { - // The Pool's New function should generally only return pointer - // types, since a pointer can be put into the return interface - // value without an allocation: - return murmur3.New64() - }, -} - -type authzProvisioner struct { - clientCache *ristretto.Cache - authzCache *ristretto.Cache -} - -func newAuthzProvisioner() (*authzProvisioner, error) { - clientCache, err := ristretto.NewCache(&ristretto.Config{ - NumCounters: 1e4, // Num keys to track frequency of (10k). - MaxCost: 1 << 27, // Maximum cost of cache (256MB). - BufferItems: 64, // Number of keys per Get buffer. - }) - if err != nil { - return nil, err - } - - authzCache, err := ristretto.NewCache(&ristretto.Config{ - NumCounters: 1e4, // Num keys to track frequency of (10k). - MaxCost: 1 << 25, // Maximum cost of cache (32MB). - BufferItems: 64, // Number of keys per Get buffer. - }) - if err != nil { - return nil, err - } - - return &authzProvisioner{clientCache: clientCache, authzCache: authzCache}, nil -} - -func (p *authzProvisioner) getClient(socketPath, sni, dialinLookupKey string) (client.Client, error) { - - key := func() uint64 { - hasher := _hashPool.Get().(hash.Hash64) - hasher.Reset() - hasher.Write([]byte(sni)) - hasher.Write([]byte(dialinLookupKey)) - k := hasher.Sum64() - _hashPool.Put(hasher) - return k - }() - - if i, ok := p.clientCache.Get(key); ok { - if c, ok := i.(client.Client); ok { - return c, nil - } - } - - getK8sClient := func(bypassUserName string) (client.Client, error) { - cfg := getKubeRESTConfig(socketPath, sni, dialinLookupKey, bypassUserName) - mapper, err := apiutil.NewDynamicRESTMapper(cfg) - if err != nil { - return nil, err - } - - c, err := client.New(cfg, client.Options{Scheme: scheme.Scheme, Mapper: mapper}) - return c, err - } - - var c client.Client - var err error - for _, username := range bypassUserNames { - c, err = getK8sClient(username) - if err != nil { - _log.Infow("error getting k8s client for username", "username", username) - } else { - break - } - } - if err != nil { - return nil, err - } - p.clientCache.SetWithTTL(key, c, 100, time.Minute*30) - return c, nil -} - -func (p *authzProvisioner) getAuthz(ctx context.Context, userCN, sni string, certIssue int64) (*sentryrpc.GetUserAuthorizationResponse, error) { - clusterID, err := getClusterID(sni) - if err != nil { - _log.Infow("unable to get clusterID", "error", err) - return nil, err - } - - u, err := url.Parse(utils.PeerServiceURI) - if err != nil { - _log.Infow("unable to parse peer service url", "error", err) - return nil, err - } - //Load certificates - tlsConfig, err := ClientTLSConfigFromBytes(utils.PeerCertificate, utils.PeerPrivateKey, utils.PeerCACertificate, u.Host) - if err != nil { - _log.Infow("unable to build tls config for peer service", "error", err) - return nil, err - } - transportCreds := credentials.NewTLS(tlsConfig) - peerSeviceHost := u.Host - - conn, err := grpc.NewSecureClientConn(ctx, peerSeviceHost, transportCreds) - if err != nil { - _log.Infow("unable to connect to sentry", "error", err) - return nil, err - } - defer conn.Close() - - client := sentryrpc.NewClusterAuthorizationClient(conn) - - resp, err := client.GetUserAuthorization(ctx, &sentryrpc.GetUserAuthorizationRequest{ - UserCN: userCN, - ClusterID: clusterID, - CertIssueSeconds: certIssue, - }) - - if err != nil { - _log.Infow("unable to get authorization for user", "error", err) - return nil, err - } - return resp, nil -} - -func (p *authzProvisioner) provisionAuthzHandleRoleChange(auth *sentryrpc.GetUserAuthorizationResponse, socketPath, sni, dialinLookupKey string) { - k8sDelClient, err := p.getClient(socketPath, sni, dialinLookupKey) - if err != nil { - _log.Infow("unable to get del client", "sni", sni, "dialinLookupKey", dialinLookupKey, "error", err) - return - } - nctx, cancel := context.WithTimeout(context.Background(), time.Second*180) - defer cancel() - // Delete cluster role binding to clean if exist to handle change in user role - for _, crb := range auth.DeleteClusterRoleBindings { - //crbo, _, err := runtime.ToObject(crb) - if err == nil { - err := k8sDelClient.Delete(nctx, crb) - if err != nil { - _log.Debugw("unable to delete ClusterRoleBindings", "name", crb.TypeMeta.GetObjectKind(), "obj", crb, "err", err) - } else { - _log.Infow("successfully to deleted ClusterRoleBindings", "obj", crb) - } - } - } - - // To handle change in namespace changes delete rolebindings to clean if exist. - for _, rb := range auth.DeleteRoleBindings { - //rbo, _, err := runtime.ToObject(rb) - if err == nil { - err := k8sDelClient.Delete(nctx, rb) - if err != nil { - _log.Debugw("unable to delete RoleBindings", "name", rb.TypeMeta.GetObjectKind(), "obj", rb, "err", err) - } else { - _log.Infow("successfully to deleted RoleBindings", "obj", rb) - } - } - } -} - -func (p *authzProvisioner) provisionAuthz(ctx context.Context, auth *sentryrpc.GetUserAuthorizationResponse, socketPath, sni, dialinLookupKey string) error { - - k8sClient, err := p.getClient(socketPath, sni, dialinLookupKey) - if err != nil { - _log.Infow("unable to get client", "sni", sni, "dialinLookupKey", dialinLookupKey, "error", err) - return err - } - - // Handle deletion of excluded clusterrolebindings and rolebindings - // in the background. - go p.provisionAuthzHandleRoleChange(auth, socketPath, sni, dialinLookupKey) - if len(auth.ClusterRoles) > 0 { - _log.Infow("cluster scope authz for", "user", auth.ServiceAccount, "ClusterRoles", auth.ClusterRoles, "ClusterRoleBindings", auth.ClusterRoleBindings) - } - if len(auth.Roles) > 0 { - _log.Infow("namespace scope authz for", "user", auth.ServiceAccount, "Roles", auth.Roles, "RoleBindings", auth.RoleBindings, "Namespaces", auth.Namespaces) - } - - applier := apply.NewApplier(k8sClient) - - /*sao, _, err := runtime.ToObject(auth.ServiceAccount) - if err != nil { - _log.Infow("unable to make service account runtime object", "error", err) - return err - }*/ - - err = applier.Apply(ctx, auth.ServiceAccount) - // Ignore already exist error caused due to - // multiple inflight request trying to provision - // ZTKA JIT service account - if err != nil && !strings.Contains(err.Error(), "already exists") { - _log.Infow("unable to apply service account", "error", err) - return err - } - - for _, clusterRole := range auth.ClusterRoles { - /*cro, _, err := runtime.ToObject(clusterRole) - if err != nil { - _log.Infow("unable to make clusterRole runtime object", "error", err) - return err - }*/ - - err = applier.Apply(ctx, clusterRole) - if err != nil && !strings.Contains(err.Error(), "already exists") { - _log.Infow("unable to apply clusterRole", "error", err) - return err - } - } - - for _, clusterRoleBinding := range auth.ClusterRoleBindings { - /*crbo, _, err := runtime.ToObject(clusterRoleBinding) - if err != nil { - _log.Infow("unable to make clusterRoleBinding runtime object", "error", err) - return err - }*/ - - err = applier.Apply(ctx, clusterRoleBinding) - if err != nil && !strings.Contains(err.Error(), "already exists") { - _log.Infow("unable to apply clusterRoleBinding", "error", err) - return err - } - } - - for _, role := range auth.Roles { - /*cro, _, err := runtime.ToObject(role) - if err != nil { - _log.Infow("unable to make roles runtime object", "error", err) - return err - }*/ - - err = applier.Apply(ctx, role) - if err != nil && !strings.Contains(err.Error(), "already exists") { - _log.Infow("unable to apply Role", "error", err) - //Ignore any error - } - } - - for _, roleBinding := range auth.RoleBindings { - /*crbo, _, err := runtime.ToObject(roleBinding) - if err != nil { - _log.Infow("unable to make RoleBinding runtime object", "error", err) - return err - }*/ - - err = applier.Apply(ctx, roleBinding) - if err != nil && !strings.Contains(err.Error(), "already exists") { - _log.Infow("unable to apply RoleBinding", "error", err) - //Ignore any error - } - } - - _log.Infow("applied authz", "sni", sni, "user", auth.UserName) - - return nil -} - -type provisionedUser struct { - UserName string - Role string - IsReadRole bool - IsOrgAdmin bool - EnforceOrgAdminOnlySecretAccess bool -} - -func (p *authzProvisioner) ProvisionAuthzForUser(socketPath, userCN, sni, dialinLookupKey string, forceProvision, refreshSession bool, certIssue int64) (string, string, bool, bool, bool, error) { - ctx, cancel := context.WithTimeout(context.Background(), time.Second*60) - defer cancel() - - key := func() uint64 { - hasher := _hashPool.Get().(hash.Hash64) - hasher.Reset() - hasher.Write([]byte(userCN)) - hasher.Write([]byte(sni)) - k := hasher.Sum64() - _hashPool.Put(hasher) - return k - }() - - if !forceProvision { - if i, ok := p.authzCache.Get(key); ok { - if pu, ok := i.(*provisionedUser); ok { - return pu.UserName, pu.Role, pu.IsReadRole, pu.IsOrgAdmin, pu.EnforceOrgAdminOnlySecretAccess, nil - } - } - } - - resp, err := p.getAuthz(ctx, userCN, sni, certIssue) - if err != nil { - return "", "", false, false, false, err - } - - applyctx, applycancel := context.WithTimeout(context.Background(), time.Second*60) - defer applycancel() - err = p.provisionAuthz(applyctx, resp, socketPath, sni, dialinLookupKey) - // ignore cluster provision failures during refresh. - // continue with existing RBAC. - if !refreshSession && err != nil { - return "", "", false, false, false, err - } - - p.authzCache.SetWithTTL(key, &provisionedUser{ - UserName: resp.UserName, - Role: resp.RoleName, - IsReadRole: resp.IsRead, - IsOrgAdmin: resp.IsOrgAdmin, - EnforceOrgAdminOnlySecretAccess: resp.EnforceOrgAdminOnlySecretAccess, - }, 100, time.Minute*5) - - return resp.UserName, resp.RoleName, resp.IsRead, resp.IsOrgAdmin, resp.EnforceOrgAdminOnlySecretAccess, nil -} diff --git a/components/relay/pkg/tunnel/backoff.go b/components/relay/pkg/tunnel/backoff.go deleted file mode 100644 index d4fcccb..0000000 --- a/components/relay/pkg/tunnel/backoff.go +++ /dev/null @@ -1,15 +0,0 @@ -package tunnel - -import "time" - -// Backoff defines behavior of staggering reconnection retries. -type Backoff interface { - // Next returns the duration to sleep before retrying to reconnect. - // If the returned value is negative, the retry is aborted. - NextBackOff() time.Duration - - // Reset is used to signal a reconnection was successful and next - // call to Next should return desired time duration for 1st reconnection - // attempt. - Reset() -} diff --git a/components/relay/pkg/tunnel/client.go b/components/relay/pkg/tunnel/client.go deleted file mode 100644 index 522e45e..0000000 --- a/components/relay/pkg/tunnel/client.go +++ /dev/null @@ -1,651 +0,0 @@ -package tunnel - -import ( - "context" - "crypto/tls" - "encoding/json" - "fmt" - "net" - "net/http" - "strings" - "sync" - "sync/atomic" - "time" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/proxy" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "github.com/cenkalti/backoff" - "golang.org/x/net/http2" -) - -//ClientConfig .. -type ClientConfig struct { - //ServiceName name of the service - ServiceName string - // ServerAddr specifies address of the tunnel server. - ServerAddr string - //Upstream upstream address - Upstream string - //Protocol .. - Protocol string - // TLSClientConfig specifies the tls configuration to use with - // tls.Client. - TLSClientConfig *tls.Config - // Backoff specifies backoff policy on server connection retry. If nil - // when dial fails it will not be retried. - Backoff Backoff - - //ServiceProxy is Func responsible for transferring data between server and local services. - ServiceProxy proxy.Func - // Logger is optional logger. If nil logging is disabled. - Logger *relaylogger.RelayLog -} - -//Client struct -type Client struct { - sync.Mutex - conn net.Conn - httpServer *http2.Server - serverErr error - lastDisconnect time.Time - config *ClientConfig - logger *relaylogger.RelayLog - closeChnl chan bool - streams int64 - lastRequest time.Time - lastRequestStreams int64 - isScaledConnection bool -} - -var ( - clog *relaylogger.RelayLog - //Clients map, key by ServerName - //Clients = make(map[string]*Client) - ScaleClients = make(chan bool, 5) -) - -func expBackoff(c BackoffConfig) *backoff.ExponentialBackOff { - b := backoff.NewExponentialBackOff() - b.InitialInterval = c.Interval - b.Multiplier = c.Multiplier - b.MaxInterval = c.MaxInterval - b.MaxElapsedTime = c.MaxTime - - return b -} - -//loadNewRelayNetwork start the relay agent for a given network -func loadNewRelayNetwork(ctx context.Context, rnc utils.RelayNetworkConfig) error { - var spxy proxy.Func - var tlsconf *tls.Config - var dialout *Dialout - var err error - - backoff := BackoffConfig{ - Interval: DefaultBackoffInterval, - Multiplier: DefaultBackoffMultiplier, - MaxInterval: DefaultBackoffMaxInterval, - MaxTime: DefaultBackoffMaxTime, - } - - //proxy handler - switch rnc.Network.Name { - case utils.CDAGENTCORE: - tlsconf, err = ClientTLSConfigFromBytes(rnc.RelayAgentCert, rnc.RelayAgentKey, rnc.RelayAgentCACert, strings.ReplaceAll(rnc.Network.Domain, "*", utils.AgentID)) - if err != nil { - clog.Error( - err, - "failed to create tlsconfig", - "service name", rnc.Network.Name, - "addr", rnc.Network.Domain, - ) - return fmt.Errorf("failed to load client certs") - } - dialout = &Dialout{ - Protocol: rnc.Network.Name, - Upstream: rnc.Network.Upstream, - Addr: strings.ReplaceAll(rnc.Network.Domain, "*", utils.AgentID), - ServiceSNI: utils.AgentID, - } - spxy = clientProxy(utils.GENTCP, dialout, clog.WithName(rnc.Network.Name)) - default: - tlsconf, err = ClientTLSConfigFromBytes(rnc.RelayAgentCert, rnc.RelayAgentKey, rnc.RelayAgentCACert, strings.ReplaceAll(rnc.Network.Domain, "*", utils.ClusterID)) - if err != nil { - clog.Error( - err, - "failed to create tlsconfig", - "service name", rnc.Network.Name, - "addr", rnc.Network.Domain, - ) - return fmt.Errorf("failed to load client certs") - } - dialout = &Dialout{ - Protocol: rnc.Network.Name, - Upstream: rnc.Network.Upstream, - Addr: strings.ReplaceAll(rnc.Network.Domain, "*", utils.ClusterID), - ServiceSNI: utils.ClusterID, - } - spxy = clientProxy(utils.KUBECTL, dialout, clog.WithName(rnc.Network.Name)) - } - - if spxy == nil { - return fmt.Errorf("failed to load client proxy") - } - - ccfg := &ClientConfig{ - ServiceName: rnc.Network.Name, - ServerAddr: dialout.Addr, - Protocol: dialout.Protocol, - TLSClientConfig: tlsconf, - Upstream: dialout.Upstream, - ServiceProxy: spxy, - Backoff: expBackoff(backoff), - Logger: clog.WithName(rnc.Network.Name), - } - - for i := 0; i < utils.MaxDials; i++ { - c := &Client{ - config: ccfg, - httpServer: &http2.Server{}, - logger: clog.WithName(rnc.Network.Name), - isScaledConnection: false, - } - - c.closeChnl = make(chan bool) - go c.runClient(ctx) - } - - // scale clients - // based on rate of new streams or - // based on total concurrent streams - go runClientScaling(ctx, ccfg, rnc) - - return nil -} - -func runClientScaling(ctx context.Context, ccfg *ClientConfig, rnc utils.RelayNetworkConfig) { - var scaledClients []*Client - totalScaledClient := 0 - - for { - select { - case <-ScaleClients: - // got signal to scale - if totalScaledClient < utils.MaxDials*utils.MaxScaleMultiplier { - c := &Client{ - config: ccfg, - httpServer: &http2.Server{}, - logger: clog.WithName(rnc.Network.Name), - isScaledConnection: true, - } - c.closeChnl = make(chan bool) - scaledClients = append(scaledClients, c) - totalScaledClient++ - go c.runClient(ctx) - clog.Info( - "scale client signal", - " totalScaledClient ", totalScaledClient, - ) - } - case <-time.After(5 * time.Minute): - tempClients := scaledClients[:0] - for _, c := range scaledClients { - now := time.Now() - c.Lock() - curStreams := atomic.LoadInt64(&c.streams) - d := now.Sub(c.lastRequest) - s := int64(d / time.Hour) - if curStreams <= 0 && s >= int64(utils.HealingInterval) { - // no request for last 24Hr, close client - c.closeChnl <- true - totalScaledClient-- - } else { - tempClients = append(tempClients, c) - } - c.Unlock() - } - scaledClients = tempClients - clog.Info( - "scaled client timer", - " totalScaledClient ", totalScaledClient, - ) - case <-ctx.Done(): - return - } - } -} - -func (c *Client) runClient(ctx context.Context) { - if err := c.Start(ctx); err != nil { - if c.isScaledConnection { - c.logger.Info( - "closed scaled dialouts after idle time", - "service name", c.config.ServiceName, - "addr", c.config.ServerAddr, - ) - } else { - c.logger.Error( - err, - "failed to start client for dialouts", - "service name", c.config.ServiceName, - "addr", c.config.ServerAddr, - ) - } - } -} - -//Start relay client -func (c *Client) Start(ctx context.Context) error { - cw := make(chan bool) - - for { - conn, err := c.connect() - if err != nil { - c.logger.Info( - "connect failed will retry after 2 sec", - ) - time.Sleep(2 * time.Second) - continue - } - - go func() { - //handles the http/2 tunnel - c.httpServer.ServeConn(conn, &http2.ServeConnOpts{ - Handler: http.HandlerFunc(c.serveHTTP), - }) - - cw <- true - }() - - select { - case <-cw: - // dialout got closed - time.Sleep(100 * time.Millisecond) - case <-c.closeChnl: - c.conn.Close() - c.logger.Info( - "close connection due to idle streams", - ) - return fmt.Errorf("idle streams") - case <-ctx.Done(): - c.conn.Close() - return fmt.Errorf("ctx done") - } - - c.logger.Info( - "client disconnected", - ) - c.Lock() - now := time.Now() - err = c.serverErr - - // detect disconnect hiccup - if err == nil && now.Sub(c.lastDisconnect).Seconds() < 5 { - err = fmt.Errorf("connection is being cut") - } - - c.conn = nil - c.serverErr = nil - c.lastDisconnect = now - c.Unlock() - - if err != nil { - c.logger.Error( - err, - "disconnected, will retry after 2 sec", - "name", c.config.ServiceName, - ) - time.Sleep(2 * time.Second) - continue - } - } -} - -func (c *Client) processDialoutProxy(conn net.Conn, network, addr string) error { - // send CONNECT addr HTTP/1.1 header - connHeader := "CONNECT " + addr + " HTTP/1.1\r\nHost: " + addr + "\r\n" - if utils.DialoutProxyAuth != "" { - connHeader = connHeader + "Proxy-Authorization:" + utils.DialoutProxyAuth + "\r\n" - } - connHeader = connHeader + "Connection: Keep-Alive\r\n\r\n" - - conn.Write([]byte(connHeader)) - tmp := make([]byte, 1) - checkHeader := "" - startAppend := false - respData := "" - for { - n, err := conn.Read(tmp) - if n != 1 || err != nil { - c.logger.Info( - "dial failed ", - "proxy", utils.DialoutProxy, - "proxy header", connHeader, - "network", network, - "checkHeader", checkHeader, - "err", err, - ) - return fmt.Errorf("proxy read error") - } - respData += string(tmp[0]) - if tmp[0] == '\r' { - if startAppend { - checkHeader += string(tmp[0]) - } else { - checkHeader = "\r" - startAppend = true - } - } else if tmp[0] == '\n' { - if startAppend { - if checkHeader == "\r\n\r" { - // prased the proxy response header - break - } - checkHeader += string(tmp) - } - } else { - startAppend = false - checkHeader = "" - } - } - c.logger.Info( - "proxy dialout success", - "proxy resp", respData, - ) - return nil -} - -//dialout connect -func (c *Client) connect() (net.Conn, error) { - c.Lock() - defer c.Unlock() - - if c.conn != nil { - return nil, fmt.Errorf("already connected") - } - - conn, err := c.dial() - if err != nil { - return nil, fmt.Errorf("failed to connect to server %s error %s", c.config.ServerAddr, err) - } - c.conn = conn - - return conn, nil -} - -//dial -func (c *Client) dial() (net.Conn, error) { - var ( - network = "tcp" - addr = c.config.ServerAddr - tlsConfig = c.config.TLSClientConfig - ) - - doDial := func() (conn net.Conn, err error) { - - d := &net.Dialer{ - Timeout: 60 * time.Second, - } - if utils.DialoutProxy == "" { - conn, err = d.Dial(network, addr) - } else { - conn, err = d.Dial(network, utils.DialoutProxy) - if err == nil { - err = c.processDialoutProxy(conn, network, addr) - } - } - - if err == nil { - err = utils.KeepAlive(conn) - } - if err == nil { - conn = tls.Client(conn, tlsConfig) - } - - if err == nil { - err = conn.(*tls.Conn).Handshake() - } - - if err != nil { - if conn != nil { - conn.Close() - conn = nil - } - - c.logger.Info( - "dial failed", - "network", network, - "addr", addr, - "err", err, - ) - } - - c.logger.Info( - "action dial out", - "network", network, - "addr", addr, - ) - - return - } - - b := c.config.Backoff - if b == nil { - // try once and return - return doDial() - } - - for { - - conn, err := doDial() - - // success - if err == nil { - b.Reset() - c.logger.Info( - "dial success", - ) - return conn, err - } - - // failure - d := b.NextBackOff() - if d < 0 { - b.Reset() - return conn, fmt.Errorf("backoff limit exeded: %s", err) - } - - // backoff - c.logger.Info( - "action backoff", - "sleep", d, - "address", c.config.ServerAddr, - ) - time.Sleep(d) - } -} - -// tunnel serveHTTP handler. Requests form relay lands here. -// request handled based on the action in the ctrl message (header) -// Connect method is used as handshake -// PUT method is used for tunneled requests that carry -// stream data as req.Body -func (c *Client) serveHTTP(w http.ResponseWriter, r *http.Request) { - c.logger.Debug( - "invoked handler serveHTTP", - "method", r.Method, - "currentStreams", atomic.LoadInt64(&c.streams), - ) - - if r.Method == http.MethodConnect { - if r.Header.Get(utils.HeaderError) != "" { - c.handleHandshakeError(w, r) - } else { - c.handleHandshake(w, r) - } - return - } - - atomic.AddInt64(&c.streams, 1) - defer atomic.AddInt64(&c.streams, ^int64(0)) - - curStreams := atomic.LoadInt64(&c.streams) - now := time.Now() - - c.Lock() - d := now.Sub(c.lastRequest) - s := int64(d / time.Second) - if s >= 4 { // check in minimum 4 sec - if !c.isScaledConnection { - if curStreams > int64(utils.ScalingStreamsThreshold) { - // concurrent streams count is high - ScaleClients <- true - } else if curStreams > c.lastRequestStreams { - rate := (curStreams - c.lastRequestStreams) / s - if rate > int64(utils.ScalingStreamsRateThreshold) { - // rate of new stream is high - ScaleClients <- true - } - } - } - c.lastRequest = now - c.lastRequestStreams = curStreams - } - c.Unlock() - - msg, err := utils.ReadControlMessage(r) - if err != nil { - c.logger.Error( - err, - "Read Control Message failed", - ) - http.Error(w, err.Error(), http.StatusBadRequest) - return - } - - c.logger.Debug( - "handle proxy action", - "ctrlMsg", msg, - "req", r, - "currentStreams", atomic.LoadInt64(&c.streams), - ) - - switch msg.Action { - case utils.ActionProxy: - c.config.ServiceProxy(w, r.Body, msg, r) - default: - c.logger.Info( - "unknown action", - "ctrlMsg", msg, - ) - http.Error(w, err.Error(), http.StatusBadRequest) - } -} - -func (c *Client) handleHandshakeError(w http.ResponseWriter, r *http.Request) { - err := fmt.Errorf(r.Header.Get(utils.HeaderError)) - - c.logger.Info( - "action handshake error", - "addr", r.RemoteAddr, - "err", err, - ) - - c.Lock() - c.serverErr = fmt.Errorf("server error: %s", err) - c.Unlock() -} - -func (c *Client) handleHandshake(w http.ResponseWriter, r *http.Request) { - - c.logger.Info( - "action", "handshake", - "addr", r.RemoteAddr, - ) - - w.WriteHeader(http.StatusOK) - host, _, _ := net.SplitHostPort(c.config.ServerAddr) - msg := handShakeMsg{ - ServiceName: c.config.ServiceName, - Protocol: c.config.Protocol, - Host: host, - } - b, err := json.Marshal(msg) - if err != nil { - c.logger.Info( - "msg", "handshake failed", - "err", err, - ) - return - } - w.Write(b) -} - -//setups the proxy func handler -func clientProxy(svcName string, d *Dialout, logger *relaylogger.RelayLog) proxy.Func { - proxyCfg := &utils.ProxyConfig{ - Protocol: d.Protocol, - Addr: d.Addr, - ServiceSNI: d.ServiceSNI, - RootCA: d.RootCA, - ClientCRT: d.ClientCRT, - ClientKEY: d.ClientKEY, - Upstream: d.Upstream, - UpstreamClientCRT: d.UpstreamClientCRT, - UpstreamClientKEY: d.UpstreamClientKEY, - UpstreamRootCA: d.UpstreamRootCA, - UpstreamSkipVerify: d.UpstreamSkipVerify, - UpstreamKubeConfig: d.UpstreamKubeConfig, - Version: d.Version, - } - - switch svcName { - case utils.KUBECTL: - if p := proxy.NewKubeCtlTCPProxy(logger.WithName("TCPProxy"), proxyCfg); p != nil { - return p.Proxy - } - logger.Error( - nil, - "proxy.NewKubeCtlTCPProxy returned nil", - ) - return nil - case utils.GENTCP: - if p := proxy.NewTCPProxy(logger.WithName("TCPProxy"), proxyCfg); p != nil { - return p.Proxy - } - logger.Error( - nil, - "proxy.NewTCPProxy returned nil", - ) - return nil - default: - logger.Error( - nil, - "unknown service name", - ) - return nil - } -} - -//StartClient starts relay clients -func StartClient(ctx context.Context, log *relaylogger.RelayLog, file string, rnc utils.RelayNetworkConfig, exitChan chan<- bool) { - clog = log.WithName("Client") - - if err := loadNewRelayNetwork(ctx, rnc); err != nil { - clog.Error(err, "failed to load relay network") - exitChan <- true - return - } - - for { - select { - case <-ctx.Done(): - clog.Error( - ctx.Err(), - "Stopping client", - ) - return - } - } -} diff --git a/components/relay/pkg/tunnel/client_config.go b/components/relay/pkg/tunnel/client_config.go deleted file mode 100644 index 02107cf..0000000 --- a/components/relay/pkg/tunnel/client_config.go +++ /dev/null @@ -1,38 +0,0 @@ -package tunnel - -import ( - "time" -) - -// Default backoff configuration. -const ( - DefaultBackoffInterval = 500 * time.Millisecond - DefaultBackoffMultiplier = 1.5 - DefaultBackoffMaxInterval = 20 * time.Second - DefaultBackoffMaxTime = 2 * time.Minute -) - -// BackoffConfig defines behavior of staggering reconnection retries. -type BackoffConfig struct { - Interval time.Duration - Multiplier float64 - MaxInterval time.Duration - MaxTime time.Duration -} - -// Dialout defines the dialout. -type Dialout struct { - Protocol string - Addr string - ServiceSNI string - RootCA string - ClientCRT string - ClientKEY string - Upstream string - UpstreamClientCRT string - UpstreamClientKEY string - UpstreamRootCA string - UpstreamSkipVerify bool - UpstreamKubeConfig string - Version string -} diff --git a/components/relay/pkg/tunnel/client_test.go b/components/relay/pkg/tunnel/client_test.go deleted file mode 100644 index a5cc9f9..0000000 --- a/components/relay/pkg/tunnel/client_test.go +++ /dev/null @@ -1,70 +0,0 @@ -package tunnel - -import ( - "fmt" - "net" - "sync" - "testing" - "time" -) - -const ( - //UNIXSOCKET .. - UNIXSOCKET = "/tmp/relay-unix-" -) - -func startClient(wg *sync.WaitGroup, buf []byte, t *testing.T) { - defer wg.Done() - - fmt.Print("starting client") - buf3 := make([]byte, 4096) - // connect to this socket - socketPath := UNIXSOCKET + "kubectldialin.relay.rafay.dev" - conn, err := net.DialTimeout("unix", socketPath, 60*time.Second) - if err != nil { - t.Error("failed to connect ", err) - return - } - - fmt.Println("Connected to ", socketPath) - - for { - conn.Write(buf) - str := "GET /apis/rbac.authorization.k8s.io/v1?timeout=32s HTTP/1.1\r\nHost: 192.168.56.103:6443\r\nUser-Agent: curl/7.54.0\r\nAccept: */*\r\nX-Rafay-User:namespace-admin-sa\r\nX-Rafay-Namespace: default\r\n\r\n" - conn.Write([]byte(str)) - - conn.SetReadDeadline(time.Now().Add(10 * (time.Second))) - - for { - nr, err := conn.Read(buf3) - if err != nil { - fmt.Println("done reading ", err) - return - } - data := buf3[0:nr] - println("Client got:", string(data), nr) - } - } -} - -func TestRelayClient(t *testing.T) { - var wg sync.WaitGroup - - buf := make([]byte, 1024) - num := 1 - key := "cluster1.kubectldialin.relay.rafay.dev-ABCD" - - message := fmt.Sprintf("{\"DialinKey\": \"%s\", \"UserName\": \"namespace-admin-sa\", \"SNI\": \"cluster1.kubectldialin.relay.rafay.dev\"}", key[:len(key)-1]) - copy(buf, message) - - for i := 0; i < num; i++ { - wg.Add(1) - fmt.Println("starting client") - go startClient(&wg, buf, t) - } - - fmt.Print("Waiting for workers") - wg.Wait() - - fmt.Print("Completed") -} diff --git a/components/relay/pkg/tunnel/common.go b/components/relay/pkg/tunnel/common.go deleted file mode 100644 index 472fcd2..0000000 --- a/components/relay/pkg/tunnel/common.go +++ /dev/null @@ -1,189 +0,0 @@ -package tunnel - -import ( - "crypto/tls" - "crypto/x509" - "fmt" - "io/ioutil" - "net" - "time" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" -) - -type handShakeMsg struct { - ServiceName string - Protocol string - Host string -} - -var ( - //PeerProbeChanel to push cluster connection probe. - //The RPC picks the sni and sends to core - PeerProbeChanel = make(chan string, 256) - emptyID [32]byte -) - -//ServerTLSConfigFromBytes prepare a tls config from cert,key,rootCA -func ServerTLSConfigFromBytes(certList []utils.SNICertificate, rootCAs []string, nextprotos ...string) (*tls.Config, error) { - var err error - - // load certs - config := &tls.Config{} - config.Certificates = make([]tls.Certificate, len(certList)) - - for i, v := range certList { - config.Certificates[i], err = tls.X509KeyPair(v.CertFile, v.KeyFile) - if err != nil { - return nil, err - } - } - - config.BuildNameToCertificate() - - // load rootCAs for client authentication - clientAuth := tls.RequireAndVerifyClientCert - var roots *x509.CertPool - if len(rootCAs) > 0 { - roots = x509.NewCertPool() - - for _, rootCA := range rootCAs { - rootPEM := []byte(rootCA) - if len(rootPEM) > 0 { - if ok := roots.AppendCertsFromPEM(rootPEM); !ok { - return nil, err - } - } - } - - clientAuth = tls.RequireAndVerifyClientCert - } - - config.ClientAuth = clientAuth - config.ClientCAs = roots - config.SessionTicketsDisabled = true - config.MinVersion = tls.VersionTLS12 - config.CipherSuites = []uint16{ - tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, - tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256} - config.PreferServerCipherSuites = true - if len(nextprotos) > 0 { - config.NextProtos = nextprotos - } else { - config.NextProtos = []string{"h1", "h2"} - } - - return config, nil -} - -//ClientTLSConfigFromBytes sets tls config -func ClientTLSConfigFromBytes(tlsCrt []byte, tlsKey []byte, rootPEM []byte, addr string) (*tls.Config, error) { - cert, err := tls.X509KeyPair(tlsCrt, tlsKey) - if err != nil { - return nil, err - } - - var roots *x509.CertPool - if len(rootPEM) > 0 { - roots = x509.NewCertPool() - if ok := roots.AppendCertsFromPEM(rootPEM); !ok { - return nil, err - } - } - - host, _, err := net.SplitHostPort(addr) - if err != nil { - return nil, err - } - - return &tls.Config{ - ServerName: host, - Certificates: []tls.Certificate{cert}, - InsecureSkipVerify: roots == nil, - RootCAs: roots, - SessionTicketsDisabled: true, - MinVersion: tls.VersionTLS12, - CipherSuites: []uint16{ - tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, - tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256}, - PreferServerCipherSuites: true, - }, nil -} - -//ClientTLSConfig sets tls config -func ClientTLSConfig(tlsCrt string, tlsKey string, rootCA string, addr string) (*tls.Config, error) { - - cert, err := tls.LoadX509KeyPair(tlsCrt, tlsKey) - if err != nil { - return nil, err - } - - var roots *x509.CertPool - if rootCA != "" { - roots = x509.NewCertPool() - rootPEM, err := ioutil.ReadFile(rootCA) - if err != nil { - return nil, err - } - if ok := roots.AppendCertsFromPEM(rootPEM); !ok { - return nil, err - } - } - - host, _, err := net.SplitHostPort(addr) - if err != nil { - return nil, err - } - - return &tls.Config{ - ServerName: host, - Certificates: []tls.Certificate{cert}, - InsecureSkipVerify: roots == nil, - RootCAs: roots, - SessionTicketsDisabled: true, - MinVersion: tls.VersionTLS12, - CipherSuites: []uint16{ - tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, - tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256}, - PreferServerCipherSuites: true, - }, nil -} - -//GetRemoteCertID extract peer ID -func GetRemoteCertID(conn *tls.Conn) (string, error) { - // Try a TLS connection over the given connection. We explicitly perform - // the handshake, since we want to maintain the invariant that, if this - // function returns successfully, then the connection should be valid - // and verified. - if err := conn.Handshake(); err != nil { - return "", err - } - - cs := conn.ConnectionState() - - // We should have exactly one peer certificate. - certs := cs.PeerCertificates - if cl := len(certs); cl != 1 { - return "", fmt.Errorf("expecting 1 peer certificate got %d", cl) - } - - // Get remote cert's ID. - remoteCert := certs[0] - //remoteID := New(remoteCert.Raw) - - return remoteCert.Subject.CommonName, nil -} - -func SendPeerProbe(chnl chan<- string, clustersni string) { - attempt := 0 - select { - case chnl <- clustersni: - return - default: - attempt++ - if attempt > 3 { - return - } - time.Sleep(5 * time.Second) - } -} diff --git a/components/relay/pkg/tunnel/dialin_pool.go b/components/relay/pkg/tunnel/dialin_pool.go deleted file mode 100644 index 993fd27..0000000 --- a/components/relay/pkg/tunnel/dialin_pool.go +++ /dev/null @@ -1,381 +0,0 @@ -package tunnel - -import ( - "context" - "fmt" - "net" - "net/http" - "sort" - "strconv" - "strings" - "sync" - "time" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "golang.org/x/net/http2" -) - -var _dplog *relaylogger.RelayLog - -type connPair struct { - conn net.Conn - clientConn *http2.ClientConn -} - -type dialinConnector struct { - // this is list of dialin peer ids - connKeys []string - lbIndex int -} -type dialinPool struct { - t *http2.Transport - conns map[string]connPair // key is host:port - free func(string) - mu sync.RWMutex - //map of connector IDs with dialin SNI key - dialinConnectors map[string]*dialinConnector -} - -func newDialinPool(t *http2.Transport, f func(string), log *relaylogger.RelayLog) *dialinPool { - return &dialinPool{ - t: t, - free: f, - conns: make(map[string]connPair), - dialinConnectors: make(map[string]*dialinConnector), - } -} - -func (p *dialinPool) URL(key string) string { - return fmt.Sprint("https://", key) -} - -//GetClientConn get connector -func (p *dialinPool) GetClientConn(req *http.Request, addr string) (*http2.ClientConn, error) { - p.mu.RLock() - defer p.mu.RUnlock() - - if cp, ok := p.conns[addr]; ok && cp.clientConn.CanTakeNewRequest() { - return cp.clientConn, nil - } - - return nil, errClientNotConnected -} - -// CheckDialinKeyExist check cached key's still exist in pool -func (p *dialinPool) CheckDialinKeyExist(key string) bool { - p.mu.RLock() - defer p.mu.RUnlock() - _, ok := p.conns[key] - return ok -} - -func (p *dialinPool) MarkDead(c *http2.ClientConn) { - p.mu.Lock() - defer p.mu.Unlock() - - for addr, cp := range p.conns { - if cp.clientConn == c { - _dplog.Debug("MarkDead", addr, p) - p.close(cp, addr) - s := strings.SplitAfter(addr, utils.JoinString) - if len(s) == 3 { - sni := strings.Trim(s[0], utils.JoinString) - addr := s[1] + s[2] - if !p.deleteDialinConnectorKey(sni, addr) { - _dplog.Error(nil, "error in dialin MarkDead connector key delete did not find key ", addr) - } - } - return - } - } -} - -func (p *dialinPool) AddConn(conn net.Conn, identifier string, sni string, remoteAddr string) (string, error) { - p.mu.Lock() - defer p.mu.Unlock() - - // append peer-cert-id with remoteAddr - addr := p.addr(identifier) + utils.JoinString + remoteAddr - - // prepend dialin sni to addr to construct the key - key := sni + utils.JoinString + addr - - if cp, ok := p.conns[key]; ok { - // check conns has the key - if err := p.ping(cp); err != nil { - p.close(cp, key) - } else { - return "", fmt.Errorf("connector key %s already in dialin pool ", key) - } - } - - // create transport new connection - c, err := p.t.NewClientConn(conn) - if err != nil { - return "", err - } - - // add conn to conns - p.conns[key] = connPair{ - conn: conn, - clientConn: c, - } - - go sendHeartBeats(p.conns[key]) - - // set dialinConnectors map using key as sni - if item, ok := p.dialinConnectors[sni]; ok { - itemCount := len(item.connKeys) - if itemCount <= 0 { - p.dialinConnectors[sni].connKeys = append(p.dialinConnectors[sni].connKeys, addr) - sort.Strings(p.dialinConnectors[sni].connKeys) - } else { - index := sort.SearchStrings(p.dialinConnectors[sni].connKeys, addr) - if index < itemCount && p.dialinConnectors[sni].connKeys[index] == addr { - _dplog.Info("address already exist") - } else { - //item not found - p.dialinConnectors[sni].connKeys = append(p.dialinConnectors[sni].connKeys, addr) - sort.Strings(p.dialinConnectors[sni].connKeys) - } - } - } else { - p.dialinConnectors[sni] = &dialinConnector{ - lbIndex: 0, - } - p.dialinConnectors[sni].connKeys = append(p.dialinConnectors[sni].connKeys, addr) - sort.Strings(p.dialinConnectors[sni].connKeys) - } - - _dplog.Info( - "Added dialin connection", - "addr", addr, - "key", key, - ) - return key, nil -} - -//GetDialinConnectorKey get connector key -func (p *dialinPool) GetDialinConnectorCount(sni string) (int, error) { - p.mu.RLock() - defer p.mu.RUnlock() - - _dplog.Debug( - "GetDialinConnectorCount", - "sni", sni, - "pool", p, - ) - - _dplog.Info("GetDialinConnectorCount", p.dialinConnectors) - if item, ok := p.dialinConnectors[sni]; ok { - itemCount := len(item.connKeys) - if itemCount > 0 { - return itemCount, nil - } - } - - return 0, fmt.Errorf("Empty dialin pool.dialinConnectors for sni %s ", sni) -} - -func (p *dialinPool) getConnKey(sni string, item *dialinConnector, count int) (string, error) { - for i := 0; i < count; i++ { - key := sni + utils.JoinString + item.connKeys[i] - if _, ok := p.conns[key]; ok { - return key, nil - } - } - - return "", fmt.Errorf("Empty dialin pool.dialinConnectors for sni %s ", sni) -} - -//GetDialinConnectorKey get connector key -func (p *dialinPool) GetDialinConnectorKey(sni string) (string, error) { - p.mu.Lock() - defer p.mu.Unlock() - - _dplog.Info( - "GetDialinConnectorKey", - "sni", sni, - ) - - if item, ok := p.dialinConnectors[sni]; ok { - itemCount := len(item.connKeys) - - if itemCount <= 0 { - return "", fmt.Errorf("Empty dialin pool.dialinConnectors for sni %s ", sni) - } - - //simple round robin selection - if item.lbIndex >= itemCount { - item.lbIndex = 0 - } - - key := sni + utils.JoinString + item.connKeys[item.lbIndex] - item.lbIndex++ - - // check key - if _, ok := p.conns[key]; !ok { - // get any key - return p.getConnKey(sni, item, itemCount) - } - - // key is valid - return key, nil - } - - return "", fmt.Errorf("Empty dialin pool.dialinConnectors for sni %s ", sni) -} - -func (p *dialinPool) deleteDialinConnectorKey(sni, addr string) bool { - if item, ok := p.dialinConnectors[sni]; ok { - itemCount := len(item.connKeys) - index := sort.SearchStrings(p.dialinConnectors[sni].connKeys, addr) - if index < itemCount { - // Not expecting lots of connectors. So using slower delete opeartion - // by shifting elements to preserve the sorted orders - p.dialinConnectors[sni].connKeys = append(item.connKeys[:index], item.connKeys[index+1:]...) - _dplog.Info( - "Deleted Connnection from dialin pool", - "addr", addr, - ) - if len(p.dialinConnectors[sni].connKeys) <= 0 { - _dplog.Info( - "Deleted last connection from dialin pool", - "sni", sni, - "addr", addr, - ) - delete(p.dialinConnectors, sni) - } - return true - } - } - return false -} - -func (p *dialinPool) DeleteConn(identifier string, sni string, remoteAddr string) { - p.mu.Lock() - defer p.mu.Unlock() - - // append peer-cert-id with remoteAddr - addr := identifier + utils.JoinString + remoteAddr - - // prepend dialin sni to addr to construct the key - key := sni + utils.JoinString + addr - if cp, ok := p.conns[key]; ok { - p.close(cp, key) - } else { - _dplog.Error( - nil, - "did not find key in pool.Conns", - "key", key, - "pool", p, - ) - } - - if p.deleteDialinConnectorKey(sni, addr) { - return - } - - _dplog.Info( - "DeleteConn did not find the coonection", - "sni", sni, - "addr", addr, - "key", key, - "pool", p, - ) - -} - -func (p *dialinPool) Ping(identifier string) (time.Duration, error) { - p.mu.Lock() - defer p.mu.Unlock() - - if cp, ok := p.conns[identifier]; ok { - start := time.Now() - err := p.ping(cp) - return time.Since(start), err - } - - return 0, errClientNotConnected -} - -// heart beats to keep dialins alive to avoid idletimeout -func sendHeartBeats(cp connPair) { - for { - ctx, cancel := context.WithTimeout(context.Background(), utils.DefaultPingTimeout) - if err := cp.clientConn.Ping(ctx); err != nil { - cancel() - _dplog.Debug("dialin keep-alive ping err", err) - return - } - _dplog.Debug("dialin keep-alive ping success") - cancel() - time.Sleep(30 * time.Second) - } -} - -func (p *dialinPool) ping(cp connPair) error { - ctx, cancel := context.WithTimeout(context.Background(), utils.DefaultPingTimeout) - defer cancel() - - return cp.clientConn.Ping(ctx) -} - -func (p *dialinPool) close(cp connPair, addr string) { - cp.conn.Close() - _dplog.Info("dialin close", addr) - delete(p.conns, addr) - if p.free != nil { - p.free(addr) - } -} - -func (p *dialinPool) addr(identifier string) string { - return identifier -} - -//StartDialinPoolMgr starting dialin connection manager -func StartDialinPoolMgr(ctx context.Context, log *relaylogger.RelayLog, exitChan chan<- bool) { - _dplog = log.WithName("DialinPool") - - for { - select { - case <-ctx.Done(): - slog.Error( - ctx.Err(), - "Stopping dialin pool manager", - ) - return - } - } -} - -//GetDialinMetrics get connector key -func (p *dialinPool) GetDialinMetrics(w http.ResponseWriter) { - var clusterCnt, connCnt int - clusterCnt, connCnt = 0, 0 - - p.mu.RLock() - defer p.mu.RUnlock() - - _dplog.Info( - "GetDialinMetrics", - ) - - fmt.Fprintf(w, "{\"dialinmetrics\": [") - for sni, item := range p.dialinConnectors { - clusterCnt++ - connCnt += len(item.connKeys) - itemCount := strconv.Itoa(len(item.connKeys)) - - fmt.Fprintf(w, "{\"cluster\": \""+sni+"\", \"connections\": \""+itemCount+"\"},") - - } - - fmt.Fprintf(w, "], \"totalclusters\": "+strconv.Itoa(clusterCnt)) - fmt.Fprintf(w, ", \"totalconnections\": "+strconv.Itoa(connCnt)) - fmt.Fprintf(w, ", \"podname\": "+utils.PODNAME) - - fmt.Fprintf(w, " }") -} diff --git a/components/relay/pkg/tunnel/errors.go b/components/relay/pkg/tunnel/errors.go deleted file mode 100644 index 73eff17..0000000 --- a/components/relay/pkg/tunnel/errors.go +++ /dev/null @@ -1,11 +0,0 @@ -package tunnel - -import "errors" - -var ( - errClientNotSubscribed = errors.New("client not subscribed") - errClientNotConnected = errors.New("client not connected") - errClientAlreadyConnected = errors.New("client already connected") - - errUnauthorised = errors.New("unauthorised") -) diff --git a/components/relay/pkg/tunnel/peer.go b/components/relay/pkg/tunnel/peer.go deleted file mode 100644 index 18d2e17..0000000 --- a/components/relay/pkg/tunnel/peer.go +++ /dev/null @@ -1,168 +0,0 @@ -package tunnel - -import ( - "context" - "crypto/tls" - "net/url" - - "time" - - comgrpc "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - peerclient "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/peering" - relayrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "google.golang.org/grpc/credentials" -) - -var peerlog *relaylogger.RelayLog - -//StartPeeringMgr will start the peering RPCs -func StartPeeringMgr(ctx context.Context, log *relaylogger.RelayLog, exitChan chan<- bool, config *ServerConfig) { - var tlsConfig *tls.Config - var err error - var peerSeviceHost string - - peerlog = log.WithName("PeeringMgr") - - if utils.PeerCache == nil { - peerlog.Error( - nil, - "peer client cache is nil", - ) - exitChan <- true - return - } - - //Peer Service Clint certs is popultaed from boot strap use it - if len(utils.PeerCertificate) > 0 && len(utils.PeerPrivateKey) > 0 && len(utils.PeerCACertificate) > 0 { - u, err := url.Parse(utils.PeerServiceURI) - if err != nil { - peerlog.Error( - nil, - "peer servic uri parse failed", - ) - exitChan <- true - return - } - //Load certificates - tlsConfig, err = ClientTLSConfigFromBytes(utils.PeerCertificate, utils.PeerPrivateKey, utils.PeerCACertificate, u.Host) - peerSeviceHost = u.Host - } else { - //Load certificates - tlsConfig, err = ClientTLSConfig(config.Controller.ClientCRT, config.Controller.ClientKEY, config.Controller.RootCA, config.Controller.PeerProbeSNI) - peerSeviceHost = config.Controller.PeerProbeSNI - } - - if err != nil { - peerlog.Error( - err, - "Error loading peer TLC config", - ) - exitChan <- true - return - } - - //enforce TLS mutual authN - transportCreds := credentials.NewTLS(tlsConfig) - -connectRetry: - log.Debug("Start Peer grpc dial") - conn, err := comgrpc.NewSecureClientConn(ctx, peerSeviceHost, transportCreds) - if err != nil { - peerlog.Error( - err, - "failed to connect to peer server, retry in 10 seconds", - peerSeviceHost, - ) - time.Sleep(10 * time.Second) - goto connectRetry - } - - log.Info("grpc connected to peer service", peerSeviceHost) - client := relayrpc.NewRelayPeerServiceClient(conn) - - // create RPC streams - helloStream, err := client.RelayPeerHelloRPC(context.Background()) - if err != nil { - peerlog.Error( - err, - "failed to create HelloRPC stream with peer server, retry in 10 seconds", - peerSeviceHost, - ) - conn.Close() - time.Sleep(10 * time.Second) - goto connectRetry - } - - probeStream, err := client.RelayPeerProbeRPC(context.Background()) - if err != nil { - peerlog.Error( - err, - "failed to create ProbeRPC stream with peer server, retry in 10 seconds", - peerSeviceHost, - ) - conn.Close() - time.Sleep(10 * time.Second) - goto connectRetry - } - - surveyStream, err := client.RelayPeerSurveyRPC(context.Background()) - if err != nil { - peerlog.Error( - err, - "failed to create SurveyRPC stream with peer server, retry in 10 seconds", - peerSeviceHost, - ) - conn.Close() - time.Sleep(10 * time.Second) - goto connectRetry - } - - peerlog.Debug( - "created RPC streams with peer server", - peerSeviceHost, - ) - - rpcctx, rpccancel := context.WithCancel(context.Background()) - go peerclient.ClientHelloRPC(rpcctx, helloStream, utils.PeerHelloInterval, utils.RelayUUID, utils.GetRelayIP) - //Add a init time wait for hello stream to finish - time.Sleep(2 * time.Second) - - go peerclient.ClientProbeRPC(rpcctx, probeStream, utils.PeerCache, utils.RelayUUID, utils.PeerCacheDefaultExpiry, PeerProbeChanel, utils.GetRelayIPPort) - - go peerclient.ClientSurveyRPC(rpcctx, surveyStream, utils.RelayUUID, utils.GetRelayIPPort, dialinCountLookup) - - for { - //Watch for errors in rpc streams. - //On error cancel the streams and reconnect. - //HelloRPC send heartbeats in every 60Sec. - //If there is underlying connectivity issues - //HelloRPC will detect it with in 60Sec, - select { - case <-helloStream.Context().Done(): - rpccancel() - conn.Close() - time.Sleep(5 * time.Second) - goto connectRetry - case <-probeStream.Context().Done(): - rpccancel() - conn.Close() - time.Sleep(5 * time.Second) - goto connectRetry - case <-surveyStream.Context().Done(): - rpccancel() - conn.Close() - time.Sleep(5 * time.Second) - goto connectRetry - case <-ctx.Done(): - rpccancel() - slog.Error( - ctx.Err(), - "Stopping PeeringMgr", - ) - return - } - } - -} diff --git a/components/relay/pkg/tunnel/server.go b/components/relay/pkg/tunnel/server.go deleted file mode 100644 index 86334b6..0000000 --- a/components/relay/pkg/tunnel/server.go +++ /dev/null @@ -1,2052 +0,0 @@ -// Copyright (C) 2020 Rafay Systems https://rafay.co/ - -package tunnel - -import ( - "bytes" - "context" - "crypto/tls" - "encoding/json" - "fmt" - "io" - "net" - "net/http" - "strconv" - "strings" - "sync" - "syscall" - "time" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/proxy" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/sessions" - - peerclient "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/peering" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/audit" - "github.com/RafaySystems/rcloud-base/components/relay/pkg/utils" - "github.com/inconshreveable/go-vhost" - "golang.org/x/net/http2" -) - -// Server server definition -type Server struct { - // Type of the server. Relay means user-facing - // Dialin means cluster-facing - Type string - - // Name specifies the service names example kubectl, kubeweb, etc. - Name string - - // ServerName of the listening server. - ServerName string - - // Protocol specifies protocol used http(s) - Protocol string - - // RootCA used to verify TLS client connections - RootCA []byte - - // ServerCRT used for the server - ServerCRT []byte - - // ServerKEY used for the server - ServerKEY []byte - - // DialinServerName specify the dialin server name - // valid only for relay server types. - DialinServerName string - - // ProbeSNI specifies sni used to find peers - //ProbeSNI string - - // DialinPool where dialin connections are parked - // valid only for dialin server types - DialinPool *dialinPool - - // httpClient used to forward users connections to dialin - httpClient *http.Client - - // httpServer used to server user connections - httpServer *http.Server - - Provisioner *authzProvisioner - - auditPath string -} - -//RelayConn connection info -type RelayConn struct { - // Conn is the network connection - Conn net.Conn - - // Type of the server. Relay means user-facing - // Dialin means cluster-facing - Type string - - // ServerName of the server which accepted the connection - ServerName string - - // CertSNI derived from client certificate - CertSNI string - - // PeerID derived from client certificate - PeerID string - - // server block of this connection - server *Server - - // dialinCachedKey already stiched to a dialin - dialinCachedKey string -} - -//ServerListen defines a listen object -type ServerListen struct { - // Addr specifies the listen address - Addr string - // Protocol of all servers listening in above address - Protocol string - // RootCAs used to verify TLS client connections - RootCAs []string - // List of certs used to terminate listening *.format supported - Certs []utils.SNICertificate - // ServerList are the servers using above listen address - ServerList []*Server - - //Mux tls sni muxer - Mux *vhost.TLSMuxer -} - -type kubeError struct { - Kind string `json:"kind"` - APIVersion string `json:"apiVersion"` - Metadata []string `json:"metadata"` - Status string `json:"status"` - Message string `json:"message"` - Reason string `json:"reason"` - Code int `json:"code"` -} - -var ( - //Config server config - Config *ServerConfig - //Servers map, key by ServerName - Servers = make(map[string]*Server) - //ServerAddrs Servers grouped with listen address - ServerAddrs = make(map[string][]*Server) - //ServerListeners list of listen objects - ServerListeners []*ServerListen - - // connections list of relay net.Conn/tls.Conn ojects - connections = make(map[string]*RelayConn) - // connectionsRWMu read write lock for the Connections map - connectionsRWMu sync.RWMutex - - slog *relaylogger.RelayLog -) - -func (srv *Server) disconnected(addr string) { - s := strings.Split(addr, utils.JoinString) - if len(s) < 3 { - slog.Error( - fmt.Errorf("error from disconnected callback invalid key"), - addr, - ) - return - } - remoteAddr := s[2] - if remoteAddr != "" { - deleteConnections(remoteAddr) - } -} - -// loadRelayServers from configuration -// This creates a server objects and add to -// Servers map with key as server name (*.DNS) -func loadRelayServers(config *ServerConfig) { - - slog.Info("Loading Servers form config") - - // Process config to prepare kubectl relay servers - for name, relay := range config.Relays { - provisioner, err := newAuthzProvisioner() - if err != nil { - slog.Error(err, "Unable to create provisioned") - return - } - Servers[relay.ServerName] = &Server{ - Type: utils.RELAY, - Name: name, - ServerName: relay.ServerName, - RootCA: relay.RootCA, - ServerCRT: relay.ServerCRT, - ServerKEY: relay.ServerKEY, - Protocol: relay.Protocol, - DialinServerName: relay.DialinSfx, - httpServer: &http.Server{}, - Provisioner: provisioner, - auditPath: config.AuditPath, - } - - if len(ServerAddrs[relay.Addr]) > 0 { - // check protocol - if ServerAddrs[relay.Addr][0].Protocol == relay.Protocol { - ServerAddrs[relay.Addr] = append(ServerAddrs[relay.Addr], Servers[relay.ServerName]) - } else { - // all servers listening on same address should have same - // protocol - slog.Info( - "Protocol missmatch for same addresses in relay", - "name", name, - "address", relay.Addr, - "protocol", relay.Protocol, - "expected", ServerAddrs[relay.Addr][0].Protocol, - ) - } - } else { - ServerAddrs[relay.Addr] = append(ServerAddrs[relay.Addr], Servers[relay.ServerName]) - } - } - - // Process config to prepare cd relay servers - for name, relay := range config.CDRelays { - Servers[relay.ServerName] = &Server{ - Type: utils.CDRELAY, - Name: name, - ServerName: relay.ServerName, - RootCA: relay.RootCA, - ServerCRT: relay.ServerCRT, - ServerKEY: relay.ServerKEY, - Protocol: relay.Protocol, - DialinServerName: relay.DialinSfx, - auditPath: config.AuditPath, - } - - if len(ServerAddrs[relay.Addr]) > 0 { - // check protocol - if ServerAddrs[relay.Addr][0].Protocol == relay.Protocol { - ServerAddrs[relay.Addr] = append(ServerAddrs[relay.Addr], Servers[relay.ServerName]) - } else { - // all servers listening on same address should have same - // protocol - slog.Info( - "Protocol missmatch for same addresses in relay", - "name", name, - "address", relay.Addr, - "protocol", relay.Protocol, - "expected", ServerAddrs[relay.Addr][0].Protocol, - ) - } - } else { - ServerAddrs[relay.Addr] = append(ServerAddrs[relay.Addr], Servers[relay.ServerName]) - } - } - - // Process config to prepare servers - for name, dialin := range config.Dialins { - s := &Server{ - Type: utils.DIALIN, - Name: name, - ServerName: dialin.ServerName, - RootCA: dialin.RootCA, - ServerCRT: dialin.ServerCRT, - ServerKEY: dialin.ServerKEY, - Protocol: dialin.Protocol, - } - - t := &http2.Transport{} - pool := newDialinPool(t, s.disconnected, slog) - t.ConnPool = pool - s.DialinPool = pool - s.httpClient = &http.Client{ - Transport: t, - CheckRedirect: func(req *http.Request, via []*http.Request) error { - return http.ErrUseLastResponse - }, - } - - Servers[dialin.ServerName] = s - - if len(ServerAddrs[dialin.Addr]) > 0 { - // check protocol - if ServerAddrs[dialin.Addr][0].Protocol == dialin.Protocol { - ServerAddrs[dialin.Addr] = append(ServerAddrs[dialin.Addr], Servers[dialin.ServerName]) - } else { - slog.Info( - "Protocol missmatch for same addresses in dilain", - "name", name, - "address", dialin.Addr, - "protocol", dialin.Protocol, - "expected", ServerAddrs[dialin.Addr][0].Protocol, - ) - } - } else { - ServerAddrs[dialin.Addr] = append(ServerAddrs[dialin.Addr], Servers[dialin.ServerName]) - } - } - - slog.Debug( - "Loaded Servers", - "Servers", Servers, - ) - - slog.Debug( - "Loaded ServerAddrs", - "ServerAddrs", ServerAddrs, - ) - - // Prepare listener list - for name, srvlst := range ServerAddrs { - var listenAddr string - - // override server listern address with relayIP if present. - // This is for running mutliple instance of relay in the same - // development host. - if utils.RelayIPFromConfig == "" { - listenAddr = name - } else { - listenAddr = utils.RelayIPFromConfig - } - - srvlistener := &ServerListen{ - Addr: listenAddr, - Protocol: srvlst[0].Protocol, - ServerList: srvlst, - } - - // set the list cert/key paires for this listener - for _, srv := range srvlst { - snicert := utils.SNICertificate{ - CertFile: srv.ServerCRT, - KeyFile: srv.ServerKEY, - } - srvlistener.Certs = append(srvlistener.Certs, snicert) - // set the rootCA list for this listener - srvlistener.RootCAs = append(srvlistener.RootCAs, string(srv.RootCA)) - } - - ServerListeners = append(ServerListeners, srvlistener) - } - - slog.Info( - "Loaded server ", - "num-listeners", len(ServerListeners), - ) -} - -func (srv *Server) connectRequest(key string, msg *utils.ControlMessage, r io.Reader) (*http.Request, error) { - req, err := http.NewRequest(http.MethodPut, srv.DialinPool.URL(key), r) - if err != nil { - return nil, fmt.Errorf("could not create request: %s", err) - } - // write message to header - utils.WriteToHeader(req.Header, msg) - - return req, nil -} - -//dialinLookup check for cluster connection -func dialinCountLookup(sni string) int { - for _, dsrv := range Servers { - if dsrv.Type == utils.DIALIN { - // look dialin pool to find dilain connection key - cnt, err := dsrv.DialinPool.GetDialinConnectorCount(sni) - if err == nil { - return cnt - } - } - } - return 0 -} - -//ProcessPeerForwards ... -func (srv *Server) ProcessPeerForwards(w http.ResponseWriter, r *http.Request, lg *relaylogger.RelayLog, relayIP string, certIssue int64) { - - lg.Debug("ProcessPeerForwards:", relayIP, r.TLS.ServerName) - _, port, err := net.SplitHostPort(relayIP) - if err != nil { - port = "443" - } - - tlscfg, err := ClientTLSConfigFromBytes(srv.ServerCRT, srv.ServerKEY, srv.RootCA, r.TLS.ServerName+":"+port) - if err != nil { - lg.Error( - err, - "Failed to process peer configs", - ) - return - } - //setsup the upgradeaware peer handler - peerHandler, err := proxy.PeerKubeHandler(tlscfg, relayIP) - if err != nil { - lg.Error( - err, - "unable to create peer handler", - ) - return - } - - utils.SetXForwardedFor(r.Header, r.RemoteAddr) - //Update the UUID in the header to detect loops - utils.SetXRAYUUID(r.Header) - - r.Header.Set("X-Rafay-User-Cert-Issued", strconv.FormatInt(certIssue, 10)) - - // set peer security upstream headers - err = utils.PeerSetHeaderNonce(r.Header) - if err != nil { - lg.Error( - err, - "unable to set security headers in peer upstream", - ) - return - } - - //upgradeaware upstreaming - peerHandler.ServeHTTP(w, r) - lg.Debug( - "done Serving peerHandler.ServeHTTP ", - ) -} - -// ProcessCDPeerForwards ... -func (srv *Server) ProcessCDPeerForwards(ctx context.Context, conn net.Conn, lg *relaylogger.RelayLog, relayIP string, state tls.ConnectionState) { - var peerAddr string - lg.Debug("ProcessCDPeerForwards:", relayIP, state.ServerName) - _, port, err := net.SplitHostPort(relayIP) - if err != nil { - port = "443" - peerAddr = relayIP + ":443" - } - - tlscfg, err := ClientTLSConfigFromBytes(srv.ServerCRT, srv.ServerKEY, srv.RootCA, state.ServerName+":"+port) - if err != nil { - lg.Error( - err, - "Failed to process peer configs", - ) - return - } - - pconn, err := tls.Dial("tcp", peerAddr, tlscfg) - if err != nil { - lg.Error( - err, - "failed to connect to peer", - "addr", peerAddr, - ) - return - } - defer pconn.Close() - - utils.Transfer(flushWriter{pconn, lg, pconn}, conn, lg, "client to cdpeer") - -processCDPeerForwardDone: - for { - select { - case <-ctx.Done(): - break processCDPeerForwardDone - - } - } - - // wait 2 sec before closing - time.Sleep(2 * time.Second) - return -} - -//ProcessRelayRequest process user-facing request -func (srv *Server) ProcessRelayRequest(w http.ResponseWriter, r *http.Request, lg *relaylogger.RelayLog) { - var ( - rafayUserName string - sessionKey string - clusterServerName string - clusterID string - dialinSNI string - certIssue int64 - dialinAttempt int - ok bool - session *sessions.UserSession - ) - - srvlog := lg.WithName("RelayRequest") - srvlog.Debug( - "processing relay request", - ) - - // prepare the dilain lookup key - if r.TLS.ServerName == srv.ServerName { - srvlog.Error( - nil, - "Wildcard ServerName is expected", - "ServerName", srv.ServerName, - "expected SNI", "*."+srv.ServerName, - ) - errStirng := "ERROR: Unauthenticated access not allowed. Please log in to the portal and download new kubeconfig" - jsonError(w, errStirng, "invalid cert in kubeconfig", http.StatusUnauthorized) - return - } - srvlog.Debug("ProcessRelayRequest", "r.TLS.ServerName", r.TLS.ServerName, "srv.ServerName", srv.ServerName) - - strs := strings.Split(r.TLS.ServerName, strings.ReplaceAll(srv.ServerName, "*", "")) - if len(strs) <= 0 { - srvlog.Error( - nil, - "ServeName is not the suffix of SNI", - "ServerName", srv.ServerName, - "SNI", r.TLS.ServerName, - ) - errStirng := "ERROR: Unauthenticated access not allowed. Please log in to the portal and download new kubeconfig" - jsonError(w, errStirng, "invalid cert in kubeconfig", http.StatusUnauthorized) - return - } - - if len(r.TLS.PeerCertificates) <= 0 { - srvlog.Error( - nil, - "did not find any peer certificates in the request", - ) - errStirng := "ERROR: Unauthenticated access not allowed. Please log in to the portal and download new kubeconfig" - jsonError(w, errStirng, "invalid cert in kubeconfig", http.StatusUnauthorized) - return - } - - if r.TLS.PeerCertificates[0].Subject.CommonName == "" { - srvlog.Error( - nil, - "cerficate CN is empty", - ) - errStirng := "ERROR: Unauthenticated access not allowed. Please log in to the portal and download new kubeconfig" - jsonError(w, errStirng, "invalid cert in kubeconfig", http.StatusUnauthorized) - return - } - - issueDate := r.TLS.PeerCertificates[0].NotBefore - certIssue = issueDate.Unix() - srvlog.Debug("certificate usse epoch in secs", certIssue) - - sessionKey = "" - session = nil - //check the request is from a peer relay - if r.Header.Get("X-Rafay-XRAY-RELAYUUID") == "" { - srvlog.Debug( - "procesing user request common name from cert", - "CN", r.TLS.PeerCertificates[0].Subject.CommonName, - ) - - //User name is extracted from client certificate CN - rafayUserName = r.TLS.PeerCertificates[0].Subject.CommonName - sessionKey = r.TLS.ServerName + ":" + rafayUserName - session, ok = sessions.GetUserSession(sessionKey) - if !ok { - //Create session for the user - session = &sessions.UserSession{ - Type: srv.Type, - ServerName: srv.ServerName, - CertSNI: r.TLS.ServerName, - DialinCachedKey: "", - ErrorFlag: false, - } - sessions.AddUserSession(session, sessionKey) - srvlog.Info( - "Created new session", - "key", sessionKey, - ) - } else { - srvlog.Debug( - "Found existing session", - "key", sessionKey, - "dialin sticky key", session.DialinCachedKey, - ) - } - - clusterID = strs[0] - dialinSNI = strings.ReplaceAll(srv.DialinServerName, "*", strs[0]) - dialinAttempt = 0 - } else { - var err error - // to protect from a bad actor injecting rogue headers we need - // to validate the request tls parametes to make sure the client cert - // has expcted values. - - // 1. using a shared 256 key aes encryption blob added with a nonce - // validate the decrypted text using shared key produces expected result - // to make sure no tampering in headers - /* - if utils.CheckRelayLoops(r.Header) { - var allIds string - - if uuidHdr, ok := r.Header["X-Rafay-XRAY-RELAYUUID"]; ok { - allIds = strings.Join(uuidHdr, ", ") - } - srvlog.Error( - fmt.Errorf("LOOP detected in peerforwards"), - "failed peer loop detection check RelayUUID", utils.RelayUUID, - "header X-Rafay-XRAY-RELAYUUID allIds", allIds, - ) - } - */ - if !utils.CheckPeerHeaders(r.Header) { - srvlog.Error( - fmt.Errorf("failed to validate the peer upstream security header"), - "failed peer upstream due to secuity reasons", - ) - errStirng := "ERROR: Unauthenticated access not allowed . Please log in to the portal and download new kubeconfig" - jsonError(w, errStirng, "failed to validate request in peer proxy", http.StatusUnauthorized) - return - } - - rafayUserName = r.Header.Get("X-Rafay-User") - clusterServerName = r.Header.Get("X-Rafay-Cluster-ServerName") - clusterID = r.Header.Get("X-Rafay-Cluster-ID") - issDateSecStr := r.Header.Get("X-Rafay-User-Cert-Issued") - if issDateSecStr == "" { - srvlog.Error( - fmt.Errorf("peer did not send a valid user cert issue date header"), - "failed peer upstream due to missing cert issuedate header", - ) - } - certIssue, err = strconv.ParseInt(issDateSecStr, 10, 64) - if err != nil { - srvlog.Error( - fmt.Errorf("peer did not send a valid user cert issue date header"), - "failed peer upstream due to missing cert issuedate header", - ) - } - - srvlog.Debug( - "forwarded request from peer", - "rafayUserName", rafayUserName, - "clusterServerName", clusterServerName, - "clusterID", clusterID, - "certIssue:", certIssue, - ) - - if rafayUserName == "" || clusterServerName == "" || clusterID == "" { - srvlog.Error( - nil, - "Did not find required headers", - "X-Rafay-User", rafayUserName, - "X-Rafay-Cluster-Name", clusterServerName, - "X-Rafay-Cluster-ID", clusterID, - ) - errStirng := "ERROR: Unauthenticated access not allowed (kubeconfig invalid cert). Please log in to the portal and download new kubeconfig" - jsonError(w, errStirng, "failed to find user/cluster details", http.StatusUnauthorized) - return - } - - sessionKey = clusterServerName + ":" + rafayUserName - session, ok = sessions.GetUserSession(sessionKey) - if !ok { - //Create session for the user - session = &sessions.UserSession{ - Type: srv.Type, - ServerName: srv.ServerName, - CertSNI: clusterServerName, - DialinCachedKey: "", - ErrorFlag: false, - } - sessions.AddUserSession(session, sessionKey) - srvlog.Info( - "Created new session", - "key", sessionKey, - ) - } else { - srvlog.Debug( - "Found existing session", - "key", sessionKey, - "dialin sticky key", session.DialinCachedKey, - ) - } - - //prifixName is the clusterid/uuid for the endpoint - dialinSNI = strings.ReplaceAll(srv.DialinServerName, "*", clusterID) - dialinAttempt = 0 - } - r.Header.Set("X-Rafay-Audit", "yes") - -retryDialin: - // get the dialin server instance - if dsrv, ok := Servers[srv.DialinServerName]; ok { - if session.DialinCachedKey == "" { - // look dialin pool to find dilain connection key - key, err := dsrv.DialinPool.GetDialinConnectorKey(dialinSNI) - if err != nil { - srvlog.Info( - "No dialins", - "error", err, - "dialinAttempt", dialinAttempt, - ) - // Lookup peerCache to fetch cluster connection - // On cache-miss send the probe, wait and retry 5 times - relayIP, found := peerclient.GetPeerCache(utils.PeerCache, dialinSNI) - if found { - // forward the client request to peer upstream - r.Header.Set("X-Rafay-User", rafayUserName) - r.Header.Set("X-Rafay-Cluster-ServerName", r.TLS.ServerName) - r.Header.Set("X-Rafay-Cluster-ID", clusterID) - r.Header.Del("X-Rafay-Audit") - srv.ProcessPeerForwards(w, r, lg, relayIP, certIssue) - return - } else { - if dialinAttempt == 0 { - go SendPeerProbe(PeerProbeChanel, dialinSNI) - } - - dialinAttempt++ - if dialinAttempt > 7 { - errStirng := "ERROR: failed to forward request to cluster. Please retry" - jsonError(w, errStirng, "failed to find connection", http.StatusInternalServerError) - return - } - // wait for total ~20 sec to learn from core - // else drop the connection - time.Sleep(3 * time.Second) - goto retryDialin - } - } else { - //cache it - session.DialinCachedKey = key - } - } else { - //verify cache is valid - if !dsrv.DialinPool.CheckDialinKeyExist(session.DialinCachedKey) { - session.DialinCachedKey = "" - goto retryDialin - } - } - - srvlog.Debug( - "dialin connection lookup", - "key", session.DialinCachedKey, - "sessionKey", sessionKey, - ) - - //unix socket for stiching user request to dialin - socketPath := utils.UNIXSOCKET + srv.DialinServerName - - if session.UserName == "" { - userName, roleName, isRead, isOrgAdmin, enforceOrgAdminSecret, err := srv.Provisioner.ProvisionAuthzForUser(socketPath, rafayUserName, r.TLS.ServerName, session.DialinCachedKey, session.ErrorFlag, false, certIssue) - if err != nil { - var errStirng string - srvlog.Error( - err, - "unable to provision authz for user", - ) - if userName == "" { - errStirng = "ERROR: Unauthenticated access not allowed. Please log in to the portal via browser, or set up API key, for access via the secure kubectl proxy. Error:" + err.Error() - } else { - errStirng = "ERROR: Connection timed-out. Unable to provision cluster RBAC. Please retry." - } - jsonError(w, errStirng, "unable to proxy kubectl service", http.StatusUnauthorized) - session.DialinCachedKey = "" - sessions.DeleteUserSession(sessionKey) - return - } - session.UserName = userName - session.IsReadrole = isRead - session.RoleName = roleName - session.IsOrgAdmin = isOrgAdmin - session.EnforceOrgAdminOnlySecret = enforceOrgAdminSecret - } else { - go func() { - _, roleName, isRead, isOrgAdmin, enforceOrgAdminSecret, err := srv.Provisioner.ProvisionAuthzForUser(socketPath, rafayUserName, r.TLS.ServerName, session.DialinCachedKey, session.ErrorFlag, true, certIssue) - if err != nil { - srvlog.Error( - err, - "unable to provision authz for user", - ) - session.UserName = "" - } - session.IsReadrole = isRead - session.RoleName = roleName - session.IsOrgAdmin = isOrgAdmin - session.EnforceOrgAdminOnlySecret = enforceOrgAdminSecret - }() - } - - //check readrole vs pod exec - if session.IsReadrole { - if sessions.GetRoleCheck(r.Method, r.URL.Path) { - errStirng := fmt.Sprintf("ERROR: request forbidden for the role %s.", session.RoleName) - jsonError(w, errStirng, "unable to authorize user request", http.StatusUnauthorized) - return - } - } - - if session.EnforceOrgAdminOnlySecret && !session.IsOrgAdmin { - if sessions.GetSecretRoleCheck(r.Method, r.URL.Path) { - errStirng := "ERROR: request for secret resource is forbidden. Contact your organization admin" - jsonError(w, errStirng, "unable to authorize user request to secret", http.StatusUnauthorized) - return - } - } - - //setsup the upgradeaware unix handler - unixHandler, err := proxy.UnixKubeHandler(socketPath, session.DialinCachedKey, rafayUserName, r.TLS.ServerName) - if err != nil { - srvlog.Error( - err, - "unable to create unix handler", - ) - errStirng := "ERROR: failed to forward request to cluster. Please retry" - jsonError(w, errStirng, "unable to create forward handler", http.StatusInternalServerError) - return - } - - //These are the headers used by relay-agent to fetch - //user information. - r.Header.Set("X-Rafay-User", session.UserName) - r.Header.Set("X-Rafay-Key", session.DialinCachedKey) - r.Header.Set("X-Rafay-Namespace", "rafay-system") - r.Header.Set("X-Rafay-Sessionkey", sessionKey) - utils.SetXForwardedFor(r.Header, r.RemoteAddr) - utils.SetXRAYUUID(r.Header) - if session.ErrorFlag { - r.Header.Set(utils.HeaderClearSecret, "true") - } - - //upgradeaware uinix upstreaming - unixHandler.ServeHTTP(w, r) - srvlog.Debug( - "done Serving unixHandler.ServeHTTP ", - ) - if session.ErrorFlag { - session.DialinCachedKey = "" - sessions.DeleteUserSession(sessionKey) - } - } -} - -func jsonError(w http.ResponseWriter, message, reason string, code int) { - w.Header().Set("Content-Type", "application/json; charset=utf-8") - w.Header().Set("X-Content-Type-Options", "nosniff") - w.WriteHeader(code) - resp := &kubeError{Kind: "Status", APIVersion: "v1", Metadata: nil, Status: "Failure", Message: message, Reason: reason, Code: code} - e, err := json.Marshal(resp) - if err == nil { - fmt.Fprintln(w, string(e)) - return - } - fmt.Fprintln(w, message+" "+reason) -} - -//ServeHTTP requests from userfacing connection -func (srv *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { - servelog := slog.WithName("RelayServeHTTP") - servelog.Debug( - "start serving user http", - ) - - if len(r.TLS.PeerCertificates) <= 0 { - servelog.Error( - nil, - "no client certificate in request", - ) - errStirng := "ERROR: Unauthenticated access not allowed. Please log in to the portal and download new kubeconfig" - jsonError(w, errStirng, "invalid cert in kubeconfig", http.StatusUnauthorized) - return - } - - //client certificate - servelog.Debug( - "describe client certificate", - "ServerName", r.TLS.ServerName, - "Peer CN", r.TLS.PeerCertificates[0].Subject.CommonName, - "Peer Serial", r.TLS.PeerCertificates[0].Subject.SerialNumber, - "NegotiatedProtocol", r.TLS.NegotiatedProtocol, - "NegotiatedProtocolIsMutual", r.TLS.NegotiatedProtocolIsMutual, - ) - - switch srv.Type { - case utils.RELAY: - srv.ProcessRelayRequest(w, r, servelog) - default: - servelog.Error( - nil, - "unexpected server type", - "ServerName", srv.ServerName, - "type", srv.Type, - ) - } - -} - -//AddToDialinPool add connection to dialin pool of the server -func (srv *Server) AddToDialinPool(rconn *RelayConn, remoteAddr string) (string, error) { - slog.Info( - "AddToDialinPool", - "identifier", rconn.PeerID, - "ServerName", rconn.ServerName, - "CertSNI", rconn.CertSNI, - ) - - key, err := srv.DialinPool.AddConn(rconn.Conn, rconn.PeerID, rconn.CertSNI, remoteAddr) - if err != nil { - slog.Error( - err, - "adding connection failed", - "server", srv.ServerName, - ) - return "", err - } - - slog.Info( - "Added conn to pool of", - "server", srv.ServerName, - ) - - return key, nil -} - -func getSNIMuxDebugString(tmp []byte) string { - dstr := "" - for i := range tmp { - if i >= len(tmp) { - break - } - b := tmp[i] - if b < 32 || b > 126 { - dstr = dstr + " . " - } else { - dstr = dstr + " " + string(b) - } - } - return dstr -} - -//StartHTTPSListen start TLS listen on address -//Both user & dialin endpoint listen on 443 -//Based on SNI traffic is routed/muxed to appropriate handler -func (sl *ServerListen) StartHTTPSListen(ctx context.Context) { - slistenlog := slog.WithName("Listener") - slistenlog.Info( - "starting listener", - "addr", sl.Addr, - "protocol", sl.Protocol, - "num-servers", len(sl.ServerList), - ) - - l, err := net.Listen("tcp", sl.Addr) - if err != nil { - slistenlog.Error( - err, - "failed to listen", - "addr", sl.Addr, - ) - return - } - - //close the listener when ctx is done - go func() { - defer l.Close() - - <-ctx.Done() - slistenlog.Info( - "stopping listener", - "address", sl.Addr, - ) - }() - - sl.Mux, err = vhost.NewTLSMuxer(l, utils.DefaultMuxTimeout) - if err != nil { - slistenlog.Error( - err, - "failed in NewTLSMuxer", - ) - return - } - - for name, srv := range Servers { - slistenlog.Info( - "start mux listen on ", - "sni", name, - ) - snil, err := sl.Mux.Listen(name) - if err != nil { - slistenlog.Error( - err, - "failed in sl.Mux.Listen", - "sni", name, - ) - return - } - //listen routine for sni (name) - go srv.sniListen(ctx, name, snil, sl) - - if srv.Type == utils.DIALIN && utils.Mode != utils.CDRELAY { - //start the unix socket listen for each - //dialin server block - go srv.startUnixListen(ctx, slistenlog) - } - } - - // custom error handler for the mux - go func() { - for { - conn, err := sl.Mux.NextError() - vhostName := "" - tlsConn, ok := conn.(*vhost.TLSConn) - dbgStr := "" - if conn != nil { - tmp := make([]byte, 256) - n, _ := conn.Read(tmp) - if n > 0 { - dbgStr = getSNIMuxDebugString(tmp) - } - } - - if ok { - vhostName = tlsConn.Host() - slistenlog.Error( - nil, - "vhostName", vhostName, - "raddr", conn.RemoteAddr(), - "laddr", conn.LocalAddr(), - "peekbuf", dbgStr, - ) - } else { - slistenlog.Error( - nil, - "error in getting tlsConn", - "raddr", conn.RemoteAddr(), - "laddr", conn.LocalAddr(), - "peekbuf", dbgStr, - ) - } - - switch err.(type) { - case vhost.BadRequest: - slistenlog.Info( - "got a bad request!", - "addr", conn.RemoteAddr(), - "tlsConn", tlsConn, - "err", err, - ) - case vhost.NotFound: - slistenlog.Error( - err, - "got a connection for an unknown vhost", - "addr", vhostName, - "tlsConn", tlsConn, - ) - case vhost.Closed: - slistenlog.Error( - err, - "vhost closed conn", - "addr", vhostName, - "tlsConn", tlsConn, - ) - } - - if conn != nil { - slistenlog.Debug( - "closing connection", - "raddr", conn.RemoteAddr(), - "laddr", conn.LocalAddr(), - ) - conn.Close() - } - } - }() -} - -func (srv *Server) proxyUnixConnection(ctx context.Context, conn net.Conn, lg *relaylogger.RelayLog) { - var pmsg utils.ProxyProtocolMessage - - defer conn.Close() - conn.SetReadDeadline(time.Now().Add(utils.DefaultTimeout)) - //first utils.ProxyProtocolSize bytes reserved for proxy protocol like buffer - buf := make([]byte, utils.ProxyProtocolSize) - n, err := io.ReadAtLeast(conn, buf, utils.ProxyProtocolSize) - if err != nil { - lg.Error( - err, - "failed in unix listen to read", - "size", utils.ProxyProtocolSize, - "srv", srv.ServerName, - ) - } - - lg.Debug( - "unix listen read proxy protocol info", - "msglen", n, - "message", string(buf), - ) - - if n == utils.ProxyProtocolSize { - n = bytes.IndexByte(buf, 0) - err = json.Unmarshal(buf[:n], &pmsg) - if err != nil { - lg.Error( - err, - "failed to parse json", - "msg", string(buf[:n]), - ) - return - } - } else { - return - } - - if !srv.DialinPool.CheckDialinKeyExist(pmsg.DialinKey) { - lg.Error( - nil, - "did not find key in the dilain pool", - "key", pmsg.DialinKey, - ) - return - } - - pr, pw := io.Pipe() - defer pr.Close() - defer pw.Close() - - msg := &utils.ControlMessage{ - Action: utils.ActionProxy, - ForwardedHost: pmsg.SNI, - ForwardedService: srv.Name, - RafayUserName: pmsg.UserName, // for testing only - RafayNamespace: "default", // for testing only - RafayScope: "default", // for testing only - RafayAllow: "true", // for testing only - } - - req, err := srv.connectRequest(pmsg.DialinKey, msg, pr) - if err != nil { - lg.Error( - err, - "failed in srv.connectRequest", - ) - return - } - - nctx, cancel := context.WithCancel(ctx) - req = req.WithContext(nctx) - - done := make(chan struct{}) - go func() { - utils.Transfer(flushWriter{pw, lg, conn}, conn, lg, "unix to tunnel") - cancel() - close(done) - }() - - resp, err := srv.httpClient.Do(req) - if err != nil { - lg.Error( - err, - "io error:", - ) - return - } - defer resp.Body.Close() - - utils.Transfer(flushWriter{conn, lg, conn}, resp.Body, lg, "tunnel to unix") - -proxyUnixConnectionDone: - for { - select { - case <-nctx.Done(): - break proxyUnixConnectionDone - case <-ctx.Done(): - break proxyUnixConnectionDone - case <-done: - break proxyUnixConnectionDone - case <-time.After(300 * time.Second): - lg.Error( - fmt.Errorf("proxyUnixConnection waited 5 min for idle client to close"), - "break the loop to avoid memory exhaustion", - ) - break proxyUnixConnectionDone - } - } - - // wait 2 sec before closing - time.Sleep(2 * time.Second) -} - -func (srv *Server) proxyCDDilainConnection(ctx context.Context, conn net.Conn, dialinKey, rafayUserName, sni string, lg *relaylogger.RelayLog) { - defer conn.Close() - conn.SetReadDeadline(time.Now().Add(utils.DefaultTimeout)) - - pr, pw := io.Pipe() - defer pr.Close() - defer pw.Close() - - msg := &utils.ControlMessage{ - Action: utils.ActionProxy, - ForwardedHost: sni, - ForwardedService: srv.ServerName, - RafayUserName: rafayUserName, // for testing only - RafayNamespace: "default", // for testing only - RafayScope: "default", // for testing only - RafayAllow: "true", // for testing only - } - - req, err := srv.connectRequest(dialinKey, msg, pr) - if err != nil { - lg.Error( - err, - "failed in srv.connectRequest", - ) - return - } - - nctx, cancel := context.WithCancel(ctx) - req = req.WithContext(nctx) - - done := make(chan struct{}) - go func() { - utils.Transfer(flushWriter{pw, lg, conn}, conn, lg, "client to tunnel") - cancel() - close(done) - }() - - resp, err := srv.httpClient.Do(req) - if err != nil { - lg.Error( - err, - "io error:", - ) - return - } - defer resp.Body.Close() - - utils.Transfer(flushWriter{conn, lg, conn}, resp.Body, lg, "tunnel to client") - -proxyCDDilainConnectionDone: - for { - select { - case <-nctx.Done(): - break proxyCDDilainConnectionDone - case <-ctx.Done(): - break proxyCDDilainConnectionDone - case <-done: - break proxyCDDilainConnectionDone - case <-time.After(300 * time.Second): - lg.Error( - fmt.Errorf("proxyCDDilainConnection waited 5 min for idle client to close"), - "break the loop to avoid memory exhaustion", - ) - break proxyCDDilainConnectionDone - } - } - - // wait 2 sec before closing - time.Sleep(2 * time.Second) -} - -//start the unix socket that listens for connections to -//stich to a dialin. User request are handled here -func (srv *Server) startUnixListen(ctx context.Context, lg *relaylogger.RelayLog) { - //start listen the dialin unix pipe - socketpath := utils.UNIXSOCKET + srv.ServerName - syscall.Unlink(socketpath) - ul, err := net.Listen("unix", socketpath) - if err != nil { - lg.Error( - err, - "couldn't listen to", - "socketpath", socketpath, - ) - } - - //close the listener when ctx is done - go func() { - defer ul.Close() - - <-ctx.Done() - lg.Info( - "stopping listener", - "address", socketpath, - ) - }() - - lg.Info( - "started unix listen", - "socketpath", socketpath, - ) - - uctx, cancel := context.WithCancel(ctx) - defer cancel() - // Wait for a connection and accept it - for { - conn, err := ul.Accept() - - if err != nil { - if strings.Contains(err.Error(), "use of closed network connection") || - strings.Contains(err.Error(), "Listener closed") { - lg.Error( - err, - "unix listener closed", - "srv", srv.ServerName, - ) - return - } - lg.Error( - err, - "Accept failed ", - "srv", srv.ServerName, - ) - continue - } - go srv.proxyUnixConnection(uctx, conn, lg) - } -} - -//sni based muxing (virtual hosting) handler that get called based on SNI -func (srv *Server) sniListen(ctx context.Context, sni string, l net.Listener, sl *ServerListen) { - var tlsconfig *tls.Config - var err error - - snilistenlog := slog.WithName("SNIListen") - - // prepare TLS configuration for the server - if srv.Type == utils.RELAY { - tlsconfig, err = ServerTLSConfigFromBytes(sl.Certs, sl.RootCAs, "http/1.1") - } else if srv.Type == utils.CDRELAY { - tlsconfig, err = ServerTLSConfigFromBytes(sl.Certs, sl.RootCAs) - } else if srv.Type == utils.DIALIN { - tlsconfig, err = ServerTLSConfigFromBytes(sl.Certs, sl.RootCAs) - } else { - snilistenlog.Error(nil, "unknown server type ", srv.Type, "addr", sl.Addr) - return - } - - if err != nil { - snilistenlog.Error( - err, - "failed to create tlsconfig", - "addr", sl.Addr, - ) - return - } - - if srv.Type == utils.RELAY { - //User facing server - srv.httpServer.TLSConfig = tlsconfig - srv.httpServer.Handler = http.HandlerFunc(srv.ServeHTTP) - - snilistenlog.Debug( - "starting srv.httpServer.ServeTLS", - "sni", sni, - "name", srv.ServerName, - "addr", sl.Addr, - ) - - srv.httpServer.Handler = audit.WrapWithAudit( - srv.httpServer.Handler, - audit.WithBasePath(srv.auditPath), - audit.WithMaxSizeMB(1), - audit.WithMaxBackups(20), - audit.WithMaxAgeDays(10), - ) - - //start TLS handshake - srv.httpServer.ServeTLS(l, "", "") - } - - if srv.Type == utils.CDRELAY { - for { - // accept connections - conn, err := l.Accept() - if err != nil { - if strings.Contains(err.Error(), "use of closed network connection") { - snilistenlog.Error( - err, - "control connection listener closed", - "addr", sl.Addr, - ) - return - } - - snilistenlog.Error( - err, - "accept of connection failed", - "addr", sl.Addr, - ) - continue - } - - // handler for the accepted CD connections - go srv.handleCDRelayConnection(ctx, conn, tlsconfig) - } - } - - if srv.Type == utils.DIALIN { - for { - // accept connections - conn, err := l.Accept() - if err != nil { - if strings.Contains(err.Error(), "use of closed network connection") { - snilistenlog.Error( - err, - "control connection listener closed", - "addr", sl.Addr, - ) - return - } - - snilistenlog.Error( - err, - "accept of connection failed", - "addr", sl.Addr, - ) - continue - } - - // handler for the accepted connection - go srv.handleDialinConnection(conn, tlsconfig) - } - } - - snilistenlog.Error( - nil, - "unknown service type ", - "type", srv.Type, - ) -} - -func (srv *Server) sendDialinHandshake(key string, lg *relaylogger.RelayLog) error { - var hMsg handShakeMsg - - sndlog := lg.WithName("sendDialinHandshake") - - sndlog.Debug( - "send dialin handhshake", - "key", key, - "httpClient.Transport", srv.httpClient.Transport, - "pool", srv.DialinPool, - ) - - req, err := http.NewRequest(http.MethodConnect, srv.DialinPool.URL(key), nil) - if err != nil { - sndlog.Error( - err, - "handshake request creation failed", - ) - return err - } - - { - ctx, cancel := context.WithTimeout(context.Background(), utils.DefaultTimeout) - defer cancel() - req = req.WithContext(ctx) - } - - resp, err := srv.httpClient.Do(req) - if err != nil { - sndlog.Error( - err, - "handshake failed", - ) - return err - } - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - err = fmt.Errorf("Status %s", resp.Status) - sndlog.Error( - err, - "dialin handshake response is not 200 OK", - "resp.StatusCode", resp.StatusCode, - ) - return err - } - - if resp.ContentLength == 0 { - err = fmt.Errorf("Tunnels Content-Legth: 0") - sndlog.Error( - err, - "dialin handshake response has 0 content length", - ) - return err - } - - if err = json.NewDecoder(&io.LimitedReader{R: resp.Body, N: 126976}).Decode(&hMsg); err != nil { - sndlog.Error( - err, - "dialin handshake failed to parse json", - ) - return err - } - - sndlog.Info( - "recieved handshake message", - "hMsg", hMsg, - ) - - return nil -} - -func (srv *Server) processCDRelayTLSState(ctx context.Context, conn net.Conn, lg *relaylogger.RelayLog, tlsconfig *tls.Config) (*Server, error) { - var ( - rafayUserName string - sessionKey string - dialinSNI string - dialinAttempt int - ok bool - session *sessions.UserSession - ) - - tlsConn, ok := conn.(*tls.Conn) - if !ok { - slog.Error( - nil, - "invalid connection type", - "err", fmt.Errorf("expected TLS conn, got %T", conn), - ) - return nil, fmt.Errorf("expected TLS conn, got %T", conn) - } - - // perform TLS handshake - if err := tlsConn.Handshake(); err != nil { - slog.Error( - err, - "failed to compete TLS handshake", - ) - return nil, fmt.Errorf("ailed to compete TLS handshake") - } - - if err := conn.SetDeadline(time.Time{}); err != nil { - slog.Error( - err, - "failed to SetDeadline", - ) - return nil, fmt.Errorf("failed to SetDeadline") - } - - state := tlsConn.ConnectionState() - - _, err := GetRemoteCertID(tlsConn) - if err != nil { - slog.Error( - err, - "error in getting client cert id", - ) - return nil, fmt.Errorf("error in getting client cert id") - } - - // Handshake completed - // prepare the dilain lookup key - if state.ServerName == srv.ServerName { - slog.Error( - nil, - "Wildcard ServerName is expected", - "ServerName", srv.ServerName, - "expected SNI", "*."+srv.ServerName, - ) - return nil, fmt.Errorf("ERROR: Unauthenticated access not allowed") - } - - slog.Debug("processCDRelayTLSState", "ServerName", state.ServerName, "srv.ServerName", srv.ServerName) - - strs := strings.Split(state.ServerName, strings.ReplaceAll(srv.ServerName, "*", "")) - if len(strs) <= 0 { - slog.Error( - nil, - "ServeName is not the suffix of SNI", - "ServerName", srv.ServerName, - "SNI", state.ServerName, - ) - return nil, fmt.Errorf("ERROR: Unauthenticated access not allowed") - } - - if len(state.PeerCertificates) <= 0 { - slog.Error( - nil, - "did not find any peer certificates in the request", - ) - return nil, fmt.Errorf("ERROR: Unauthenticated access not allowed") - } - - if state.PeerCertificates[0].Subject.CommonName == "" { - slog.Error( - nil, - "cerficate CN is empty", - ) - return nil, fmt.Errorf("ERROR: Unauthenticated access not allowed") - } - - sessionKey = "" - session = nil - rafayUserName = state.PeerCertificates[0].Subject.CommonName - sessionKey = state.ServerName + ":" + rafayUserName - session, ok = sessions.GetUserSession(sessionKey) - if !ok { - //Create session for the user - session = &sessions.UserSession{ - Type: srv.Type, - ServerName: srv.ServerName, - CertSNI: state.ServerName, - DialinCachedKey: "", - ErrorFlag: false, - } - sessions.AddUserSession(session, sessionKey) - slog.Info( - "Created new session", - "key", sessionKey, - ) - } else { - slog.Debug( - "Found existing session", - "key", sessionKey, - "dialin sticky key", session.DialinCachedKey, - ) - } - - clusterID := strs[0] - dialinSNI = strings.ReplaceAll(srv.DialinServerName, "*", clusterID) - dialinAttempt = 0 - -retryCDDialin: - // get the dialin server instance - if dsrv, ok := Servers[srv.DialinServerName]; ok { - if session.DialinCachedKey == "" { - // look dialin pool to find dilain connection key - key, err := dsrv.DialinPool.GetDialinConnectorKey(dialinSNI) - if err != nil { - slog.Info( - "No dialins", - "error", err, - "dialinAttempt", dialinAttempt, - ) - // Lookup peerCache to fetch cluster connection - // On cache-miss send the probe, wait and retry 5 times - relayIP, found := peerclient.GetPeerCache(utils.PeerCache, dialinSNI) - if found { - // forward the client request to peer upstream - srv.ProcessCDPeerForwards(ctx, conn, lg, relayIP, state) - return srv, nil - } - if dialinAttempt == 0 { - go SendPeerProbe(PeerProbeChanel, dialinSNI) - } - - dialinAttempt++ - if dialinAttempt > 7 { - return nil, fmt.Errorf("ERROR: no dialns in both local and peers") - } - // wait for total ~20 sec to learn from core - // else drop the connection - time.Sleep(3 * time.Second) - goto retryCDDialin - - } else { - //cache it - session.DialinCachedKey = key - } - } else { - //verify cache is valid - if !dsrv.DialinPool.CheckDialinKeyExist(session.DialinCachedKey) { - session.DialinCachedKey = "" - goto retryCDDialin - } - } - - slog.Info( - "dialin connection lookup", - "key", session.DialinCachedKey, - "sessionKey", sessionKey, - ) - - session.UserName = rafayUserName - - //dilain proxy - dsrv.proxyCDDilainConnection(ctx, conn, session.DialinCachedKey, rafayUserName, state.ServerName, slog) - } else { - slog.Info( - "did not find dialin server name ", - "srv.DialinServerName", srv.DialinServerName, - ) - } - - return srv, nil -} - -func (srv *Server) processDialinTLSState(conn net.Conn, lg *relaylogger.RelayLog, tlsconfig *tls.Config) (*Server, error) { - tlsConn, ok := conn.(*tls.Conn) - if !ok { - slog.Error( - nil, - "invalid connection type", - "err", fmt.Errorf("expected TLS conn, got %T", conn), - ) - return nil, fmt.Errorf("expected TLS conn, got %T", conn) - } - - // perform TLS handshake - if err := tlsConn.Handshake(); err != nil { - slog.Error( - err, - "failed to compete TLS handshake", - ) - return nil, fmt.Errorf("ailed to compete TLS handshake") - } - - if err := conn.SetDeadline(time.Time{}); err != nil { - slog.Error( - err, - "failed to SetDeadline", - ) - return nil, fmt.Errorf("failed to SetDeadline") - } - - // Handshake completed, add to Connections map; key is remoteAddr - if !isConnectionExist(conn.RemoteAddr().String()) { - var rconn *RelayConn - state := tlsConn.ConnectionState() - - identifier, err := GetRemoteCertID(tlsConn) - if err != nil { - slog.Error( - err, - "error in getting client cert id", - ) - return nil, fmt.Errorf("error in getting client cert id") - } - - rconn = &RelayConn{ - Conn: conn, - Type: srv.Type, - ServerName: srv.ServerName, - CertSNI: state.ServerName, - PeerID: identifier, - server: srv, - } - - addConnection(conn.RemoteAddr().String(), rconn) - - if rconn.Type == utils.DIALIN { - // add to dialin pool - key, err := srv.AddToDialinPool(rconn, conn.RemoteAddr().String()) - if err != nil { - deleteConnections(conn.RemoteAddr().String()) - return nil, err - } - // send init handshake - err = srv.sendDialinHandshake(key, slog) - if err != nil { - // handshake failed; delete added connection - srv.DialinPool.DeleteConn(rconn.PeerID, rconn.CertSNI, conn.RemoteAddr().String()) - deleteConnections(conn.RemoteAddr().String()) - return nil, fmt.Errorf("failed to send dialin handshake") - } - } else { - return nil, fmt.Errorf("unknown service type") - } - - return srv, nil - } - - return nil, fmt.Errorf("connection already exist %s", conn.RemoteAddr().String()) - -} - -func (srv *Server) handleCDRelayConnection(ctx context.Context, conn net.Conn, tlsconfig *tls.Config) { - defer conn.Close() - var vhostName string - hlog := slog.WithName("handleDialinConnection") - - vhostName = "" - tlsVConn, ok := conn.(*vhost.TLSConn) - if ok { - vhostName = tlsVConn.Host() - } - - if vhostName == "" { - slog.Error( - nil, - "vhost name is empty", - ) - return - } - - // prcess the TLS layer - _, err := srv.processCDRelayTLSState(ctx, tls.Server(conn, tlsconfig), hlog, tlsconfig) - if err != nil { - hlog.Error( - err, - "failed to process TLS state", - ) - return - } - -} - -func (srv *Server) handleDialinConnection(conn net.Conn, tlsconfig *tls.Config) { - var vhostName string - hlog := slog.WithName("handleDialinConnection") - - vhostName = "" - tlsVConn, ok := conn.(*vhost.TLSConn) - if ok { - vhostName = tlsVConn.Host() - } - - if vhostName == "" { - slog.Error( - nil, - "vhost name is empty", - ) - conn.Close() - return - } - - // prcess the TLS layer - _, err := srv.processDialinTLSState(tls.Server(conn, tlsconfig), hlog, tlsconfig) - if err != nil { - hlog.Error( - err, - "failed to process TLS state", - ) - conn.Close() - return - } - -} - -func cleanServerName(s string) string { - return strings.ReplaceAll(s, "*", "star") -} - -// StartServer starts server -func StartServer(ctx context.Context, log *relaylogger.RelayLog, auditPath string, exitChan chan<- bool) { - var config *ServerConfig - var err error - slog = log.WithName("Server") - - config = &ServerConfig{} - config.Relays = make(map[string]*Relay) - config.Relays["kubectl"] = &Relay{ - Protocol: "https", - Addr: fmt.Sprintf(":%d", utils.RelayUserPort), - ServerName: utils.RelayUserHost, - DialinSfx: utils.RelayConnectorHost, - RootCA: utils.RelayUserCACert, - ServerCRT: utils.RelayUserCert, - ServerKEY: utils.RelayUserKey, - } - config.Dialins = make(map[string]*Dialin) - config.Dialins["kubectl"] = &Dialin{ - Protocol: "https", - Addr: fmt.Sprintf(":%d", utils.RelayConnectorPort), - ServerName: utils.RelayConnectorHost, - RootCA: utils.RelayConnectorCACert, - ServerCRT: utils.RelayConnectorCert, - ServerKEY: utils.RelayConnectorKey, - } - config.AuditPath = auditPath - - utils.PeerCache, err = peerclient.InitPeerCache(nil) - if err != nil { - slog.Error( - err, - "failed to init peer cache", - ) - return - } - - loadRelayServers(config) - - err = sessions.InitUserSessionCache() - if err != nil { - slog.Error( - err, - "failed to init user session cache", - ) - return - } - - if err := proxy.InitUnixCacheRoundTripper(); err != nil { - slog.Error( - err, - "failed to init unix cached round tripper", - ) - return - } - - if err := proxy.InitPeerCacheRoundTripper(); err != nil { - slog.Error( - err, - "failed to init unix cached round tripper", - ) - return - } - - // Start listeners - for _, listener := range ServerListeners { - switch listener.Protocol { - case utils.HTTPS: - go listener.StartHTTPSListen(ctx) - default: - slog.Error( - nil, - "unknown protocol", - "listener.Protocol", listener.Protocol, - "Addr", listener.Addr, - ) - } - } - - go StartPeeringMgr(ctx, log, exitChan, config) - - StartDialinPoolMgr(ctx, log, exitChan) - - for { - select { - case <-ctx.Done(): - slog.Error( - ctx.Err(), - "stoping Server", - ) - return - } - } -} - -// StartCDServer starts server -func StartCDServer(ctx context.Context, log *relaylogger.RelayLog, auditPath string, exitChan chan<- bool) { - var config *ServerConfig - var err error - slog = log.WithName("Server") - - config = &ServerConfig{} - config.CDRelays = make(map[string]*Relay) - config.CDRelays["cdrelay"] = &Relay{ - Protocol: "https", - Addr: fmt.Sprintf(":%d", utils.CDRelayUserPort), - ServerName: utils.CDRelayUserHost, - DialinSfx: utils.CDRelayConnectorHost, - RootCA: utils.CDRelayUserCACert, - ServerCRT: utils.CDRelayUserCert, - ServerKEY: utils.CDRelayUserKey, - } - config.Dialins = make(map[string]*Dialin) - config.Dialins["cdrelay"] = &Dialin{ - Protocol: "https", - Addr: fmt.Sprintf(":%d", utils.CDRelayConnectorPort), - ServerName: utils.CDRelayConnectorHost, - RootCA: utils.CDRelayConnectorCACert, - ServerCRT: utils.CDRelayConnectorCert, - ServerKEY: utils.CDRelayConnectorKey, - } - config.AuditPath = auditPath - - utils.PeerCache, err = peerclient.InitPeerCache(nil) - if err != nil { - slog.Error( - err, - "failed to init peer cache", - ) - return - } - - loadRelayServers(config) - - err = sessions.InitUserSessionCache() - if err != nil { - slog.Error( - err, - "failed to init user session cache", - ) - return - } - - if err := proxy.InitUnixCacheRoundTripper(); err != nil { - slog.Error( - err, - "failed to init unix cached round tripper", - ) - return - } - - if err := proxy.InitPeerCacheRoundTripper(); err != nil { - slog.Error( - err, - "failed to init unix cached round tripper", - ) - return - } - - // Start listeners - for _, listener := range ServerListeners { - switch listener.Protocol { - case utils.HTTPS: - go listener.StartHTTPSListen(ctx) - default: - slog.Error( - nil, - "unknown protocol", - "listener.Protocol", listener.Protocol, - "Addr", listener.Addr, - ) - } - } - - go StartPeeringMgr(ctx, log, exitChan, config) - - StartDialinPoolMgr(ctx, log, exitChan) - - for { - select { - case <-ctx.Done(): - slog.Error( - ctx.Err(), - "stoping Server", - ) - return - } - } -} - -type flushWriter struct { - w io.Writer - lg *relaylogger.RelayLog - c net.Conn -} - -func (fw flushWriter) Write(p []byte) (n int, err error) { - n, err = fw.w.Write(p) - fw.lg.Debug( - "data wrote", - "len", len(p), - "wrote", n, - "data", string(p), - "err", err, - ) - if f, ok := fw.w.(http.Flusher); ok { - f.Flush() - } - // tolerate max read/write idle timeout - fw.c.SetDeadline(time.Now().Add(utils.IdleTimeout)) - return -} - -func isConnectionExist(key string) bool { - connectionsRWMu.RLock() - defer connectionsRWMu.RUnlock() - _, ok := connections[key] - return ok -} - -func addConnection(key string, rconn *RelayConn) { - connectionsRWMu.Lock() - defer connectionsRWMu.Unlock() - connections[key] = rconn -} - -func deleteConnections(key string) { - connectionsRWMu.Lock() - defer connectionsRWMu.Unlock() - delete(connections, key) -} - -//DialinMetric for cluster connection -func DialinMetric(w http.ResponseWriter) { - for _, dsrv := range Servers { - if dsrv.Type == utils.DIALIN { - // look dialin pool to find dilain connection key - dsrv.DialinPool.GetDialinMetrics(w) - } - } -} diff --git a/components/relay/pkg/tunnel/server_config.go b/components/relay/pkg/tunnel/server_config.go deleted file mode 100644 index 148ecd5..0000000 --- a/components/relay/pkg/tunnel/server_config.go +++ /dev/null @@ -1,43 +0,0 @@ -package tunnel - -// Dialin defines a dialin. -type Dialin struct { - Protocol string - Addr string - ServerName string - RootCA []byte - ServerCRT []byte - ServerKEY []byte - Version string -} - -// Relay defines a relay. -type Relay struct { - Protocol string - Addr string - DialinSfx string - ServerName string - RootCA []byte - ServerCRT []byte - ServerKEY []byte - Version string -} - -// ControllerInfo defines controller info. -type ControllerInfo struct { - Addr string - PeerProbeSNI string - RootCA string - ClientCRT string - ClientKEY string -} - -// ServerConfig is the configuration for relay server -type ServerConfig struct { - RelayAddr string - Relays map[string]*Relay - CDRelays map[string]*Relay - Dialins map[string]*Dialin - Controller ControllerInfo - AuditPath string -} diff --git a/components/relay/pkg/utils/utils.go b/components/relay/pkg/utils/utils.go deleted file mode 100644 index f0aa8bf..0000000 --- a/components/relay/pkg/utils/utils.go +++ /dev/null @@ -1,713 +0,0 @@ -package utils - -import ( - "crypto/aes" - "crypto/cipher" - "crypto/rand" - "encoding/hex" - "fmt" - "io" - "net" - "net/http" - "os" - "regexp" - "strconv" - "strings" - "time" - - "github.com/RafaySystems/rcloud-base/components/relay/pkg/relaylogger" - "github.com/dgraph-io/ristretto" - "github.com/felixge/tcpkeepalive" - "github.com/google/uuid" -) - -// Known relay services -const ( - KUBECTL = "kubectl" - KUBEWEB = "kubeweb" - GENTCP = "tcp" - HTTPUP = "httpupgrade" -) - -// Known server types -const ( - RELAY = "relay" - CDRELAY = "cdrelay" - RELAYAGENT = "relay-agent" - CDRELAYAGENT = "cdrelay-agent" - DIALIN = "dialin" - JoinString = "--" -) - -// Relay Network Types -const ( - KUBECTLCORE = "rafay-core-relay-agent" - KUBECTLDEDICATED = "rafay-non-core-relay-agent" - CDAGENTCORE = "rafay-core-cd-relay-agent" -) - -//SNICertificate sni based certs -type SNICertificate struct { - CertFile []byte - KeyFile []byte -} - -//Relaynetwork configmap data -type Relaynetwork struct { - Token string `json:"token"` // bootstrap agent token - Addr string `json:"addr"` // bootstrap register host - Domain string `json:"endpoint"` // dialout domain - Name string `json:"name"` // network name - TemplateToken string `json:"templateToken"` // bootstrap template token - Upstream string `json:"upstream"` // upstream tcp service host:port -} - -//RelayNetworkConfig config for relay agent -type RelayNetworkConfig struct { - // Network configmap - Network Relaynetwork - // RelayAgentCert used for relay-agent client cert - RelayAgentCert []byte - // RelayAgentKey used for relay-agent client cert - RelayAgentKey []byte - // RelayAgentCACert used for relay-agent client cert - RelayAgentCACert []byte -} - -// Known protocol types. -const ( - HTTP = "HTTP" - HTTPS = "https" - TCP = "tcp" - UNIX = "unix" -) - -// Known dialin types -const ( - KUBECTLDILAIN = "kubectldialin" - KUBEWEBDIALIN = "kubewebdialin" - PEERKEY = "04112005676520746869732070617373776f726420746f206120736563726574" -) - -const ( - //HeaderError .. - HeaderError = "X-Error" - //HeaderAction ... - HeaderAction = "X-Action" - //HeaderForwardedHost .. - HeaderForwardedHost = "X-Forwarded-Host" - //HeaderForwardedService .. - HeaderForwardedService = "X-Forwarded-Service" - - //HeaderRafayUserName .. - HeaderRafayUserName = "X-Rafay-User" - //HeaderRafayNamespace .. - HeaderRafayNamespace = "X-Rafay-Namespace" - //HeaderRafayScope .. - HeaderRafayScope = "X-Rafay-Scope" - //HeaderRafayAllow .. - HeaderRafayAllow = "X-Rafay-Allow" - //HeaderRafayAuthZSA yaml contains service account - HeaderRafayAuthZSA = "X-Rafay-AuthzSA" - //HeaderRafayAuthZRole yaml contains role - HeaderRafayAuthZRole = "X-Rafay-AuthzRole" - //HeaderRafayAuthZRoleBinding yaml contains rolebinding - HeaderRafayAuthZRoleBinding = "X-Rafay-AuthzRoleBinding" - //HeaderRafayServiceAccountNoExpire don't expire service account - HeaderRafayServiceAccountNoExpire = "X-Rafay-ServiceAccount-NoExpire" - //HeaderClearSecret to clear the current secret cache of user - HeaderClearSecret = "X-Rafay-Clear-Cache" -) - -// Known actions. -const ( - ActionProxy = "proxy" - - // DefaultAuditPolicyPath default audit policy filter path - // k8s audit need a file path - DefaultAuditPolicyPath = "./relayaudit.yaml" - - //DefaultAuditPath defailt audit log files path - DefaultAuditPath = "-" // - means standard out - - //RafayRelayServiceAccountNameSpace namespace used to create service account for relays - RafayRelayServiceAccountNameSpace = "system-sa" -) - -var ( - // LogLevel loglevel set from commadline - LogLevel int - // Mode relay/relay-agent - Mode string - // ClusterID unique id of the cluster - ClusterID string - // AgentID unique id for cd agent - AgentID string - // ExitChan trigger this channel to exit - ExitChan = make(chan bool) - // TerminateChan trigger this channel to exit - TerminateChan = make(chan bool) - // IdleTimeout is the maximum amount of time to wait for the - // next read/write before closing connection. - IdleTimeout = 5 * time.Minute - // DefaultTimeout specifies a general purpose timeout. - DefaultTimeout = 5 * time.Minute - // DefaultPingTimeout specifies a ping timeout. - DefaultPingTimeout = 5 * time.Second - - // DefaultKeepAliveIdleTime specifies how long connection can be idle - // before sending keepalive message. - DefaultKeepAliveIdleTime = 15 * time.Second - - // DefaultKeepAliveCount specifies maximal number of keepalive messages - // sent before marking connection as dead. - DefaultKeepAliveCount = 3 - - // DefaultKeepAliveInterval specifies how often retry sending keepalive - // messages when no response is received. - DefaultKeepAliveInterval = 5 * time.Second - - //DefaultMuxTimeout specifies vmux timeout - DefaultMuxTimeout = 10 * time.Second - - //UNIXSOCKET prefix path for unix socket - UNIXSOCKET = "/tmp/relay-unix-" // need to change this from tmp to appropriate path after integration - - //UNIXAGENTSOCKET prefix path for unix socket - UNIXAGENTSOCKET = "/tmp/relay-agent-unix-" // need to change this from tmp to appropriate path after integration - - //ProxyProtocolSize Default PROXY PROTO buffer size - ProxyProtocolSize = 1024 - - //RelayUUID runtime Unique ID for relay - RelayUUID string - - //RelayIPFromConfig IP address of the relay for peering - RelayIPFromConfig string - - //PeerCache stores peer dialin info - PeerCache *ristretto.Cache - - //ServiceAccountCache stores service account, role, role binding in relay-agetn in connector - ServiceAccountCache *ristretto.Cache - - //ServiceAccountCacheDefaultExpiry default expiry - ServiceAccountCacheDefaultExpiry = 600 * time.Second - - //PeerCacheDefaultExpiry default expiry - PeerCacheDefaultExpiry = 600 * time.Second - //PeerHelloInterval heartbeat interval - PeerHelloInterval = 60 * time.Second - //PeerServiceURI is the URI to join peering service - PeerServiceURI string - //PeerCertificate used for peering service communication - PeerCertificate []byte - //PeerPrivateKey used for peering service communication - PeerPrivateKey []byte - //PeerCACertificate used for peering service communication - PeerCACertificate []byte - - //RelayUserCert used for user/peer communication - RelayUserCert []byte - //RelayUserKey used for user/peer communication - RelayUserKey []byte - //RelayUserCACert used for user/peer communication - RelayUserCACert []byte - - //RelayUserPort user facing seerver port - RelayUserPort int - // RelayUserHost user facing seerver host (domain) - RelayUserHost string - //RelayConnectorCert used for relay-connector termination - RelayConnectorCert []byte - //RelayConnectorKey used for relay-connector termination - RelayConnectorKey []byte - //RelayConnectorCACert used for relay-connector termination - RelayConnectorCACert []byte - // RelayConnectorHost connector facing server host (domain) - RelayConnectorHost string - // RelayConnectorPort connector facing server port - RelayConnectorPort int - - // CDRelayUserCert used for client/peer communication - CDRelayUserCert []byte - // CDRelayUserKey used for client/peer communication - CDRelayUserKey []byte - // CDRelayUserCACert used for client/peer communication - CDRelayUserCACert []byte - // CDRelayUserHost client facing server host - CDRelayUserHost string - // CDRelayUserPort client facing server port - CDRelayUserPort int - // CDRelayConnectorCert used for cd-relay-connector termination - CDRelayConnectorCert []byte - // CDRelayConnectorKey used for cd-relay-connector termination - CDRelayConnectorKey []byte - // CDRelayConnectorCACert used for cd-relay-connector termination - CDRelayConnectorCACert []byte - // CDRelayConnectorHost connector facing server host (domain) - CDRelayConnectorHost string - // CDRelayConnectorPort connector facing server port - CDRelayConnectorPort int - - //RelayNetworks list of relaynemtworks from configmap - RelayNetworks []Relaynetwork - // RelayAgentConfig map of relay agent configurations - RelayAgentConfig map[string]RelayNetworkConfig - - // MaxDials max connections dialed - MaxDials = 10 - - // MinDials minimum connections dialed - MinDials = 8 - - //PODNAME name of the pod - PODNAME string - - // DialoutProxy setting used while connecting to relay IP:PORT or HOST:PORT format - DialoutProxy = "" - - // DialoutProxyAuth Proxy-Authorization header base64 encoded value of user:password - DialoutProxyAuth = "" - - // DefaultTCPUpstream default TCP upstream - DefaultTCPUpstream = "127.0.0.1:16001" - - // ScalingStreamsThreshold concurrent streams count to trigger scaling - ScalingStreamsThreshold = 400 - - // ScalingStreamsRateThreshold new streams rate to trigger scaling - ScalingStreamsRateThreshold = 200 - - // MaxScaleMultiplier multiplier to limit max scaled connections - MaxScaleMultiplier = 3 - - // HealingInterval time to close idle scaled connection - HealingInterval = 24 // Hour -) - -//CountWriter to measure bytes -type CountWriter struct { - W io.Writer - Count int64 -} - -// ControlMessage is sent from server to client before streaming data. It's -// used to inform client about the data and action to take. Based on that client -// routes requests to backend services. -type ControlMessage struct { - Action string - ForwardedHost string - ForwardedService string - RemoteAddr string - RafayUserName string - RafayNamespace string - RafayScope string - RafayAllow string - RafayAuthz string -} - -// ProxyConfig configs for the proxy -type ProxyConfig struct { - Protocol string - Addr string - ServiceSNI string - RootCA string - ClientCRT string - ClientKEY string - Upstream string - UpstreamClientCRT string - UpstreamClientKEY string - UpstreamRootCA string - UpstreamSkipVerify bool - UpstreamKubeConfig string - Version string -} - -//ProxyProtocolMessage used across dialin unix socket -type ProxyProtocolMessage struct { - DialinKey string - UserName string - SNI string -} - -type ServiceAccountCacheObject struct { - RafayAuthzSA string - RafayAuthzRole string - RafayAuthzRoleBind string - Md5sum string - Key string -} - -//OnEvict cache on eviction call back function -type OnEvict = func(item *ristretto.Item) - -//Fatal to exit the program -func Fatal(format string, a ...interface{}) { - fmt.Fprintf(os.Stderr, format, a...) - fmt.Fprint(os.Stderr, "\n") - os.Exit(1) -} - -//CloneHeader clone http headers -func CloneHeader(h http.Header) http.Header { - h2 := make(http.Header, len(h)) - for k, vv := range h { - vv2 := make([]string, len(vv)) - copy(vv2, vv) - h2[k] = vv2 - } - return h2 -} - -//SetXForwardedFor ... -func SetXForwardedFor(h http.Header, remoteAddr string) { - clientIP, _, err := net.SplitHostPort(remoteAddr) - if err == nil { - // If we aren't the first proxy retain prior - // X-Forwarded-For information as a comma+space - // separated list and fold multiple headers into one. - if prior, ok := h["X-Forwarded-For"]; ok { - clientIP = strings.Join(prior, ", ") + ", " + clientIP - } - h.Set("X-Forwarded-For", clientIP) - } -} - -//SetXRAYUUID ... -func SetXRAYUUID(h http.Header) { - var reluuid string - - reluuid = RelayUUID - // If this isn't the first relay retain prior - // UUIDs information as a comma+space - // separated list and fold multiple headers into one. - if prior, ok := h["X-Rafay-XRAY-RELAYUUID"]; ok { - reluuid = strings.Join(prior, ", ") + ", " + reluuid - } - h.Set("X-Rafay-XRAY-RELAYUUID", reluuid) -} - -//SetXForwardedRafay set rafay headers -func SetXForwardedRafay(h http.Header, msg *ControlMessage) { - h.Set("X-Rafay-User", msg.RafayUserName) - h.Set("X-Rafay-Namespace", msg.RafayNamespace) - h.Set("X-Rafay-Scope", msg.RafayScope) - h.Set("X-Rafay-Allow", msg.RafayAllow) -} - -//UnSetXForwardedRafay set rafay headers -func UnSetXForwardedRafay(h http.Header) { - h.Del("X-Rafay-Scope") - h.Del("X-Rafay-Allow") - h.Del("X-Forwarded-For") - h.Del("X-Rafay-XRAY-RELAYUUID") - h.Del("X-Rafay-Audit") - h.Del("X-Rafay-Cluster-Id") - h.Del("X-Rafay-Cluster-Servername") - h.Del("X-Rafay-Peer-Hash") - h.Del("X-Rafay-Peer-Nonce") - h.Del("X-Rafay-Sessionkey") - h.Del("X-Rafay-User-Cert-Issued") -} - -//Transfer transfer by io.Copy -func Transfer(dst io.Writer, src io.Reader, tlog *relaylogger.RelayLog, direction string) { - n, err := io.Copy(dst, src) - if err != nil { - if !strings.Contains(err.Error(), "context canceled") && !strings.Contains(err.Error(), "CANCEL") && !strings.Contains(err.Error(), "i/o timeout") && !strings.Contains(err.Error(), "closed network") { - tlog.Error( - err, - "io.Copy error", - "direction", direction, - ) - } - } - - tlog.Debug( - "action transferred", - "bytes", n, - "in direction", direction, - ) -} - -// WriteToHeader writes ControlMessage to HTTP header. -func WriteToHeader(h http.Header, c *ControlMessage) { - h.Set(HeaderAction, string(c.Action)) - h.Set(HeaderForwardedHost, c.ForwardedHost) - h.Set(HeaderForwardedService, c.ForwardedService) - h.Set(HeaderRafayUserName, c.RafayUserName) - h.Set(HeaderRafayNamespace, c.RafayNamespace) - h.Set(HeaderRafayScope, c.RafayScope) - h.Set(HeaderRafayAllow, c.RafayAllow) -} - -func (cw *CountWriter) Write(p []byte) (n int, err error) { - n, err = cw.W.Write(p) - cw.Count += int64(n) - return -} - -//CopyHeader copy header -func CopyHeader(dst, src http.Header) { - for k, v := range src { - vv := make([]string, len(v)) - copy(vv, v) - dst[k] = vv - } -} - -// ReadControlMessage reads ControlMessage from HTTP headers. -func ReadControlMessage(r *http.Request) (*ControlMessage, error) { - msg := ControlMessage{ - Action: r.Header.Get(HeaderAction), - ForwardedHost: r.Header.Get(HeaderForwardedHost), - ForwardedService: r.Header.Get(HeaderForwardedService), - RafayUserName: r.Header.Get(HeaderRafayUserName), - RafayNamespace: r.Header.Get(HeaderRafayNamespace), - RafayScope: r.Header.Get(HeaderRafayScope), - RafayAllow: r.Header.Get(HeaderRafayAllow), - RemoteAddr: r.RemoteAddr, - } - - var missing []string - - if msg.Action == "" { - missing = append(missing, HeaderAction) - } - if msg.ForwardedHost == "" { - missing = append(missing, HeaderForwardedHost) - } - if msg.ForwardedService == "" { - missing = append(missing, HeaderForwardedService) - } - - if len(missing) != 0 { - return nil, fmt.Errorf("missing headers: %s", missing) - } - - return &msg, nil -} - -//FlushWriter flush writer -type FlushWriter struct { - W io.Writer -} - -func (fw FlushWriter) Write(p []byte) (n int, err error) { - n, err = fw.W.Write(p) - if f, ok := fw.W.(http.Flusher); ok { - f.Flush() - } - return -} - -//KeepAlive set keepalive -func KeepAlive(conn net.Conn) error { - return tcpkeepalive.SetKeepAlive(conn, DefaultKeepAliveIdleTime, DefaultKeepAliveCount, DefaultKeepAliveInterval) -} - -//GenUUID generates a google UUID -func GenUUID() { - id := uuid.New() - RelayUUID = id.String() -} - -//GetRelayIP get relay IP address -func GetRelayIP() string { - if RelayIPFromConfig == "" { - name, err := os.Hostname() - if err == nil { - addr, err := net.LookupIP(name) - if err == nil { - return addr[0].String() - } - } else { - return "" - } - } - return RelayIPFromConfig -} - -// GetRelayIPPort get relay IP:PORT of user facing server -func GetRelayIPPort() string { - if RelayIPFromConfig == "" { - return GetRelayIP() + ":" + strconv.Itoa(RelayUserPort) - } - return RelayIPFromConfig -} - -//CheckRelayLoops :does XRAY UUDI already present in header? -func CheckRelayLoops(h http.Header) bool { - if uuidHdr, ok := h["X-Rafay-XRAY-RELAYUUID"]; ok { - allIds := strings.Join(uuidHdr, ", ") - matched, err := regexp.Match(RelayUUID, []byte(allIds)) - if err == nil && matched { - return true - } - } - return false -} - -// InitCache initialize the cache to store dialin cluster-connection -// information of peers. When a dialin miss happens look into this cache -// to find the peer IP address to forward the user connection. -func InitCache(evict OnEvict) (*ristretto.Cache, error) { - return ristretto.NewCache(&ristretto.Config{ - NumCounters: 1e7, // Num keys to track frequency of (10M). - MaxCost: 1 << 30, // Maximum cost of cache (1GB). - BufferItems: 64, // Number of keys per Get buffer. - OnEvict: evict, - }) -} - -// InsertCache inserts the value to cache -func InsertCache(cache *ristretto.Cache, expiry time.Duration, key, value interface{}) bool { - return cache.SetWithTTL(key, value, 100, expiry) -} - -// GetCache get value from cache -func GetCache(cache *ristretto.Cache, key interface{}) (interface{}, bool) { - return cache.Get(key) - -} - -// DeleteCache delete value from cache -func DeleteCache(cache *ristretto.Cache, key interface{}) { - cache.Del(key) -} - -//WriteFile overwrite if exist -func WriteFile(filename, data string) error { - file, err := os.Create(filename) - if err != nil { - return err - } - - defer file.Close() - - file.WriteString(data) - return nil -} - -// validOptionalPort reports whether port is either an empty string -// or matches /^:\d*$/ -func validOptionalPort(port string) bool { - if port == "" { - return true - } - if port[0] != ':' { - return false - } - for _, b := range port[1:] { - if b < '0' || b > '9' { - return false - } - } - return true -} - -// SplitHostPort separates host and port. If the port is not valid, it returns -// the entire input as host, and it doesn't check the validity of the host. -func SplitHostPort(hostport string) (host, port string) { - host = hostport - - colon := strings.LastIndexByte(host, ':') - if colon != -1 && validOptionalPort(host[colon:]) { - host, port = host[:colon], host[colon+1:] - } - - if strings.HasPrefix(host, "[") && strings.HasSuffix(host, "]") { - host = host[1 : len(host)-1] - } - - return -} - -// IsHTTPS returns true if port is 443 -func IsHTTPS(addr string) bool { - _, port, err := net.SplitHostPort(addr) - if err == nil { - if port == "443" { - return true - } - } - return false -} - -// PeerSetHeaderNonce header -func PeerSetHeaderNonce(h http.Header) error { - key, _ := hex.DecodeString(PEERKEY) - - data := h.Get("X-Rafay-XRAY-RELAYUUID") - if data == "" { - return fmt.Errorf("no X-Rafay-XRAY-RELAYUUID header") - } - value := []byte(data) - - block, err := aes.NewCipher(key) - if err != nil { - return err - } - - nonce := make([]byte, 12) - if _, err := io.ReadFull(rand.Reader, nonce); err != nil { - return err - } - - aesgcm, err := cipher.NewGCM(block) - if err != nil { - return err - } - - ciphertext := aesgcm.Seal(nil, nonce, value, nil) - hash := hex.EncodeToString(ciphertext) - - peerNonce := hex.EncodeToString(nonce) - h.Set("X-Rafay-Peer-Nonce", peerNonce) - h.Set("X-Rafay-Peer-Hash", hash) - return nil -} - -// CheckPeerHeaders validates upstreams request -func CheckPeerHeaders(h http.Header) bool { - key, _ := hex.DecodeString(PEERKEY) - - hash := h.Get("X-Rafay-Peer-Hash") - if hash == "" { - return false - } - - peerNonce := h.Get("X-Rafay-Peer-Nonce") - if peerNonce == "" { - return false - } - - expected := h.Get("X-Rafay-XRAY-RELAYUUID") - if expected == "" { - return false - } - - ciphertext, _ := hex.DecodeString(hash) - block, err := aes.NewCipher(key) - if err != nil { - return false - } - - aesgcm, err := cipher.NewGCM(block) - if err != nil { - return false - } - - nonce, _ := hex.DecodeString(peerNonce) - plaintext, err := aesgcm.Open(nil, nonce, ciphertext, nil) - if err != nil { - return false - } - - if string(plaintext) == expected { - return true - } - - return false -} diff --git a/components/relay/testdata/README.md b/components/relay/testdata/README.md deleted file mode 100644 index c0c7c4d..0000000 --- a/components/relay/testdata/README.md +++ /dev/null @@ -1,89 +0,0 @@ -# rafay-relay unit testing -k8s api server relay unit testing - - -## Environment -Please refer below image to setup your test environtment. You can run server and client in the same system. - -![](images/testsetup.png) - - -## Testing -Add entries in /etc/host or in your DNS-server for the relay-server ipaddress.\ -The User facing DNS is **cluster1.kubectl.relay.rafay.dev**\ -The Dialin facing DNS is **cluster1.kubectldialin.relay.rafay.dev**\ -For example; to run client and server in local system, the /etc/host will have entries like below. -``` -127.0.0.1 cluster1.kubectl.relay.rafay.dev -127.0.0.1 cluster1.kubectldialin.relay.rafay.dev -``` - -### Client System setup -Makesure $KUBECONFIG environment variable is set in the client system\ -(OR) -You can use testdata/kubectlconfigs/kubeconfig and customise it for your setup. -``` -export KUBECONFIG=testdata/kubectlconfigs/kubeconfig -``` - -### Cluster serviceaccount setup -Apply config pkg/proxy/testdata/role.yaml -``` -kubectl apply -f pkg/proxy/testdata/role.yaml -``` - -Run service using below commands -``` -sudo relay.exe -config ./testdata/server.yaml start server -``` -### Relay client for cluster1 -``` -relay.exe -config ./testdata/client-cluster1.yaml start client - -``` -### Relay client for cluster2 -``` -relay.exe -config ./testdata/client-cluster2.yaml start client - -``` - -### Using Relay for kubectl -In kubeconfig set server address to relay.\ -Relay uses MTLS to authenticate. Set `client-certificate` and `client-key` to cert signed by the relay service rootCA. For kubectl to validate the relay server set `certificate-authority`. Use `--insecure-skip-tls-verify` to skip the server validation. - -Examples: -``` -kubectl --kubeconfig testdata/kubectlconfigs/kubeconfigproxy-cluster1 get pods -kubectl --kubeconfig testdata/kubectlconfigs/kubeconfigproxy-cluster2 get pods -kubectl --kubeconfig testdata/kubectlconfigs/kubeconfigproxy-cluster1 exec -it demo-sa1 -- /bin/sh -kubectl --kubeconfig testdata/kubectlconfigs/kubeconfigproxy-cluster2 exec -it demo-sa1 -- /bin/sh -``` - -### Production -Relay server need following environment variables - -POD_NAME - name of the relay instaance (auto generated) -POD_NAMESPACE - namespace of the relay instance - -RAFAY_SENTRY - URL to boostrap with sentry service -RAFAY_RELAY_PEERSERVICE - To join gRPC with sentry peer service - - -RELAY_USER_DOMAIN - domain suffix for relay user facing server -RELAY_CONNECTOR_DOMAIN - domain suffix for relay connector facing domain - -RELAY_TOKEN - Peer Service Token bootstrapping -RELAY_USER_TOKEN - Relay user facing server bootstrapping -RELAY_CONNECTOR_TOKEN - Relay connector facing server bootstrapping - -Examples: -``` -export RAFAY_SENTRY=http://sentry.rafay.dev:9000 -export RAFAY_RELAY_PEERSERVICE=http://peering.sentry.rafay.local:7001 - -export RELAY_USER_DOMAIN="user.relay.rafay.local" -export RELAY_CONNECTOR_DOMAIN="core-connector.relay.rafay.local" - -export RELAY_TOKEN=bqfvhabipt3a2g46986g -export RELAY_USER_TOKEN=bqfvhabipt3a2g46987g -export RELAY_CONNECTOR_TOKEN=bqfvhabipt3a2g469870 diff --git a/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt b/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt deleted file mode 100644 index abeb56a..0000000 --- a/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEWjCCAkICCQD0kF4yo85tQzANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDEwOTE5MTUx -NVoXDTMwMDEwNjE5MTUxNVowgYAxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTET -MBEGA1UEBwwKUGxlYXNhbnRvbjEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0Rl -djExMC8GA1UEAwwocmVsYXlzZXJ2ZXIxLUFCQ0QtMTIzNDU2LnJlbGF5LnJhZmF5 -LmRldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN51AZQAYIoAAQUk -G7qFudNDMT03FO6j+ThIsqQzqXgHOCBDVMhaWs4qKJzMD+8vtnPHzz2t0ksYsnKj -YfO21C/kzbMz3yBZSyFA/eqEA/CLbyzECs+eaNHX7hDaVcHX22Rbi+W7zmjJE2LZ -5oxGoQKnSQFEn/0SsjKX4DdF+Rlw4TBgBuJ77tXnslZr+Hcgrt8dOApuWZ6v5PPN -aM72L1Gp1eP7ViUia8yc4AO2UjdO8iGSaDjy/mlWVLsK9Lb+/O5RGMmqcN+o6Mnd -U6WMOtVgkjfNeIZWJ0RdmEkR/JMyOmZauyqZiW7stOVhtOxfhE5b2N7VbqtT989q -OPZ/x38CAwEAATANBgkqhkiG9w0BAQsFAAOCAgEAng07c+Kn65mvGawiV3ZICuTy -cpfnlPEmpx4ZtDUsTIyRgaRkPpmPFkJee8kNPIrY68EeLmQB6oA976cx6+N9B61U -2oBG1HpbdtTOwvj9qid3B+syzDJXmgpEWczsNAptDqOfa/4jGzp53rORfljXnqBx -DwJhe5XI6ZJ0DLK1piNneq076qElylPgCV//tzyNn9mjaNCl64FjJyhER36UWEm7 -o4JCQkprppyocWs/NKq6ENsNsNPdWH+ZxiVy2eIGOGMk6zWu8VcCGaRDQDumkQT3 -yMh4DBfyCfbd8liOYLsLuYkGaz0Ew76TgMr875v4t53VtudNdREEqDkkLfNJA2hQ -WwgLylCSqmaWL8V10OvlLG+EnT0XEIkHbzRW5XYxs+U7saG6ze5wnpPNWDb8MYj6 -4bV6V4My5o7dejDBVzhk894MtOjdrhLWCUuZ0WcZvfIm4z5c6jWuKio3VB2hcVn+ -2rtLu7LFWhlmyiX2TtB3cx1gkGpYTllQGdWkmsQMR0uxVy1KVyiotrlK5oDBuoW/ -/XhQ1pKUL9gW1PeTrUexUJBxFP+MWONOuzarDi+fGNyDCh8wgkFkYotExGUiVxjT -9h/mc7fSVypygrWkZmtjb2gAJQRBH1GOu3fhr1MX8AXY3wtZXMWCDmoad02PZvrB -Rnx4d4QuHqlO8LsMvyo= ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.csr b/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.csr deleted file mode 100644 index 0ba4a6b..0000000 --- a/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICxjCCAa4CAQAwgYAxCzAJBgNVBAYTAlVTMQswCQYDVQQIDAJDQTETMBEGA1UE -BwwKUGxlYXNhbnRvbjEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjExMC8G -A1UEAwwocmVsYXlzZXJ2ZXIxLUFCQ0QtMTIzNDU2LnJlbGF5LnJhZmF5LmRldjCC -ASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAN51AZQAYIoAAQUkG7qFudND -MT03FO6j+ThIsqQzqXgHOCBDVMhaWs4qKJzMD+8vtnPHzz2t0ksYsnKjYfO21C/k -zbMz3yBZSyFA/eqEA/CLbyzECs+eaNHX7hDaVcHX22Rbi+W7zmjJE2LZ5oxGoQKn -SQFEn/0SsjKX4DdF+Rlw4TBgBuJ77tXnslZr+Hcgrt8dOApuWZ6v5PPNaM72L1Gp -1eP7ViUia8yc4AO2UjdO8iGSaDjy/mlWVLsK9Lb+/O5RGMmqcN+o6MndU6WMOtVg -kjfNeIZWJ0RdmEkR/JMyOmZauyqZiW7stOVhtOxfhE5b2N7VbqtT989qOPZ/x38C -AwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IBAQDYnQFv2aG7pN3idts3EkuIlBlfVGKM -V1gQjasdkdVlBVS0ehCRCXOzey3kgNtQiFF1YHZ/0uoq1abZjRCXg4EG5++mTuMk -yIB3Yng1bEJ8A4juRrWn2ihEul7sfPfEt0lfxqn2sqN5ghC1UpbcPh6T74mbIflq -pMdv2IDDpOzCNAOHSqjbJJTg1oCi+nMabXOtwn0pqsC1tiqROLtG8qWV1WlT59zb -9FxDeIhT/pbZNSlwJ7akJ7ykeIhrQdSQpnclvzum0/vO0aLoojQg0UH9ldEHGu0K -Pn+k1eX3xOD9KZn7qrgu0qZR0v+18brJ9jPTdxWKyMLhVmGX6Fzj4zIL ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key b/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key deleted file mode 100644 index 92c3e67..0000000 --- a/components/relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEA3nUBlABgigABBSQbuoW500MxPTcU7qP5OEiypDOpeAc4IENU -yFpazioonMwP7y+2c8fPPa3SSxiycqNh87bUL+TNszPfIFlLIUD96oQD8ItvLMQK -z55o0dfuENpVwdfbZFuL5bvOaMkTYtnmjEahAqdJAUSf/RKyMpfgN0X5GXDhMGAG -4nvu1eeyVmv4dyCu3x04Cm5Znq/k881ozvYvUanV4/tWJSJrzJzgA7ZSN07yIZJo -OPL+aVZUuwr0tv787lEYyapw36joyd1TpYw61WCSN814hlYnRF2YSRH8kzI6Zlq7 -KpmJbuy05WG07F+ETlvY3tVuq1P3z2o49n/HfwIDAQABAoIBAFxDMPVeNqvlloa4 -VBvHDKwXSRu3daIINfvnAthhaN8UN24CHu69sr2g9JkbdVxhcI2SiFxvdDGbO5+a -Lazz3gtDHSE+2ULEZgmTt/wE5tFkMybg5A76B0VJBj7NHxY3XZHA+kO84b3J75Vn -BFyXin3cPcYd3TEMCQY8wUyLY+Xtii6yrA618H/27Dhe/F04/MHchMf1VlI2zQxI -/Yi3snIAl3YFRVb+TxQCd1LG3UvbafPRTc2zv9HiXQey7ahwbtzyikQwOZT0htJg -iTy72nJVHq5Iel1L0/gwD/0m91QrlZlTqbfkCvRZCKNgtaf2+wJ+/HWIoLF8SlqX -MO9DWEkCgYEA8kisxKhEoAVj4e2mQmuLSzc1zB+/kPtWCXSnc/gTvQPC2LMlwk8k -8IRVah4SvqdgLgXXCbARRatUj43yetPZXlKF45OXFs/39abpFyFWG2Dzcwmy1gYC -hHOFYieZWvinYs5mvBuG0qLnSpw0sTWsUvuJB+jp1M+W/6pvaw8O8fUCgYEA6wz9 -I3Q+E+KEz4o+P+PhxbFd6F3BRPIT6hDn/EOISuaZ/8Zo1t0fhzjH5TXL9ipeNKfF -VmNE4enKg3uNAYR0PbWFWZjLRn9pG9WIKh6ws28eTxjJ8RSlHJELXsc+cLFkXtKu -9Z3R3Fzw+j3JKTE8bXbu99WrzIv72QIu5tIbByMCgYEA3KgxqR1y+qZOFIqi/CUE -BKmwtkpH5tvwvMXgaC8Mkv2k7EUkY3Y/N0nenLns6nR3lRK+iNUwtdnXNrLZnuHo -Ow4/YEefuCgKNVEhQm6bBG5k6mVv2Zo5mrW3SfC0q3SAxe0jBbiwLpAsw/fFyYsP -ebgaUfjfVXEGnax0svVQ8C0CgYBt/P77NyrRTT8OiscESJNeWdfyouSMaabN8alM -jyFYwz2uxV5LpN9a/EP1ys2tXDgG9bbO7NbPzAG6svbRjfSC580Flw0P6RD7OFlm -NERFQqrxIk1k5V851dl3OU7Llwa7pGTAhGAueMM+pejawLJhGrVJ/Y9NwPdRncbq -tch19wKBgD1Ua1yiYWbKPP3l9btMwjKUJlD08+4JXCTSVKzKe/JclQ+fhnpBZZGS -58zgrUugfpdOnzavGxs9kKVskl3nNGtpGtuWyY8fSIU/qQQXEJRcCYpcgu8bMJNI -eAo8PrJR6BU9nGuKBBhEs+PWt1LiNaTLqU1GMMnwneqsrCwKPOlG ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/clientcerts/star.admin.crt b/components/relay/testdata/certs/clientcerts/star.admin.crt deleted file mode 100644 index f9c0a02..0000000 --- a/components/relay/testdata/certs/clientcerts/star.admin.crt +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIELjCCAhYCCQD0kF4yo85tTTANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDEyMzE3NDM0 -NloXDTMwMDEyMDE3NDM0NlowVTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEOMAwGA1UE -AwwFYWRtaW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkOPicn8J1 -BQlrZLxAX815+T9IZC/Zb/KYv1VYo+7oRGpLivJbJEb7MRJkyqCN33/1bH4B4REv -56qF9LdLO0xMSErK9vXafqWis++HAPp1p7LSFmjRw75x7tKdzlUEkciqt3SBoxQj -wRwlgGBMHxqlJt/DhvQ8mxodxbdyWiOzU+gDHeexZqFrmoWe498ywU/l0ollBn5P -aaKPU39uaVcn6W2t0jkIioKKm8qiaA6bHAK3voflE/8+/6DVhVAjdacwidgHnS6z -xCSWGvENinXBN9zZBuL0mCxCKcOJGy1NGME+8IrCEJNI2MgL+hVFvCBXW+cgtSeI -imK/3ETfELHFAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAKr5EH4MBun6Hb1CQt7t -LqeDZ+J1KyvMV6AUPu8v3zReOG3YjQORurKxDeK/vI3QCrJLzrAUQodJM0eGEnRu -mG42UxUxZowKqg5uiEJVTMZEIOr8W1dpyQAEHlU7DbiarjnZAzdTSafquc0PU4uf -sBFK//lDluyVaetNC7f1Sn61Gh0piirvIXZW7z9K+HgheK3vz4r40RkjTDm3ZBUh -nPDU/DtkVJET/yM4VcdqggRr2XTah0CeDw6nUKB+gBw352q7upMI4KLkry/sjbQ1 -D151h2E1qkhG6gqnau+dmNcT6CKNVRQSAhLT4ULf4oc+IFvMhXi/I1Ghxqla2z3R -5DpIi9GF/efljKujshy3FrLLjCDZgUAl0qv936T5vZAQZ9SL/iY3cIUr9nOmcfFd -67lf040D3SJvELzEoS8bbCJ3VgBShSVc+TE5LQ0LC3DjdunWJgPAXmpKAkHhAM7P -ftU0jaLeLlonnV8xPYMRCsitb/3Xz43VImbAcrCVA6glu0bg/5CpEBS+2fIVpBVl -hKuVCKzDs5ei2q1H3f2ejOHy9PbCl8deAkhNwfk7RSsWaMk0CTU7WJXLindFQuQI -G2o6d0O4AQcQYlLaIlwCgY7O+HE9YBkfLMgiA28xtw2p4sDxuYzQBPuNt/FiT7ew -AL5fJTfMjVuWBjMr4XS84L+3 ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/clientcerts/star.admin.csr b/components/relay/testdata/certs/clientcerts/star.admin.csr deleted file mode 100644 index 794fcae..0000000 --- a/components/relay/testdata/certs/clientcerts/star.admin.csr +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICmjCCAYICAQAwVTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEOMAwGA1UEAwwFYWRt -aW4wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDkOPicn8J1BQlrZLxA -X815+T9IZC/Zb/KYv1VYo+7oRGpLivJbJEb7MRJkyqCN33/1bH4B4REv56qF9LdL -O0xMSErK9vXafqWis++HAPp1p7LSFmjRw75x7tKdzlUEkciqt3SBoxQjwRwlgGBM -HxqlJt/DhvQ8mxodxbdyWiOzU+gDHeexZqFrmoWe498ywU/l0ollBn5PaaKPU39u -aVcn6W2t0jkIioKKm8qiaA6bHAK3voflE/8+/6DVhVAjdacwidgHnS6zxCSWGvEN -inXBN9zZBuL0mCxCKcOJGy1NGME+8IrCEJNI2MgL+hVFvCBXW+cgtSeIimK/3ETf -ELHFAgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEAmVSuFX+p7D/9tGfBgt9OKGn6 -N0xVc6d1gVf9ADrx1KEWjoqMnng2oe8yc5LXIfYHMZEIm9J0EigYsMEIUBDMer86 -CIXBdVN94H5gUQDIzaZ+M0+eU8vg9/K1GGFBkv6hBzV89Kps+1v3ykzsWlN7JcMM -HZYzUTrgeSAHiQ7CjVEjUMkcAkeF23YYdSsNcpDx1+8m/ptFaaaVzhGL/2XmvPjk -xCJDsZYX/DmHaHWcYRFUVxND9bDOEF7c6Gt+J9spHR7hUIDfeyADIlvItI2Rw4i7 -70Fg/JUCUG25KyD8BKSwBic6GAJ04g8+aE3d3FMRnPxc5iNdFJyRG/KGgNY0CQ== ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/clientcerts/star.admin.key b/components/relay/testdata/certs/clientcerts/star.admin.key deleted file mode 100644 index 7776b8c..0000000 --- a/components/relay/testdata/certs/clientcerts/star.admin.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEA5Dj4nJ/CdQUJa2S8QF/Nefk/SGQv2W/ymL9VWKPu6ERqS4ry -WyRG+zESZMqgjd9/9Wx+AeERL+eqhfS3SztMTEhKyvb12n6lorPvhwD6daey0hZo -0cO+ce7Snc5VBJHIqrd0gaMUI8EcJYBgTB8apSbfw4b0PJsaHcW3clojs1PoAx3n -sWaha5qFnuPfMsFP5dKJZQZ+T2mij1N/bmlXJ+ltrdI5CIqCipvKomgOmxwCt76H -5RP/Pv+g1YVQI3WnMInYB50us8QklhrxDYp1wTfc2Qbi9JgsQinDiRstTRjBPvCK -whCTSNjIC/oVRbwgV1vnILUniIpiv9xE3xCxxQIDAQABAoIBADiWj752NodBenZw -geUMXCyUSsauYNbvVR3ew1C5RTG+VQTqLPHAawE5x6/KNkk3U8kM36mjntlb/gI9 -DX3P9Dkt662r0oYcxQE00H2PFos5y7Mf71mjyYMCjqKmWJpLc5Aw8Oh8ATBkX5BE -5pu5UqgEnZMj0Ud9xdn//l6STyvVeGDQCEtLPn9AGZFuZL/HpXKQgr1nfmSA4gMI -tDdDumVVlJL6efEdKF4whgS+ejGqsyJ7oB1MHWemqVtA4WYn8J2YL+XRN4JwVRJh -Pu5aDvHFfrn+2k33nmGWVIlXFl75v1pOCzYv+Aa7Bxx4PMvyU7WZONsJ2xjiJhp2 -OLiP4LkCgYEA844zPjAI1WWVe4HViYjggJrQZl20D0JBy22wqw55eqGSWX1gON3k -d6RapaVyThKd660Qmsdemgjr0owY/0Fr8JnM2ybL4/0MG9jBynZ27vbyLG1od9gW -96ewn5F0oyT8HT0bicz4EZfVEeUD1sqCCRIriFSccR/qzjVjt8qY+rsCgYEA7+I1 -2oKqXSvyDxlexVsKKPXoH1fyTpk3/uU5esyDatQJ2t4xlZ0xeOcvh0WsAmHJeax1 -nNHlv6RabiBtiNME6XMXI6oCE4yYeJy7l3UAOTB568n1oIED9Phq/dkoMsjs3qx0 -qSxfhYY98LOPObiF73Iar5Qw0FPvR3alvvnNfX8CgYEA68u7LrTgiIFd1IIhk5MS -D1BS/RgxECjMfD/JMALGd4RfpQYuF0A0ReS34fEolg+OFrKqBb+JhkWm0mPSe6YB -86FjZLTN5v+BLqCPFg3VHYu1cG/IGWb67W/LHuF688wFzeTweVwYuyetIDMBoXzT -oiaWQNnxz8/fyx6DWVfq/asCgYASLjvUpsiQrS74U/zpyj+X4SNJlNnJeTVUPT1B -AFUJeK6ShvqNE0/XkPX6M56Yw56IeTikvQfDoYo1BIIot42Mv+tGCbGEl8hKg953 -2Sc+Ll1fMHxMQNry6wz41keEqdPCAKIK3FEVBpqVLpaxUjncbvJ00i9s6p+c8/IV -6krXswKBgFfQ1lc2ffE62AcXJofw+uaNZM2+FUbaDEcjcAR/qPuRR9pGCNtnGsa+ -CkTsatI7Ip3CrqBIwcqTvl8agt+I/Fn+Zcdp956uaqyyEYvTEetFbdvaFSqf+krF -YvOkAt3xy3Am7dmT8Qx5+FrXBkRDtfYk3xh0tAMZV1H1jiKq9qcN ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/clientcerts/star.default.crt b/components/relay/testdata/certs/clientcerts/star.default.crt deleted file mode 100644 index 58ab928..0000000 --- a/components/relay/testdata/certs/clientcerts/star.default.crt +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEUTCCAjkCCQD0kF4yo85tTDANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDExODE2MDA0 -NFoXDTMwMDExNTE2MDA0NFoweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEQMA4GA1UE -AwwHZGVmYXVsdDEfMB0GCSqGSIb3DQEJARYQZGVmYXVsdEByYWZheS5jbzCCASIw -DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALDzZVMm5TvFvMxMIryQGu/uTl84 -59lCgTEX6pr7H55OPg5/ZM5w/s66+qC3Teyw98i+X3PIywUizsnVkmylcLBRDLUY -/doo3Xp1KkTClasC2XeDIKl7zlNgIyqLLfRF0CkjdWsyFTpNi5NemezRDUBa9qXt -6EK5qKWL5SN3kelTZk3slOhfXyr/a2mEFMfqF6SYp2vZGBfF/h8mpb02TEivaTIN -haldIxDi0LaWXTqWfJf4UPCiHFtq78OGysA3LfFPfRvwe9WxQKbV7D88HC5H7EKA -gYjT7AFgSvl6vCRwj+DrCw3rkS6bUDrpOItp157n1KVaiQ1wnvi0oOcbI+MCAwEA -ATANBgkqhkiG9w0BAQsFAAOCAgEAPQg5nhu35IcKrzFw8CfmUqY+w0qvxteaaULr -KHXJ7Fm9qoD02q+V4xxysFm2dP2R1Q+LqSzLnVIJapNQMpeAqfl4yiPZpBdPIMZK -2LPTD/A4o/4mhADte7pUtZSc0XuuZ+ZAb7wQis9ujkUxJk5S+uy7++zK5Pvh4e3/ -b463riy8GyOIRKipgEyTeLFz/VpjkqadRUZY59N4pFA1Hr1EjZOfdiVLWKlVT1iV -JyWijo8+SL5bt8naj8fKdnQNqZkHZSZ4Ep0lDRCxeOfNyUG27xsSPoa1ixKh+N3x -ipB2ZWy/0k87vmLEMc4Zr13o/iLEhDp3y5NuG/djwtnzd81/RFvD7fPjf+nmAzdI -XQe2VARmm8KeYvAEsyawQnVxx4cx/N8M+8VlF8PXS/rZGt6W3+OW2R4ko6Bi2R2K -efb10HKFi9uhalumrmMH24XriH0hQS9cyeSRTsjjWr3HUNrFb6/uAOZCoEBqPHJh -ohL1dwUKcxdM+ygptqIopCLNapXFbZur60V93N8SCVu+BbK02yg9AbdbaZh4vdCO -pmiIIzTcgkirfn8Cbp22513x7P/AE0bxxZlAJB+dPpgT3c5QFLaS5ImSoDWRkhFH -s0NBmbBYF/PkfApItiOWQU5ZNNOfn2TO94MKJMY9nNYBWT9xT45ON/qo+k50/ean -zrh9Cy8= ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/clientcerts/star.default.csr b/components/relay/testdata/certs/clientcerts/star.default.csr deleted file mode 100644 index ed6b228..0000000 --- a/components/relay/testdata/certs/clientcerts/star.default.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICvTCCAaUCAQAweDELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEQMA4GA1UEAwwHZGVm -YXVsdDEfMB0GCSqGSIb3DQEJARYQZGVmYXVsdEByYWZheS5jbzCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBALDzZVMm5TvFvMxMIryQGu/uTl8459lCgTEX -6pr7H55OPg5/ZM5w/s66+qC3Teyw98i+X3PIywUizsnVkmylcLBRDLUY/doo3Xp1 -KkTClasC2XeDIKl7zlNgIyqLLfRF0CkjdWsyFTpNi5NemezRDUBa9qXt6EK5qKWL -5SN3kelTZk3slOhfXyr/a2mEFMfqF6SYp2vZGBfF/h8mpb02TEivaTINhaldIxDi -0LaWXTqWfJf4UPCiHFtq78OGysA3LfFPfRvwe9WxQKbV7D88HC5H7EKAgYjT7AFg -Svl6vCRwj+DrCw3rkS6bUDrpOItp157n1KVaiQ1wnvi0oOcbI+MCAwEAAaAAMA0G -CSqGSIb3DQEBCwUAA4IBAQCYoAQUOBUab2qTkc7OHQU2LBBWgSbE8TZQYkqCL7HS -jm6g5Od9sQwKC9mA5BT+PNajnzJQ0CtHvkzALo+Ep+d9JQYtW7AJKbpCuewPe4GJ -4c3eLb7a2HQPnpMJP6ZL1h2qGraWs7+pBCi7hrZR1s/AfzpJ4uuAlhcCpvQK+FMX -AVMwSsu1PlBAFN7irX5qMga5MWUDEzgEJ27TMOov53OT/JU6LNHYizIpY+ZORsh2 -169EhaW3xfwtB45jIRnkQegmr8gPlqY9IEn2eH8dCKZrS41iKHiZ2IZbbu2wt8rp -/wxU7MCYm7tvw6O5oFQy04MRmEifloaBF9v8l5mNeWd7 ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/clientcerts/star.default.key b/components/relay/testdata/certs/clientcerts/star.default.key deleted file mode 100644 index cc607dd..0000000 --- a/components/relay/testdata/certs/clientcerts/star.default.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAsPNlUyblO8W8zEwivJAa7+5OXzjn2UKBMRfqmvsfnk4+Dn9k -znD+zrr6oLdN7LD3yL5fc8jLBSLOydWSbKVwsFEMtRj92ijdenUqRMKVqwLZd4Mg -qXvOU2AjKost9EXQKSN1azIVOk2Lk16Z7NENQFr2pe3oQrmopYvlI3eR6VNmTeyU -6F9fKv9raYQUx+oXpJina9kYF8X+HyalvTZMSK9pMg2FqV0jEOLQtpZdOpZ8l/hQ -8KIcW2rvw4bKwDct8U99G/B71bFAptXsPzwcLkfsQoCBiNPsAWBK+Xq8JHCP4OsL -DeuRLptQOuk4i2nXnufUpVqJDXCe+LSg5xsj4wIDAQABAoIBAFP0+BNu9f7ZQE4S -pbygBxfmEutdPaw4wMGBXn/wPL1I1GreiP7mYA/IaZgNwPxXrwlhQjrWf3VNYZ4k -JlhEWuZdXlEirXdwQj2TD94WERtVu8bXwYyIwImQqL7L0J8A7NZIC7MzzRyfpGTk -0tWpDseFIVfzPGtEWb9KVAry9ZklfUlj+sLiRBmFfDOJ6k+k7bSBG5BygQ7+OdSv -UEhXpqM7l3mJKnTHBtnWNYJphQ/NNhWyilL5e5DW13VlRdWbWjLyHP49YWoqkW/3 -xo5ETI5GXDSLaEtJZzaBZ0iJ+Wq6jHusVt1htvUWgRNyTJtvVaiB8S4AFBM/79IO -LSIPCQECgYEA55NxU3AHYG34AekzjbzL/OPVEYstA0PB9LyNazbgptHm+lMT1yc6 -7JC+Ggmrx+kgC8MsN9UOPaHWdrNeeDuBywLsqfoJ+9/h8q1RvcVcaiRzXgahgtB7 -tluEfCx5BOd888L3bLyP0LNPVR+kDk9qPokRC2S9DSP4Nz6iZc5UF4ECgYEAw50S -U7cWADShebYjzth5t3QE4SdzBg3sVfWgp6dfm7WD58cBF17TyB/C2NYru+k9rzyk -HodnluHvGPWTbfvvVsbuhR18CSGVevzGWDMhWHXe17qrDBFrCLBqkSENuDhh9gSJ -0FfCP3VQ4uTn2oSczZ7Nwd421h/sFYv3pT2kjWMCgYBK1EkFVij8DuzZ6TogbcZY -pGJANgHIkUeGRrtHzsbPAPqrHtdFacbPlIHpNgDNK1aQlnOeYvkkDzyWxKUdItVw -/TPuRP6e5hxD55+HO9P99GNXGbts4uNm7LGl0lUUsZydw/1hpJiwLpDPB9diTGUf -afkY/mdcbKgTaejeDsr7gQKBgFldRKYiGlb1tF9aKnmww8pfomsKDq5RZgrPMBnn -iPIltqEIdSMsGyxt9iIBlfE+2QNZfNDFozl29jg82KGCWxEVyJnfom65fQS2vhZF -JZK4Jpn/mWzl+DP8BHNQ2meyum4eHKelsAQ1oEJHuPRHaSs2xWEwF3UzGDOvwe8n -filpAoGBAL69XLGVL2StuZYFXJvIclEnOrcafCtQqpu50dZ0DxXczR8OG846rttj -3v9tcxGMaXrnBu/vOYGsvO6HuUU6ooidms1OrWnOyZTFxxH1xwv7xGlFPSb5mMAn -FvmSU/8uwkgOuIrxKGNxKKhbNM4pYINfCe9ODhGf5qaG87zy7Ofy ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.crt b/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.crt deleted file mode 100644 index c87989d..0000000 --- a/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.crt +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEOzCCAiMCCQD0kF4yo85tSjANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDExODE1MTU1 -MVoXDTMwMDExNTE1MTU1MVowYjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEbMBkGA1UE -AwwSbmFtZXNwYWNlLWFkbWluLXNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB -CgKCAQEAwPyZqt6HNI1fCzhSNHvZP1ymqJJbYMyKTkVOvlIkEBMe4oWzvMZS6CUl -q54j00SSF8bTcwLj1o5MgREzPxoqK7zCGWknkwcP7k8wIQxpA2MTWBkBlQMPVfx7 -8KojIGtjP30rBAYoYbnuZS53rV7aJl1GrOfgi0FIB49iLw20iTZARk35ntR51nRs -s1iWD9+6+gB+kqDo4amTQDRs6TU8ltqE5bSSn1tXXn8jPP3oQX3Hkmb6ck71ztPb -VUoh2lfu04UGmJ0+2JJDEchdRWrdUmJmASLtZF7uRtdkEQfhJiULFZsLvzNbyrQZ -5WYLotpj+SYMam9YQi/Kh8heeXgKPQIDAQABMA0GCSqGSIb3DQEBCwUAA4ICAQCP -nMyXeFZ4pU0kdMClj3IUhr8NQfHBUVWtyy8tffWT4b7xLaUtTeKXrzSAuTGt9AFa -Eww4cO8leEt8ZqpJYoqoPsrGgxCFUannmsQoKYnHCT/+zo9KAY2I7rE4PffFcrFU -VmlSDgeeV7pybCXXIpVV2SU+264O96Eyykl13I1t2dMrFZ7F5oSU9wOYvLgfQw79 -qzwuE2EN1vM73pAhbnShjSOKE1DXnSaXNCsdbmcUcla/6W2przU1Xx/0TrNj4esT -Nsy5UYlf76XXQJisUryux0+htLPbUJgu5rcFj+dOakg3rI0+h1GeYSum1vhQGBeM -NwkSgA89Lwi5zaYPzc5SOx/IVfh341xtdJYdGF9DfB0ghVJ6Z/5BaQRW2H0jxIM6 -vrhr03387GO9l7R8q1gnoklqY6KkIHq43maqKTJ6ZV/sjV16Z9yn63+f6SViFCzF -bkXRZdypSqc8vOP8f2q/9Gbc5jPyIMVtJtDZlyHRQ93yashf6BFcP13iWutkdNbo -fZYt1ZzC0Kwn5SQDnKGmNEzPyl4/nW0RgDNP6hYyxcL9JVzN0MSyjwajNwhDbxpN -FKXnwhk1MMclGAcGnDZRoYbweuJS3x8ZoAP/pTrxMSGw60iwc7co54Ina3c+xHAW -Dd8ac41yljTr1Z0o2ppiE46ozcxT9sU0pKAO9bAdnQ== ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.csr b/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.csr deleted file mode 100644 index 466e8da..0000000 --- a/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICpzCCAY8CAQAwYjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEbMBkGA1UEAwwSbmFt -ZXNwYWNlLWFkbWluLXNhMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA -wPyZqt6HNI1fCzhSNHvZP1ymqJJbYMyKTkVOvlIkEBMe4oWzvMZS6CUlq54j00SS -F8bTcwLj1o5MgREzPxoqK7zCGWknkwcP7k8wIQxpA2MTWBkBlQMPVfx78KojIGtj -P30rBAYoYbnuZS53rV7aJl1GrOfgi0FIB49iLw20iTZARk35ntR51nRss1iWD9+6 -+gB+kqDo4amTQDRs6TU8ltqE5bSSn1tXXn8jPP3oQX3Hkmb6ck71ztPbVUoh2lfu -04UGmJ0+2JJDEchdRWrdUmJmASLtZF7uRtdkEQfhJiULFZsLvzNbyrQZ5WYLotpj -+SYMam9YQi/Kh8heeXgKPQIDAQABoAAwDQYJKoZIhvcNAQELBQADggEBAI9SY580 -Th9Q4H3rUBMhdzVOW2f6Oyb4TPk0VBrVpOq2Puu50YW64UknAFz0beV5EkcjUjEo -Gib9SKLnDuQnJk90IbjivfAqrimT0bradbHXVoteuulftRzjhFBAnwrDD5Y1eSiU -mbKRDcp9IVPDFBhJrDgZhOoO/d7EeLETudXHNTTknxn4a9olYuAHupq+bsTif7A8 -DRWmCPC5BsNNK5w7nOC9ZcKCSvYbo0gLHzejivJl/GomYWpAXR8gV9xuJ5e3tVPx -5CcNRCYyepRiOYwjn0nUTJpRmRHjzm2vCx2s0Z9y8cOtwHBgEWLVrpCkWm+ik1as -EqfByEDkI4TVdKw= ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.key b/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.key deleted file mode 100644 index 197369e..0000000 --- a/components/relay/testdata/certs/clientcerts/star.namespace-admin-sa.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEAwPyZqt6HNI1fCzhSNHvZP1ymqJJbYMyKTkVOvlIkEBMe4oWz -vMZS6CUlq54j00SSF8bTcwLj1o5MgREzPxoqK7zCGWknkwcP7k8wIQxpA2MTWBkB -lQMPVfx78KojIGtjP30rBAYoYbnuZS53rV7aJl1GrOfgi0FIB49iLw20iTZARk35 -ntR51nRss1iWD9+6+gB+kqDo4amTQDRs6TU8ltqE5bSSn1tXXn8jPP3oQX3Hkmb6 -ck71ztPbVUoh2lfu04UGmJ0+2JJDEchdRWrdUmJmASLtZF7uRtdkEQfhJiULFZsL -vzNbyrQZ5WYLotpj+SYMam9YQi/Kh8heeXgKPQIDAQABAoIBAC9o3sdfS4/ZexPi -ji9ejYxHUpnu+ovZM9Durd2LiFh6mgfEGNezUQK+vXZfryVjnxBARAnpF9fJtXmv -pAtIfjuob3aWoqY4Ae3lfklgJxwx5rqpyf21drsE/92rrl10hDlAoqSmbp0zdCFf -PP9WYfkyyP4JKNyM+QkCbHhqwYNDZrZIJs7BATmsNoDQ0kieFYCvJlaZ3HRy9fpw -/HIWVtJryBNbZJXLaN58lbOoJRK9h3ipsqw8NdqDDtOQsJ1lPbQwO/+FvdW3v8Cz -1R4bGHls2ESESiaGbP9VgSt5nC0whmLyKePOHsq+xLU+k5kIPqRADzMCATE6OEhI -8R/q/gECgYEA+OMypJwZyMIHY/FQdN/bDnEluS6zdpLW4CLJiZxCbKThYzKJxxWx -RV20Pg0i2tCOLM2SpyvmwzVNgF/XeFxra1DKty/8K9aiibPkCbbruzRrgjSVLz0m -tynVjSGx6xR905aRg0ZZlnMLW5Oaag1FxpcXBW/WrqTmA7+BNE7dCJ0CgYEAxoBy -EYu7ZETePmwNS7b6FQ2VJFIt5A5W5AC/0J2+MtXBgNzmGvVX6ss3VaHdlcJORgP3 -03eGoUnRANsfyQFsn5moTsbL+/33xzmU26KXc7X0EH1sX2eDNdAy/w1wbOXBnlmR -DoPKRi/yRs9r9axKA6XhLbpGa95c5Zb3cslrRiECgYBb2a0E5r71QfXsQlBI8Zws -FkGvt7ZvWf2Gtg/egxZYdfjf3PTPzgef69bq13o3eqQdkLhAjYkaHX++kqA4QRM7 -hZNqS4EqxIkzfHn5w9H3Qn8yjClKR60UB5JSBU9dzDArd/O3mKzTQx277BsebEuF -4JiUXxPBXAWu+Gu8XCZiWQKBgQCyGKw/cc8/t0pvVyLWu+TE3trhK5pg8zyidMmk -suLjWUW0CH2r0lR/JLUQ75mPtDXmO8kuwh7YtxH+YpuyDMUYrRSFGXgLL2IQLWmR -Zd/cwXOpF98T+huPPK2EiNpF2h5NpK6xBy2Eq6AESDXkxh/iBgJytJ5aSbevhjOd -mXnWAQKBgBoJ2dsi12LRCaqwmnnnANKjlBnNzCzzSpcNOHte6SxDuI5x4PO1ZHa3 -JlCzAeLGYiwjQB9NXW37JDLq2FhREU3szpS6ew2+NHZdmHRZcETysC+eCyWOsZmd -EDIqe7EdJUbHXP4MS03r6b5ROc6vRfZO15R4cGufeDohrKrYf/8Q ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/gencert.sh b/components/relay/testdata/certs/gencert.sh deleted file mode 100644 index 5563667..0000000 --- a/components/relay/testdata/certs/gencert.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -# Script to generate test certs using the custom rootCA in the code -# Pass the name of the cert as the argument. -KEY="star.$1.key" -CSR="star.$1.csr" -CRT="star.$1.crt" -echo "***********************************" -echo "When prompted for CN please use $1 " -echo "***********************************" - -openssl genrsa -out $KEY 2048 -openssl req -new -sha256 -key $KEY -out $CSR -openssl x509 -req -in $CSR -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out $CRT -days 3650 -sha256 - diff --git a/components/relay/testdata/certs/rootCA.crt b/components/relay/testdata/certs/rootCA.crt deleted file mode 100644 index 1864f5f..0000000 --- a/components/relay/testdata/certs/rootCA.crt +++ /dev/null @@ -1,30 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIFNjCCAx4CCQCUC+ovW15jKzANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDEwOTE4MjQz -OVoXDTMwMDEwNjE4MjQzOVowXTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMw -EQYDVQQHDApQbGVhc2FudG9uMQ4wDAYDVQQKDAVSYWZheTEMMAoGA1UECwwDRGV2 -MQ4wDAYDVQQDDAVSYWZheTCCAiIwDQYJKoZIhvcNAQEBBQADggIPADCCAgoCggIB -ALfQiTsC6u3g99OgQ6TH0t4cR66Hapaouyh9p+8J2iUMPIkZKw9Z1iyKd+n5zqBV -lPZl2t9E821A15MjMCJOKjT3F9wuNeiBvxDTAmpyK+1Nj5OXXEbVXgVsq2uy9I+Q -f5nX47tXiiqrmSLH1cFYWGzs7RCuK4Df8MykKkKYCIW/PAEReHFqjVlUwFaff35e -T1b/NcGIyQfNw3MRcLRtn3BF/LvwraqV4MothqCYQoEVXfp7ON5lOvaQaPLg++F/ -I/U2aVI9iQ47glBY2t+lVXPX8TwwMFNu3k+xnJ0+NRDlkXoyDLTfLNcDKxf1wCCl -NWw2DvtVMAyDtibsMUeXR/q3kl3UhTNupHxf3YNMIhn5NpBRHi9JEvJbe9hF2O1f -NvIaJeafsKvT1Co5sYxokVM0vjns31qi7G5f7PvPxmHg64srV0aeXRpdOb4kLzPD -Vlep6kmJnfCoDjNLXUQeZRrjJgU7pnba+2QVsXwaK4FUPe+fhrO2OFaDeZ78MY4z -2QsC7rinspkvl/mwoxfyB6g/8IS3zI6Ii2LRnnqjpqw4sphnxz2gDAhnEo7Nc9A2 -Cy4I8g04Lqn4O64WP/FFUEheBWIpKPIFEzWtZvguR2zETvB+H0o3gDDfgKM5odsd -06Ujh+C1pouMfyuTTDdNWrTDpNa9MPBsKRMM7rvm9RcnAgMBAAEwDQYJKoZIhvcN -AQELBQADggIBABUBeOADlWbNz+FwjC4TtX5+0td4pt3sPJjS4tREYZ5lrWYlByG4 -To9Pl5AMfd7Bc9r/5tkDyk0mIvawpPBDJL8G+cAJr6SOn6Pp4puLXCoyew2U9UiX -De+SPEeTKi/YuZjgZIO7xReat75w5ib8Zvx2GyyFKhS5fxxCtWVq2gI/UFD4j0wn -OXwE5GUkmQRSIFcmzmuPhGwDOO2VGsd1UJF/trvH8x0wOhiJsCjtvXSnVad+Dub+ -EXGeKYCJMlfnplqERXq0mkakUT1kA6qdJ9m1cvu0bbCap8jnrfuRDkGQMkB/1UHt -c7YRBG5y0cwa47tMlKZ1/lXkwYjMPGWqOshtm3lpIvmv+/CyxaxTdN6cs14uJpy/ -QsOmOkNuaZv+1DSwaL3bQYLHYXhm1TdcfFVZVsTVTO3ZfZH2LqORpqTjVe7JCGkZ -09kliztztVNtT/4C+CIhY6i2zncU1lCFQkUZh9e4uyNR8Y+EjMcivMnaAVoCK8lQ -Shj0uPSEkuYrxHFIJ9AQuTrctI53u9jBdOkjXk00NB2gwLyDRhWRUHz6KxpNMwpc -/8jMdU/GjESFASGMPuazMns0g4NBqE4jT6tGJhL4sFmn7HOHF3g8uYZnJmTyQCny -FQOQw3/KbgGNONiTpYnmUrlCvtZKC85awJC07G/YNxAZM0MPxo+pqgz/ ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/rootCA.key b/components/relay/testdata/certs/rootCA.key deleted file mode 100644 index 064d2c3..0000000 --- a/components/relay/testdata/certs/rootCA.key +++ /dev/null @@ -1,51 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIJKAIBAAKCAgEAt9CJOwLq7eD306BDpMfS3hxHrodqlqi7KH2n7wnaJQw8iRkr -D1nWLIp36fnOoFWU9mXa30TzbUDXkyMwIk4qNPcX3C416IG/ENMCanIr7U2Pk5dc -RtVeBWyra7L0j5B/mdfju1eKKquZIsfVwVhYbOztEK4rgN/wzKQqQpgIhb88ARF4 -cWqNWVTAVp9/fl5PVv81wYjJB83DcxFwtG2fcEX8u/CtqpXgyi2GoJhCgRVd+ns4 -3mU69pBo8uD74X8j9TZpUj2JDjuCUFja36VVc9fxPDAwU27eT7GcnT41EOWRejIM -tN8s1wMrF/XAIKU1bDYO+1UwDIO2JuwxR5dH+reSXdSFM26kfF/dg0wiGfk2kFEe -L0kS8lt72EXY7V828hol5p+wq9PUKjmxjGiRUzS+OezfWqLsbl/s+8/GYeDriytX -Rp5dGl05viQvM8NWV6nqSYmd8KgOM0tdRB5lGuMmBTumdtr7ZBWxfBorgVQ975+G -s7Y4VoN5nvwxjjPZCwLuuKeymS+X+bCjF/IHqD/whLfMjoiLYtGeeqOmrDiymGfH -PaAMCGcSjs1z0DYLLgjyDTguqfg7rhY/8UVQSF4FYiko8gUTNa1m+C5HbMRO8H4f -SjeAMN+Aozmh2x3TpSOH4LWmi4x/K5NMN01atMOk1r0w8GwpEwzuu+b1FycCAwEA -AQKCAgA643BTm4ewVhaPkhSZwfrodZ7xZyjaw4vSWQ9oIXvlypnKQmntLRbUhjgM -mZ989m4W0mLgjLKAGfn2hZtyIiCbf14BiDx1FLwlo7Rubc1s5SBOZHuHpevNSRdS -Fa8MH3sByoyHBHCbYwZYgjUVEDykCPOaGHKPgy8eIKn5U8PHNZD/tp0jmMNYDzLf -jZHG5mf8sx6BtlTRTzaCst+srkIaMhHaFC1PLV0q6JLs+Fq2CCZnjPqXJU9SlslI -ppOLlrPqZ1gupNA34xDItO7KH6nUxyXd5oJU+Hv4hCpspfVSSHnm8AnqGGXBLJ6t -ummnC8aluFvsYUpXeArvRVQ0X18LhJNm1l+hADX+9LDiowM2vKbIBHPE2lcvmnPa -Wknqa/rjekjHn0ZmSbguOKtvWuNO9D7Q1eeWLIDa1WK4EZFgIoasXaqvG3qjXUu2 -ftBUHRddtbmN9YcxWeCCciWdzVi1SQnsIKdiLaHJJ4j4EGdVTvw7aVCsmDSNouFN -DrH+ncBNFJPQCalAol27kPA07aO+NJUFMsfHR/JYNCyZGMVpyvutRDUmoBLNTVEy -JZJmxrhDIOFbBjPvmhgbPN6igzZPbtcabVGJ5z4T0mg+xUdgOINfxgd/vP3i0uJe -N4ebYH8Thbov5xVL6y8UI3Aj7uJYFZ3wIbEzQ6VfYx47ilExoQKCAQEA4W5daXLp -reM3tA0WVpIucRUfQ8INH6V9aQNJodl9PrIaZgOy1P3yPgyWYOxBq/VmxCJevCZX -dwd87w/D6pb+J2mUl4rHGAP1Z9NyRjGhZR2zd2l15GA2G6OF2dOol8dPg2Vy52XT -+4P8NO2TjkZBbxdgaY7zoLdqkhFQGHQG3yVHWXxDclxvvaw1UQ/Jsqhjh76DLFP4 -8Wgh+eKdUWVcfrPLPxtCD1AqYlKMUUPTM1bMtndMzTKhLvHn7Ps7bYcg4ZljftXy -22TDBwKDyFKY12A1+08IakJTkE+x0AT8udDucrhCcC4UDHovaMMG79JDjBzPExFR -Td9SP4MnG/AuewKCAQEA0L194ofiET1aMfxT8NuK92hxvoxaLJjjZNiT7jlrFJpO -+9L5gnF/sTUqyIJ5oFaMajK9uUbjB7fKAaWZ+HscRqqBbL6jP2njEcuxuCiNYEan -Qa4XG3LOMLRE8XavVu+yrKyPqf+KeZV2sDZIHwupEPol/hMvavxKUnmfaTCc15GK -ikV7uciNFtYW0BfkS0Od94KBbOEsZO6tFYRlbM4IqX4j06JXGA54CVpUC6pmV7l6 -heDhMpGkcG49GizeZeUd3TOmCv03ulZH66WMw+mLHInEyNuZY4jgeFbsH0NjDAvV -aB7/dPWHP0/0YX9kwezTcUzyWyWPWtqqBTHaPIywRQKCAQAWXKFNhYWipyhuZuHx -YnzS4NqCGSy+F+dx1E6ojG99GaO+vN0vfaVa/FqqcKUvDp/MEvC8zzzb5NVCzZiM -m7/IXxPLWIvZWQMt8m6igefVpPWZgc+dAOI9KaJsci+GJtI/YX/dbl9x0qzg/zQk -59kz0OjSb8jBB5C9vpPoaRIJbqQ+PzJdlMfM09lSGjPS0htVatOOQSIvqDm+lPkw -CtL7CpC9yNFrvXMG39NleEnqDNEvxHPM4xnUE1EDVASYH9BmMJYLDeQSWVNzTY+O -/oqEytlv/W4DRGMPrKghz2zWbeBJZvfIMvnwJuqvBLGadowWyQDNjmk3RVDeVf86 -KUAjAoIBABo5A9x2Z4703yTSZxUl72I/S7K9XQKnPkHH92WA7xPKgsud6Fxbt8fi -PvqrcW4UEVWyBCWHYzPwAb+NNzeA979k4hdwJ3/q5Gyy4yOYbJJArfhRT3PSS1bQ -/qw61bIdMJwCnZWklZfKj/t5BjxoMZgBZM5zSIyvHwMXZlBHnBx0myvdqLphGGBb -Csifh71wxCJ40ZuE+he/6ByA4mD1zR7FyuhmR3ytLKU4JMDGak7w7RRueLvqkfbR -0nk8U8AHNWY5e817nAmblzNiO7nM1/4AzKjS9YUMh+52NPmEdKfpwKhw5HSj95ab -i77HyzeVccaU/Qk4QbcPKza12Y2ruuUCggEBAM4V3ZYWogxPyx84qPJOtbnnF6Lp -QokJoXtGMDpVZ5kr5JqYFniJ0O6r1Uaa/GrehzRVE+AxIDZuJSGSrhDvbG4YjbU4 -PHjWOkhuUstSK9zd0Vho2LeNK4GUcNMhJeFsPFhfhPeRzlLF9QisHs6l9uiRqiPy -/U3qOEjrPlN8Tllv9upkkJDmgb42VPLYJQ0kNYf+jDQEcipt0Ikfodq+yqveneBZ -8gITjd7KnCcW/lJyUdGylps06AtYFu1G2M1D51cJYc38zhnJVgZ75PSlrtT4imOo -GI6AoFe3I2WZ3HOLVmfKZ22t+lBwQ2iZ3vXCegy9o/ONUpaJO5UQlknFzEE= ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/rootCA.srl b/components/relay/testdata/certs/rootCA.srl deleted file mode 100644 index c1b3a51..0000000 --- a/components/relay/testdata/certs/rootCA.srl +++ /dev/null @@ -1 +0,0 @@ -F4905E32A3CE6D52 diff --git a/components/relay/testdata/certs/run.sh b/components/relay/testdata/certs/run.sh deleted file mode 100644 index 1f035ff..0000000 --- a/components/relay/testdata/certs/run.sh +++ /dev/null @@ -1,53 +0,0 @@ - -## For refernce only -### These are the commands to generate certificates. Also refer gencert.sh script - -# ROOT CA -openssl genrsa -out rootCA.key 4096 -openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 3650 -out rootCA.crt - -# Generate relay.rafay.dev certs -echo "User star.kubectl.relay.rafay.dev.key as CN *.kubectl.relay.rafay.dev.key" -openssl genrsa -out star.kubectl.relay.rafay.dev.key 2048 -openssl req -new -sha256 -key star.kubectl.relay.rafay.dev.key -out star.kubectl.relay.rafay.dev.csr -openssl x509 -req -in star.kubectl.relay.rafay.dev.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out star.kubectl.relay.rafay.dev.crt -days 3650 -sha256 - -# Generate relay.rafay.dev certs -echo "User star.kubectldialin.relay.rafay.dev.key as CN *.kubectldialin.relay.rafay.dev.key" -openssl genrsa -out star.kubectldialin.relay.rafay.dev.key 2048 -openssl req -new -sha256 -key star.kubectldialin.relay.rafay.dev.key -out star.kubectldialin.relay.rafay.dev.csr -openssl x509 -req -in star.kubectldialin.relay.rafay.dev.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out star.kubectldialin.relay.rafay.dev.crt -days 3650 -sha256 - - -# Generate relay.rafay.dev certs -echo "User star.kubeweb.relay.rafay.dev.key as CN *.kubeweb.relay.rafay.dev.key" -openssl genrsa -out star.kubeweb.relay.rafay.dev.key 2048 -openssl req -new -sha256 -key star.kubeweb.relay.rafay.dev.key -out star.kubeweb.relay.rafay.dev.csr -openssl x509 -req -in star.kubeweb.relay.rafay.dev.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out star.kubeweb.relay.rafay.dev.crt -days 3650 -sha256 - -# Generate relay.rafay.dev certs -echo "User star.kubewebdialin.relay.rafay.dev.key as CN *.kubewebdialin.relay.rafay.dev.key" -openssl genrsa -out star.kubewebdialin.relay.rafay.dev.key 2048 -openssl req -new -sha256 -key star.kubewebdialin.relay.rafay.dev.key -out star.kubewebdialin.relay.rafay.dev.csr -openssl x509 -req -in star.kubewebdialin.relay.rafay.dev.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out star.kubewebdialin.relay.rafay.dev.crt -days 3650 -sha256 - -# Generate relayserver1 client certs -echo "User relayserver1-ABCD-123456 as CN" -openssl genrsa -out relayserver1-ABCD-123456.relay.rafay.dev.key 2048 -openssl req -new -sha256 -key relayserver1-ABCD-123456.relay.rafay.dev.key -out relayserver1-ABCD-123456.relay.rafay.dev.csr -openssl x509 -req -in relayserver1-ABCD-123456.relay.rafay.dev.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out relayserver1-ABCD-123456.relay.rafay.dev.crt -days 3650 -sha256 - - -# Generate relayserver2 client certs -echo "User relayserver2-ABCD-123456 as CN" -openssl genrsa -out relayserver2-ABCD-123456.relay.rafay.dev.key 2048 -openssl req -new -sha256 -key relayserver2-ABCD-123456.relay.rafay.dev.key -out relayserver2-ABCD-123456.relay.rafay.dev.csr -openssl x509 -req -in relayserver2-ABCD-123456.relay.rafay.dev.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out relayserver2-ABCD-123456.relay.rafay.dev.crt -days 3650 -sha256 - - -# Generate relayclient1 client certs -echo "User relayclient1-ABCD-123456 as CN" -openssl genrsa -out relayclient1-ABCD-123456.relay.rafay.dev.key 2048 -openssl req -new -sha256 -key relayclient1-ABCD-123456.relay.rafay.dev.key -out relayclient1-ABCD-123456.relay.rafay.dev.csr -openssl x509 -req -in relayclient1-ABCD-123456.relay.rafay.dev.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out relayclient1-ABCD-123456.relay.rafay.dev.crt -days 3650 -sha256 - diff --git a/components/relay/testdata/certs/servercerts/.srl b/components/relay/testdata/certs/servercerts/.srl deleted file mode 100644 index b7ce295..0000000 --- a/components/relay/testdata/certs/servercerts/.srl +++ /dev/null @@ -1 +0,0 @@ -CB6AAE2A400B8C7E diff --git a/components/relay/testdata/certs/servercerts/relay.rafay.dev.crt b/components/relay/testdata/certs/servercerts/relay.rafay.dev.crt deleted file mode 100644 index 1e1158e..0000000 --- a/components/relay/testdata/certs/servercerts/relay.rafay.dev.crt +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEQDCCAigCCQD0kF4yo85tQjANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDEwOTE5MDE0 -MVoXDTMwMDEwNjE5MDE0MVowZzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMw -EQYDVQQHDApQbGVhc2FudG9uMQ4wDAYDVQQKDAVSYWZheTEMMAoGA1UECwwDRGV2 -MRgwFgYDVQQDDA9yZWxheS5yYWZheS5kZXYwggEiMA0GCSqGSIb3DQEBAQUAA4IB -DwAwggEKAoIBAQC3xFSCk12MhfqrREW1UpGHbnFQ3Icl65TN+H99rueD7eL0CXf4 -bRp4V3ncQk35HHVBn6FaSbplXfNNFq9YSxfT+GGW07AHkUryubVQSrjH4GfCn9gW -ngxM1cslAiJNULmkFG9y6xIK56auQl8xbf1qGKjuAXh6c5AKmCIx4Zyq26ucdvTY -a0kOmBEjdMFA/5hiAvOsAlUt8fSC6TnJ4eL4XZNrRpbbTVyJ3m4yFmWv1Az1hTRJ -ZYbTFiOEgPBi/FxUSkaCt7rsY+JSjKIsYJH3/Lo4kvH1X+9QuA/r7ZCzx+mKxCEi -qRddbintLMqCkuYCH12XVAmLeElCLEOqOUk3AgMBAAEwDQYJKoZIhvcNAQELBQAD -ggIBAF89TL54hR3mvAiegldIajkVW2QYFCkbKhH1/E2m5jEzdA0dqJk9lJgtIJGb -vXBGopVRDad6lBqyOfC/E0QrwXt36fEUQZtU8KIc+21XzcICPcmh9ro5LecDmo+e -CME7xuzbpYBH9s8jWL5FykU7UlZ2ETg1BTj8kHIPRV3WkVHb34/M2CREOdnikKfF -oU3R+PmoOjOb/zVSbc9cPe9Wa75cp9moortM7SzE+be7Ah8uTYlydleRYlQ96PTM -Sd4Vx8qMyRgEYgQTzMhMeba9XTtJpeojmdWM5GsR+TBPhqhGSrDY1qcfMYj2Vxrf -YusIfB/hlnrk6s0cS5b0EoIstCi8/Xo++rU0HcU8GSSzU3+wvgcgfH9v+qeFK1XF -zr3cKsakdvwwdllk1Ko8nIttpPXfG4h2vyt82hwbesz7qJ/LcUtTUkDKa9ap+r+0 -bioO1YIio6bVwWd4e4i6HekKVv/+Jbrq516cJVpYsmkviRQsbIqmPMxAjTuFnJ2w -GPF49oUbbByUeEqsRb0R/vVEeuJek01QRLkiBhwrZySBzfhpoNprXljmPMw1w8zh -YMGsEp57a9HC5A6kYL7d8fnw8xjDqcv7FU4VFtwYqm3CLJRhQTMr5+3EnH4xJel2 -z7F85OoCigjIN7a4iU//JeZZB/tfhjaot2g+5gWWKFG2EivL ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/servercerts/relay.rafay.dev.csr b/components/relay/testdata/certs/servercerts/relay.rafay.dev.csr deleted file mode 100644 index 4e0c3c1..0000000 --- a/components/relay/testdata/certs/servercerts/relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICrDCCAZQCAQAwZzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMRMwEQYDVQQH -DApQbGVhc2FudG9uMQ4wDAYDVQQKDAVSYWZheTEMMAoGA1UECwwDRGV2MRgwFgYD -VQQDDA9yZWxheS5yYWZheS5kZXYwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK -AoIBAQC3xFSCk12MhfqrREW1UpGHbnFQ3Icl65TN+H99rueD7eL0CXf4bRp4V3nc -Qk35HHVBn6FaSbplXfNNFq9YSxfT+GGW07AHkUryubVQSrjH4GfCn9gWngxM1csl -AiJNULmkFG9y6xIK56auQl8xbf1qGKjuAXh6c5AKmCIx4Zyq26ucdvTYa0kOmBEj -dMFA/5hiAvOsAlUt8fSC6TnJ4eL4XZNrRpbbTVyJ3m4yFmWv1Az1hTRJZYbTFiOE -gPBi/FxUSkaCt7rsY+JSjKIsYJH3/Lo4kvH1X+9QuA/r7ZCzx+mKxCEiqRddbint -LMqCkuYCH12XVAmLeElCLEOqOUk3AgMBAAGgADANBgkqhkiG9w0BAQsFAAOCAQEA -DWm2eXew675cXj5pdsL4mKLnpQjSy+3Ewdg+NRQw8VUF12xjxVNUCPcrX2wcrHx6 -1KqCxOKr5b3d1SlqAKVwEh+6J5+A/nbfFSxT2gUmqy1IEe+obYSvj6AiN9D528rw -e7MKlwBi6ARgyIT3HjC95gKehX6qrifNiY0aNnP/BfaCXNxPfP8Ltyfqswv9+P26 -kHePUcVBLOA6+SKimVvYqhAtLhaqjpjBo4JeX+MB/tP+kzAb06wBQOb84SILOBEy -aOMSF1uR0peB92zxLqblhJMoyZc/rOH6zE3PHjNPiPcX9BFJJ8LHGLXPAxoR44SX -flK/mNcmRPVplIyJ57OB2w== ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/servercerts/relay.rafay.dev.key b/components/relay/testdata/certs/servercerts/relay.rafay.dev.key deleted file mode 100644 index 9f86b6a..0000000 --- a/components/relay/testdata/certs/servercerts/relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEAt8RUgpNdjIX6q0RFtVKRh25xUNyHJeuUzfh/fa7ng+3i9Al3 -+G0aeFd53EJN+Rx1QZ+hWkm6ZV3zTRavWEsX0/hhltOwB5FK8rm1UEq4x+Bnwp/Y -Fp4MTNXLJQIiTVC5pBRvcusSCuemrkJfMW39ahio7gF4enOQCpgiMeGcqturnHb0 -2GtJDpgRI3TBQP+YYgLzrAJVLfH0guk5yeHi+F2Ta0aW201cid5uMhZlr9QM9YU0 -SWWG0xYjhIDwYvxcVEpGgre67GPiUoyiLGCR9/y6OJLx9V/vULgP6+2Qs8fpisQh -IqkXXW4p7SzKgpLmAh9dl1QJi3hJQixDqjlJNwIDAQABAoIBAQCn/dOf1qWzW5tu -y6fJ/aRKIV13pVHrCXRr4lpyA91jDqnlm25P7TVAg/9Dql1reGd8yTgQuMur9PoB -I9bBqUwsG6ji37vQ/zJ7t+cXcmd/WRahpcw9yNfHub3OpCfFdCFw7LmBXYGN9Hy8 -WrJ5FmqOfeKYSUHg9xnbhX3lCbFVwpI4KE7WXuvZH+7A+hJl6UFXm0nMGDWscylI -5MUS6QPoQZ0eMR2I3XgX9MrspdSzGdg8mTPIfyK3Di1RfbJEXba7HqlVk04r1PtP -LXQfftRpZVrpRt1CpzHoJy0sxl/iuqWtWSHJ0KxvyxZpaZMOmjPiAkvQ9cw5hA84 -POWfLXLBAoGBAPG20UqKH1pbeFN6Ne5XCYQJbqDw5nbreDHcfZp8cZ8NClf5Yn15 -XRax7eK54awYyW5sR64dTqT66lUncO1MKItbSiuIJ8Yji50oObYD/r3jLhmTXtei -I5sNIrOM/eTEaQtKgX6wUHnKrsaDExP1AcOXQB3z1S1xiog2HxGD8Z7hAoGBAMKg -wn/gU9y3/NOf724KiS00+nEmFnjuW6MFZFhx0qKLNLeSfjgUdd5WMdDCO4fGjhKT -gajpvQ73btFrjnfpsRW8DHCKV4lZCWV0q8Lhd7GdP9xf/Yete93I712yGFfxxQ0T -Gp8eQ6atUJ5McQryx84zLUzPrQDPMDnguiAAc2MXAoGAUNlmnfkfTZjk4X8yRNuG -Ck0hXOHXJJXUaVEoDiFr29h/yjdXU0Lh+TJgsIKeUnMkBTRgsYOKB7MJ6Ju9sRHV -Se+qGm97ZlIDY/jNfO1PKvKvO8zIX3YTVMyK++XAEuIDhMxSDi8pa+N4nFvBaN59 -zY9s2dfySTX+MVtw/unUSuECgYEAri5pY0BETVhr8IlGIllTgx3StMi9e+T2JeOB -dpYHSGkE+PUl+NJ22lCRrJ7n4A+WvpE8jQsCpA5VIx77Fd4TGbx99YoZ5VXFzwKn -ZXWbRV3R9UwC/hYIsOhPMK9ekfZRv+3E+XqAWP7rE4Cd+opkvumWNRP3ZK4IHwQ8 -Dr/YhGkCgYBTWyOAS2D/xa3lgFbsErh+k+BgvyfwvLfLmEugwqioiWn59oUvA6At -MCiB1eTbq8CzUZGElZCH1vQjzvL475iSZtXHD7qN3OHp6iUzF0Sw0SV/ptwMnQXN -mMQtu9hlonPCwklIfHVvhTAu+eaYFpIkZnrbwxlcEcLeFk8EZM9VRg== ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.crt b/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.crt deleted file mode 100644 index a78144a..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.crt +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEQjCCAioCCQD0kF4yo85tRzANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDExNTAwMDMw -N1oXDTMwMDExMjAwMDMwN1owaTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEiMCAGA1UE -AwwZKi5rdWJlY3RsLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBAO7cbcZP2XZZ6djdO+RyjH4NOpqaxURgLPosXVYr2mTduizA -jtxAS4sZPfdZk9wQY7RT7hVoOQY836kjiiyjwuy2BhhiYjc4ovzGR25bNwi3I6bW -QN8EHF5KIySB2gXgn9br5LgDz6chZwcWYfyqWcbJQ2oesYQIeOCsSkm1cNA1U6J5 -gAu6t8Pe9nbaLiH2t38QnVmRbCoNYUpzUNQ5shrM+AfJ8CRZtahkd8ucBPly4T/9 -dbjIjV+f8KqRTfbT932KkKLREyOhugfuFJ//YH5XETr38EcdHJ0i9Hx9P+D7+Mou -X7o9+quX9qBDPkVSJZRREmwHw0y3ZkvK9VtRbqMCAwEAATANBgkqhkiG9w0BAQsF -AAOCAgEAAZ1vLleh+w+6SCNiMmuwYFyIQ1hEv5GlMR47Tz0P6iJdLAaCTU0zBihM -ChNjoy0C3OmzKmmlAv02r8GCzkDLAvcfh5T3QbF9fDDhAGKqoOZXFsUiYn1gx4o6 -8UgWI7Y6golreD7VWEa0FCctoi2TFsmWgAPtaY9EJKUsPpt+2Awtb1ZJ27xEcYfI -gNN7ZZe3KwropMiFjCdIT1Uy/99TDiv8z/w1RYH0WeMBQLATED3flYewyLg962z6 -tkTooS5tvbtpbxtrkjBsKkktHo8wxacVvcDO8VuOnZJZC4JCn5CFgBYkdBUBpQSo -R+bI+ldroxSgcUndNGwnNWJt7C47p1WUMohR7Uqf9uuCYFuy9tJMA9LN1nyRRKV5 -D2/N2pwias89+Rk4PNg03jAeJRoCQsV6zMMMd/Waryg04ujWUnBpLR3ZyOLL82sN -lIpTed3+2aR1F6dK/dE3n5AFNcZ3HTvPNpgYL96IjLxPyInMSBQ8tvzmIrESMRXt -ypBRFg8iU5Ri0crB/aHxmqerjDHbwvLLU62424uR24IJK+nRIkYdrthqaCFsCT6u -JcHi2dfy+s9aCjhSmu1BxIXgJCV6tItQ+dwGmRVMQnQC5VBqgPm3UUdTa+rs3pwo -0VYyQi1QDQWftJv2Y/rvtLv/OUws+aCk0AkjjohTo9kBkxsD1zI= ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.csr b/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.csr deleted file mode 100644 index 97d47f6..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICrjCCAZYCAQAwaTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEiMCAGA1UEAwwZKi5r -dWJlY3RsLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBAO7cbcZP2XZZ6djdO+RyjH4NOpqaxURgLPosXVYr2mTduizAjtxAS4sZ -PfdZk9wQY7RT7hVoOQY836kjiiyjwuy2BhhiYjc4ovzGR25bNwi3I6bWQN8EHF5K -IySB2gXgn9br5LgDz6chZwcWYfyqWcbJQ2oesYQIeOCsSkm1cNA1U6J5gAu6t8Pe -9nbaLiH2t38QnVmRbCoNYUpzUNQ5shrM+AfJ8CRZtahkd8ucBPly4T/9dbjIjV+f -8KqRTfbT932KkKLREyOhugfuFJ//YH5XETr38EcdHJ0i9Hx9P+D7+MouX7o9+quX -9qBDPkVSJZRREmwHw0y3ZkvK9VtRbqMCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IB -AQAPkDdgYNELjqRgveMqBVBafxbuRAR4AdAzPDbCLOBDva5WiSkiOOKAhLBbspal -xkeOdAg0KkUhSX/J+l1yKpP7AnitpTEG/sJog7SXv4/Pk5oaPYwMKpHfqXKjcgBE -QrtPBgDmQbyQwTkcc4f77TvUb9dv+dXK8UGjcjcnDlKdnG6XdyGDFInLjfR8SE3/ -u2CQ7fKZIO3Z7G1IsI3YKlK3oVTWtquhQvL/YY8hhT80xMItHJ4GL9eFQYT7NFvE -xQHXsfLuIhlG50wT/Ce/YXmpndOX13FppfgkXUC7zpGtiecX+oOa2ybT+wkZ2kHP -/ouZqrH4LUzSK4ufip6Xip5B ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.key b/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.key deleted file mode 100644 index 9d1a6c9..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEA7txtxk/Zdlnp2N075HKMfg06mprFRGAs+ixdVivaZN26LMCO -3EBLixk991mT3BBjtFPuFWg5BjzfqSOKLKPC7LYGGGJiNzii/MZHbls3CLcjptZA -3wQcXkojJIHaBeCf1uvkuAPPpyFnBxZh/KpZxslDah6xhAh44KxKSbVw0DVTonmA -C7q3w972dtouIfa3fxCdWZFsKg1hSnNQ1DmyGsz4B8nwJFm1qGR3y5wE+XLhP/11 -uMiNX5/wqpFN9tP3fYqQotETI6G6B+4Un/9gflcROvfwRx0cnSL0fH0/4Pv4yi5f -uj36q5f2oEM+RVIllFESbAfDTLdmS8r1W1FuowIDAQABAoIBAGiWbBqha/6+b/5d -IJRu88Vd1YNMsYO2+Pqx4kyQ9xejXpmp1uPp4yoM620a8/sv0fhrp5wH/rAUh3pv -7ViOfBNZwGF88rRrQDKePzi7B+XxCtNKjS0Zh7Jhk/GwSd649EQPFh7czFfJ8GrS -CiWwEY9RIQueVOwTKZp21jBgGf2QA3jcedOgS36q2zRGU23uBFLGVMNsY+lXx3TZ -DqDwckWWLtUfI2PqU5tKhUUcBlSQYKk3WL2C6otVly56u4C+Q4TPE/PSq7sH4n1H -1q2GGhX3gmp92V+HZ4HJiuY4xXw4QRycKSfcGvIF1ZKGcA/Dl+STv3TvY8nfS0AW -18VFyYECgYEA+FSz4N6RzN3ndn9t6dp/gw0PX6HlrjXnW3rphOuJMkuj9LOinusD -K/xrnpIoPvfh/QXWuebqBhw0LTgGMA3yYW63nr+te5/N+A0VytcGD6Htp01IYzt9 -n1V7fAbB4CDFM/NLBEzNsbJT6308eVR9e53lvJxT+sizz24gFFc2VisCgYEA9jzb -ppkM8uafsxMHbNmduVO4hTagL6obKuGXCkR6X38m1R+k6/7oRvaRty9OarhaY/aQ -oKgDtgaKyVWxft5yEe1B6qczlRvhxKVTAd5py++Yg4gyaCvNrHGuWfzM5c7vo1Lz -k+puDC8kbkPSATEsPI15gGmVce8cc4s3wyWrxWkCgYAzRHlmYUzEeMOCaUht0Rgm -HBoiajAayTIcZsGzGVVXttoAeN2H5YjgGdq2AAKjDVXwgLYV5yBFZqk29KwCW77A -crUh5vyP2ywQm9L173Jm481GjuP06KFEtccqkdKQzPMpiH7iQmDs4J4GrfJAMjs9 -vBlj2PpVef31Qw0IZgDnxQKBgQD1SIw4+S6369nbZTI5UNFXojklodORh26Gma9+ -T9ZiuGNzW5FKcGLrBYUDqEEB9+A6wYsyLgt8UCoCArXLvkR87Q2DdMjiWKLd4x27 -t9VFi8cuBwbHVBMOGzPlefiVVzzJQcFXb+fthSxSFobkHxqEuxz0OLjghKKfymdi -omzoOQKBgQCn0i7HSy8nZsGbq3ApNYfit2hfcGK2cfihvMbSunx1myk4UDFjiExf -tKnycpLriTsKYQ+3Jj9zO8+QqjPxb19XkTAWKZ5HYQEwS19f+mPwMWyn8mvwOruL -FDk16um5sMM1kVwStMnlg7TxCZwrT3dXHPQuZj+qHcJnacrt8JBqEw== ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.crt b/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.crt deleted file mode 100644 index f1b989d..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.crt +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIESDCCAjACCQD0kF4yo85tSDANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDExNTAwMDQw -NloXDTMwMDExMjAwMDQwNlowbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEoMCYGA1UE -AwwfKi5rdWJlY3RsZGlhbGluLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBANU/MiB/kLKlcMhMtXuKIGu2riYUfmfUIz2MQNo+ -oz4wQHUGg9P1sO3KT+kzfOFN7EkAzwryCIT3GEKTYoVY5X+Cllow3+IhtovgHhhr -R9vSDBf6QSWqsVbai7U6jGQwtr9D+4Tv8O0vXtUWnTylE95/2Ecdf+n/7US435Rm -9eg/CCsdgPw/m/WTPA9mU7xrpou5Pwbb+TiCJsnQKbEGGuFilBdBLNZkj0qOAUMl -YBu7A7n2yIljC5zJ93dlLX0kdssSiDwt0KcXwrWs7vhXxrnTRx6sEneloa10pbG2 -0BPoqleGKk6LOy6237H5wJmJ2Feh2Kcl/o9Au5vZ1GvksRcCAwEAATANBgkqhkiG -9w0BAQsFAAOCAgEAhhUNQL+cxlA3ZAOuySKyNaYFkVKEjoo+0hPpMzxUl1TkHRIE -OllT5LzwjduFEvZRTE5aMiDpEUTM5XGw0zKd26Q9SC/vOnBwYl19oFhwyZ93bz2d -15eoyEYQOZf+VKmTEVw96epMrt98mACPO3hrGGtszW1zGEMRfcHZwIMHSM9INAGS -Rtjx5Ul0HR/srTZlc6kTpeLnnoBKO7TuPwqEav7MA7MWT62UGst0pz72o1B41sEY -rBIeJyGoFVg0NnET0nFBQcZqipdDjSWfUiDcMxOSve0s9IOpdLYtcMdark41gAXp -qY+Hy1uVXQx6UFJysbKaRZwgx4C/MnD/zs2a/LmGXdt1+7/AlrP7HG8NKkYCkf2o -mSs3ALgmt5wQ/DTwfVZM/6EPmnq1rU8s44DST0CDTlpVeYq0PkuweAQYYYgHBzc+ -hjx5b8k9xiqudhTveYCuV4AlIGTdIGbsK1F7HSnNE5S84dwcvcFL025TQyc3mEkK -HOdtGqBTZkxrehHSZs+Q17KwfrYx8Ad4OX/hXsszly4sgvV41jAcAN37hQCMbNkk -KlsaYXnsSDSkCt/jjh127hWaTzXJnCaQg9zijvlE8/ufYXoKW3+yCSBGrVt6cQ6d -/o1jnGh7D8mgLjTCR98trHaV2XZT8YiAPGbqf0RWmYdm2v/zubYl2Nor9KA= ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.csr b/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.csr deleted file mode 100644 index f960d97..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICtDCCAZwCAQAwbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEoMCYGA1UEAwwfKi5r -dWJlY3RsZGlhbGluLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBANU/MiB/kLKlcMhMtXuKIGu2riYUfmfUIz2MQNo+oz4wQHUG -g9P1sO3KT+kzfOFN7EkAzwryCIT3GEKTYoVY5X+Cllow3+IhtovgHhhrR9vSDBf6 -QSWqsVbai7U6jGQwtr9D+4Tv8O0vXtUWnTylE95/2Ecdf+n/7US435Rm9eg/CCsd -gPw/m/WTPA9mU7xrpou5Pwbb+TiCJsnQKbEGGuFilBdBLNZkj0qOAUMlYBu7A7n2 -yIljC5zJ93dlLX0kdssSiDwt0KcXwrWs7vhXxrnTRx6sEneloa10pbG20BPoqleG -Kk6LOy6237H5wJmJ2Feh2Kcl/o9Au5vZ1GvksRcCAwEAAaAAMA0GCSqGSIb3DQEB -CwUAA4IBAQAtZX8bZMGTkScmCE41UCNdAOXEb8NfnOXJW1TrnkLCgpl6fSen1g3N -/2GDyB4VZ6/F93DKBZY1zqQxr6V/qhwSyCOcM/1Kw0CvBP00QYhrVe0POFUOHpnB -nvGKjSy+5oRXN1F0VHJ3smy4WsPGAyRnFwsVxVKlArYAJe0Pu4zsNnopam/M8Bkl -CBwmmiTeBOqw+ue1P+uQ1R2J+V00oimhZoYqSYEfOhWkBw+lNp4z9iyFmYT028jD -kAsSeE5wBYWdF9lW63EqxvnZyY4bVq4K6FIOH2Ddf7mFkuXDp2V9/Xc47rwdbVSd -T3ImNZgN6u0fiSmNAQH8ydvGKOhX2mM8 ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.key b/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.key deleted file mode 100644 index 9b36182..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEowIBAAKCAQEA1T8yIH+QsqVwyEy1e4oga7auJhR+Z9QjPYxA2j6jPjBAdQaD -0/Ww7cpP6TN84U3sSQDPCvIIhPcYQpNihVjlf4KWWjDf4iG2i+AeGGtH29IMF/pB -JaqxVtqLtTqMZDC2v0P7hO/w7S9e1RadPKUT3n/YRx1/6f/tRLjflGb16D8IKx2A -/D+b9ZM8D2ZTvGumi7k/Btv5OIImydApsQYa4WKUF0Es1mSPSo4BQyVgG7sDufbI -iWMLnMn3d2UtfSR2yxKIPC3QpxfCtazu+FfGudNHHqwSd6WhrXSlsbbQE+iqV4Yq -Tos7LrbfsfnAmYnYV6HYpyX+j0C7m9nUa+SxFwIDAQABAoIBAC63961zBSp+YGUh -mSkFq/CtRx4Eo2Tv7wCO965Yxr7bJ2P8F2majDasejFnHFboEXo0+Sc2u3MWB3Se -gZkhTrZOz83Wo1YReMLQSQekiUu5ivi91QQBj3St0KnVt+hDW+YvaK1JPAlatXYN -zEj7CY1XiPSbm+iSL1M9BY6nt/w3XJOUm+Zna+aNsUXhsyUBRb7tcXmG2HEQk1HF -oyXHngRk+OncjFYTeOfZV4srbz1+lp+dA2+eaTqbHlRbgRkXU4lT0uqTziTVH5nK -QFHvIoflYP0ScmmE0TmCvo2h47K8aCEHfnaaZVd40bh/32SzYzjlziSFB2GQEKNg -bfnCfqECgYEA76z1NmXmdOE5OXPqa5sFsK/rjQZmRaN3YM/62CwAzj5wKi2oYLLW -XbNwDbyHsutdqIVArUq7kU+QTWvuXsFm3QcEd8H7CS9y4aS8Y6XXLzxp8xWPyDSP -O7+RSCQKzAyCZJ/8SoFcVs+Jv1/QJ8Pfj6TYBe64vrdAUt5Ib2lrbp8CgYEA48Vr -cpRKxsNygusF7TebVFE1kIALQh11GnJ8+SplZ88TaUF4vGbiVTDOJ++v7UnLAeAG -v+jJ6OZFGCKcMEBsG3vR8CCAbs5qte/+KgoopaDb0LqiRbLAVqAdfUigi5hs0XoR -df9ypW9c44iWE0eDIZMj2FAsR4kh7PDBi+kuwokCgYAgvBe1uU8zkXtWXH2c+sxZ -KH3cgg4/3qa0Y1OYaNInWSHKsPe5VVOv8o0QYzqJdloRZTnDMVzS6PIFkQM6j+Gz -uHykuqrFw2RGa1CLr5/nRLIX0E8WAg+6El0OZFXRLrg0dCFqL6bj+G6Q484zUC5d -mR8kGEnFSpQPfWqZROW2cwKBgAgwLLCtzBJhLFiwgkII4biiQr6zG7SAwpj0zLFY -aNTWiOgbxm9fc3uEiaS95SEuqfGjUBrOD5Qj0xAPDnZdmoVSajWrtXJGUWfA/O4d -92Ac7EoQq4y95FQ45VZ/qeXa0O6m6MHJMSHpYvl7C4od5ATs+TjpiO35bBLMhOi2 -tUuhAoGBANHsvkzWxXGxwJ+H2dRbh4DLHqMYehgP+2Bt/goTD13MWPDt12ptM1QV -QmIhX4YHwybdJUilMiH4jpA6b9zd2lUPWmILKp1MeHczE3RJioQoJ8cRackWmbi1 -n856DbUV34dSStyw8cSQMb6dwIgAP6JyebaVcFQwCe/K2OPsMyPb ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.crt b/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.crt deleted file mode 100644 index 442e526..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.crt +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIEQjCCAioCCQD0kF4yo85tRjANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDExNDIzNTk1 -M1oXDTMwMDExMTIzNTk1M1owaTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEiMCAGA1UE -AwwZKi5rdWJld2ViLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBALk/RVVcU7Di4xwE3Y2/pKyZbDQBvZ5YZy4LYT6WsWtGdKFT -tBNJUSJDjQlVq+g75X5mbf53EDP5VKJkrOd8v326NOlXTUVdEyUcHGUB7xrY4oFg -owG00fiuaDWRRVrOK01jrW2cmZ3tzqpHw998uO3gwLGiE/CL8xjcdWRl/zX3WqY3 -oVzmfSxTIdvMVAb+fiU/rlXUp9zNamYe5vG8P9XvNk8lf7pvgBNSb3pWlQoU7A41 -HLm0gqy+yauEvGq/nbbVyXQ7VAV7XxwoHEu2wabSC4iTfMHCx2sVd8P3WvBuBDf5 -4InwSW87NUJvtwzIRqlKcO1l1q2xWvWFeNUPc2cCAwEAATANBgkqhkiG9w0BAQsF -AAOCAgEArVNrGgaiHYQKIfs91Vor/A9GPRsj6o4VavCRiEjaBuPSq5G0v1fb8m9Z -B541y27N2QPdbYza2TdNqt22E4DcPXCi/JPSM73BLml3mw6ZuSLw+ghFFx3ZMN8X -RPknim1q9gmLbEU0zMy9kgjCY0OrUpmgfEE0DVQ5MxVovdz3B4QZ38hrKgwvYPyB -UBB5ovZYjPmaQPeRu0Cht9eSIm27c2/qAUrYNUWjmAVgrOQvKbIc+uBaj8at/7K2 -b6tOi6zyNdL+Mn6LpN+0tfz6H4NToROPXMaHXudoOMmYq2AHF9Ad8PjNsHZd30c7 -0muL2FEzD3t0P/9i80UNeKKTlY1BjOQ/npAxEoFoTpPSF58soLzO4GyXPIHZBkXa -DETmziyA18e+1vytyx2nMrC1qMc9tziZlWzOOL5THk1/plPaIoLD+rtPM2VwxBdH -W5mY7gSoqFDXQG/qaeLzF9uqFI32zmLHBcn6aMA6kiBkYK1HBcS48cC1LMvd/3lE -FTOdzhPzlRD2TZZDBsFXqDtP22oPBCwUMQDguvgajQGkUIlloipiba91LNIVLLGu -hmij1F43nXsygAXFNca9trXESPImataLvi15Gb+dad8ca0zfifncH/+ph4LtqsqI -trHkz7EhmlNVAKRSzExbcUPczzOGU3Ng7yoxezuVDnc1+2+6pec= ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.csr b/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.csr deleted file mode 100644 index dcd818a..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICrjCCAZYCAQAwaTELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEiMCAGA1UEAwwZKi5r -dWJld2ViLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcNAQEBBQADggEPADCC -AQoCggEBALk/RVVcU7Di4xwE3Y2/pKyZbDQBvZ5YZy4LYT6WsWtGdKFTtBNJUSJD -jQlVq+g75X5mbf53EDP5VKJkrOd8v326NOlXTUVdEyUcHGUB7xrY4oFgowG00fiu -aDWRRVrOK01jrW2cmZ3tzqpHw998uO3gwLGiE/CL8xjcdWRl/zX3WqY3oVzmfSxT -IdvMVAb+fiU/rlXUp9zNamYe5vG8P9XvNk8lf7pvgBNSb3pWlQoU7A41HLm0gqy+ -yauEvGq/nbbVyXQ7VAV7XxwoHEu2wabSC4iTfMHCx2sVd8P3WvBuBDf54InwSW87 -NUJvtwzIRqlKcO1l1q2xWvWFeNUPc2cCAwEAAaAAMA0GCSqGSIb3DQEBCwUAA4IB -AQBH/vo7xzWwV3skhCW1rE/GCjPakEEBFypoNtQ3qDOGvY5c1W3QHQAXETVE2XYA -9rBEZe91RM05W1Bwxf1Abiddq7hGWcttqsQfKbvinRnya/tmNyv1nHNkpjkQIhrd -8uyGhpWwf5lrqXybStJTm1d4GUgH3ss/Pt8aZ2OjDWpRJ+ur1pGzGFpgOtGGoUV2 -2ZucrBn3sjQThux/tQdZ4R2IwSm+YExvBECWCh+Uvd9neK9CVoHQHD3uDug/0c9R -9sRQW2vbOidNyffnZ9wXcUAW6V0ccz1cI6lP0Ent7Qx691wn9kUr5ixvembfxUyH -jQuT79ngmEQq3aJ2Ol+pP0/9 ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.key b/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.key deleted file mode 100644 index 6d2aec9..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubeweb/star.kubeweb.relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpgIBAAKCAQEAuT9FVVxTsOLjHATdjb+krJlsNAG9nlhnLgthPpaxa0Z0oVO0 -E0lRIkONCVWr6DvlfmZt/ncQM/lUomSs53y/fbo06VdNRV0TJRwcZQHvGtjigWCj -AbTR+K5oNZFFWs4rTWOtbZyZne3OqkfD33y47eDAsaIT8IvzGNx1ZGX/Nfdapjeh -XOZ9LFMh28xUBv5+JT+uVdSn3M1qZh7m8bw/1e82TyV/um+AE1JvelaVChTsDjUc -ubSCrL7Jq4S8ar+dttXJdDtUBXtfHCgcS7bBptILiJN8wcLHaxV3w/da8G4EN/ng -ifBJbzs1Qm+3DMhGqUpw7WXWrbFa9YV41Q9zZwIDAQABAoIBAQCgvkpHe8oTX416 -rq4hZf5a1vaRWkFTuZou1ikXymNBlu11X9COO7xvYvZq9zAoYHEPcYpYmLAyqVPL -Zliytgjj7EQlhl/CpLUMKoxpCXiVb0V8xoIr5N+eTpiWguwPk373tFq1FoImDEic -cZGByBQgNjp+6QksXgQfuo0TBX6jL/m/6EDNoONtiPsHqZkRaADqoYiPE0kfyRaO -GmptOae0R8Y0Z4SkKnRqiokUzTIkjhf5QXYO0AkPXSkNgGS0Kf/JVnxyxfMMiCkF -sQHXoEeqMevnmuny6S0oXQkp+UbJBtCH+bZlQ4d9PWdRd8UZUDBdeyEu/NRun5qj -BS7zBRXBAoGBAOWNqkjYhq6lro5uu3pYkT2yFBQ9vQ0bXCRGuvG7fkqcH5+zgH4+ -WiqQuPVlNAG7Gg1D4XR1F5tIjPIs9qlY7G31aGOqYFdzWkEqQ6+wUXrM12rJAZut -Pfu/aheuEH0tMiwNvQt9GUl0CFY8HtKhG61HZRXxaotxOc48GqbP9OOvAoGBAM6W -3AgOGWVpEv1o+bn+g+38WgbQtvZOMLERSXMiPH7FBbkXAAZGoDLJ9uWaX602T1Gj -sjaOFqWrgkaC2h/erItpht5x9FBO80PgYXbZlLWZWJzsjkC9tnm7yyHSueZ8R8/Q -vBMD+NAdv9eqQJWw2Y3ZxKlSUHMkLQhdJvZtqwHJAoGBAOFywdQrfBMYu5g9nrkp -NPQf6mJ6xCqUPWmPYdk56G4EaXaih8b1G/8EBfNUwsAUbyCqE0oaGeYzWeIbUOG/ -aO0RgcWotlgM/Y5UoQdypoNxnPvOkFrBycdvFhZNqPoXolfr4kffRC+E2w8+mpMJ -EbKcFOZ5JMfwmvI2y4IbaYsXAoGBAIx25oRTkdDx8Id8qM9dzjYyLsQThVNTNqgu -KNKvpJJNQ+blTI731lSyHb1fiU4sbyIDO1j8o0lho+JtdgHVVVw1FA6LTKKOC7lL -BvnYVtRiv21zKgW6+CctGKCWtu+P8QPL2RTUzogysg3hJKii5kkcmCrIXQrsvfHB -5IwJZQyBAoGBAND4BL5oABu7ygLIUxJVxrvJlr5Uk4CUa6I5MPJu6Yb+RPbQW5kX -JEe5nl/OVyC/mc0yMZwPkudkYNHGNeaKwsjcQMNGHav6jnJoHHcdDmnXkO23xGYC -TTdKoXlCkC0NeFzpLAI0x5zwgd+1wKFfc4ZCCvwQAjx4AUKX+kYPN6hI ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.crt b/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.crt deleted file mode 100644 index 57d729c..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.crt +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIESDCCAjACCQD0kF4yo85tSTANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDExNTAwMDUx -OFoXDTMwMDExMjAwMDUxOFowbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEoMCYGA1UE -AwwfKi5rdWJld2ViZGlhbGluLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcN -AQEBBQADggEPADCCAQoCggEBALX/q3xPMpTD9ewp87HtRs0XAOd4qcHIch75UMWb -eaW8nqd4xL5YTfe89yVDbdq4FHqqQ1rivcwp/WSHbNvRyvDMNlXZTS8PS6RqL75B -LljvzzrcIHax5WrUtrVUuFrlPN5yZW8fWB84ZY9EsX8UHB79rJdaS5r8B48/Ws/X -BIxiNQyIC9pNIfEDRQCjbn4GRCvCaf91tBxVwQGA38PF5JRSxblEx+Cte5d3ODH6 -5gCKMBVCsMn84gr/WGamZannth8/Lrasduq5Pvj/cJ2h4PUoh1oKwpSsXAG9d2tY -7AluVOVWvqJbvKKB1yegtZi77+D7oQ5ee3EOXriz+LWFsXMCAwEAATANBgkqhkiG -9w0BAQsFAAOCAgEAm4oPL/mJAolyewL/jdbMWZT22oRKIYqxJQoHuTzeTQQInAUp -KbTUuRKgbSz0HeoRESrxV14BI3XrVJlbctkyBRpi14bQPd4TzdBxDY+Rh9bkuaHw -4zc8/mMYOT2xpq885BMTkd8YE98t3fyrrUYTBMCstBNMamcuV9hzA9RTuvtggUyT -3E6lgGLaHyFQUp7z++zDiNDrEhILC698zC2EYbqM50PqqB2kcfMRLmYKv4yRgQPZ -boSX15mc7ZBtU4Mb3bNPFR50PKbfrCi7KDIQiFse6TQONu7Pi3sN9GHVLfPhf7Nh -acJkweVgP2zZUObcW1BtrI+yvgGMh4rbXGzoIerBRQgC64eH/I0OVZBSy2EiJDna -T9tAczjvYAgR5qrXV33xY6DW6nPdUE0N5JgdHFoFn5uElEMiOyAWbAEvsQ6WtQCi -f689rh4CwU1XQ+pEQBtoj9vy3ioeTvDzSj8js/ofdzIMC5xLQdwyFUcGbx3ntwrn -4pQuny4A1rrK4pL8RQX7gvsXpuC+rlbew2IpbZ7CP6DJ8xbmktJtmfL0VsYiZjNr -zpL/YSAazr+NZYCpYguBrL9aIzU38QC7hIWvN5s22Mx0r6RsOP3jAFkZy9TFOJaO -HYfszg8SI1iG3jfB18TMLTcFDjVefM8rIsYiQ6ZPQQnP3uPht70Tz2vUHFI= ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.csr b/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.csr deleted file mode 100644 index 276bd95..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICtDCCAZwCAQAwbzELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFUmFmYXkxDDAKBgNVBAsMA0RldjEoMCYGA1UEAwwfKi5r -dWJld2ViZGlhbGluLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcNAQEBBQAD -ggEPADCCAQoCggEBALX/q3xPMpTD9ewp87HtRs0XAOd4qcHIch75UMWbeaW8nqd4 -xL5YTfe89yVDbdq4FHqqQ1rivcwp/WSHbNvRyvDMNlXZTS8PS6RqL75BLljvzzrc -IHax5WrUtrVUuFrlPN5yZW8fWB84ZY9EsX8UHB79rJdaS5r8B48/Ws/XBIxiNQyI -C9pNIfEDRQCjbn4GRCvCaf91tBxVwQGA38PF5JRSxblEx+Cte5d3ODH65gCKMBVC -sMn84gr/WGamZannth8/Lrasduq5Pvj/cJ2h4PUoh1oKwpSsXAG9d2tY7AluVOVW -vqJbvKKB1yegtZi77+D7oQ5ee3EOXriz+LWFsXMCAwEAAaAAMA0GCSqGSIb3DQEB -CwUAA4IBAQBogrS+PnokRvp1rFYiYAEg4PPaIq6EYoPbRQS88ms0+MEjblXWW2EE -CnsXL/eFCQqi08HQCMzVAkAS9jqF0ZQ5X2tvVQB3OVddAOvlFBSFGhakoSDPuqZN -btQMfH//GRubwBftHbu66qKsltutHnobIts0LiIWxFsK0gNUOQDAU7ts44EDY5yq -iUR2slS077+jGFI4GvB2vmdNTX8JupOMH+60wpZIDSIwI919ANPTj3vBxdVmITP2 -V8wFtKl12Lznww2u8OcAH6g0v74FH+FfCZIVcJWBrinuWCmrw0VdG+s+D9/2PnkN -6XAarzL3eYilbin/aBE6NafdERkSCTat ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.key b/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.key deleted file mode 100644 index c4b3ffc..0000000 --- a/components/relay/testdata/certs/servercerts/star-kubewebdialin/star.kubewebdialin.relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpQIBAAKCAQEAtf+rfE8ylMP17Cnzse1GzRcA53ipwchyHvlQxZt5pbyep3jE -vlhN97z3JUNt2rgUeqpDWuK9zCn9ZIds29HK8Mw2VdlNLw9LpGovvkEuWO/POtwg -drHlatS2tVS4WuU83nJlbx9YHzhlj0SxfxQcHv2sl1pLmvwHjz9az9cEjGI1DIgL -2k0h8QNFAKNufgZEK8Jp/3W0HFXBAYDfw8XklFLFuUTH4K17l3c4MfrmAIowFUKw -yfziCv9YZqZlqee2Hz8utqx26rk++P9wnaHg9SiHWgrClKxcAb13a1jsCW5U5Va+ -olu8ooHXJ6C1mLvv4PuhDl57cQ5euLP4tYWxcwIDAQABAoIBAGs88vaUU+GEdetp -7MXyYb2GyGmbl6svSM8naIiHS+50baeQaZ0euxI2rgmu6ZPu02JT4Mw0vlEGjOAn -S+VagJHSQlHjcK9B+/gs+WTJU13kL98mxZoqyFtiayX9fYNRf8Qy88G+XlZHDNCW -UV/noYpBPukPs2znBC1Lz16X+34bgBn1kydD5XrRi1WujYQV+Bd+qbyd5xfo3ICA -7aLo1mZF5ZRSYXz044w4E8pLzi3SfdvHBGqIHqhu1I7g/aumb//QbPUGinVi0lJp -Gne0fMSWC19Ueg3XUv2YgTOKRZ0teQ4gNTqJZU2omU+tNkQOL8Lem9EXgUr3ULmd -BEeWlgECgYEA72NahW69StWIQrxUB08ePKmYZhtpi7NlGsuMPVsJwIjn50LnmkPx -tb54OROqGYYPKeWj1LDaL8/WKSzU6Xi2JC5c4K7w4GsHP0Fibk7qMs4PI8gHNYUW -OR6SpbkHSj+XaO4Y5ZYxweEddjLmzBl1cU5xQFwE6B4v7QmjssoWcSECgYEAwqDQ -TwT/m0rY5KAZ7C1ziWhzTSnYDYkh8UyeW9jcbjGFafuWk5pbkGGJhiE8N899wfEB -xM44U5zryjWXfNnRVyL/0E0UUaIiEFXmbh9PpiMn67qIm0/bE4cTR5EK+1Cv5lH5 -40PcIAuaHCrwExF2n/o8G1Qw1CtM/2Mh5QwVzBMCgYEAvaj2p+6ztF13JoB1BpFt -gFxRrNwdBByuhssrodTF5i/Ro8zDF9qq3vY34+irhKtMykHxSeqQAv9kSp0FVrBX -hlThKvYPS44gYMJZzNFjBbtyDURGSeXWVIzfXMM6fl3hhLXXLdaQN242XFY5uwyU -mp+uZHJDRO/dwqw3cMhhfWECgYEAwcdhf7uHTzOnXYI2LRtX1HCllCdcUKW/oMNb -TDFPz3sIzWvMESv3jHpAdcZzcVHqcQWncC6ukDlF3m+bY5hvQKW9M8T6vQiDh+Yu -5mfQYqbQIXj4eEJ66idrv66e03gTmmr2NRukeFd02iS6IRIbHM8Ft2QMtcJjCEfI -QIfWz/cCgYEAw/zG/jKrkrk+TSgy6UuMgzFd9I2p8Fi8yl7QZFG2nB7uRtH80FFc -LyvsdfDDV+8NWUNgnKreBFWR5I9oI3vB74PMp27YrBV4L11ne1L5FXKGry5G2D1M -2GgkZSe34gTsmtM1tFF7mBNEs/DfMxURb0jsPw/9zC8ztqA+3QvV7jw= ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.crt b/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.crt deleted file mode 100644 index 20f0c48..0000000 --- a/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.crt +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIETzCCAjcCCQD0kF4yo85tUjANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDQwNzA3MjYy -N1oXDTMwMDQwNTA3MjYyN1owdjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFcmFmYXkxFDASBgNVBAsMC2VuZ2luZWVyaW5n -MScwJQYDVQQDDB4qLmt1YmVjdGwucGVlci5yZWxheS5yYWZheS5kZXYwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAx45z7f2bXFjh0yPRaPqmiJWhRXDf -Q5JiyUlZlBfon12mmMx8C/1RY5NROd7xGN2Fokys7yNLq/PFl0NzoQDseJNO6aTg -wO1gi7MB3roiDFe1FRevsSapwu0ngOPovSShiFKsZOaXUeNoDT1d+eCZd9cu2Pwi -FhxCiblju6EckXKAPJGzD2SknLM8P5ky+n1+5801ebNoobP5E2/XSyaiyNSzqoIs -LkPgdYU9PpBH3CS0YDBSRgmjM1L3R0gO6Oy6KitgUEXXNQ4mCANcJX46bgfjt2iw -fjiiywJjLkRgBkhHUtzFPe19mma1P96a9XRKlrWtyCLWr0TRCxzftwjzAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAKc7sPjByTWLp/zPU1ALe0vRa1iytnPy1rdUdSeX -kEivS7ktsmPstD8c1jq9MmmkTQaOMTD4jbyd3YFPyhIH8NynI5OtADTdRTH7N2+M -bkDzW+zuGhxReErS7FsDJ30L3H8Ry2Ep2ZBCUD69KglEk7sJLKt5iQtyVAiuoH4Y -qn9xwGXdyAT1NiibepYSr5NNDeOanbeXTFZsGbDgYdE4QdWbIdlaj8aqmY2cw2LW -cflLjTZw0sIILGhJywjVjF29gb/1HykV8/UVYg344moKjjRaYUPFwFR2R/1vGfEB -O4aNM6e/AeBhY5WZIIxCFGQiG9o6QomzEFryD3sbx4V+qiDN3xd5AJEbpTvxOCts -3dUeacxmlaYfDPvJb3qR17sPgjot6Wxz8EcsHxqO/AvcBpcAZbLRsMszv78JICpT -FYnBJreOL6C9I7MjhQRS6DAhOExrCqgYaWxf8vDUXkY/Y0TFERwNsOhO5uIRPmBL -VroyQkamWvEfkobGRe9RL9pi5kxPp6VxColl7T/C53XTCku7il2avER/yTMG+ceB -E+htQLuPBkZt2vaDsvHaFgageFgmUYTps92Ku6cjBX1UYpAuaRIKRwCHLDd3PM27 -QwgrBIKx2LOuMlLpKF/D3emGqZHty4bWJTpXURMUofviZ6mi2kFaqTcySWCzCEuP -9maR ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.csr b/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.csr deleted file mode 100644 index 310d916..0000000 --- a/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICuzCCAaMCAQAwdjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFcmFmYXkxFDASBgNVBAsMC2VuZ2luZWVyaW5nMScwJQYD -VQQDDB4qLmt1YmVjdGwucGVlci5yZWxheS5yYWZheS5kZXYwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDAx45z7f2bXFjh0yPRaPqmiJWhRXDfQ5JiyUlZ -lBfon12mmMx8C/1RY5NROd7xGN2Fokys7yNLq/PFl0NzoQDseJNO6aTgwO1gi7MB -3roiDFe1FRevsSapwu0ngOPovSShiFKsZOaXUeNoDT1d+eCZd9cu2PwiFhxCiblj -u6EckXKAPJGzD2SknLM8P5ky+n1+5801ebNoobP5E2/XSyaiyNSzqoIsLkPgdYU9 -PpBH3CS0YDBSRgmjM1L3R0gO6Oy6KitgUEXXNQ4mCANcJX46bgfjt2iwfjiiywJj -LkRgBkhHUtzFPe19mma1P96a9XRKlrWtyCLWr0TRCxzftwjzAgMBAAGgADANBgkq -hkiG9w0BAQsFAAOCAQEAimAaHYatwlCfq0OtI3tkASb+KkJxk49INZTswzQvyjvr -6mMFVplX+1fQGAYkZGJSjxwdAt2HnlgEyUybZHFFoBgnc/EQWlXfdY6kWIos5bgD -j3PyEEIQ0tCDnXQrABWZ7FSY7WRzEXmSQQwBznq5bprSKM0k5XBxXRo130xV7zCZ -fm2BTIl4hHc9hCc/UWQ6Z6R+pniiZQEaekZ6SpGjxdss5QaWMcvaDhtHSZi0wmRP -X+SyPsY6v3wv6Xp7cnMRsetthmm0iwy/Ctzk6Stl0KTFPqXoAttR/Oi5ynNT7CgY -KrTFCNr3UCY1xdr8vLYV+6RyIU9NdlgwnYrBiBU6gg== ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.key b/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.key deleted file mode 100644 index cd5399e..0000000 --- a/components/relay/testdata/certs/servercerts/star-peer/star.kubectl.peer.relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEAwMeOc+39m1xY4dMj0Wj6poiVoUVw30OSYslJWZQX6J9dppjM -fAv9UWOTUTne8RjdhaJMrO8jS6vzxZdDc6EA7HiTTumk4MDtYIuzAd66IgxXtRUX -r7EmqcLtJ4Dj6L0koYhSrGTml1HjaA09XfngmXfXLtj8IhYcQom5Y7uhHJFygDyR -sw9kpJyzPD+ZMvp9fufNNXmzaKGz+RNv10smosjUs6qCLC5D4HWFPT6QR9wktGAw -UkYJozNS90dIDujsuiorYFBF1zUOJggDXCV+Om4H47dosH44ossCYy5EYAZIR1Lc -xT3tfZpmtT/emvV0Spa1rcgi1q9E0Qsc37cI8wIDAQABAoIBAQC3M63r/Aqbv1n0 -WdvbIYG6C2jvVveaJTQTTyi2yWcjOXgdX25MoHQ/CXsxoOZ+htvWKFPnsGcBfcrv -Rv3h/+rJzxhm0OFQeefcbUZTi5+lxccAHqhg3eBZShZoCTQNtNn/7HZswILm4PpU -ouhjy5inH91N9wU9O3flv85/ugq1AtmL5jLp97qKyafWgy3nsQrPf5N+k59qCEXI -+giCKg3wKVgsFZW7bm+dBR6pgSvjfMnu3Yp5bJKNRQ4s/0DRcQJ9rsVvcQn5mWGW -NabBZgzb/nHNAEOFvzypinm96h4Ma4afLZhThvFKMpn5pc9+32rq5/nqbK3rg8sX -uNOOWLPpAoGBAOecyPI7nWcibSXsNFHKrAVdH8r7G+hY7v79+xdPx3FpQfSrlTFC -EBOmPBWTxk1Un80Wby8ObL2oqNcbg37Y78OzmEswyNJkcz24OHY3IVF0uCtPJQVw -JN2Z9cse/XOq/9RkSJzNtQOlSsezuDvid7tuWMmbGl6+OypNt+GOS1pfAoGBANUU -A1PVoN8V18rWJEsKpJrUavUaVFTC4D0XeVyV4+6YydP+mw2KdLEO0+xBA0YTUIsM -OLnY0FDPHby3XpjKoorBgGwm+CPbHVkUuqd5wuNn0b9ZdblFDFh0Ps+bzwEXs4d8 -isnPDOQaJuLlf20zTmIqnpZVGbZEb57oLaUhpgHtAoGAVcLlWWSfrQ+/ULp8yQh9 -1+KaoiOHOuqrXHoZHpGo7SKnjHx4Wuv2XgBA4VB9ria2oU88TjVOKJAqLLSAZVjY -tyNqMfVXdyhAz8rGBWf2i13n0AmXUMMss22N6O+Js+nOnwufI4i8DSSIYxf2ER6T -bTC36bbn9csEx25Nt1RkLIsCgYBUQAKEzm46Zw+ZAwz8ouus0Jqt6Ug474jsfvCc -nCOwvrbm3MAAHaPAMoW234nk1lQ9doqjaUgM+6fda3+62DxmstYNbWcl/khfZaPb -/ngBpJY5m6zBobyc6PHA8vFplC6HPsY9v2Fwe6qugmHdErFGfWWROXreJ7ce1Nzf -cyuJjQKBgQCRFhYBHj2yTaDrZjFpP7ybyGejVS2xGQ3+r54YWh1+MA41A0As97Kd -p1xK5KGxsdHOra6ApfsitGa8JjA7owFaMk+zrpCGyoRdoPAhyz/E9JksK8XW90s3 -zQffnMEuOoPp8GN51GlmsF2N5GpyMjUzuebrjTyYR1gX8qKTmERHaQ== ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.crt b/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.crt deleted file mode 100644 index 3383f9d..0000000 --- a/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.crt +++ /dev/null @@ -1,25 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIESzCCAjMCCQD0kF4yo85tUTANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDQwMzIzMTY0 -NFoXDTMwMDQwMTIzMTY0NFowcjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFUmFmYXkxFDASBgNVBAsMC0VuZ2luZWVyaW5n -MSMwIQYDVQQDDBpzdGFyLnByb2JlLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZI -hvcNAQEBBQADggEPADCCAQoCggEBAKVRchQ2YyJTBqoeXiGVgDBm2wxZVIqqOcLP -TVVlRlgsIwboo1kfC1PNAUCcm5BSF1rqE9BZyKynYoOPlXRpI8LYNW+QMXyHg3/U -8chBEuJNkU3tGdbwN3EkuThbWs/7VbKnw/3tS0bjBX858l2yqVWcgKqxH1xe9q4j -f0RrC4+oZffwzSwkvjYTiVURW1Z/qT7VduwbkX6XzKc1JWLWOe5BJvlbZHZ13RWN -vm0lMGdwzAtoIS7lKF0p12kD+kp1EeW+Sz2fYC4jHQq/i8chol+2PrOTe7MUQvO1 -mlJdfbcK7HABU3oDAc3xl6LTRAVPzThHJKoJCj+drXDRrJzECaUCAwEAATANBgkq -hkiG9w0BAQsFAAOCAgEAmhwJ/5fEYevog5AXzFpINkZGxSTSsH9nMMPEjNNDNpfh -AliVNS+LVYISNe6w0vCJCNm2v6C/z/W3XlQ2leCXZd7aChWIVBoLjbg68sNbMyYA -QFSERXkX0sPTskmsz7i26nX/j0BgoJ8WFTwfpc+6JA9QjanTnT/uaCGdoSvdHotJ -1PzfzP/WnY1yq/YS73fRjf8rSaSv8qR1GbdRk2GXABXXwxjSLv3fQK7TzF+Pf7/w -dnzKCNw/4XWyF6PhnDOyRFHrKyqWp6YMctk52WYUpYg0o+zDSG7si7pNW+NJxkde -mnnLvWrgX5BMfSRnY3d0siQdyaGr2447z2Nr5gMNnsWv5NS43KrM+MXFFUUKMwuN -lGE9Y4mScVb9rxouYZ2HCqnL8vi3dK9oq5jMTjF/ytEF4ACprd6WRRlPLX4rR4sp -IXYyCGLRnCRBeMdKa5YDr08YsL3rOCWAc5EByALi/WQgFxr1qctqrylFhH88+eSB -7KfLVl4Ji4ti2ETqwzqtQ2kfcemNgWBwxodnqXpVF197aCiZ3gnjT5t93FSLXRXx -7JubuFzAeIOI/ICo2OiRZ2Gw+ANKSVtWnYODV/RiM/gRDYbv0jCHxA3PCbGJWTd1 -twx1oSo87N8gdC7NRL49bjtc6PRfPwow4/MUDLD0thjh29NaG7DiZf+1IsdGFvo= ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.csr b/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.csr deleted file mode 100644 index 9c034bc..0000000 --- a/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICtzCCAZ8CAQAwcjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFUmFmYXkxFDASBgNVBAsMC0VuZ2luZWVyaW5nMSMwIQYD -VQQDDBpzdGFyLnByb2JlLnJlbGF5LnJhZmF5LmRldjCCASIwDQYJKoZIhvcNAQEB -BQADggEPADCCAQoCggEBAKVRchQ2YyJTBqoeXiGVgDBm2wxZVIqqOcLPTVVlRlgs -Iwboo1kfC1PNAUCcm5BSF1rqE9BZyKynYoOPlXRpI8LYNW+QMXyHg3/U8chBEuJN -kU3tGdbwN3EkuThbWs/7VbKnw/3tS0bjBX858l2yqVWcgKqxH1xe9q4jf0RrC4+o -ZffwzSwkvjYTiVURW1Z/qT7VduwbkX6XzKc1JWLWOe5BJvlbZHZ13RWNvm0lMGdw -zAtoIS7lKF0p12kD+kp1EeW+Sz2fYC4jHQq/i8chol+2PrOTe7MUQvO1mlJdfbcK -7HABU3oDAc3xl6LTRAVPzThHJKoJCj+drXDRrJzECaUCAwEAAaAAMA0GCSqGSIb3 -DQEBCwUAA4IBAQB9o+RvCbgUengcfOU8yLPtUwu3vVx0/4flcJvkq4UaYXIo6BqS -Jt97bzOYAc213YeAqzt2ldx50Ja/55CF/z5L0nwviKNk8MRyIlXy6TYPsWsfOG55 -LqOrZEUtAJA9CVrZDt097JWl+LWFKRnV3Y90GzsnS7SRNGrKKZxSbLArh+T8toz/ -zjfK1Q+Gz2TR6UOtc/0/kylon3SwGcJdyESAhQ/RrG10XGwSy30lT0Eyp92I9A/f -z+QJJrNugFkRwpBDzbiLIWjeVJqY3FSnuAqdKPSmsW4jVlzQhcLGIo/tN96BGjt9 -NZZVW0lpRX1K/5vL3fk992zIngep4o3355EL ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.key b/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.key deleted file mode 100644 index ed62d6b..0000000 --- a/components/relay/testdata/certs/servercerts/star-probe/star.probe.relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpQIBAAKCAQEApVFyFDZjIlMGqh5eIZWAMGbbDFlUiqo5ws9NVWVGWCwjBuij -WR8LU80BQJybkFIXWuoT0FnIrKdig4+VdGkjwtg1b5AxfIeDf9TxyEES4k2RTe0Z -1vA3cSS5OFtaz/tVsqfD/e1LRuMFfznyXbKpVZyAqrEfXF72riN/RGsLj6hl9/DN -LCS+NhOJVRFbVn+pPtV27BuRfpfMpzUlYtY57kEm+VtkdnXdFY2+bSUwZ3DMC2gh -LuUoXSnXaQP6SnUR5b5LPZ9gLiMdCr+LxyGiX7Y+s5N7sxRC87WaUl19twrscAFT -egMBzfGXotNEBU/NOEckqgkKP52tcNGsnMQJpQIDAQABAoIBAQCVaoxh6lolLsdK -QJIxZm7q0DvQ6Hg5r+ruwPCTaypuDM5Hs0HYDe/t+M7V9/W+NgP33rKz0EJIkiy+ -3apmAZUZyNJbGAcyF0Tp56vzo6UOtq7KsK53Drv9XgSuBBuK+Q2WoHzK54ru8ccJ -G3WL7CuSPhYosFe44/euolSnoNxdJJGrvO4jCs80BbkMrCqf0CHFLm+WdoCEDDY+ -2g0552tGPMOh7rTRP8myK+uphNZnKH6LJEW9DjfCqbAhAwonJXmQy3yGPd+cfxOw -UtdMnw6gWGQrrX5AQnQPDr7Y38UIKG5hoLohLacPdo3cs9CPA69TD9107392NuHh -OUGFzsNtAoGBANNE48HAKdLSlhhx+hC+TVoz4GTzrHIaBr+R+kEe+jq8BI9tUnX1 -mBdsVi1lss21TQBDxTcMd7kvDQQh/T83XUJxH0XvgDyVaeGIIAAcfhDo5FDT4b5b -VxvfW9ZWn7g5X3qTO289WzuUhZja4l8TV8c4RTUDBUZvNMFIvqCtrhbjAoGBAMhR -8Y2vN2dUNCZNVNRxLMzUroq3b7gZ2/G+AhjXY7RIGeEA62w19wMoX7AFB1ls5QET -Lyt+Tqii3OV8qjPBLm2eg2XiRDr44zTDEtscKUCsP1qBPYPWHgXOo5WTh1MJyvds -GsMVfJ50G0KtXNQlioxAtcty1h+ulcZg0yt4fbvXAoGBAJpVMdgAy8yxf2oeIOII -UrN5QAwfIbM8pf9d4SWfPoaXgPFRmDKJlXBO+Oky6JpzPevalf/vwKnr4CNLvRdo -F12JC6JoIhKfx3g0m8PZDJLHvrn4/miziv/We90o7IaEiuYdFgbeGH5+sdWG2GVB -2Ra0WYIvUbQxWqVzwaXZGlqnAoGBAI6cj+x/nmDouIvAKDFqNSvKCkzlVRrrBgOv -cwy+YtQZNJtULUaHkMhluOG2YsoOVWaTgtRjAprZ/4s9WmqoEGaoIAGruUmGoTKR -4l2tSc0qE5xaQDIYgJ0/xIQbWI8MfLvy8YaLSIICRNoOU/UQmPdKpmIl6jz57NUj -X5MmH9VXAoGAKNLUmkjdZL/1nM4jO27ayp7vNdQ7Jwlpta4LA+BODDnb5KM80EKb -+hIpeBgwytKJItm/PvVValW69iGgUx5Q+gN0sdKk+AtUQ3AvVnZf+C3pmkLqYvRl -ASCXe+3FkuQI6wu8s5E+K5BZa+eHtMr1MlVE3KZ+LQ6Z5XakNAD5seA= ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.crt b/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.crt deleted file mode 100644 index 20f0c48..0000000 --- a/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.crt +++ /dev/null @@ -1,26 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIETzCCAjcCCQD0kF4yo85tUjANBgkqhkiG9w0BAQsFADBdMQswCQYDVQQGEwJV -UzELMAkGA1UECAwCQ0ExEzARBgNVBAcMClBsZWFzYW50b24xDjAMBgNVBAoMBVJh -ZmF5MQwwCgYDVQQLDANEZXYxDjAMBgNVBAMMBVJhZmF5MB4XDTIwMDQwNzA3MjYy -N1oXDTMwMDQwNTA3MjYyN1owdjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQsw -CQYDVQQHDAJQTDEOMAwGA1UECgwFcmFmYXkxFDASBgNVBAsMC2VuZ2luZWVyaW5n -MScwJQYDVQQDDB4qLmt1YmVjdGwucGVlci5yZWxheS5yYWZheS5kZXYwggEiMA0G -CSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDAx45z7f2bXFjh0yPRaPqmiJWhRXDf -Q5JiyUlZlBfon12mmMx8C/1RY5NROd7xGN2Fokys7yNLq/PFl0NzoQDseJNO6aTg -wO1gi7MB3roiDFe1FRevsSapwu0ngOPovSShiFKsZOaXUeNoDT1d+eCZd9cu2Pwi -FhxCiblju6EckXKAPJGzD2SknLM8P5ky+n1+5801ebNoobP5E2/XSyaiyNSzqoIs -LkPgdYU9PpBH3CS0YDBSRgmjM1L3R0gO6Oy6KitgUEXXNQ4mCANcJX46bgfjt2iw -fjiiywJjLkRgBkhHUtzFPe19mma1P96a9XRKlrWtyCLWr0TRCxzftwjzAgMBAAEw -DQYJKoZIhvcNAQELBQADggIBAKc7sPjByTWLp/zPU1ALe0vRa1iytnPy1rdUdSeX -kEivS7ktsmPstD8c1jq9MmmkTQaOMTD4jbyd3YFPyhIH8NynI5OtADTdRTH7N2+M -bkDzW+zuGhxReErS7FsDJ30L3H8Ry2Ep2ZBCUD69KglEk7sJLKt5iQtyVAiuoH4Y -qn9xwGXdyAT1NiibepYSr5NNDeOanbeXTFZsGbDgYdE4QdWbIdlaj8aqmY2cw2LW -cflLjTZw0sIILGhJywjVjF29gb/1HykV8/UVYg344moKjjRaYUPFwFR2R/1vGfEB -O4aNM6e/AeBhY5WZIIxCFGQiG9o6QomzEFryD3sbx4V+qiDN3xd5AJEbpTvxOCts -3dUeacxmlaYfDPvJb3qR17sPgjot6Wxz8EcsHxqO/AvcBpcAZbLRsMszv78JICpT -FYnBJreOL6C9I7MjhQRS6DAhOExrCqgYaWxf8vDUXkY/Y0TFERwNsOhO5uIRPmBL -VroyQkamWvEfkobGRe9RL9pi5kxPp6VxColl7T/C53XTCku7il2avER/yTMG+ceB -E+htQLuPBkZt2vaDsvHaFgageFgmUYTps92Ku6cjBX1UYpAuaRIKRwCHLDd3PM27 -QwgrBIKx2LOuMlLpKF/D3emGqZHty4bWJTpXURMUofviZ6mi2kFaqTcySWCzCEuP -9maR ------END CERTIFICATE----- diff --git a/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.csr b/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.csr deleted file mode 100644 index 310d916..0000000 --- a/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.csr +++ /dev/null @@ -1,17 +0,0 @@ ------BEGIN CERTIFICATE REQUEST----- -MIICuzCCAaMCAQAwdjELMAkGA1UEBhMCVVMxCzAJBgNVBAgMAkNBMQswCQYDVQQH -DAJQTDEOMAwGA1UECgwFcmFmYXkxFDASBgNVBAsMC2VuZ2luZWVyaW5nMScwJQYD -VQQDDB4qLmt1YmVjdGwucGVlci5yZWxheS5yYWZheS5kZXYwggEiMA0GCSqGSIb3 -DQEBAQUAA4IBDwAwggEKAoIBAQDAx45z7f2bXFjh0yPRaPqmiJWhRXDfQ5JiyUlZ -lBfon12mmMx8C/1RY5NROd7xGN2Fokys7yNLq/PFl0NzoQDseJNO6aTgwO1gi7MB -3roiDFe1FRevsSapwu0ngOPovSShiFKsZOaXUeNoDT1d+eCZd9cu2PwiFhxCiblj -u6EckXKAPJGzD2SknLM8P5ky+n1+5801ebNoobP5E2/XSyaiyNSzqoIsLkPgdYU9 -PpBH3CS0YDBSRgmjM1L3R0gO6Oy6KitgUEXXNQ4mCANcJX46bgfjt2iwfjiiywJj -LkRgBkhHUtzFPe19mma1P96a9XRKlrWtyCLWr0TRCxzftwjzAgMBAAGgADANBgkq -hkiG9w0BAQsFAAOCAQEAimAaHYatwlCfq0OtI3tkASb+KkJxk49INZTswzQvyjvr -6mMFVplX+1fQGAYkZGJSjxwdAt2HnlgEyUybZHFFoBgnc/EQWlXfdY6kWIos5bgD -j3PyEEIQ0tCDnXQrABWZ7FSY7WRzEXmSQQwBznq5bprSKM0k5XBxXRo130xV7zCZ -fm2BTIl4hHc9hCc/UWQ6Z6R+pniiZQEaekZ6SpGjxdss5QaWMcvaDhtHSZi0wmRP -X+SyPsY6v3wv6Xp7cnMRsetthmm0iwy/Ctzk6Stl0KTFPqXoAttR/Oi5ynNT7CgY -KrTFCNr3UCY1xdr8vLYV+6RyIU9NdlgwnYrBiBU6gg== ------END CERTIFICATE REQUEST----- diff --git a/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.key b/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.key deleted file mode 100644 index cd5399e..0000000 --- a/components/relay/testdata/certs/star.kubectl.peer.relay.rafay.dev.key +++ /dev/null @@ -1,27 +0,0 @@ ------BEGIN RSA PRIVATE KEY----- -MIIEpAIBAAKCAQEAwMeOc+39m1xY4dMj0Wj6poiVoUVw30OSYslJWZQX6J9dppjM -fAv9UWOTUTne8RjdhaJMrO8jS6vzxZdDc6EA7HiTTumk4MDtYIuzAd66IgxXtRUX -r7EmqcLtJ4Dj6L0koYhSrGTml1HjaA09XfngmXfXLtj8IhYcQom5Y7uhHJFygDyR -sw9kpJyzPD+ZMvp9fufNNXmzaKGz+RNv10smosjUs6qCLC5D4HWFPT6QR9wktGAw -UkYJozNS90dIDujsuiorYFBF1zUOJggDXCV+Om4H47dosH44ossCYy5EYAZIR1Lc -xT3tfZpmtT/emvV0Spa1rcgi1q9E0Qsc37cI8wIDAQABAoIBAQC3M63r/Aqbv1n0 -WdvbIYG6C2jvVveaJTQTTyi2yWcjOXgdX25MoHQ/CXsxoOZ+htvWKFPnsGcBfcrv -Rv3h/+rJzxhm0OFQeefcbUZTi5+lxccAHqhg3eBZShZoCTQNtNn/7HZswILm4PpU -ouhjy5inH91N9wU9O3flv85/ugq1AtmL5jLp97qKyafWgy3nsQrPf5N+k59qCEXI -+giCKg3wKVgsFZW7bm+dBR6pgSvjfMnu3Yp5bJKNRQ4s/0DRcQJ9rsVvcQn5mWGW -NabBZgzb/nHNAEOFvzypinm96h4Ma4afLZhThvFKMpn5pc9+32rq5/nqbK3rg8sX -uNOOWLPpAoGBAOecyPI7nWcibSXsNFHKrAVdH8r7G+hY7v79+xdPx3FpQfSrlTFC -EBOmPBWTxk1Un80Wby8ObL2oqNcbg37Y78OzmEswyNJkcz24OHY3IVF0uCtPJQVw -JN2Z9cse/XOq/9RkSJzNtQOlSsezuDvid7tuWMmbGl6+OypNt+GOS1pfAoGBANUU -A1PVoN8V18rWJEsKpJrUavUaVFTC4D0XeVyV4+6YydP+mw2KdLEO0+xBA0YTUIsM -OLnY0FDPHby3XpjKoorBgGwm+CPbHVkUuqd5wuNn0b9ZdblFDFh0Ps+bzwEXs4d8 -isnPDOQaJuLlf20zTmIqnpZVGbZEb57oLaUhpgHtAoGAVcLlWWSfrQ+/ULp8yQh9 -1+KaoiOHOuqrXHoZHpGo7SKnjHx4Wuv2XgBA4VB9ria2oU88TjVOKJAqLLSAZVjY -tyNqMfVXdyhAz8rGBWf2i13n0AmXUMMss22N6O+Js+nOnwufI4i8DSSIYxf2ER6T -bTC36bbn9csEx25Nt1RkLIsCgYBUQAKEzm46Zw+ZAwz8ouus0Jqt6Ug474jsfvCc -nCOwvrbm3MAAHaPAMoW234nk1lQ9doqjaUgM+6fda3+62DxmstYNbWcl/khfZaPb -/ngBpJY5m6zBobyc6PHA8vFplC6HPsY9v2Fwe6qugmHdErFGfWWROXreJ7ce1Nzf -cyuJjQKBgQCRFhYBHj2yTaDrZjFpP7ybyGejVS2xGQ3+r54YWh1+MA41A0As97Kd -p1xK5KGxsdHOra6ApfsitGa8JjA7owFaMk+zrpCGyoRdoPAhyz/E9JksK8XW90s3 -zQffnMEuOoPp8GN51GlmsF2N5GpyMjUzuebrjTyYR1gX8qKTmERHaQ== ------END RSA PRIVATE KEY----- diff --git a/components/relay/testdata/client-cluster1.yaml b/components/relay/testdata/client-cluster1.yaml deleted file mode 100644 index d904833..0000000 --- a/components/relay/testdata/client-cluster1.yaml +++ /dev/null @@ -1,16 +0,0 @@ - -dialouts: - kubectl: - proto: https - addr: cluster1.kubectldialin.relay.rafay.dev:443 - relay_service_sni: cluster1.kubectl.relay.rafay.dev - root_ca: testdata/certs/rootCA.crt - client_crt: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt - client_key: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key - #use this if address is not avaialable from environment variable - upstream_addr: https://relay.rafay.dev:7443 - upstream_skip_verify: true - upstream_client_crt: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt - upstream_client_key: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key - upstream_rootCA: testdata/certs/rootCA.crt - version: 1 \ No newline at end of file diff --git a/components/relay/testdata/client-cluster2.yaml b/components/relay/testdata/client-cluster2.yaml deleted file mode 100644 index 1224f08..0000000 --- a/components/relay/testdata/client-cluster2.yaml +++ /dev/null @@ -1,16 +0,0 @@ - -dialouts: - kubectl: - proto: https - addr: cluster2.kubectldialin.relay.rafay.dev:443 - relay_service_sni: cluster1.kubectl.relay.rafay.dev - root_ca: testdata/certs/rootCA.crt - client_crt: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt - client_key: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key - #use this if address is not avaialable from environment variable - upstream_addr: https://relay.rafay.dev:7443 - upstream_skip_verify: true - upstream_client_crt: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt - upstream_client_key: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key - upstream_rootCA: testdata/certs/rootCA.crt - version: 1 \ No newline at end of file diff --git a/components/relay/testdata/images/testsetup.png b/components/relay/testdata/images/testsetup.png deleted file mode 100644 index 69ef09fc229e6693813555e0b41716f03b63c11f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 185566 zcmeFYWmp`|w=YTvgg}A>cL?t88r*Gg2{O35LkR9ZxHGr~x8Uv)+}+(BF8uet=j`Xa zazEW~ho_mI>8|RkTE2d(I#^y-3?2>}4gvxKUP4?L0099l3IPEb^YO#$6?}{M?oP= zhQSJmSnOu|mpT!gAX3>@7S z#`ng|fyAp&9s@nB zwlCB=`EWkno=L!^@5Xru08zWBkX8~5dPP3ZHPNiXh{7)f&bwIM*hiOB@| zet$E!hCWvO3IC_N(90P6NZZvM^IlIq3ygxN^kN5+4eJ`*a}g&(uz_VI!Q8&s z2P!ryI$~{uxce4#IPE>+DLCA{JI2Vill@-*lOO`x3ewrHC1~9K-`kSQ-P*cjf$(ZL zPFewC+dYbRi_@gc6k|@qO??&Uqog{2vKdDb4e-L8&`I;ah0@_g3jQLXY zfei0aeV{WjK|XQ1w6hSkKaX_TXJHV0+{U0}z3o?#>mjXvy4#dFc&lb&G{HQ5^oc^k z78G;%LfnO0A(D#Z+yw(GN))X|0xcoL^yMp&2wb$kI3*y!;#=+4slJmwg-ukucYEKC z2_vJdHfhhXy5*^gg0VBvcQGgNuEdDPTpXB^gJs1&jfw2qRYR5v-ef!OQeGmvy+0Dx z$@0W(12KLu3Y*hARwG0Y&jn&7Vy1+~>29f^sf4n2(0jrkbh(wwaeT?&kX}R>nPK30 zx3fBN)^N+@@xBG;SLf*J%&C|Q{d3$m;$0LA*mNlLuSro7i2@X4AQUI$2&9pYnh6mX zITBXSIOGP0(5RHK=GKYg1KZxMkeM9|{CjD^&FgZIrhQm5L?{wUk{;B~@5e zuT;~rH8M5I+{CXc%_6bYhXrZn!%NvzO94j(^RzX5j*X3Aw`#Ytd!{SieT+#RlPDG% z79ZAn>`<0k^VDeNVYFWKGT_G9VBx)-f7skc0U&dEt4JIh&*Yx`RBjrbi zca}hbcb{%^yQwd}P(W6OUi=z%CrZGQr~@$pvG+JOI98NCNkiJp2%*ZyHDJ!X#2VL# zhIQF!(Q45eXd0snFsNMF^rq~dTw>{T2saHi{go6w=TaqDgGJ(PBzR$Faft&-*wjXBMU=6H!mX`ZIC`u93Ajo+Han%0#qK;QZL*;7j@OS*;Z z+Ok^61({krFf5o?^plusc#EM}%|+c{U2%oG!DxA8HGSo;IxpTH3+eqtWqpla4@Vo@ zKHJ$fn^A>M#>I-hit)43*l?8I!asYB%)^{ruIcu^7bz9B`mXxykOd`k``nVG81$Y`Yvc3$QJmegQ!Ere+h_H z&QW5fVqLF!n|jLpWiqHf2>weXu_aM=boj>j+1iF`WGjIoK51A{+~1z(5I)02!iEVru>qDu?ZCOMbv z@8|cL*FT=g!V)FXnD$Nh1s<{$#$96Ufju%F2OcAtk&SVa3;7f|sx0G&OLD8yG5k;; z*>Ez3la>G`TJ@Qy@(GBQt!F^c;CA%m75}$A| zuxOH7cl+tHS|?G9QA0zmX|FY!3}IV@%X2&nFaBIfwZ_{>(ZzFt;u8>PHfVm|7H|AQ zYek?NRax%1$V^_T^oBy7tts;MIaCJN7Xr5>;IsMq|v_Jo8OMkGg1Y8nZ zc2E*jVxneU`(x|g8~zcVo$5W+jrHV8y~9SJ%%Y4c`-5fK60khiVQ{C^r?jrl->SH{ zvVdwub}_y6X)dA*ue7z{MWtEM+IVk-{m^|t>mA}*{7wxGoCS&6ZX>Vl7Gg^Ka zbtGL^eK8)*_{8blIMsT!>3VV@gTX_O+r0au;yLCZw~;NOme{NQ(KctPrun#XVJm@rxsP!>D6;p^j{6ziGJnXE3@LH19a- zn3|rv<mC#q8`osiQF6%z|gsKFvJI(E{?1Td~r`bgL2(Js;i?a{Kf?yqlbJ z&4CXl>70{T3x%_$@r(5JJ^2hl$O?HX!oxA!YHD*jh#-EA05Lp)<}8@hcbut-XRuo| z{`D06h_fbTb5%cmarv4&z}kqb+e1L0lfM1GlK_yMLO{GrH&s$|P?M47(zmvx(=)IJ z8q&E~+Pt=gfZ%cAdi`o?=%7dFVrgMz&*j2P^q&@7uixJ;(-RT?r-_3(FOiyzJfV=a zogpDB9Sa=;5g!~OAt8^Qfe{x#SoFWUzy9JSGI4OQ;i9K^c6O$7W~Q^YGp1+caYwv31pyxtsWl#KH5BYzeBW!4|Z)a-bU}|ke`1V{qptYj|FA>q(K>zFS zzvgM^V*0;FvarWHN-sV*9{T@9dp@|h zR6o^McHo){%PGB{A>VlO$~lSG4~qXfzkYwW;SZT<76$?G4MIX#K*{CZVe?Gv_Z`>c zyTcm&ou5{l-yoo1MHwY>3WUew4LQZ*Be!fk4zV8U&5C5h&GWXcwvC>>8!je?w4|qo zQuPT2C2C2j)l@PKLj*`fd`Q}$e)cusq&aK5r|&#m?^{8H3r7hGd7zhHYrB`yKdb0G z?LW1!&#b*8Ak&5X$K&)XQB)P?6H>FK+!T~_+dmwHNadJU1U|5dKmXxq3yk>Ly&HHO z=ic#;L+L`IgP(C2-l6={aXa><9P??c*-mcuALj8kKj5U-`+pgOfa`S_f=1P2*pz>o z>`z#=uzTx&TI=ieRUxr9;HA*b0I%LZPL|e z#{JfRCJ2K!BHp{ual|F+8$X$Uo-d8)6Z^lhIEz@9@jlCaE4}<5xc5e=?t+&O|H%I~ zC_V=$8c}|SUyCSg|2$upQQ&21=g#SR3ONI3vu?=0u!-!{8)=q-?I(9##9GV3O!Kd! zR&vIBW3MON=R@mscO97Zo`0E*^r{`y^CflUnw-}|#UO9X@xu(QsLp~H_RF!?^Wed8 zAKJfm7X9e4;q`!6Z@(}b&QhUv)7ZVc@~lh$obYm?gN}3R|1V^MeWdyL_{-~@M z=`y+r-D=JKvsqbHA$e`{N~OquYZUOR(#uGEs{gk7|4X9(OQQdOrO5l{TV_>>Y{bm{ zl39)XubC)%^eB4NC@DB`7oAZ@tw+3*`-wM6xAJ^bvS;qg&wpbLS1X~o(h%&v|L&Jc z9=Rn(Nq0+k0^~GhY$Tl&jXBK=G>;2bM4b*D1M&i{E9VoArV-yBqC16Bj`{uSSKs@; zF(%$Of`p-nTkPG&K~FRYi}V6xVH~OA3nocGVQ?M6ubL!54VAzR8G~-NsITN zScAtskifaf!sigIiW7&)PFH10%(&R?g1nW=iZEqcPT$*~|9Lx(eL z0)@3FN=2FMt%-&F*Hsb|S9LIns#uF+Z`neR%_!c+Yz=GR6|qRzCAva39xWPD zwiGjGQH6mRCJuo?2g~mh>$jDw$-GWSbzmrndyg33e}qi=HQfA; z_N(3ZZ(Nc0Aj-$24aI<;RB%=9bo8{5N#{zHIdzCNr~BNWT&~7QBIMW@zi(9`sYv=J zQD+ub7G7iLeuj6C*ylRN!H(YyB$2ZG5Gff^Ia=MHPpcFnf*J}-l?!Da2shi4d+l6O zyjlU{R$ZtFH=%SF&`}6?ie{&c{YocsrE5Uk;toSS(#=upbtw!e-Dtb7fa~e`P;qem zuH?I>XcF~h4Mri6#Fhj-Z>4&73%%zt_nQ`-w!iA?(<;_)n7Wg!@C-KI(1^3mx-?F&oU-lZXQ_-fwT_(;D0_u_-MG%Noe~{oqEC>M0BRd*e8ai9RM^~j7^m{51 zql%O6fHP#avV-oP8sFKbvY;CCb4=_$Z&{Uv1gFSj5w`Zj+WR#uEBfC%Qg3s<&3p@? zA32-rmx^R$jZaL7wMa)k$b$)jo|2-8%50v6y>q3B7lK^jhLQ zr)UP5Y5EHErYoonqZ}F&we-Y2jR3hsLQ%ZHw4H#(qX?yo!TB*^H-fiboYGtE-GMobw ze)>hIn!EJ&I)9dN@x2V-@!d_}McwRnX~`)t*6|Ajg7%54N9kBLw`TUI1K$LuDe~32 zt%xOB4g8I|s*n)2*KLx;?eZStCDYR`sYb`5;Nfy;^rm}~pB@J{5Q<_X8%|Cj6AOnH z*mCmPlUGoZ0;ufO-F%!JSf%x3T}mAKIuxeub;1KH>VB8hdPWcW*PTgmu@7K8VMiw!Wk< zgUiL`D@49yyKVtrHHAJIG9@qvq0Ak{$B#$TL1Ar8+Q2$UId3m(#rwe3hnV zd3(ISktQ|KRiI;HVIv5r)X0!5Fz|})j**X~$@xO?x;Xd%tHTv{e)iAd=52E&f>CAc zrIT}#wLO3&hB`SYYE z5tg^F_(ac^S7B;Bfq9H2ihi&BVn*>fajVK4R_n-H@@Vk$O>-_P@q5_m2=sE>l5pAs zciV++ThW+p#y=UE1#Z;h+Z=3H=x%EL2Sq~vNx#a8UYUeeahvyd=83?2^+k=;jB9Gx zd%@q#mfLv&Dvy#^F5Oc1C0ac-ZGZK$;X?#&#`+UzaF~+iLOQRjnQLK@o26E8T->x^ z_D^o^`D4G3Ad7IIQ?~(XPIX{RoCh6NQE_N)!9HE1^pl#CRwQQl6Kz73S;2xara+hq zJhTrJOXE+tvDL1X|$pfcrb`XDe?B6v!g&( zN(Kc6gui@Ilp=Z1(&x~k70}L|>QtJ5(IU)^O;8yD83Oq|Qp#iP1tUng*j|qO2{Tiy zawDo@9@)`md+w=XNIAHgnA#NWm06E5>z@&o10K&^N1}|A7NARTXg7`*9w^1R)mq8g zlf9990zxnkH&h^#Qy_#tdXKMPc9=Zsy#<{KR=bju@E*fFIf6B zP)QQN#>nk+75j0s1w7~IlE+0OR){HvLTwNYt|+D8ZCIleqI0#IYp(1yE)}cmV`}=k zRp50WePCn6<+vNq*MW8H@Jm@Ph8dsg%R`ubFmG?Vpr=!wS5`z1itO~dGqnYO8=$F_ zSG0!SG&s77x0{Ms!hX@$AyFdbzQSA+y1DxmbdcA>EOeW>2D?IM8^wmaAJ_GGL#*0J zUkxL@z&g&~85cB2ROLj7zM&pkP>-ygToBUzM8@vYQER$ZVxx zX3sF`Go{>l$ zO!5>0R0%x>AzPq9Tc{ z#&ZXp=pw*60BWgHcoOCo6p1)14D2wOW!7q=t8Wbb=gC<7=phz zD`__OcWGG|)yjY#42GzCWQ#SPNZf33jAJQ&B{ycj+e|6$m3jfAX0Cgx|IzAy#S-ID z*#~ zL&j-@?dR+sZXc;K_GK;o?pacs5CRQ;5q+mj{sc>`^$G8oGr8AB2gdwE!{UzxjYZqn z5N8EFVLm~P)u1*q4r5{bx11trgCvKTgx>Yo5s}lT+-rD~Vf>mO^N(83*fakH8LOvy zcT`15j1Fa*ecEBtQ+=zIEXNe#9m~N!*OuPA!`Sa9iNcJB%lkf+N40xX8jn_TjE$Hv z4z)0r3X)l%qRmB`PGl6yysq$c%92A{=g~C{cnoC3-pu-t&a3N=9C}7BLO5lD&kC|v z_HejCI-XtZG~C1G-r5la`v#lpj^fx$qfUJTPxykQ_8X?tg^ooVB=G}aZB`TlntBe# zvbe&HRjGOlZ6T5@o3t4RrZE=AK2A18*k~RV^>WnZOu!`_QFpVwW~1d+Bzh_j=&jVV zwONSHhnT{0l!4igRFSvy8!l)N)SSt9b2e2gZ$azr-75rke{rYHOZ^uQ?M;nbFTd%y zL;)s_+b5@k%23~x_o=lF5OgS;?+RvCZhD+IsAt#FS29dluTsoJ8omG(PV~!3wnLtv zHSjgdFwVz2#I=E)2R98UC|whSTjUkvszS{lRemR+DiiNZXVXh|Qiv8JC2jE~m}j@f z0GD)ObbbJN@fTTtvOa;*Q3F!R$cz*{PLeKMwzt%elja4|?4@h)e#Xz*Lndcj(}wTm zRS&h`K;wx1!3*Ec+kosWur1|Sm3PREOaxHEsk63fg#~aja>qhBr3{#)-}E$kZa>NyHJ%*21~$mKC77F5E(H62FRWHhJ?V2r8rQF$ zUrC>`LmH(f87_7Gl_nl0Z+ zmnOhaR^4j?%E$QpGQhuiOvjNu6x$az5LpEup#%WAhiv1_vS_zAa|fLHi@DkC^gxE3 zd((hZMOfWNG7il*l6XJ4tX)+lTH2WZ^ze`VwYU-sFClA&dN2E^iPLqm33_2$=;SX0)vu(Cq#{eRI> z;Ej$Oyl&`!r6V;`6n-cbAOqRutWVKO(ow=i!f9HAvgis`Ot!}M)CSKQFR`;i@sk!= zMz%K`G3CPIaLlKz8ui>EtOF`HK&iQm6J7q$(W8;CLRclPh&C!%L0U2_Z=9+US98_o z((~->IancBlT!B?%mG4Gt~QC$Y`YGBayfjKxjk%#wjkJfPR0!l$fkW?-%X*-KiMO9 zJ+h(WWrrO5X|bPKj4>I^`#Cs?1fNt8j0+8x2jjw5ZL#9O0%H=m;>E(X>o5&H*)WKe zyID}csVMK9NJM_yDQ&2B6!<-4f6&9D+E0t+CZD#-qp$~$!_nF_jCIV96D7>vtS)m0 zR4B$cutY+3iiL&=Dx((0&r~^zLMygZ@=-D>pz;46Z%5A&KInw9vVDX1Za-a~{uM)~ zBh7pgB<<>W&T8iaSeTY_Y{g&V)x8TJkN!-;iaR2OY@XDs+g4G2rzKau89Py!BCeuHr zx0GAy866tiuN6su0xTo=XtENTw$9IULKZMt?{=RwPm|mSXIp9^xE5BKSmk=ufG58# zo9e9*y}iJtIW#5Tn_zkq<|^a@W(Rhv}wtx%}P@*a?5g8G+Tl(qU#+A)qOM8zjO$hy3yL z_6&3{(a%rE+RrcxB#HGrI!B>L-MMJ21MV@|TvshV^${KFh@I~8ic~#pB)N(q2Q0#6 zlBeg+RsP6ZW;%u4CD$?~SmG6~mR~X+XUPs{7ef_{8b+6k_od>gl37MHSGYRDUH0A_ zrDniu*hG6##3TP#$54zCge3eVo;Y&3?=`S$il>f09Y`!+hq7R2=tp^YK9=g(;Jn_TWlRUMD zvGdBs4S;=#tn#{QSM+K*9D7RZ50@wm^5NpF@2|%Wjm6O?HX%qNl}}&5kGIEFinnW_ z6D|+CG<8^+CQ9eI<#k2bjIIEr{XS^TIm=dVsbPz|FcFh48Xx51=-myfi56z#F?BS) zBKRWC`j-jm#DKGQ{T0A)!QuJ}`xLOI=L!z=mNp&6!CblqmW(Tc)`(lX_sG*_{ekwq z@n0=8b$aqDpoV5ph3#;|gDTSJL%bLg5dJv7rb{ZcuX3jRV8+AnS9;xuev9^2IL`$s z2aZmjjhtbVuJ9n>TG|neqcYF4SAEYTq=sILx6$*|{t~C>-3&Dc7!|0ZeQ3TEW|C#2 z+ppcap*LCWfLWW7WL2SXvaF-ST8P2?3~v&&6i;HaP>Oy(NXZtFa~n%<+12?QMv%>! zm6&mH{jP3>+xLWry}RU+glGfvT6uW8xQ7C-M$1d#Ls4KZGmiJbcMjF*hW+Rou+O0R zMT@qDlNQqnN6Qu~dZ=H~@4@@!Du#oO^{$z`=x9~!3>J4kYIyhVXKN8BrttU?;uRDDz$O6^^y_+;-3DohF5SwKHrOy33MOJWO#zA%6~IIkjr9Ul&*hx4HQd{bG%uJeiumI%HY@Z!^47xBNEqZtXpphAib zE|8P-w}_3Md6)ZqR-RUCNNc`Mdj%4Q@j;chGF(OrcqumAK_w@Ze zXc1GSqTSxu@`c-^$G6NRe%bd&4k4+wSpKr_pYA9h@GU~0%Q#>T*7Lq)IcU~^S zH*R~FnG2jm)sn_z8$L|YlV&lsR|zmiNbRGsQ>t(QTd_u6PJjxow2++UVzeLYWt;QM z{5GeyB10cEsT#DxieT`vt|I2Av#t$;HnKhfjwuGJ`be}MWpO6kK82Oz^^jADWjwm@ z52PYEQWb~5dl_g|iauIGl9d;|R+P*3XExfC{!$Rpiu;+(qj;Q#b={t`oO6|2VX)(aGM)CB3Fa%Viv;5ZPFOe(kKk;=4>t zZi;{`6A@Ycp?u55n99s%&aN!`A~Jy)GvuQBpMW`=>Z#<=#`V+Wh9=1Xk^^Zs%D&jB z_LfM&yYUCA+l`f_fM`h{No`=9m)AY_IDNIveRny|`4K=Vbv!(Su+trF8?-*_p9%R@xa?9dV5>$sbCZ@`Y})?%CXxcT|ZnOCoq;GWCx7d)uup&hI+Z(*wD% zjc4wAd2tO3QChQ-knG`}A*naytoSVtFY;u?Py7pV);9IgfucHI%z+KKu~H42>lzxOq6J1xc#FfO|+V9W0>yE%#D6@Jn<|_FB#&5SFW3Q#C9=U15ETLV%Pm z_dqa*JQu&-g2$3|T-8K(=^M(+8GG$I*cslRbj>c`61^~XMdxLZ(c{KnBK6mm%_koy z%Yji)jC_kCZ0Ibq!wZ>gu${PEw&z!Q1-5SZ2m>$YJI;rWp}|J3@IG8QeDa8j<}NEjBpRPNR>MV%7) z$NJ;+BxG>=y@KbNIuRpPdyUq`z2r9#7f%&2Qm7!8*S_|P)Mbv+y z0o97zpX20%eCS6vB^Jq90_f=lSsfK=qx5d4Pg(1wJ`}*Ha#T90ZTdK8 z)~=8<7UenkWpxv9O6rS*n^9r^Xd;n<+g2i1cS0WF?Y}U4*F8=7IF3=b)*m>dD?^Zh z{!t#u^A((0WO{WI)=8>c-hZu}l!$*D_te0b>v#N7=Ig7)_u|aY<-fC1ls%81SE)38 zhn|b^NumTAar!$S!KStoUU*_9h&(K&37?Uw6Fqqf0)w6oo0fY7Rj<#Z<I{(tv z_;9ufUa;-mhT3?~Nmr`6vJ`*o=|I$-{=VvVy0yiZxyp5t>&c{+YBBbw`fduyYrg8I z7B}b75mn((#@wMp^J5+U_v??)3A|I*@Okc13E$ZSv<{y9@6PYCJ;DuHv(+lhT`+Kh zM>j^*sMJPnxUX|56t1W_u^YEXZAjyhv$gQ)Ig7R~(>%Pr6hHMThCPqOrku{fh?RTt zL<&m$0o6=_u=}@>?$2J!AZ=!^S$!k+N=UE4UtmrfODKvgL4fT&r)8EaFgqOMhV}GG zmF#prnhRaSQ;$G_RO^pbbka9ab4UxVq=G~(#WE_bB%|clJjkSlfdRVZkJq8Y<75F$ z*ny%=w_k=6p-l3Ga%Z!Dev*N)&0DWPtP!f{QAB|qtZy**uD)J~=NjqQaIMo1?r1m0 zvqCTGQs{1S(`72e?Kb`@BG=GW6(*S#WLM}1$o&cQLdXTAjHc`kt5#Tg5*#<{dq!n@ zeuf%$CNG+v+WAau9hp(Q-aQk!arpVh)DktRDMTUGaU^@BMct@ny64gZ#eNDKo7SjW z_1ekjPmDW55di$B=%Ji0Z6#UnvDbac)UUy0WKCXAVIRL~%n9aeNNgS8xi8zTo484; zxy~xwLQcLWdIA%DA^fONGRW@e84oHLcfWFlQ1mL*f08BAMe0P(k`f34g1&&W(}mKQ z?s(FhyihaN@Jl0?J3n77<|{MHU#-?vnV!|XV(Q*g60cU@u>~XYuf?cUGbn>HgDjuE zm^R2|PNhzMUPt_2xP|L|ccA+s+#H>bzA=hfbn3oIe_|B#GgYz^l9~0iQ!FUlo1Mu@ z4{c+qZj76`9E!;w`CQ;8(CP+dKV?Nv?YT!@kT6!=(83<~B??JNmr1l`0tI=YE!Nds zwz@^2jhcv2ErkFp-?VW|j*2HfDP6PF$|u3w$>HC)>6Y49!&Zfk!1H| zFe{(EH+MNX*uhXK;Ii+KyI_{${4z1nM}X9a)PQqdUWlTD)z?Z9A-DhP`UKw`II4N! zva<@Cno`7^T@7Q;s+%PtlY;(DRnl@$CGm)=*OnZVJBJR9Ed=Un0vLx4Oct;-BFRwW z1E-fR6v5(H;SwZav#4JFAE|-LLyAo6_UdYo!_jHTgruD5$kl5tv&Hxu-_W)sgG)-$ z)=SnO)*|B~ktB<4_dLlKtKyd!+&x>Gf4Z|No%XxKoZ)2P=tEN1bn;aWn~QK^{)tPu z`u@t46uDObV!QQy|V1@2_Cdp`MMY70&9n7r6UtcXp6zSL~1-W;rcV27G z{I8`>;^|-g`W7UCj$lr>KTslY4ZxW}Q_=Qu=$fSdZ%d%QSW}RA)9%N0MzeAG2t!Uc z*{BO33N2pqkUtAFgnIiAP7X^Vt;qcy{fAL%7?$6uu{Nf&aRSvzqkg0f=+`@?IE`) z?QJ}eqZw0(JcJDXQ;Q7#+Q`!68;Ys*7%NR`iN;tIH3zve*oeQX?|i*}(^`*D{N#VC z-H~1_5LCpU{nTPmK1%PDC2Z4lgI%22>t>(mH06?-WS1XN77E% zzOS*6NR;vb1R|#?PSDcNzYkN$kBN*iZt8?lD3;6v)H1C{Iqlc1uuqnL^gpz=#(r^i~%t(Rj;8uBTjd|C*1ek|6oT^A*%l+#{rlpB<)CdOSV!GEC%s z)UP%v+7$A@&t^^dtW$t;(0w1u-XVgj5pt=-q8HJ@yi%y2`6mxVv)c0A@NgE8A{tdF3$H=}9|CgQKyk)TO7;ZHN)NO^>Sk zm2Wp5e!c90JEgIO*|gYjA6MR)$%0$%Vqj}e;C`B(L!+??;`FGsx^mc^>$5#x?KtiWsqtGt}pdyy` zJ0fBsO8>#T5BM!rK63oC7(`;M>>^)U??q9p@y%A-`ah6T5sUX13o&BHZyZ<}Ond^j zbObJ=jea2Z_g5im3`Bms4mW%}&u3dZP7|@fjuoC+IK-zp>3rR9cZK}A6{`89hxl(w z6v*$~swr+US^Ex*bix_C5)sOT!i0K)ylk8+ zImQs$+EOQbf$PH0*7B2kpR>y*G9NeWJkxP{+$!`h7;fNX-U^O4i;Sp5LN%ilX*4*J zSic6ASkS^HB`C6ru8v?AB-O}p*Q7FCq6C~IUG|M5;3Xyotan}g7S*{BUVbl- zm_HO}1BjKPXeKw*xcP!c_egR%IytMx+BxCIJA2JtQcAAv5ocpjstU}4xry~t+G8a@ z*z-`<(U`D~uP0I4%r#GsRNeW}bM_*QBP0y7H_&J^whhsCQ_K^wMPgJu)bilZEd|0H z@9N;Drygqtrnqd!ae6!z!cN*hg%KIK`%~qEw=R*vgF7fiWsl=%V3`nw;kvep>(eDG zT-uGb-=e35fmHPewLlm0Pyukq&KrZK-WXK#tLOdSFo@=zYkgVhgq_)u@m;uAT0U-C z?=y-r3&qvuJZe^mH z@roscDl#Rfv(;fRxh4qAddSNX+-Z!%!8+yLWg6-pW!5^al`@_Q${setlL&rd7JLQ& z=dqPOG!5t8ThhhKg@}BmzN2^ zY#3zwbYa1G%#0n&`dyr=*z2rrJ6~KmhKyR|f(&zyTKAz5`NvbR0FRRn{SE&2A~cQW z+Pnm+yVq!I)mZe^%NqyG*(%7>}g8kLEErE<)T z4K&Ck*{;E*%Fk2gCm{oh1Lu8_yLX?s?QT!JyinLmC^H4uu%N-0gttQ?VVOO@U0%bUse#LOgT-Qm#L&2;JV5y&*j8tPvn1_Xaly`*YOoGkMH5`6} z^~aPMn^8$JH6R`7fHK>NT?h~S`y2#A57Gtsu6%>2Q(Tg+oGQ{eh($vNw$2y zKB`>xa$y;I_8w3u_@^tY6IFNd@_Xw`Pgn08nKoVCLq(()+4l3sva;6eP$W^_Dxc8g z8Y+pp2QO=d+8gB*#7`=Mvs>BQzjMQ!^~1oN?l$vc8q`w49*k8m?5&{i2LK;oM zP1ZhFqexxtI%ix0HoRqA@CXJvAUIn|o}Tcx;yYVVGrspgjifac*^$WT6^afIS%Lb| zXbkysd!*07r`~pF_U;M^UP4c_KY;;~$?`P@0F?gf+PZE~54*0hc{#4R-F@#_eG-#-52OurO zT7THuBYh-eF{jb~bQ5W#BU?Lc2G^s+8?FtEyi7D~>2@6gIz`xT#Y4VFE$mFap%`r! z5bab^V-s!!L{x^8(EOg6b=a2=b%QaJxgn8la7dqV%Z}Cb2Zp#uKi}S6xEu{r;&QP0 zCUFs)PB1|mVOfffJE1yiDxteunSL{!9}K(H=Ve`NU=3Wk?Jx>4YatjWzHCdMWzdn> z{pNFZ*}#_m!w~M}j$5qZgoaqOVYHwJ^@cSLb4tAIC<^na{Qc9CILD41>A)J`p0C||&-T5^u*2X$ z`=6w8DN9jxTpBj)fGh({uslcJ{ka#Wc%53?E%rR^`2^~|fyX#TkR+n~e>A9kkw#}7Em*jGtb;Hi)dpc-iP39takc2Q4=3x%w>3NtTWoo3R8h;& zM1zaIh;-QH@`6bhwD3nNd3;SK8$BfjkL|E}@`IGFeo+i1-J$N}b8|RVhU{o_guosj z%w_snvS6ak=cpNa;Y_QZj=eWO+cd7r?4Xb;ZA83}sg%<{$?A)x;B_*4w{k!71(!>s zn+1!Ql2}Ln59LU#yTfvA4Z+PaZ$!JBH-5dQ(E$2B+7q8OrK zvbGi>lVK!Q1$yGPgM4PAKeDX7OvV)iUf90q>-Yjz&E7XAv$=SC+lA-)_^)rotnwm# z4E80NaX5cz2Vc0{=SuL@)kSm~Q@pe9^g!>XxJU>zJY%v2IH+=?S{4vLDh2S|wAtL`dEVm=Jni}YiGx+bwZBUQk4zH4sXqMtLo^B@VN7wG4WhX% z`JLp3SZ}$#xsKW&I&F(&g)G}eIErBmV2-5=mIs-N9=~G9u)4-7^MuU65tsG~zkl;d z>iQoyQZAqY)eZJiqt!=e3%m}Y-!SEdOz32I zHLYct_7p=Tj?EYrC>YL=T^V9H`Y9n*xe{T(R-J=?G&f$l_3s?(`*EzQIC8ukS=P7HJ2<=>HWKVudtSBbS*I zo*;9*<+>?+yjCPXn;wVC&mRQo`!*GeEA;buGUq9ZGHP^Fvt^)7P(4zJT+yD9QTDh9 zi+)5meYk%BSS&~BPRt|JmJDu;(1K_CNSDm-H-K&u6@)#vwm-@w`qetenOVuO*3+}+ zGeF^pm+=+)gA8op+YO*}v}*dFW~T4uo+kS<8gVX26{48-tCv^LT||ZO`543X^LHp{ z4>;NiMq*=!rbi6d;g7rLEEE=VQGX;u!HR>oxj*en)RVStBlA7CVe;MV(T3FB$P&t9eJaky z?6yrGuY0*a2Ai~$=O^SSV8A?3)~I8O7d=+iko~e0Qh-H@t%_&V&&w8iXzd!FlgG}P z{>KppJJ5j8D1QbD7(0lqy`28*buWMw)ob}NC1fS-uW!I=(Z7?ZCamy@S^tslPJVW? z!WE*AVwkG4yQL_~CK<*ASJ~MoD)R9IrQ3I)Qj9c{vK?SQqIE7Kn?4S&C3EXYB26N( zzAGJY5mBlo*z5>VXT8^58xH;XvK;ss9mEg5)%Pi&+E8_EpV~EH)KwV1snAk)H!1R) zj#K=+UCr03`Q6>XE|-&-%k{iBxXKc492)^Q3GquB`N+usL)bS4SK>G6PHarty`5Z=VR(Q-M{XBaEuHKM_d!_OHn59 zk~6F#f7i~1Fa=JFF|8zL_kuM&Y+pr3Ftrp8;u~j*n+MaGdUWk{~hz#&HMy1ypCXoWUexDlfl+)wS0RjSQ|jh$UP)P7g;G3wXQ< zbjg1Q;6?5=mkA`{OyhLac2dUx@-OgPUieum~J>9UAHM(UY-;cGucLh-VzcZP?wiJ5CDJGYF8PgW=CET zNl3PV=$t`L_^=LlIiqd$hAi!qMRYpJ5-Kr@tHte0-1RYBfPyyJG=p~R$G#F`n@T~Qag!Qgu z*`uUL0BlA{Dp*xShr6-BpOe7wZb$ToQ`#M*&RW!ymW$Fx6iUUB5bo0dTme6A>pCt~ zePGQ0lo1kxNQ(4xvKL>Qt|{2@|5p|OmdDdh^28K4QC(Z>lq%_SE9 zd#n(zbM(T6RTecm#-Q5|2hR4i4BM?BKBvc~X!$%G_bdi8qJg=xtJpv@w_XE*HqCdCYq`*HsL!TfNl=A#v}PkCa{Kp5N0?fS*ceOxu@i*qsuDN zTM~)VeKH@HI4AS;3aJdY=mMI^idDP&n4PKLvgCl?W>WqZ@!v{C&=t&<&7mLrO>TxK z?$~ee*z=8W66OcnjTpFhpU&?tnZHJ0)U7tFe`+^QNQkzUZ52T+1tdo*%r>k)C3W!$ zz`^F-48?k3t^prG;P(^DN}_9L9~Y*yNOIGH=sV&4Yx(3~?Nq->@p+^b5(?jFCpy(> zZRqTm*@39Nu8H{MipTma@yu`C2ThyrXJ7^z4gNv_Qd-W&f0(FBRnDZsAuTXT3?|3j zF3*o3-;Z9PTBO^njdE+JCFNyMGmIHpp6n5qx>u3%`%c`rHQtTMaE1Is0gF` zWQ}BE{V57nhQwbhj8d^8Ikpc93|ZHsjly=O`3q2h;W#ogxE<8}h{UZURlUm>Wg+dAp(0MeZ6-yS?hZ#XSqOks-WMK4{oG!9SBg z4ki$G?T2%5{ZE0%pw-JOuM~X?zQO!s-h?GSWteOft2i?>n{S2*X_4d7bd0mFR)bd^ zW=Pw+PsD{M33*sTW$0u^1?pmT++x^6CTj_Pr@TX5tQ$JP^h~A2Lx|ZBOe1@D_;e3h zy;a_pbOaqgevYoT^zkBwkw8g5IQuGaG^)_}67*DlU^aO*$VbToSnesN{7dK3TQCw11(86{jc!Go6QfZnFLH*B`nPb7Yj z8pOWNyVlk8sXZ0&H43h9%$`eFg{_v>&7`tawE@?l8sQb*F$Nys{c03~jyy^`V}Jwf zT@>tS_7(4zHJ==sIHulSx3LFs{g6TQY8|E z>h~5aR!qpuve^E3e{s9Ieuvy|`E8DzDs<;U!U(K1B0*78(5;x-7Hv|NWtRCCu8lE~ zjbbOMOBz6a^l9}e=`!XNHa67`tQ3*6!D-hn>4iUIi@2Y^^2*)_7rVggdlp(a1Mpe) zxAW?|nx@IVSO*^phw}A6yNzNw+#Thmx3`q-037h-501CH%DDuw)wg zO(dEs5+)pJs4kLXkTqQ)?nQ}cg>|0V`{Qxj)B83{*BWc<+G$*_ZtAut;%S=i7_Fsf zvgq;ULT)qr2XF7%3CU@+m#JdJK6=VKkfTIFGOyG(Cf1SyYi3ISOF_Z?N_Y;n0q^VpM;3ork*{Z# zLa)zmUw1uP!6@i%tfVTv(xihaPLe4W&VgG(UOV)K(gr5sA}s)ni>{c#v6G5Algj(4 z&WZ}KXe1*rU$0yJ_kg1Emn~N5#6bEdTdYq8>ZnE4u_)aT07RvGO}4`yuu2G?ca8~` z^5SD&VT5MH=AhyzVU*y|(dqpfF5zog(+N&fMs1j&sJv*&O?oly=$YC|wA30KlJGOf zn^sM8sX1wR$t~gPX>h<{a6tDqc;q-6;Zl>1Cf>WO|4~kJn3v2*tYm?TzzGIO$A(B( zQIwGQm6vb1J3R!Ajw__;lTpkhS-Yw0Jv~XN!zZV*41t#MH$ce&CE;?BthbaKXFV;^ z$n7ynau1&tcptw*OL$XfA*vZ>#*6Nw^g^mt^*M2ipXK6M?cR7B#r8fCQ;NXCpD*TG zAP?^!Y8p2=r^1cRpXXFs(K}XMp!j`HOY&W5t-~qiYn_ia|HdybSLLa}z5T6BXss`j z>$QI@zh6j$5$m1l;AEGn5g5EI8ALNMA#gL7#X3}XqM^2>ODSk`tG4x)tJy4d@o1G zd7%4?(x-miS*0BkspsDe>(Eo87DyBEs5YlO+Pwm=hn(yD3#P%(AmqOdSb@Yydu7ES zJaN{}x?!X`Zd`W-KIOFi^{gFbJFNg2W;qj<*o8M!!Z}a8co967cqf=Qb3M3dzGleZ z_rF%F8#xSI9SdJ#m$mS~R%7LjZ;i^8sb>xVl8v{dM2CRrq7_s}^dYN(l33I)fFK!6=A zp9)gDfnK*eqh>k#rFOh;40W7R?}i$x1vlvxE|+Q>Twy=FE#tg`qH3_n=ppR=UP2`4 z3p2!MLKVWLO#|hWnDsF{$+9&$W;Pw4nE7v(Agyue^u=L-l;3xBD-;3&S5!=;>twjg zg>jT$zbj6$fAP)+Xsycl-bykL_aa}OwFXH_ON5nAkySI5o+XzLDmo-?=(;5H#kHYsKatYOo zQ@1Lf_eP(XJ*0n1&t7Ea&i+XTc;|rUx89#;_af<~birNFZtkL)XxM&fA%~zO(}CWF zQ%o2MXFu);ora?za>8I$m$$*>k5@a%5h_VFqt01ZMCW1OzdRDdVtVYmKc~+}iL?~H zmfLvkH@WU!nb|plHcA>(!f?t`u4pgwk!^6JGRfT~hbZyR(o~q+MatIgg7ez9zg%K% z!XN^pvpTrh3|{^G3f}jIPE(@6ow^_b`DP#EH)%HBcJGt0A%{=-$3N=mYxf)xUuWp|wvLeEY&55%$ z;e^Rz&JtI$uMHaJwh~nI^as}|?=&6D<@FE%RQehcbLNu@VBRXeQrGu|w@n-v1 zZX5hV6=)dtx4Z|Mc%~lAiv99BgmJ(tp7jMKL}j8n5?AyebZwcRFU<=m6VChk(w7sL z@3mBbvBo0%ha?n!-v?y=!J+BtTr6g4z<<#Hn4iar`8$4IoPW;SpB@lJBWBOn$Nu=o zl_sREM{6WgoQ{N`4kjFh*z`D86jyEy-R14x+5_`ZddoK)=_Nyih9*Z3KB@yNEJEAu z(ciT&gv)H92mwJv;BC**6~>UV7?C&nKM$Xd(0sJbHb(2Zjm1zBVNhxMYZbz%C6$=v ze9R=7=FC`&jtTkZdyulZBKYiN^RjN4JR7A6!kJa}UC6ES?3JbZCujjQERQ=3cDY#i zyUcE)=D~$Pi`|qS=(}%BBNyCo-gm2mmu%-OE8+uGI#indDdbJ#=EJ6K;~q`Z>8y!DB=1Oo##-&53LZ>ISROB%6rW@ta9O0k7C!oEl0@s^HOfq^FvaL%FeX2)xT ztRd45l8Ol5P1MD`+Kw|NBT6AehY2#Rw|V5U`yaA+qD`5{hIGP}qNvU(N?R{}W0?T2 z^lzTEe%bxH2sT>aglq9AKdIQxvVnL#$8<9wc~F|)=nATvz`6QsjvW8H_^=$c+5Hm; zD{`Xo0+j_8v`_)}eXRHW^b7q~wg}C179+pu39S=#LrD zS`XLve08Y-z4-UZMU;5>r}~5Yyq#m^7d%Y~3WYIrOkkcuVAC<2&F3aDZG*B5nLYfFXCO5y3Zlt7y5#;Z2!2N^~TAy)LbggPMa( zE<8T9o%I|WRvr^ckuZgzAZEilmgujh1s_0$i+n8nflq5D!J#k(go%2~gjJZRggQO^ zpq_%@kF%E|tb*3yhx&Ft>J`Pj{`->S+&jbtpNk<);HB*`X zPS;kBTKeUnv>n~DE}oakt%7Ux{OLAfpzYEA%=DSn(SW4dA6K@^OEC;H5`)!T zEV_f18eszr9uCltcMew;|7N5PZwMVU8n#2P&qashZ*+|e=!NY+O+S^Vi0>_}9fFmc^{0{onBj!g!qR`0u!O1q14 z-Ysvu@)Z}5_eOePuD3&A5wYRw<##9Q!ykTejV9>`$VG~23fJ7DN-UYnilV6P)el$D z_#07M?3|D};4TlpcDD^~u>InM!CGep<|+qzvvw9}jA)P7P$R^q-H~>funl5P0M_?q z2+2QnN_6eF1Ejh?yii^?G7bAo(ruzX%kEFmI8Y+gnyz|llUaigu|f1nVtNF6E_vO0 z^C%g!`eBoILZ+#?;wN}Hv9(L!%$DVmaL1rSpjXZ2%npri&E@t6MpZ9l#h?2j^|!ql zh=G#{W=o96?Su2ax26ZDXq8R@eifMikU9U&b369HBnbPb%o!b8ynLLQ__7E}k+Tzt6ltwxg=kgEW93$_Kv%MOmjPksx_-{VCd6_54L@u=p4A>a4t$mR{UziShYrHk z#Yp{~R$@pfl!VrnIDfo3`2fMO6~)TuW^}>BAVU1kQLvEx%UK^Kche1CS?R)vF9is; zYBe4@5QJ@Zd|BSrm~HILJG@ZTOgO{59=WSzZA|h;5ha1Cdw!pKWm)Ln- z?F7zOvyi+hO7s7Nsucc9G`GV=_x*E*g9T4;K70jDp8l;p_-X$$+<3#(;c_J@=YivDoy{polwuKDZzc1$VCX%sVbHM`VM#5M zkmUt;mt~;b*qb9{IYm6bj$UN-Kj@_m?tTx7tI9($rlyR%Fg43BTda&7~6vH-{U2bH!%TdyVy%gt&inEBgz&hO z8DLyq@MIZIvg;SsI`Wbxgj(!D0f(vli z3(FOGqAq+~vjbWbX^$a<_=9rmDLcAApf<6d={99}10d7L4BWCN=)IHt++_bzjF4bQ zH&K+_QIb*mD|SOxJ`g;kla13f-;RxPzgb>K>LGQRPcNTxA9$*)Aevn2#|xA~rE@wM zFBfe<{ZKfsIdiWd$d^m)li)F~MQ9PvR4lgk-!X-Itx$qeV!l$clN?TRE{2j&fRzIT zOep3P@GkV7*r{Bt$xUvuZWvSyyA@rP#QKX+aK%`WaRgNH)_`Sq+TrmmvRKyVM{zR4 z4&gz4TP_#olbL9`s$!5)N|D>T19MvYQJ?MOI2PBBml!qW+dQM+28M`K8?8={rf~&a z#n^})$Ym$plkh8A7y9*EB4VFQjI)3k;#xdh?`@aT_e{x1$XY9+5_*9{X0!0~4&GsL z_^0MyAxi1GLyocKap?5>*eMICJ`eDT;*bPJ}$3bUY`4&s%J;@N!(6n7PZXJkVfujvn$=o|^{H!|K6Q8itbTcr*C8wtGutEs}P$EfdIHu;V>dbr`COr%DzhfT6oGf`QsTM z(Xp}#*O+c^c<+6sjMb`;27vuBl4n@yNfyOAxGPSjyP{?kc!+)KV}>)IaB_76HiSuC zJU-5(SU<30oxEIhEv>ISF}@WQ%g#UHqxJi>MTat(m15j)XO=&2TS}vR{uJ)DR901s}G@yE52NvDdyJ;HAk);yxg~#>&ZGfj(?f3P5cf|F!112o=0Qv{9-CHl<~FW_d@{q`K> zb#S8%vjeTrIVxe`)UOwzDg`WtvH-ImhJNy6qORx)Nq|$r(`pF=g6V;Is7^8Dq7I$9 z8f4h0WA2=>pY~my|J?dD*>~`|w3~g-BZcF~pg_c>QgU1`UyFtJ*3Qo3I7O4bb<9g& zlA)JEUhP<%LT5e6#%Fr$W7nq@&UZ8PkKaG*2jT1Cb7}A3iTl$yw)f34DkpQSFbQUV z@ybNToT5M}8cp!#Pyy6vWhFfzKmhnLlk1AMOtn`qB-~G&)V$`k>JIjC%cJfmQt+RtlkcF7U;-`7++DMbC(~hv`_;Q)&cs! zq@yHTW5O9NcCPX31)Hz+>#oW+9-+ST=55_xTb$W}#BV!qi~#^o!fw_Cu#L&jJEw%ABMkXHq=;;)!@%ad6Qw*X!(T(dE1y z;enxdVW3&Q<(ilZYr~M9cdPaHx#GeB$R4<%Pq8kjT6=p+L7IY=RO0QqwD8Y9yz zPTE@_$0HR6c%n%E`?11>LjKX9aX1thK;AUUar2ta982iq0Fr z|YrZp;D$D$l2oA^mAy3F0$84bzYe%=) z*zmU0(LsoGO3-(niC(S+eCDOxQ)Hi2b@hCoOSKqev|bMrF{HJi1=iwe$K-jJemoDS z8Bp<)7z*oPAU55FiY@rIN4?Qu?2gNaZ2Xn^HoU>P?|p7fTsr-`*6H8tLnafMbfu<} zqiFq^+kh3w*K_H768KGam78_ZHa$K(QcJ9|Or>uMRGjlHH|qUd^3ZC-k8P8gy?Q?$ zSmT}V94&mA7@=3;tLwFkAqnRw^(@_^aja8x+z9@F1g=uIZ`WME$y2DpH{@Yu_Mgj$ z^13b}f8K*Q7owAmVvfSko;C*{es=9hn?qU8pGEmTHPL=2b8CByvjIz#o! z5|7d0(;9FDSwQ?yG#03N-=WycK@Z@2l4*Qnn)Jk+ zK0GOA*aLcvOFLmS)9jPjdGY5Ct9w2yp&+hm&CW^zRs4sq0EvtZw|$%VZYsxL^Nu%) zEqn~G-;x|wn9A>fYPq#O-aH zO@dFJ>wJ;|ya8Z?$0=ERYYlWivm6QVC5`aY^yq1e4n&&^?!Qy<>GB$ioNP~)>Gtu7 zC4WkYFnDgHGv@pFw0=ES=>3VRzytI=Oe zC)McLHgjg;`I2?O=d?eetuq{_Lc8oWYBs_3a{8PBV)M5D=i+6PfVb|O-?|9CqH}mE zi_>5&_RdoG{2Hod+?V|p4nFZE45P#Wd#tl7vBLMn&CK8x;G$I~CA8a?viOq($F1wn?)VfdCW9!9+31Hp{PCop2m*~io+G8+Rb zoQiB=+>K`@;qPa?Tw5b$_~R(PURWy07P%#0DJ086Fe^`^!=wKz#Q zelR)&GU*G-EwDvb{ihi~)HE0nbfPr($r29~nC^;kwKj^)`@0g?tF3MbWhlwtI*_3n z4XtIqU|>{2rIm+YUwI?un9BTh%MiArhIL;SX4|M~e6alp9C)fW3IBXE@`T;6xXqsd zY8M8I7|}^q+a{X{DhpEdQ>lw;6U`o$6C&e3KW@syLOX|PKp+%)__+j2>=Qip%dXwr zWQt?pT7YQCZHfsbnxO1u585d0`-97iWr6RF0FmWclq5lDzw_DpAemcvQ4JO!SekKL zD9);;3%bn`1n|(R)9y+ziQVwE?Qyej3%{V4Io-BMwcG1alQVFIGVGQ8fa>F2#a~L} zyj>kJplRe$d1B?J`TmHOYYT)Dt~H^8VcVJ&5zfmiC*^sAk@_d>CwF!V4mzd%2+6-mB1f%}DC!!OEc--Bk6!;P}YvY4c2e zW#|gMTYx_)E?jq03Em^9=r86doOXcmh5Uv6oH=ed0KUl~zzX%tjDwjdUTx+j_^56F ztw#1w$R{fHis<(GxA~vKLZ|;m=YN3Z$Dx=LL5dI&PDjq%mGmacd+&{zrQU#aWSF5a zWRi|u@^iYk(IU_WO&!0noDUBU5cJ0w0V{v6u-Z6GDEZnPx&S_0x5E&{R2nvqYTr+I z0QCAX{R>`GGaLXBHNy8~@a1y%86L$WEeS<;1gfA>ON}DZkr%E9nNEZxmJ+46mvaBQ z{uv&~71uTM#MJ&Vkeb35gpnT!YF(dc9O#xx4~Zr?Y)@_{!DhlGxg+m9t9X0l0@i%f z?SnNo>)9aE1Rgj>917C20&Sox#Th9&+uMA$Uy{N_C#hFj8&F{Nr4cJHYx@^O+}w9T z++9ArF{-@e)kQTstS+n{LW7wGO$7K%!Pbt5tE* z=%giR{`d7Ta3I~L{79W41UZNTVZ=Q`Qnig6hJc4TCi~flVd%~1@tafER<&d)=K5&8 zsu_l_$c$Ynqo1ubBB)epbqV}WM*Rg=y48dK)Xx(2FIg$xf`H> z`14cXq9nOYRh#LZr8Tjv%`47`Bfi->O1`C|CM{%Uh3v8$6HLry{&ZR|LX?uJtmowRSW&p6NmAOJvxXVP)fuS4X>!;$*mm2k`$YdcO;e>sYlF|T~Ic6omV*AJq{O!^6N4~ks{1(Q0H<(@9%@>uNlDUJUdxVxv z3BNZC<=)xEVbN#xYNnC)`KDeIov5(El9RN8%hFYk`bY-m5=G8Y*FRzY!jEGtHu7|u z)XPf+{gyA!g=xb{xIEBl!n}X)fOY4(?&ORof035%wz0HONo7Na`?I@IXo5fi{^G_-4FRukCESVCfZ!?T2D#y-&%k~@0%Z6~tW9!g^uDCevExDvyAgjbl<*|4d>{JxkNr~cuUG$BO~dGq3oTmp+Y)Cb4I0ogn9&$(T!N$BqUJvh-hJqo z&~*snKTR7~kA-d=fm{hG1^Y`R-^`cAXYMeQZo{5X$U1^wARU*nfG<2u2E=)wE`>ig z6k7>9)IybId)M1Ps2`>2Wp+kUzfojVj>NXUb<9DKkA%$nXk;f#4C?Z_kvN#y1w4;B zJ~xTiSXQ!b=8GY#d1Orok>;^t^Hr^C`^gNuv@HUWthhv*MtTPEXfiy+iRu)SkxNL3 z>1UbyU|tqRhRg$1>L1PKM^Q=+cuWRGj~PM?}s2X=hEPpFnoD(#Q~L_hwF^yNa2AXM#^M#}ZFe z^L+sE)0VqH_R6Y@l2Hb!@qR~%g)SaHpB*Q}+r!(h77bo&4vm7N%Z1LN%Z6Wp5Eu;Z zUR#{+K@L|&2g*4!@=f#CIWCA##JSOB0WFwV1I`j0Y7zuAL+?tIZ47GwWs}aLXt=pe zgob^QdVb(A>dDj$ikPr4UOe{+Q!bbPy=P7Z*U#tXb~D&YOK0#%Q4~c#h4o~t$H5FQ zl!zHbw72@gH2~vtW;R|I4UfejmSs^=KwusW#wc|bTG42$ALk7kU*)6aBhz=n?p zkEtulJ3#D?DBJ{s3qyV*qE&>ES_~|Q&CV|g7)DCR2}2D9ZTun@euzJo*XH%*Q+okW z6orp6e&mf7X$?fn%rV8Hq#E_~_%3xrh+Dd|@MD}zOdwPEv1|UU`M#ZeY>yK@qE?K- z0o;4pzbuuuI-BUNO~4c3I z`+p~p|8AoHF`sOTqamZ;386Ef28LIiO>AnpxozE5BIg>ey|Oc(^TZ}V(Y~3A2^Bk* z3MJ_;9d@{p9g>mm8BqDLXarGvbSJ47S@)NSU+Q{++q2%F7SFOj2HPWYX!9d*XmcT) zfdgF(Y@#XrN!P%(vR24}eMH?G=YA;f4_TS&Pm*a^b@<;JQHhZg>CANUf9|&u7doSa zE}*-EyZ;#*y8JeWnnRbd5z)wQD`uv(PRXYwRp-l!AP&an3P+hww{7Ai`P{@RC4Ns< zHpWXQ=mkyrarC>%aNLRvEf4h&M?ci07Fx^#N|I#_R0jeLhB8c>i+v>udYB}b|Ll6HsF9uux!O$AGv8}=6VHgg|QB}V3-i4u#B(;oTErMKbqVY z`1n1p{@@8I4Bq~PEL7#MmMW))7)HiM{X%frvC3kS5Ptz_aLWU{@c(#I5aPR{aewgr zQ)AXZhpYAEW&@41gVRd-c-att1nCDWmg@0%Y?SWw@CjX)gKC%G^bT#Y)x`fEG5-tT zCH(t0X z?A#d_6)Fu(M`WQJu#s-$E_9g9dOGeNpx^39l?D^UqAqvhYJPxuD0B*nB6Ck$S8?Mr zTm&L2q$?BU)WgMU#9b8yaz*wRNK3H{{qnF&mI2p7=U|6F==dok71u81y&rv7^7weVH#lUf zVVN!o_w0(Q4+|-VV(J$^D~ykq-f?#aEu3C5KmpRgqi&GL9lwfDnA>R+C6Vm*X~z$r z;~bT8!Q%Db^RbELYSU{R#Zf*#obQnuxY%n7a-aZr_*S9h4$Cu;?H9GOW0q#s^v{wi zGi?o~rxQMZR|5*AzmI3(N+rYp#@Sc*6^M$qvCCK#d?7xiMW(a zQIkZK!iNVSSvG^RTht8#Ali+)DK=92uQj@)Lm(Ut%S4Y?5paE4>>dd+j)Yq&%M&a9cNrbN6 zOwWr~dgyRPcRP1aV#-pt^B-o;IulB2sse_Z5>*_M$0U;%ai(1<|zS~MgF zFE@)XnAsfIYP8u=9<$iRl=Q5FpGYa&6JnV0J^kJ#6Mzg+8gh`XDde8Qr?TO+U>iYx z7+_OTeoOSz3j@ixjzG>f$}eFAPD8<5fP#8Z?-Ei^!kTssNtaC``Kho_&(At~l}j>8 zW><_Yt!MToeWrM>D0E5TKIEPJEN3BE3!d;S*Au(sbW`QQn6w(0c@i4SMEgdB@NJ9< zx4yymDYuh%!Fawwn<$*I7=vdSkc0NTD1!WW7;fv*>&;3;#+)XBUodWyqr z$sZ$CwzT)XB%uR$<;pN73&izQcBeAC(_g0TXp(JC@}uC^Ly`k5H^wflL=qGjn9pr& zZH2nSA!xjy-`rKazDG%^;`VHtfVHQ)dLNAzVaoOH?T0ZijaS&TU+qq9e{xq>t#2C7 zX0d_FHqL~#d++$C=_W32$!=%W^pdZ~u(XGcipxd&i znIGZHE^MHIGUH#HvRhV+Ff(Ka_HwWwqkP5Fn!<`)axUv9?D?WinEab{-{x)8&V?|qobLJCuRBPfkaK4MJ_;&LVx~9$#2Xyvq@70jqW&W zIl=iablE1&H{OA(FE2+YP7mwg_sq<5>u)eUgT!e#BbgV>4dal2%QTT6b3?8XO`q$RjMU^kepDm`RM+g7_u-rwn-n1QI+wWil zdky9m=b47&X+TU8RbK{}b2lyYR@{>=x z0iw(YjozTG_MANxyR|s*sJ;Wxb%#xgT8G%iRAPcup*Rt&j9(OjyPay)eNCawP>JbN zmLrmakt+mX=IhT^HcLY@pRWeH>khLh3(59g#JENsUk}*WG-kkBfn-+MFAdJ@?!$H2 zMcnU{uQYyAPw3-Q6bF~$1aCf6#w|biWC!zRi#QmGlw(v|*6q%Rf+s$YLrU@M~qN*7`+SqLsv zzd2(vhMMW&y5s7bWl3FvMM8Pf{qeHws^qovk zd*FK}<&pNA@*PKC%bRHkc-=$>VVTp!2#V?8G_BWvIiR!c&BtgQzL2I)6uA)0))>G* zD;Oaw>Y~aKq{R?6G9uyT=9cxF&Pe&j$>{kR*HrO$G5lXwFj)x*a1z(^H3_V|!|6|a zW$_`7p+#|Vj-R40A;F<3LuQ4n4H>gSvQ0@J?x3(P+9OxHb^@irwdz0W=qAv$Io5f3 z{mIq$pT6GNXAxTHGD?2BfLH`IsA}m97<59Q+lg=aQYQ;6I#R@RbdX&l!NJFw>gyMo z%oPcgxW6}Fzq(4>hW(7Lu#Ne6VfMCo8C_Oo>zj?#Pv>Tu73M?xg6dc=opd?Tx;Pu2 zSx`>l!LSIrkk5abr#NqUJrSolZQbCoCa3GAOU6(w|0K~ejxubTyQyIdFitB$6cw3= z#=Sw%pKlDVs?)rwkmsXO*uU|^_cre+A&Q?b<6iB(X0aNSOgu@TD0;FYKyN7*O4?d( zF4!>V(vvwu^#Z@oMOW{;AS-N$Y3^wOvXx97e&y=~zwAe6A5(V&= z_yE#wx+f&M5em{t$?p*>{)G8KImDxb*k3yn&#H}o!gCeRK zS{wUru~8YFRB24d!g4FKwi2O{a3xf+DTZzisM1tr2Sf+I^ZcQCvX1mIPw#{hdxHwJ zBaWd(Qzo(28VD$nhLHe-%k4M+Nq<9wW-@szCgdKwj?)~XW2IR$@tKxV>z9+LwSxk5pqvhx>6 zELw1&iMl;KZbYdCsk8I^f#3xzJCi&}dTL1KuU0n83|FFnVy6_L-s4`6a!xNudagDI zOorGG^-d+<4dx^GXQ*c`Rm6qA)tUd3R?KWX%>_2{@DZW^b7v?jup0i?oxy&DW@>d6 z4*zdavO$o`W(4lYh)3sja`%WZkr4ZmkU|&bK7x5ia-xi0g!PQ#5b%)KZbc!xA2bFT_uxKiBPg6KD+kN?;;z?PbxW zv|9Njt%I8EAd;m*f&khfodtgQm;-xDRhMxaA(n&?Du5HPn;JTMe30@@a4_c%Qg9E> z854}`Y>A~02t~C{5x?dsgOw_YS~zWB9xRk*=#W!aM_@*u<_9-vJCN$M!*2U)y|R(Z z7dN@J1O!+wo3B!CTF@m{if97x_dThiI3^smxa!H z!Yb<(87nc2+=3E8^9Ui}@o`=~coa%#@bt>ePp&$0qmg_{a%b?V8F88AVB#q;Xekvj zMim`sq|wQu`o%W+#dR?cEb6{q!Z;O0Y*|i0O&#jtW5tCm$8C+zfd@9Nv(qRcR;Wll zT%L6#nVthy2TIc2#VU!BKPt^^(`qjCV#Wx$LtrV^(us=|YtYgrMf8k?-z@XQ55C23Pe()1*AkeD+ zA82b*e%^X4uF}>O0??!t>o21wV9cjfW&CLjS{Gdl9A0#EmTId)a}zE}ax+8mzQy_9 znWr~|^dmAPm*Y6K_(OETu=vZTWYB)6nSPdsRLkB7)~Za2n1HlRq)0)1R4#+$f*A8| zriv@f4u*Rn>*d<;beIEGL`qecH)#-l`{HA8j-O}s>n*}r4l9i;_vAt< zuZkn={hf6NTQjuKJS=s8$)dl6Db)bT^-3CNq^q!y`ArjV;MhG|gf^k@Viwf4(-oys zhv}=sLXAVo#R!C0m$w~hJH`{6vN}NqWO3B%@TmX%Q1Ruixgt|{KS<9q;j1y6uDi#V zm*)bO3Pu=Ji)stiDv&f`NPj$%Rk#tHWYr3TZVL^$TKSk5Zpqn&;dm`Z3qum_)t&vS zdVYegzJ)LQ((rki7_I&-u+(E*oTNTy3IZOYxk86z`FM^3!W@wUzxGA zn=t9D6eV*@l3cDgifEnPT+A*zpjlJ!%P_?(QQ&ur{N0^a8B z`zkVM4ZZrn93lQeJlTPLo`8IC+xwc9(ZI**W$Fql@LdoPAn~DK5cJmK`aWK!>3bTX zE2ww+xHp0?BfAnPlKeNY5RCsIgORc!2hyiZN0d$2^r@J!jPN!Uvn(L@ zFr8y!ju4B@%6b}Ejj7rAi3+LeP#8BzxRV30DZ0vjd8h(euj_}77H~my{C-vnIt?Ko zU=`fuza~eK)-5fv_*3W|4+P^&MC=|C|D2MsXB9=Je)zrIPJ~y%2Ez{_%0~WnRSCYr zOR83DvtA#Z=t4oKZv=ljt055au)&GWf%2HvKn4Z$WE)PF(M)4!-*)_}lN>){F;kns zighRugZfhtBI5l*r^;}Cw3m|+ujtMUKU?I`zYCYCh9g~H#NDbFXV*zX>v(9EJ6UTC zMtmm%p70mbI?uO~OQDFbYw39s+K#F`z@{d{`&*1_jY)tKNdjB|V@aXFHSu6c?(s`5 z6+*N3P~<2)!<(>*oWek4%_GeP3Sa7!#}Vd6!q)%n|}6uKUw>1{SvA~q`%{@IDL%R?RnUm zXzM=C>hrYUMxcFfhh%S~L|RPRqSWccn)8de;Z5+b#KFMhYu9gqF&qma)y6`&mHbU0 z$qbQ136m&OU$rdSICB%dtt@$(&&?A;>l@YGX2Yv#f^6EnEV@T3PMs??Nb%wujC2xw z#jzc{kJ>RZ-1fn7bER>>z=5@|s5778@e;!n*tTkf(#BT-A+FnDF2dsITCp^YQ}Oz= zLfN!fd{|U?r5?{tcU8-k#3iUTFzgtT5skX}*<*&E8ELHh(i1y;YBGK3m@b0pLl9OS zXSbG%N>zr##}40J4?qAHN^hPf{W2$j`k)#|wEjiyrsCoO>r zH5dT!bjeCLDKYDZ>{H-fyRWCd@|y+i3O`{aN|s`kbrK?f%N{R*WG)xCKhioY9Ol<3 zSJv5a5IQ;ZFH};N_ILO8WxRS%5@*;{+kS~uydNV(-G^T)R3OHWs*)z*drD;^)vup$4+W^qs$3oS51m-z9y<-L{vA zz$^EcRs#g!1m*#Jc4T)%SVN3=?8}2boF)}>bEAe>uc-7H{Pv8=_?qlSI1F9=YqRbM&jxZ_U>=u-v!j%A=u0)Q8xO}A#C=_4&3&G> z9(B9_Gh0&hJHKWCipMmyqMz>)pGFqD#K$A1kGu6eW55@57}Q?f7{a>sU8Pme3YiUm z*K(p9Q=xogA1X%4ABjR-H>AZR;A7u={1W~v3t$fz7>F%xOJl%Qfy}^P1Y?HsWd?fI zyATKK4qirv<%)-@q;QWy*(mOO{&?ly(eyI5Tgu26AgMAf?2{(O%n-^Kn#h2-v&;q) zVZ06Au)tHR>!wlr~fhoA`-BtUSt zP`CvxT!K5nU4y#@cbDMq?iB9s?k-d5IsKoW?u(xLdg|s|d+oJe+r4|*ge&hikd|9b z&fmInV5}E8#}r_fWN}oB<+gnl*^eSpsHoWL{&6w6z1kMILJs%MdH?%578&-po8S{_e;QDM1WuWyvSgEO7D253 zJchs6X%^snKZ5vG?YL5{V-wTK-$}_vec+fEl9&lMDUteZ9|2&6>}(d0=!VMWtO#!` z8<7*TA(I#b1fUZU(4_<(%vtfH^s|aAs0sa2O<(*7N!<{*Z<-I(i?VHl~mBK&V%;9Kf+*Ov5GKf3Ox6pnSjoA+L`HAGvCx|(W zgGR|>LX^G9oemQek<1$ybAmW=&4)z94(Xg6|20n-l;SdShBaq7x&=yTTL5YH{#nEB zkUsi-kbDa2j$gh#mLT;Hs8EDUEujfYXQ@lqyh&v-p%$+2+@%uswM>Yus$IG%>xC#xpcPgs+B zK;$#6SOd?=zZBeJkCY|^9tp~E@9(W!2s-Y&!Yo+VchaGAZN77DZU54J`htm!GP68yBODdFl2MT*>Zc8fMUN_5*XF+vJHbF3LmE5_l0WR7W5yc` z*?ygO*4wP*I(m@!^d~QLm*a;S_voLSR43}oZTLH^lU)#}40gW+^sAEh&kYt$vs@ z*FRx+bpd6FaPbBMRNN1ghsYRbNAf;+6_DdY1eAhE`s0DN%2s%0fniYEMC4*5*Xmx@ zAFMqmh-)X=Y9kd`p~lw%t=eKdPsa#U z3d)(VpeBkcvx0^yYYn%H4JD}jT4wtC#|Ubz)fKLe=MGj6(es`S^7%_uQ^`%gUi?os zt|MQNBqKLN8rq8estg18-3;z(AjgDn;|`9CG#K-&Rds>~Slrq=|38S#U&M1-=P$=F^d&^Y(#ICuH<+(Xq`X1)ONhLB;$nGeJxP7Vdy~s#Aqfr!5A9R1+)MfKgb+ z-<&UmdP$gIV0>_X^gG*N+f1li#+Y3g&&V&4lek%b7)xOd)5O{Y&BSs(KpZ&{qj*y~ zzbrYvk@CZ564;lypuLSW*a*`ITl$7(oT%wd)F3WU%PC=2{`QC~-@SpLj)xV2sF@oY z6#=rjJUgUD^eLQ~WC`N|l?ccnST&s(8Idf6MxTrw@h23E$l}OEW*6gP+#d%;gxg&` zh5n0$q$&=waC72Og6zOOFKfd0P4JsaTLt=0yJe!GF`1?FdW7dD5Gxgr@%oVu zy{~|xWFca{iku8^UBwyM@?%}L>jKI)+5-7ctq?IkXD|r1Q8Lh3C^S=MMI!|`u5Z6K z-d_se9;7;uBiw^tLgP#Oc- zh)#^mmicvgd_WDWj&5h29hw%0-pI!9{*7<}kP=Ovlj^9g5pCQYCgd`d3xkD-V`qT> z)-~*>#<^FK4n?C5{=^orPT(p)ci#W+q8hH#zel{*JJ6;FaS{-l=#e2yR*dz&{D)nX zEVswy;Su^kzMqd-sv}lsgERqm1Iw34G`nQxGUH-eDDfgsD9(Q5j|_%%npAHXbBP2O zwGbXP z%sPFX$@>y5Y{C_B-)4aZ{Y4faor}MkroABJSa0Sw&9O)Q@bVN1lcBX5hTjmSxBQ0k zWV%}nA;I#b5n)IFJhd3nXls}HC~IYv!_G*Ba}#$`U%tLn$Jtd1;V%UVJ@m2NeIAbQ z{yW(d5-M>ngB~t{6cr3>ASbR+NHgdPcN2vS!R1==^EmAdg-kZG&$6{1r5hZz`JR*4 ztyz#D`fWiIv$tNO&+IX_i(du4YDb0$#S(xMzE(9K8Txo8K=pXn_gJfaPMt1m)&0}m zU}#ZBrpY;wgiiVvwx_LTJy9(t^GU8aqg^S{Vd5O=RPNRj4p}bDCSTYSL6eoTW7$_tWg@&@;}sVX?I}a%5ABmyI~hb3dS4n zr#M$IgtfOfriCs^*S%LY_G%A{$bcKxC!qZ>lEP#$N@E_JenM7ibzAw>nqib|RhqA& zFg01Y+aD>1u`)r|$gcrzF)`ytj6^w$rV72vw=>k5_hksPYE34-QqVduC4TYYi8@(i z!#VYS_}BsNgj$~Z^a8d$Y;1H}&4OB}L1VPIH7A(?UvUuiuh)oGr+Mx+_wRBo$ie5U zp59iR`G};1f?390;;EAXvlkBvrYiiKV75S1Uz}*;>;fQxeT94fk1 z(mcl-z7A<;8~VBMye-5licb87>K*f8p`RoyBHr>gEJFq`>VBOWzlM5XQlQ<+@3k)X_)(Vfw*n!5!(~MiAJE^<-ssLXgp;`YbwJP1*y`_m|CdO%nEhXm z`7&Z~CE};g1+t;bxeXX)tIraGI?L%jZ`n{&OZ{Ka#B6c?SWUsm2WUgWEnPz3`6lQU z2Gdd`f``wd5B~N%*UTmT>6E)uxPP; zrZJl5VJk~IbjAd=v_n}uELwJ6AHJw7$iHWXN}Z3%zYa2)L~m|by`)_ryat>dj%*WZ z2vjUCM2zvmBM>6`OFOc8{9tn*&+W|;4%`ZcWe^EgO^yLPk&$%2NK&j+8(<|eTK3;a z21HLuCDRmUEku<$ZW{2+s|2K z27sjuB-8=~BLLbLXKUqqhbdmeMCRhJU6Z<;8VVmb)oRz8P(hm25n0oWbQ>xeoqG+a z4)sORQ>1{l>XrP#qf!)V$6Ucgl<+0P;%y@ppuhdzu1DpswF-Ep*$iAJ?*jl+95gn0 z9aFxV(5o9><_oFm9}YCnD%XpaY|*YlQ-l$p?{->Fa`e{iZXdVoJ%y4`uO5jCz#_Tw zvuSN!Sh+~>JU@4I(rH>wdiFnLA+}3@1zu+FNbB|3lTL0`#pGQW5u70T_oT{Jo!((o zXc#^JgM4&(*G>j3N{w$$xjz`>|KRKSd<0VBAuKZ-pm8T8$D14;3YUhmo5A`dzK4`7S^iPgrXe6PN;p=yoZ@>#t1^Zg5Bsn}$8L3bOjn z=#aFs4x)P#v7Q)9xav`?dO7*@p6O1L>jzBQAioc4Y`MM#m3ZOlBI+BT5~{fozPoz~ z1ra=&f{}y9*Ry%TfMPUYq#)ge%!6jmGK3fa2^@a5j3!oNYVfQ?6JUGWH(h1w1Wnxl zi-5Km^{xX07@7Cmx94a6*0UI-hPn|_=O8$#DHPh@D+Z_heaEE@e~IjxK-NoX_;M}# zepIh$N;iCSbOxzSDVkzh7l0j&#q*@@-@s3hOt*RzPC4F*{kZ2d0keBQx%g zAA&c5u6<3YjdwYC8jf?>#gW^_>tY)H=IxLgBT}V4WqOC#Y~n&M!}U04ZjH#AcX%Mq z?yoUiS7}-qkrH8f$#!!#JF2gH)BvN*=>Q`WCxgRoH$ZL_dB62%{V@g?3qo!$8aMds zg+|s0aa}H-*-EreO7TYJolMW0WHoNPjRWrGPekEKp-)heapuFzW2W3KyU2)xP^yW! zPtEFj3_uR-FUS|i&z*wR$q|1PZ>n*2pk8fcE?Vr9{ev-y^tGC5_4`7kvs?l4!o?9rhURoc!b)NWs?(&m zaU876u!+)6HzFH6w#&THbk$ZGM;Z&~xAl0A>5@xCyJ0-`ADX-FO@VKhv;2+s`|h@S zv@-P4aLPXjx@RwEh6J2SaZ(&l) zq~f%;#H}0WlW)6clwwrNg>RX}CL=yfqxjdO#4|p0>QTrXONnvP zU{DgEBC}zItCoG^b|y?D%8N%M?b~Y8(|4qc8$DuZxvN@PfDam0!zZeOAOF!rCs+gt z&_SOLwO#7vd4fm}wwMUp4mZOjY+Z_0);gZ^>2TJ#C(hZhP1KxlcG#`5Rw9bxt3h># zGerjqA}%UJ$#$_BbL?Mc>!w5^k6YISU*ckb-wppL(kCkJ=iz|OsF>-JjUFYiI<^9^ zPA$X-5pNo2Kt`K(5haE}30(GnJYX0dA{Gb(*dP4x$&#K(^}ELJuS$-tjntEe&^&c_ zDlXYPG|Wo=`Oqcrv;k7_Uq~v+H7eAR@Lhh#R{z?7i_du48(L#ni z|Ejik*d>CkXBDonw&hE(I_u$ekX2O{esk5BLXn>JQ{hdReBT3>*_kiZyAlf$NkJG-M3xc3Py!?_m|6o%Slo6S-$77^%vRERL)B3b5onM z)@!*k&4%$3M)f}s9hV}q9O8AnWNfN(aYSNe7-6H~sRCH#Yb4m`LlxMrBz-!4c9 zZWC-x{>9F_(EN2s@LrZ@R{Z1`l|aca-++WGfaGY+=$bwj|8q3^dO*0Tx~uo8dWbFC z)CbZ7frg; zUs^I{XibOhH{47+v4=<2yQOsmT>rvv1Md}6{M5@o_W^vd-H>JQ1REiF{6lk}FpkphMJ#*(Mt}ZCLkGsN2tQN1NAnCcz5%w!4VmegW(8IHFsz(y@KhrKhjCzihV5Fb+Y?Fppq?bf%zTnsQGhot^KijT_~loD#B)&BH$=@l zqd$?$Q_j}sq8~`?bn1V6+?%p76X#u~F;(*PrsJUV8l>4j%iz;lO6m5LKO30ybfs(z z6u=8rhoD>x#1kW1%)Vh+D5SUqc(K9)W)s!RC5%KV1ApT8+CDDI);?JZi%Z8trrapx z-y8xXh9i}L?%aE~sZVz6HOnmeNDVI&nLd310ZOKxOHz&WxpLLAku?Db`Z=9NM}aWE ze$$Wu2Ca0dP&^L~JzY+PAfK@vP%#vQ=#I3rDpi4@)sfj!>9a*`&aweXqwdo~M_0Kh zqHRt$+TX>SmB=zKNYVC_2|PZ_1QY8)RG3mmA(jhkwOT@b5w!VQ4(Pez9l3JrSYrn2 z8nsoG^oizkLgiMrULk$yc(K2^y;VthI580ntMojzNO(4Evek1?ZZpaB1W)}tG?!N+ zOooqFyBN`4EtKGmZaoh?+qpIJf=~Yj&iAY=-3C|MocuXT4d$h&(_OK^45Q!0Q~-xG zUHwwuB673a*UxOSoH+j|d5E3=ngGsXo8jbZq2RJ+LhuP_B{SoW>!~kR!r(8684-eN z7*|x+g>>T-MZN+B_Zs2i(?2mj!jvc1QWKN$v&mDP zt?IoS#;^Wr&!mlXW7wz=#RjdoE2C6QKL!jsHQk-S#`d*v{m`~bnuK0wneI~ldrrrj zO0Ks??iP-0s|M`p=@)@^z>e<29WmKR3nWPvtb?rIO!-NFmGwalx~Cp?olWpX2pt~a ze6|uI{iO-U{qCfg?P|H>b@}1m`~80SwMvJJnWtpq{AK(+xvt2b7@Xq>PGNs~BAM7c z79=LK=4EzkZdc*7F6`tL^5s(#)c9s9Txb-E4yZF7wbzvLqc4Mednwzud!zfXEnoeD znGzkpPp3dfP8VEa50$4ee1vbkw)F9sggier=U;;gotmT8{>3AdxPs554s1H_Mz<+2*mM?+mh3u?0U zbqWceii++$C<_H#C-{s?>Bao!6}MEqQ9pM_A$)2OCrp2tLZ;Sx(TH2D1rrkA z5SYrSu9+elBA^(7j!lcSwZsZ3N1y#Bd9|P)@b*17o3f#E->zp@$##>FQJt%Je9xGt zs08b{B$Nn4ll?yDu5+2%rn*@D@egtvM z$ZSywHoy#t{(Z)vp1GH>reIg{!;n=#5CPK z!8=z2otulq1OD!P%bUZ#poShzho4}5c?9l75}5|dlGGN)PuZW4Q%SpXNFu!1} zOS4r@yznPl&=Se@W={*tV(YAwBK_c3nVC8wnwy)YdyP6BcGWJ$$m~Jgi=F_tYFd=9 z2A)cyq(4o1FDgc8^uat1wS6l4V;&@{ouG89ntVyA0E0Q-IaLq?qm|stpVe)K&$T6d z*31L#?ZjSBF8Ht2k$U&O3|9`^LYe>pqgn?)apbGKdi5@7&$J}R6HH!tR;O+b{}lk) z&f6V1=tpt<248G|r?8ec2xi6YROTAq{Hp}f2b>8hqSn}}mpndF^j$LYg=qV9p*D0PYKvH8|an=qjKyCuo}TjsVeXme9v z%ky^DWit?;&dTGVhpgYZ<5~MnV#7OxE^3tNP~Phbdn8%VTcG_ap)y=xXZBMRpI@c- z>v3Y?li(95if&@S59EH<1doJ}FC_0*ZIa}(njPuy&Q>i>Wi$8)=XJgL1zr#3qe_(=Uk%%wG!HFs9q|6S zIW|j(pgg%+` z*=eg$g5tb~+uFqVS}M@*1*$)Y*3yl_94R8rgA8IU#GkU*bmOnYKL;3Fg_{@EQ746N zQ5V|yhhkn>_U))bcEBPLC1We(utJ59n-%J+S&NlF3=>n`JNujQXR1r`y&}rS6K>q)afd?ztie|l zHPR2_BZ_9vo1Y`b3zBV;vJzH-PG63cvE*+)^HAwm6fTP^=;`nj*F zR@tO#TNW9KHZ4njx4i!5H1_k|_;Rc7;qATy-FNCJ?{VFAKYbR+K0kH1FZj-Vb0(*3 z59ZT=|FEi^h^iY3Z;q|7(eq7nSXU$^r{|JyGH=T7%=MI03j@*Vm6t2hr65Z0*og~Z z05Ubudzgr=hYxZR4*;7kB`!B@fXQGQY-ndlGHzBZ4(*Mp!cA3oTB%}xqA)^P-uAMu zI`|)UvHu`&H`r9b{=ey)z9xNlBm#nMDA{8UVR4<|P}^lNi_#w7rNrbkon(x+DD)|F zsG%?`p^-3KXUIQq_PhC*nhunz34IdAs4nK501rYV@Rw?_)NYM8Z;GLO8@e$21k~3- zc2hnLAtlRT&~RAe&I(YSuLW(I#+GE{QH{-Okp zk&lPhkgpLrto^%*Y_Q%LC0x4!WBG6XJ~k0y5T77>iT(2EoHlb7{~d#NeI73B*d@u? z(dVr|HMEUGcHTeU9(Fp+*s=CDR>DJHsQ-4FQ}FobNzXK%I)$j~{vcIZ7MnxAVFK zY1}{27KbjOa=qZ8Jiv?Gm$`CHcv$bNIEYhi=hfZyt=}dYUHM5m8cq0}I6^8v+<|R$ zhd0_Tyx-T9I--Keyc(eZv%hls2Da^LbWYFDIq8*Nd6guIhRI4Z z=t)i+e^8ZN;y&6)cgWUlYwn+|cdU07m1(}8OuWfNF$_u7wzaM9Y5v);{o}-@OJ*=q zeUnS}T9ja8ZOwrUsu|}&)~vVe^1NS#e_bu79MJ+cN=0GEfHfW}v%Vk={+0B<&L=;d zNnNG4_i~GD3It%f{pbwY>-UUpT@iN#;rslWg^ANEbZ2yZcRGK4jR5lxt#9K>z`ESL zdXF###<}>J)+=i4NThI`rL_Rb)(kAkX1Z$>f-`0FuS^lLZf=vf4fei2daG zV<`;IPrw#2`3ZrlmGO%kdIB+i(!g;l{UX-{Q*&)&?CVXRBr-_(iw_&>{`cBm8Iw>6 zRw55No)GYb~^3~%B2@q2Z&tUSftfD5q7U~VY*PDdFQ=9n{}j?i|ju9@UcG%7-7~} zf>+_{;3|D5b|2Nu%F@iW*`Q0mf6?HMU{v<9l?Ve#iJf8H7Sm zvL!BXg=xzBAAR;}X5cS2VY%=JGLBldx>I~sPuZwIHq}`3mPRhENOQU1J?i}-3VhcK z_fbhFUbMXL4LEX< zkBXdtL=wmBc6B}V3R@NIn8wCM(;Gtgk%n-p$A}79tp@yA&p#5U!rx#JHp7@{6xG=S zwlQ*gNiIk)%?oFOG8*g!;R5aC+sEP!aPqD;Ynp#R)V4f<(p|uP} zmW8dnY;ay@eCodTsG^AKx&drMoORp2AOa1dZcUX7M`}Jk4@Jyb6LlJkfUMl5Z~S=z zx?olzcKm|}h=3dcGSt$gGIKR`FUh{DW~1Hk`Ph&E)Q?INd}Hyu0YcX3L^*_`>3CgW zAFv*1l#99nJ9(Ile%&q_Ld&LGX(Nk*R0Y6JP+mc+n=tgFI`$U4t$IHs=sqS4d*1ee z`y(nUDu&SXoVDQLIi6LfJZPe1YW?kWJ!LkpOx=j$h{kF@sjoD1M@eZeQ>xmHgqZl7 zVeXos0xDovP}ypBmSsUrg$NnYao={nspfsFMo*>V^=QPP-CS$`zF-)&SyEb2UB7nH zhz1XU4ao|j7h!x9o*Lnle?X$kL`Pf|ZT5_BGt}+Uv6~t&m zyUH~Ec7xqujqa#m>Q*(U4C0zhN|cvtA(-9&id@!n`~S@mitP8 z9tH`{x^{NgqWB)}?Vo6wtr-R}b zRm4kOMpw$-{B@G9bzPE?89RA`QOVLpqOZe@yBZMZy)2r>->ZaCfK00H)BD+XjcS|W>-DSncpmW*4u4PQF99vSPcR%zZ088aioynO6W^?a z+5Lz;nskAYq)}{m;dEF}U?g2{F3`^g+*-U<4gq-Jv`3QElCA?VUt{ANRx;vothrv@ zDK^YYOrR3r;M-btSdeO6Vj0%4`Rl`phT_@ZcIRyg5?w=f&~ZPlyK5y1r?YQECoZLr zg3aZ1Iw|rEsun7*Z@lR`_`d}OP4*xZ;XQj)71=iDOdmItJm+>N|9&G67cu}Bd38J# z*sc50r#th&bel<12?l`bqOYpn%9X($}LU%cK1&k;Tut-$9R3g^~W++%v(u{`aV zYXqAww?Y)>j9SFt&O@nMg|p&uxGP{a<8Y~9L69&#E-qP89xDn1ZCX4rOxXHu#oSrP zEzGjsK?pntuL2cfm~s8vG>ks2d6%wue-aqpV|f3Og>T>}fL98o4XQ>8Fk;+#OCi`K zgbl-hg>#3FdpW#^xpFX*y+IVdp($IGgUQbEmU1KwM=wD zee|07;}AR3a?Y~&>0AT16gp#uMS&7OySCc;_1$1B+jZ0x*Fsch?e}QR-!p|N_1|}M zG-?EIddbh;`^cTp6QgP25CPm9f65q|VB6G%k_9ULJZMT%_iH{z9c@UNcTg9f9x3x@ zR!x+Qs8qDwwymnpGYZZ-3(w`&>hCTO<$jLsa}6W9^mU#P(lo?~_^S{s`t-ie|I2qh ztt^3MR!7-i@$t9E)esH6=6GF#j&C%M`k=f3#Lc;51zaxD$@Nwkld52U$ID2^Mos2x z*)9oMcqF`visTz>rso~7^t~#|bJW9FRlIo~8p!_y8C15B93}7lG;K^#d}7Z0wD0}4 z|8U&#cFdCRTcxLrmpltrR~ar%O?@xkKelJs<{>7SZG8v-YTzkuwxUc4J*oY!u5vb9 zetX`@16E6;&8@EMvFaB5hnaKgn~|Pg4ENxvs$~Bk%E$#9>ERfooC${imG<&Y)s-w9 z2|(>)Y5e1{rTOU(Z-N-7KfNQ%WNe45&RoWt&FI=k>7HVZ?s!I6bNItWhseFhTk)TO z<*Vx}t$-mSWs5-q3R8aGjBbfL6VCbVy$~yu1srkc*XYP}f4#~?PYpP;jQWR}ocS*= zbE}L03|uzl;EvT^_tdf`9}cAvXm$$smi)!G*lKk6*jT85{e!*BQ9iVKham>E8K|4N zD}18}AEO8^RJDA$Uz4*W%n&wL!~`<8p%yTc=%7J{6p9D)PQdmVgPb7$9VC>Y$ClQA zQ~%NH6uJfhkg6bla9AF~u6de^^eGih?@uQCWB8>d#%8wJ0S4vmu=_pWsFt}wvItcv z!lXF=2l@c_a!(0*xoeXSbuWYcvJ0)m#wZJ`58tm}ZMZIq`EE2D;*RtDzDq|0yxC?%= z6Wlfwt8uyvkT|Q8e-e}z4#xScgE{`1CnTi%c9nGMG@ix{2G&a72gjGD-u}`EPM%!M zbY#g;E?{gf;i=j_o@_EBgLEVgwzTX6E|-MY*H=nuC1Bdq5NF=ydFcdr&{t5lb+B}+ z(YsOazisJwZh7eEY}XepzQZm-8CzZ#U_zD`E2;E?4@#{(8WAsT|5>Gu($jO3B=dS> zy~{frWm@^>>77^dlP?b3$jtxU$Rb4`%LQu_tHgj!8J!gK#`PqtL7{&6@C4RZkHP@- z{P)T9S~P9J_*x%nsCYusr)?(2nT*VmM5aU|2dG8^FD{Dw0u51x@A0aaXRqqftZ2JZyF2D-_@ou{~0V00?4f`y|cm2ImQ^ zpFG9h@6$J1)!Y!Om0GL!L_lBbhyd*oq7;4kWj3wJY@@?kFkz|(RD03tG$6jYE&rbo<0y z5?RsyWd5>+-%)h)_!kCVB0VoOrbmL+!x%!LADUh6MXDM`! z%cBcCkk_W`*vbq4uFcn$^i5(z6Et&wNov2L3d5-+m(+b6R?FIullr@8{zc}VX6g1h zkpWRgTK1?}4>3An|XJ2onb&C-bsT`FqYMnADoX7N0HEe|X2 zj3hPEZ>;CafQCS%8Or0e{{edhAR*Avxk|I2FSXn!;xFxfB5zJoq`uFy$5S{ge$zi8 zCpg{5bK}QW#sT-M5&33(9~@;y=S{)t8pg?fJ_60Fh|Z#N|KaiyL2t!eW85yC#4Hl6 zZ=<>BQ__TeUU;6-av|c(pGa#oh%z@Sr_{k|wK-zN(*L+DTuT2kY~|nAZr!JFCcDd9 zspB1U=7L+?uU%XbLzM_!=A{16%Bg>9>!<>_YmN``>qwAI*bVL|0Vy=(yWWX9o{S+0$G_uEDnu8ksTdy+>IV)X$Y_rdky9=A zofvVHWOIp7AFsR{Rha3ulrf^Ayo-w=rMc1ZIA){KE&$^z2u4DdU#%Ke zfAOBTPFL)j3kj&eCgP?^ohul)ZLla+pdu$NJbY3cdn&;w+T(?GMjl_k4u+YDJy+ecFku_sSM48@ zvXb9|SeGT2I%V97rOtKY0`ejknuobHRoB_#kOh^hChB%oc)W(~{Sqcu)eR$F7eiva zM5$=^(cGUf?*byHwvtPGRA|(J!EwieZW{p-L;{s#zsUDHn|IYiQ?RegIJ@Zde9>}F zPqR*?SXbc;YDf2`RQI*S2s}%!xgD3o3A_d$d41rap9G1b^9LY*Y0Qdcym++exU*=y zUvsB-HDod#OEH?Os4E^|iB*|R z7aR?+&--QEul$U%`aSRO`FyvTVo}jmTG_6lWPK9h@N(wd!OQX7xC)jP)93%ALD2)x zZVa>`islpr?qJWqkg#w%EHkXw?F|IvL5VMB>tOj+OOufo?`tsHq)2=fS9#g+=NL~7 zl6MVeMWHEOHWiuj(QiiU5~O0;-NUl_csBex+-)IP%MVS# z$ruqBu>eMiX)!BQ(|suAH%ZSTI>vYp?VFLUhukWI{{rUG$o#$JlWQwBl_Y$RZgaG+ zMK73p#8$UU-7gNVJr|lQ12$_#4rlDrX)wf@&AAk8;{)Z%3Ca_P`wMXkn|DfBhjYun z_<&<>yNvc{4Ew6N7$t!IVdBDztIyXiXMLC}kGANsea1heRzkn*XBcmPCZ|&X-pnnO z?Yx3`+9dp;MHGakNxKYwseFZFfdz=xepiBd_{d0lx`C|}ko9Nqbo1sVgm2SC7$RX? z#fM(=lZB~U>G0qUd(XuOj%s%^7KB$HpX6(7Rm) zyagxJ^)P1s;IrrG-b=YN|IB&L3)MS}$dA(cC9=!DWE=UxWVK(CF z2(C6|&$i!oLtpRy0x1^tH6ve@vy_&%6L4-Mg;RFEXFX}x*46z^s3=p}6|d!SbaqaS znz!+OUdEk=e*4+Pr;sl1v4x#Ld-qne?fTciBKr@oCX@iB(fKIA>Zm$pprlaamd+eK zg6+3=q4BY={Q4y!L%{*NVI5`f+Ss?)&9B%nZXPYkZdY8RfY$7Cmqt+je)jS0XS!!H zFnwS5*-9;mS2<$|6XSNX{0Jf3Jc3TQ2&xnNQTj#XiBu)J;CDdY^+A{eoIeLUsHr2? zMwpIXxvr4=$<^%(F1o6SJlI_QuQ2z{OQpX7oZv8>!x>c}3wps2JM-6s{T#dKcCLmq z>CLlDtARa!s++fst;975%90T{6FE-F&FH55^s8PN<5; zO;J#G@@CtXsyIeWox?BO@|+^+NJ?7SsUJ$5yEfEnn`UH9Hxs z>17Xc?0+ifa#0~!gxxhe9-|l_HMcKPu4gYvRhDm6Q7Pnd;@{uD zC2%j$euw3*TilfnNGF5hXos{$~yE|F*2j9tr+kBBr z|Ct5Am(K5AZv_%`h}gdG1>$ zJ2v`)ijtC&a~BIL*}V&P+EUAw$v%c^B(_Yapn>)0-m{=ZrlWCYE^BTKTkdDKB+qec zi^{9@>uH^1?sK>GDL%X3o@T!#*W-rGcjL`!vJP%fWu4MrqAOzL3+w%0&8FsEyiZ6q z;>|IxALejvVYMLDI&qWbV2Q)!3R86ES{2CAs%rzuu6mr3%5cd%ozzE;q88fZiE-g9 zrd+Tr0AFc7jlc{i+(dV2y7{QvH=XDcU*t1=m;DpGlk<{hKo}ysr(UUDS0^idz3VB2w3MR)|zDuFyq@6ej^^(1+OLnc&FI zxe~3)x*60ZS82MFy$|yXbxBNdeN>)OC}{Q?cupG&$^3N|gY7pF{7`ebSFcNXSQqR> zQgTNq>666{ND)$*$=&TK8Ul)tAt+M@mO`p6z?Q?|{7`{)12xNvxG-q#kDBc*!-+rU z`{U^UDB##KYrIgBgyS7=idS@UmkSYu9Y}AdGD~c6`N;-A5^VX$y+@i2z2x%0-u1l> zl*xCPLw}1hAM)5LrXiHKMHiJ@#XH+fhEdN)`%V;IkWD*pOcdV#v=|%PrC%*iW@ch$ zu*jE~+XK~64wW5Y@3o%I=p~^$4Khy}j;+-m$Yb7_!k?=)Bl(Ocn*&Et9_ay3rFXhwQ&}hG?W+g9*uNBJs$8B9xQPKN~)Ui z6=0e`gg$newKv4DBs#VGN$@F2(a8rw@DXAdb`7B)hn{}c%>h399&4V=&NmFb7c%f& zUqqCJ0_k)!xu5Sf?-oSm?=|;rBN8*_ixC*#69X5M%f$S3LES8wKA2G{>kVd>dZlD85`3;{l^nBBY*S6;=d7&7E?lcyFX)oMb$~ z_E;z^#(o@EbB6yz)Kx}hwRK%mT0%e?q`MJmlrHJ+k`C!k1<8jl>4)y_?(S}+ySu)_ zz1R2Sk3Sg0!P$GSwbz<^&bc^?O!&=*uas*Hz870*FY1-Lt2aW4O=~oJp#0d$ZlvKy z-rlIm5*BcP-L8asD;koP>OXG4_t*!-1f`shpakDN#hnkt?hVg_WvNFXhW>N^iZAmn z-jriHjnt^bqh#9G{@Wm5`R|hc7kMXuR`UUghagxHq&)slBNJUMM&Mu~AMcv_srUUefrl=4rh zE#eMk0K*>Skre-lTc}APb6V7XuzE=K!tZ+jEl0!ftFL@m_uW~luQB5fNmLZ9A$(#B z%4Jzws*o+{*kK`g({HxK>5~R=u66w`A72nWbB2ULKWeuRL@jVn3=X065PqEh7-qekjG$CSaHCpYsu7T5LB#FR0rvoUBCXJ zumGL8*MT#pG>VeprYq?&l#ZGBpKy&K_%~dA=ps}hT;RH(e_ao7ja~SqGnx1EGGA(n zxm%`PKX61D&2_mzq9Mw4I%uV=PMu%e!YXmi^zyR?nP5^4K^R`{ z;H4*!aR14>dfdQY#!X1;hI^sz3xSSXr~-*aS7h_aWDyhh$sI&ge!_1n-X5B?IjHzK z(WoEZfu2+^R6+_a%9Z6SLTJGXFux{rMmb!~-Z;%lU0wg>=m_6(_}r~f1{*h@)_BZB zIQ=w;u+wRA8PVuo3q*K0H1Iz6c=r4T0^V4;Uky($abwo)iMU9_kyKEsI&$3nc28$x zqTJ|5sz3-LxmAA_>Tfymx`?)MTfi)Fd((|yH&2KY7Q4V+f@dx>onF_`da^*Halhk@ z`_tfWD~XGQGDa1!MoZ}s*?r$~p6AK>*N2W-)CJ!bmIDRLy!FV?>Av24x5O%jsd$f{ zUhfy88rrPuO_V+|d8(#U!xj~k5>#OwedE-r?<$#FF#kQnK2Yt8$H9%Eg{Y)53-5Js zl3~e3arKZv$1IEWnt<2-+tD_zYzY4kD|h35EN@ggpfE@VTnaVi9K=>5Jnw%(U%QM7 zp3)8A2zSOYV@r6+62*rRr%_1)tz@R<&x@@d?w=vK_4YYd;;W;!Z2N-t6SHGjXbtt{ zD_-|a6i)hz{+V+Y=*k6(*?R2!pvl9e)omcp{*!JoU(Z!Uhx3RTEPDe+D3TX@H4n*4 zq*~}oHvFFKao++YEEL`VEgC4Z-2WQGAXRJT0(Mf-XS0eQ+9Vvva?z>XPHfwo&*wB;vgIsTk~z)yFw6x9F_3jKFwkKt>YB@C z+VmFVX)e8Xu&f1`IMXP?zg2yQ-Z76fpOk-n_;d7dbZ4l}!!MViY~rZGpkKHP9VV6C z-)7o?)NfVw^LOWajzHnEV%l`mt2`?$W#jmiRZ~u#mM#_giTx7uEdwr`8_fHt)^W~~ zHYnw`cGEL|M`n$pK;n8RBn{t3Iss&ij*3$y8{bUy%kM|946&^@F0!X&ZfeiMX(z;( zD7DwcQ*2?BpQ+iZ~-!1#RGsFp)?klep5k#TZW1;FK|nZKcP_CZuJF&drM%wvtGv?wRvZ?>BL#6x zxI$72^mO$K&pe?r1G?Ntl~wCX3TF5dH@OdATIOEV_!lCGj~3Jom|noD)gJ@kuM1%% z)y-Sge3NkKWjEc~HDV_$jW0I;Mx8X^Xb4t}>Ss$KLtN9vkW=|^8#|e9CGKDK{(8%( z-esxfx|na~w^fzzxOtc>7PGj3-i84yCwF?esx4Z!JI)ph#w7elxPd7zgf^u3kW1-v zBibrKE$I64aZ8^7sYSZOoCDQ`pPKttS9Y*Q3N_>FEC+`K<)y2xf>OH=R=OY+oBkIX zezAHk;b7IqcXVS}QKn~!q3C9s{NG6_-(>D>xbVmFrE+Im(X;JkT4xK=+rzrqR}3iu zvqHlcENrwaIh!rZ+j18e=SA7i=33mRh+O{EEkE>m)wA`P#U?4mp(@}Pj*FpTng5pE zi&Z%zSVUZgdoEIX`9eZ#mSs>?O7T#kL8!>3eivUX*X-!1{AFdi#wmXuU#AB6Kjlm; zxXb=1D`+D0Dai*F`rU@suk~Z8&Hb~HE&tm{nzn%mh#QmC?fuiDc2o|nG6uSckeq4cvV@>8<;G%ZE+I0YLpuBHjrGLOBhD(vfL z$%D|#H#Wp6!a^wg9aCC>v6j2_#~)gS;-E`|VY#HRU&Fo7>yu46S{55mLgmVFvf~Zy z+@5XEy=Zk)t3t@wmUHyFKHe{EdWwzDv~d0>mC3g8fTTq{>`mK|jE2Ulf-wh5 za07Wf#1K`uW0=OM;K-ZJ3uO~aB`-aohSEsPSJll{)@M%%4I1PS@Eb>ddWV@E-|mKW zpOim+Q5fGkR+L(un$cf+5P;nXh|Jxero(1d`Vx4w&687@R~Q>2Mm8Tx+WZt=v*d=u z-z@nB@(tWLYs}dfuWXqNn|{YI*~{ZqG8{KulTyzoxp+s!03zk8!4~>XOzbXl=%^yZ zpf(%QU5Rz7K_SgQV}`WQAYQ7hT{Ee_@fCmlvq|3nvMiX^Hx>DfJIAR7I*e5etXU($ z-n)doEyO8@YI=zvQ{ALL_As`p`=3RTCLHdvZ*I%~mYr*QQ!j6{eBWU~baZ!N9C^X! z3e50*b6)ZsJD#n$KZ2`-%E1E}tBr%xKg;oRO${mA=^CIXqE{ue;!N|!22+DL{`^8l zFT*3mA4H5p{H3yUsgGMbF!LfDM~nwWG=PmENKH+vIG$CX`^hWJQ_1+}a%DN$GrrIF zpZ6UVE=Amhw7o?&Ul$|><<(8h8#0QK8K>Br9LB$V!^6E})}u$M3y`H`L>j2YlN(aF zH{z8>Ao#hU6r^BEsJ($<4Pyuigp*XA8lJIzeZLn!4dtcE zi-^KSgqxYUw#S>9@ojLVdNA?X^0^+fjri*Lng^h>JdI`WU#3tTa4~4-rkO@eHh~K? zAoGlZSq9E&AqOEcISd#NRAVv~C9-!wc}irqcXnI#KPr@E4VTkNM^qOJOHRr{I6ux6 zgqtIQ6mERwqMh~|mwW`2K_?ARNb zUo$oSImBhmfz(zs5#>xe528L*f&l+$G}$bA$c3SgmF+f7roVwpns^5o%1L4H>Fdg$>Z>w8zXMJ zQ~;##Q2xb6qdsVTNI0k_${?kG{P7|D=@*0SjR`5ADZSr&d6HZyKZyW;rRlr9huN zY1)bKJSn$!zxD}5tWZYm`{9|PNA%f^U9B+gL^e)89;$juj$!r9n-&=OKm1`4R|sQr zSLo!XMVTt9SK}4dg*ezG%4Jk{?6LOp#?$8y%mXUW};ogbAB3F~L`nb(`1Zb~B>uOBLNguLx@3SlJzHMxto|a8dtx3&HTGFoRRjGLb zd*^lwSmZKcK?LUnq9GsqWby^~-1?F1KBahG8=d$Z#aHisX8@nX3lT$nt76TbG)wPK z@Wmj*36o-e zJO}L9O+dVh7PU*wqu0)1W=mRz)74kOd5kY<^FbSg#Q1<6rJSKNEqg}qOJ2`_FP5TXygC z@ucgGzza3i{Z14}>^~N%@?h)q?;pw)KlP>k_W!MSmVaic#wr_Fj#G@XxCZTDDcmf{ z4~e+*fSGQJCVsQ&nCVRACr`t4BnqqXU2IHF(fI14DT*PV(|UtS<95`y#=V6c2w~q$ zJl6LU9tc$qtDZOWs83_4^MHyB$tuk>x20v}xPFJI@vveLQGFW^=joyK#r_-lSdg^Yu9D`$V=u}Dba>{H2Ff%tp^K9 zN88!OHPz)hkV&+~qORto^^A)8Kh}&H?`ZyoiF{#;08AJ5(YD!QGDncLL$Wx^z=)oo zs|eB_M6y?VEMV>|uw>PU`uhr574B2P6<LJa~l!YD9?RG_U zZ(D?BPDRwqr5k#FMXgCM^+G8Bj+mn%*c=`1MzQJ|fA6WFyNTD^Sj4@@Z{!ogx;@xo zG?nk?0iaGQw_2>}A2rWh)`AApKY^aUGi$h5RyJ$^Y0m3!nxn#6^L$GZa&oOO*IiBJ zc7Mdv>vs5Ctg%>DY73zXhPu0#nmGnijAky>mfeXP`7DnNtp5;Yn z8iGx>c2@M3lwHbg3Ng}8r2JzFp@m0;`wzIIE^RT^hL$%$3`w`hR=*l9k|%pF!4hP= zP^=t#7Yh`{*XJU`?Zh-K5)yR+zaIL}>R`?K)^z{tZ+3pX##2!5VM;P3Y*gRbT{){% z6)wn3uJ#5fTF$i6mc4G!7wxG{mi;U6rqwKq6wt?5#FWrJ00w8~Lo%CJh(&@Kwth|@ z>^w>AxMyB`W8X;TcJ#**3sc#0gm!egw)EtAtWe&^6TyP1zWtVmDFIiXuZfbR^+13_ zJ^RIG(y>b5KSi6ysZC1apD8t!0q~%@=2Mxrn^#KnABv+IedUyDPO~22akpQ*;fR!S zro}HiLidvbPl^v~Z~|(kv@@}7T@D?xRHv7KY>g)Q8Ay8?r(FAbRltHvrvoR^K>si7 zmaIsEOn4bPSz74B%CF{aAOiomMAw?J%C}(A2p8CKes|O?Jd7z!Zqvev%!RWSOW6aT zov+n0!MnF%XPi|kYb;P>pV{=ik6pfnb@^9kZiQhwwTQ<1d-Ml>LeHc;CKEgU8Yaeg z0o}+0rihnuj&q^=iEGMEIAHCgeKa>Xx*s=8JVyV6QZwk*^c*q-^iNi+Xwl%*EjtC} zpoN~8KuS(k7G0?;^M*GxB$H&Lmy6{eT>Fa9;-YP&GW&KeaZy_6GHgRtu#BkvRREMXj9w)e_T1zeJT4Tx*@%t!V&cvbis)f9${sXAg?*2r9Z2^Via#>RWV$FSzIb_OOK00-jfqkY)}S6V@mvWc)m0vB={QDUYaPcM=PJti*)%1(J!_#^o@!K2TyUpkt_Zw^VEm}su1&^y~ z)y2`rp;63*Hkoqzn&#%_jO2?^0Rb4020&Hv+*eGarF|IGeXe){jzF}$n76mLPb;9h z_EZa49UGI2iGP0S)_oND6o~H&$ZkBZLt1Y`u8VCv=}gZ7(#PVh3vKD^k5sZI5%AwT1zT6E4jwO&kXn1ssGXv&D2)IaZ=wy-%OK-Qlm z1;4i|p=nE?LB@_oCsVUlig-u-jLJW6;mkK@20Gp?2S4E!*Y(;^Ms7!I!o$b-$cJ@8 z<4k7+OSDm!od~nMvlySan9}CHXBe(53x~!5rlzSv6NpTbq^A0W3i&zGRKSPYHGF-R znq|nZlA4`eq|l&jIZ5 z);Dr^vd_z_Pbp8Evd>1JUd@Jx+71A^5GE5Go#u_PM#RPsLLl8n0qEa9mn49&pLnnA zAk0a&Q9s-wH*d-1dLEd@$Bm(?mBx*T3B)M7D)duARqv{@f0>-?x0AEaX*ace*V$Z0 zyr}5L$VZ-~y|o~PYl_KWMuW8cHO^o@`-wrdw|^k1|G+G4m&!B5iYfuSciNo&bG1&6 z@zslCH)&&DeLG%t6P-DRFLwkV<6=_(NB8;v@@(bnv77gPv*PDk0Kw0UYsezrWnx$c z6}x46lW;W0W2E~q@?o*Xc`p3w8+~CD7@4R#l*r?KS+X^fH0WU-^`Ksz(kqkbt>{G( z%rF}DI5X8eSVwRiCX_ZB`Evmqm*$Ly{;ckVd1=G9$m0DzHATWV5SW>yRS29GY0LE= zYgD5trFHKo;=hb#C#*NFK9wxncA}iw4lE`@fB^^D*+X+{-%g^M^JmEt#$^Eg0QAANeAE3GY)lZ@t$YBC5nu$qd0} zsCadJXqSO~UuNAcYo@G>Aw!2EO2hU&P@cMj$n$cXG=kf!`vz!EP0v<+|9ihout$vf zGEUY>R#WWU_Pp0kc5S)pQi=jZM~gL$Lm_`zzm-S<myWJovjZlfc9P6 ziryG^Ck!f?(Wep@vsk03gx@)B+w=r}GqYn(QYAMHu70(Sp>z5b~SLZC7QOh++Fafe?lEo!fsbBo+htFEhT-`9>bh6w?vN zI+{?n?Fu|^2rRscQv)fr9H*79+n`Y~lR6*X_zXt5#Z?>j_hY;yP$IQd*{t#}Hn~<_ zU0wY=1Q>Iz-&$WDT8Xcnj~0xXJolumUY?)UZ*2fJ9+FC?8S_9l-~{jx?|t_kAZcEN z8ea=MR0`l9pOv1!!mTsifBR`J*fK;I#B(<|TmFe<6J1{0p_W2HDdBXuUldOM5|dIH z)F!_Ef&%B?`BJEPQu>@}^Dmzj>uVic#Cf=SKX$CtJ>s8A=?1lZjm9@ZpO;s(Itm{8 zx*yd#?Rj3yO=7VS>7m;R>)FkpR#bfXWaMg)XkzhuhWaVbMVjE^!2(KjxC~n~npkP- zUX{VRoFQ0?7@8$gx6`d%{>bIOu1)O}_=~kqL32DV*qAtmr^9MmpS^I%F)+=HT!x5N zW=xz{X01TS$CaHLDrv)02>Ubx+=7_tczQ%&CJ16|Ys5KrW9ET6zIskfxm$y;a>pJY zI(e7nTc>pSrPX!~RImdK{gOExQ9jZ?oo#5SCRSG;VL9!&a$L`-GL=tDS#->CO51%I zz4EA2H(b7J__7ZyYWz`j+N04r7Zi+dSZ>lcsL($amxL!SVi`0x9vk?bXLP!ElAXG{ zMrN$ch=-5)Y4`aZN7>AunlE1{m|TOFfe!nF4Gj*3=`_=02NUMNS<34JkVX;c|HA|V z9yc1Y3cki+u>I>p*T@qr4&o)Wi>QU5pa#uDQeQ81N{S3xLV#Bl1&U}O%%|xi2%&MG zXUIG5P1#BvIfrT}6z%01(|GfF7nRxC8rP3@gqblm3NX+a8tL+IJs4 ztXKBAav-4TiqOT>`HNU$>4hZtp19ogU(!9FUk)pBuZ^rsi&)e`|Ioe5OML8Y#&d*a z9#FV{C+6_Zcf=kk^o;}ux}HPoC-Od+l&wWa@o|MrVC7_3%$GRoq=I( z6586@R8>$RvVwb!D_4x2HfCl?$e{)wLbBIB zQti8dj|Q@CR%%YpYuS+Uzp_D&qzSm|7l}y3%d$V9V7IK!o9OZ^nd$P|@Zv zlI-06+1teHW*&mLkCm!K5H*u^`<3tptQC?TWo4+`6W5P-Zq9(!+Eo4dbHKh4gNAY$ z3G5G|_h_&Yf1I!M)n|?)Va?LCP|}Ih(6SZG(Ua}?ea972KBdx6Tj<@6D2E&s4=z|0 zlg>o@!IspF!&!aW`&-l_sk~;j>v6Z>E&-6vUTdl5t^VV}$WV-7pka=0v#1Zs70*RDgmUTG zUYaeYucU}X?UwrCk0q94w*mrz@DuxAvlyUL6%|H9mI3+dvd+W8EcU{EY^g{0%4H5G zR=AY2b@P=<(v!=&R z5#aO}6;GBUVI8`)VCkige{SRpJh~>+hJ23wBJY*>Z4E0!m&O(ux}LT9_n=-(`WN~{ zf!10pXW{I<6Q#+%~AvII$>)f4ys zih&DVV1F)NaNSV16QJkxfL)OBb)jl$jpS#e zxJvI+f8wgy=3~bX2TJYKUV_B#hvk`n1g`RBvEs7g{p4BS0zAf7iyOEE1Zr6ExEw$) zuS=umYiGsEe82kg;LYjB9(npMcx%rnh~fg+ZYm!@U=W$!ZFF;A{T*QKg zB0^OBse|0T(HuRjUIaN=q<7!BWY_h7m*7LD|H6Mgm<@mu)s>DVnD-)MvpH>_r7Q}q ztkhUnjZ~}H=k5c#?$H4jPecn)yiG}+|9~O!%*?&6nLb$u7BSVDB)xjK+^kJl*SCAwNlaaBho$c8aN?!G?O`d{^p{fghd-}S$; z9)^UC@}*og^h-N;FovE_<~x@LWzO8pKZE_9l;jiL+ybpkU8Y3EFa^c+XRv51^N#d+ zRjlQ5{HXAD-eWP3`wmEJBoJS8`#U__UFDRHUV1giWH4}la4jfgn;Da{DjtrV8CNl+ zdq2DQ^We7;g~of*Q9}s3j^ZlEng_NpH}uG-755VqikX?20MiqQv5A=L=6(*+h1M+w z8-#gEXfO=t{cW!R(Rs0ME5C3AD%@Qus`qW@^{Z>vdL97|MF+2KRenB=a9-=n^TQD! z3_%!N22<<-{sKnyzMvq(xQ1vo?w3IC+rYD^?8V^Ny>@@N;_U2f+Z1B5fxA!{%}}U7 zNN{RS$!i8I{$B=EgqZ7PJ<|zm@Vc1iyG{Y~wR78L22l1f*Cz#dZ=LrZY?Y)8+qX4M zI9x={=pBj2I5N(fxqg}f-)b6{;S>wkGnN047Bp)}{`^_4NND^RRy|_HzG?RO;IP`t zFKf#|a@C#t0sTA%RZAseANOKdeRA?j?FcJYDbTe{@26 zUf_5!Hks`6B_Sa)Pe_XD^{Zi!#>;W_6bc!zH47Qm*w3;o*0wH&JHLewH&92!k%^n@ z)gj+FwG)N5r5Z*jmX3NkM4y@nrNc$_Y7$Nc6RRBr_l5d0Mf?!ZSyQV?=jd+$sBA}d!rlKGr$8TBKf+>-YFYwf zF1s!@9ncmn4T>lN@>O-ICqoSEE;+3ymXe-VdhS+4LR-<@dobH{^&cVIy_w7FMgRZD7G3hMb_rWQZa>Dut_LD=CAJ*BPT zokfq^6HL=*FCiw=g4(bOWaB&DXBHmwf)2jT^>-&AzT8lDa+z9gjR-s0(iwI_ypaWK z$cde*uIKOSQ58$i>A*g)k}72p#cj`;;x8mHvbX9k)LycvPjJW7dk#SBaOijZNZrDC z+B(_TpP_s(^c~0cmB05VdMiFiv%T|A(5ks0(i<_~ucba+-<=3p^MITdNGuZhQsSU? znAD8~T-HV1H$-;QW}bGgWe`YYI^}z+$b0n2>#)63an-+I)aE-_e(Fb)MRVNWQ#$Wa z7@XEVCb*N$eN>ZmgD0dp?iTmoq zVd?XJX>dcCK{ujit5-AM#SmLh>j?`a)!8_1u?Uv{E)GS(1E9)!Z-d&N;&r^^#dwPX zo5T+wAU`e4nD1XJ$ZNostJU@><-{ZR>;nmg)V^;uj43HPVJgK5%d*Qxm=gf9{Os%w zdA|sHnggkunB>Y6?*-snmo=WW@EjU4+-tU8Y3koSskYuvlM?cu1FNr5t=Xu=4B^kBF1p7 zi{szs-FX9(2r`Sg|K(uh`ZV&Kp(i7`Mj1D67%2&GP&cK|2_Jgmlom!e4{x1^IK3$6 zr5wSR6F+*->ZKiQnuw6vp4x0IHH-_hnMk;cC5ARM{{xtR=C^%;1+UJRFM8d~82L3b zr!CE&OgEO+cip;hW5J%Qr1)-{g^EN_pa?}rQmc3deHK(^c9b3%MrD!Bj*__OIsfA{ zF+}lR_M;a=zgLHT!^qsuJ64%9n45SyvT)~+p4x(hhL91N^3=N+l)^EP=b_=Xd+UvR z&%{*_hSZP%@Tl_MkD}WHC`$lS#Kybr-$$CO_bNj=a~0%-d4Q3N7i+SVzx={wr@&+9 z^-m^`jEL5y5x`|DZ0l-xc=+ca;Emc!c(3>=BPAf<&B4I|Qf?}srgsPIkqOdmxMkha zK6(QP$HyWeiMOJY`^on$K;|9(U*?sA2oYFY5qG%*!4~#tqB`TI5h9YqXd;i58DXNs zp_wcM1--$i!WYi|pl7C2BEpQgN$xUXpzd#NRZtmU!?{?Eh~35I0r#B`MUV_L>?v3U zOaKSd9`#Zf~PtN+@8QKi_1i!@==XLI0xF4Ul^Qg8YxEA5tyBupdgflXZ? zdZM>=(zSP#(tqpn%;7M;#<5WFVzj?^7j~jfW?_Qr*{Fb|KlSfzS_OrK9?FfGQZJw$ z2+l3Fy5-U_EMguQKrI)&2pED4P4ya&UcoJ(k0$f<%0yok-WkMHy`ECqr*_}KO%Ae)7fbbY?kOP;$1Ze`+ux zdYX`%4AMxmv`W$?OXc*^Ltu`}Fs-nvG?lbz=*EW-T5-h0C2=A2?{%`@IO}rW-Icxa-ZO9^;oi0K{+iRlQRwL_vZmEHg`Q`rNA0GmoX77JFX# zl|46=@~<^#_1*WQ(KR-4X*sHn?2Abao3qn-i^AbUlUsK!e|tG)y$oOZz)ZH6+Fjer zA@=YMksk1O`u$dsw8R{*n>wgls4XFq9LIwhbs3rA+wRGwPNp5e?9%|B)4B?<(UPvm z+(rlbr!qeGYnZZNkm6&E!FO(TsGjja2F;qeiEJsVAxVCZ97f%irI}J)0S3>MvI_f4 zKY*4FcLKbdpbFT*egkIoC^uP(fA_hHD8d!EoFY1yPzc6}Bx05fW)6MY^RwDxrQyth zU;4wc$bJiczHDX@a6O%MRp+nZZ4u_QsOObxQkRsKRclDS{H4&V2#6LKgw(&RW~WQu z!go8H)?VkQQQU_Z1vMz88AFx9Sdn(y&55b*10yah5ypho1;>vn20V474ui~P$8tVT zDqntwfr9%0iSrPcm6#s5}f0XCT_c3YtQTaY$2JmI@m#P~^Wotyt?@NJK( zdLLdF(&Xf1e0_I*a>3#s@ItTVmB3Tf1O)Xfdq2Su*2mk-l#`VD#?yCPcjfvEgoA#4 zxCU3WDIHXe0t@MG=#H;fwhuE=^!vfDq?w$EDj33haPd|1QdLGobmLiR8!n7i%eWlr zL_U6ar=*Mys|{J;>CZvbKOxtn>|mV%QE zQL3E)c6MN(nBR*$>D-}s{^}hY@8QZ6s zJ39a4WN^LZUMtn#j9l3E1rq#LWb}D8uXDVzw0?H?mHyZ^55NMZ2P6{lC#+s=-Z0;mRPH|ML zzHBv$wJ1d3vF=ON$|PhK{y<=pUjGui5Fwn&`S4V1akv$d6asOI8GK6rx0_S*{RtsT z7(B8@495 z0n)+=ef9Dl2=z7{c1V|r)L%N2+}U*GtJ2vHPgMt;Bf7?=T1)hDG7vd1hoYzaidLs~ z+OL8uTi9=^zISh5zw>w%wVH<@<;i4?;a^n%!nvV-u3}H?!kH4U{%d%i>DY0X_vqeep^vP8x zcOcT#0-(s#cK1+iaY(pGEJh6d;{5MCYlIU`_IS~-3&*~B!tcUFbjR;$R9i_IdY(3_ zF9n~ARUuGIEh4nTkb4Rr&CT$jd4LRL+~fuiA4KgS`=a8n|6r5k=K z8E`zbI1U~vBRc&IfxM4$(quLaI|asg{`<+wzIVv4pS+*;RetNOSjgrn^gqAAetk9# zAqM~bWMx<=I_R!^EVU4*+UJcnmIql+HGZOZcM!I0kvWK>`8-vMnjQ|;({_$)i-kNI z(8zy639}E=U-t%i(9do;Hx?#q{GG<$SqN`DT=lyAE^vYGlA5i(2rdJ+m(|x zABpEK7aCtTRu!dDTvlN@LuJ8-nm~st2t>pw16D8Z^74{xzzO?Y#PextRHcCgFZ)xN-%MVU17SKT# z8F9JO7)eX=-f=#CT}86=_@Z|~2M0n5bvj7$Fe&h*pYO$sX_zTIX7Ec@`&rQi)WTxb zQ-pL1MZ5@8!VPLxo-$$~&GuV=GPxxWq-&!r$XgH~l(i$r`PbZQXKRDBv7P;z9<`@r^G+Nx@Vce1R^YGUOS&GAq~tsTN@9(-b9yuy^YTB? z%jjlp9c1m*h=*c>b-8V|u#>buk|T|i??ys^?;**X<(`E~C(fUWH7H+>4Ee70R7=yh zO#8(2a^{W)HSrD|r8HzAz!~dQcVFy_#P)Qnwzsg0#MHl{Vs2e%t;(Gu;d?~n2#5P% z?czh;B=UClC*c>1sI!hKhtHjs*nI;%|(jz5DJK3vuSRJm1WC# zMGut!qH{%bXpnd(5r!3RkB2LruaZL}*aYwTU0!z+11oA36&LhaC!El}M*19hL;S+i zd3BnXl-TybT}LaK4|NzSNo}=>rHsHH9d+^siCb z8`dRjj=*V?8nEejcJQE}#<5LCri9 zIUy%fMb&0TE^SCX;loe9<8^So^xG&rr>#1Afm#Hr$Ai$<14W3v*^R`J4XD z$0VBZym*QOVX&;f{G)4>!J_G?h)mG*E@!yYVyCv}y0&EMrgG9HB(qzkht*e3oNOYD zhO?!6SRrRR=E)TELG21X0GdXMJ$NJyw!S=)PBT=nxU;GHaP~ld)g&T#JNvO1`B|@1 zO-NTz<1bwc2{<-Tuj|v=Di8?1I7xI3(e}la7rY2!E`?wHQ2_hn8@t#>^y&C9f49fn zv|(U4XzuJ-{@|#zEMuLvFn`2Uhut#l3S5&_JfPw*wU~r;H8VjC#+T9a3(Fq>v}k0q zBd>iCK==5sZ1jZ}fHb>txbD-qtXp24$1i%R>lxgUhGsg;RFF4*cN#8ROxm!46m2{= zTgy5B6AJVjOV7+o+v;=+L2>d0wy>+>XUe+7J(8)1ie3zf(zpR8GhRFKQycKFTXm7z z$(Y?kAdDzvW|e@Se3D(ZA8L8b^HBv(SX^0h+Ocrs!{wt>|I6;pbR1K`QQ)~P=6rdH zOsDoe^D@o;I}Vp(KZ9o7@xAZS zwT@yXydW|=BV4?U=Lj5{+m&lI?g=Qa{$O|zH@(oqfveeCurgC>RdJ!hfem4%7CY(@6eN?($%1a2 zR-CJ-@|w+!{$}&9)DUW9dSk7}Jm#xW(;r&s)UT1tU@m{YAIGg?|57)i9vq#tb;#BO#??uJL`?BQ z1Kv#ZJdVV+8&plN;q_3Z5Gw%E3%M)5$bQTxMsL1sTES_*meToOijdAft2 z`U=7!0`Xy*B@9NaIq+gmnf|?lQ=#k$Uz^GoZ~M1mJ1=aPM0HS#@+65@6swWa;Rs&g zTkI@Tds-jAqdR4BT7ZrZtD&`pt`A2xuK%=uIKVHcXn|BI13Z2-8C*25=p_@!R7?{+ zzF8{SR~PXMu@3bwWX?!xHdeHctd4!#VKA!-qcgXXQ0y@;NccgChK-{c+0GsN@l1av zcpX_&R#E#~Tr)yJL-Ct#Ig{AZsUEbZ*3N)ei$jX@6WI6*6 z$`&vT=25!i@l59BtMg6V^o6pTK@->$(j9zNuSaf3!L6-mEtux77XWo{`O4f3me2U3 zf}2MuKRGd2K0W~s6CS7A4kJWf=QkUyBiUFt>t$Z*M*Nhu4?~Lr++{SaRsJ|Wp(^ZN zm%gR*{o~$YZ)QFcbA!5Xg$^Ajl+9GsefC61(m3mzXzmp5N1}fgSIf7)uuba?P|^dY z-NX4cL+iWwwA**uzOFew+vxp=Qj1M{l)YTOmV*HZy%<&VPQq?zrHZ`n8J6MyiSQFOudY2JY7`=xIn{EH98 zaUxB++5%B{rJwWYzDbX_DntRiC}b765AkW_*7|R($mighfVIhs@nbLiF$Je|1~2yV zF<~A*Hgu0Y;Ni`r3YC{Qm1>yW{7J}sbmy9&2JWIomMcwgJBw^@r=9InbPOY1oKPZ6 ze}iBNnwOB5sA@kURM5vEa)9CS@Slyr+94gY>T9J{`BKX~$-zyKV)nDyLv@XwuFZq| z>$fU~AzAi(yz#SiKk6f%m})DY`=irxd3W=N?>x2+U2b9pR)Q)Sb3Wny7!H<}!iS3K zia(9n&-#9ueq)XGOUHr&&y&7nKq!8z^I%4S%~Z(`9k2u}2f`QjvpH&vg&K=BmrV~; zXXh$JVrS%{VQlf6*RcpZp{X~Zoa|JD2;U7!jG%&H?QJ?VAtU=c^5okso zN5l8)`K_%mQ`?HU9}~wcT*Lz*ERUOX1q|xT=y} zzBe7>=s83GAvy)_u+bcUG(6{QC47__g>4X1QR6TseA0O0<3fcfx954sg`Xx2;&*Cp z3L3uXf1r#D1>bu3*V|`MAe)9`VSP8o=v=y_Em?&Gu4^jUx9=QBKUgL}g1U#g(*V@$ z&*gsE4?ZX4wq!aat|Vj%pZ^Z4xIbvF)AOiw@!O9hH{3ATo(LLIT8>7BOmWLX@Fao3GS})bHB~ z^)8nSc@B@xdtJQ@wfm5?LL!cS{5HAmLVqd{N6R@OJU}^yh3H9fL%2}TW_rnu@9(8< z&rqv)R=e>@*F8T!%*(HkL2-1F(KLi7b=2V-Y1zN%h!lt)-?fVvR& z{d58^wdor~=Btf?uCFw{r7k)*$pq2hJXUjrSN7D~bC|djuBlpDBwDHLmpzc%WYmp_ znU+yMu3uIFLycL&8k<2*ad05{6-rbHDGKF6cbi2*f>vbk2CG6Mf}IX0snR&4&~hUH zTeGohq^77Ci@CT)R6Q~{ns%?HtcytPH!Wv!U~B54{RcSkV^}B^9C$gjcY&O=Tj9<1l^IBk3Xk|29c^h@vU%Zxy+bv+bTwWg+{vZ=1A z_`U@tgkiyL8Il?dNd;k)_sB|QG88V#oM%dNfa7jUyS`@DwLYv{b=<&e92|J~926`o zA2+I-V|p0^BmTbMuIh6uPUcnr0)H%TwpGe*Le0xG65P>Dr*@6l(X_t!R;p0bM|pKc zE?o^qPXxWHk_9ir4ar6=MmYGaEr9;<50bD>%N*YZq=}yo&MFJQT4x6Xk~ijBOzPXG zsiuN2ZOnp$%$(!&ias$elF)W9uD7>&e9uFl7d>r$ z5lC%2z5`_6GpVacy*?v~Z@`%8s8%wMNd_%RZPJYTDBQGcD%v5qx$*#j!hp>y{X zWHp~{FN2Y|i;D9n%r`+*!4eEdiYsl}9EEQnO#Ha$y(DOWDImb@msbD($=S!mM;`gE z<_dZ4g>MO$gjgl=u?NeWB?KjuDb2-$b}{#uWJxW|< z9q}(STDPvI7RP^eQwhX~Ls+kcnAc;ov969;rM_;m&FaMl z%jrhrR`l#cS`-tPPY)(t=GPV<;2rs)0QyYfrJ$}@Ts*Y3e95!-N>Kxb)_s;d^Jztn zNP9^DmYTcwwBOa?;fPQgG=`A$i4Rqat7Hbp8P(G z&Tn?}9g_(*c-|qS)=PIeaItM(?_07GVaSx>LVkc=UH!AjA&gI-V^@GY?4h($|*CX7GLM@`9kdr-aKC$3GkUqN-OpEeav62wgM`jDyJjZK;oNdPMNXGRx z(4E$wcC8!b-ME%$T36)54v$H%h7o|F@jlWF?Z)7Gr6U5GCjoE(r) zU0#obJry)iPhek)Gdj0Zir8b{8^e_zPJ>e1by=_mlLanPL=FE9_l$^=Y;brm8EbB( zGjIFX&*8h2=SiI#$ADJlqEK5gp5$krdjJMu)9T9{G4tIADd!$V0CV5RW!R*cK@Iu_ zE*0pwtoVBZ zPRXS6-c^PUHTtV|;nRDXl{SM4SHl0o!)l;IIGEdZe`U4UTiJK<*yFwAA}lS%KcE_#_6_5ofRlC~{ip z#l*!9+a+n}lT6%B8iwkRA>MA3&S_dY%K2A$GF3NnkCdN=ao>79M$p(hr{I(^88c$f zl~F)B3`hY$TTTvJaQ1F&<%3yZ)UNUAp_-8`6A`cl@Nv+SelLmsgxV?}6se#OTPc{F zWF4x}P2Jay%5ULYkxS>21XKWuFT;F~F?AI%HETE1)w;9S>vwHKU96(M(kd@i3Svv0 z(}oF7n^kyacO9+x<^>R)f*q29{NaW?OOUhB9mGc@?2gg}t+VNYBfEzm^;}&!54yiiKV4aIju&?Q zbq7u+iEt5)CZz6Vb|a{9`i`ElR!;z`I7%}VOX=&+( zc}-p`#!UC-JZ}5Uh1sP6T$XyR3WCbKQ2wG#8yoL#Av<~xSvVvnFxU*r{a^ir{nfNl z2IH{D@1phf_DlleLW&LaA^U@|sz$(4){*EQKv0bGjW*bA46{Q%^xIbpRH1M4m9^4w zDsVBC}lOFJ}$zB*KD zau_nsPL8Iclggkip>huT7L8p}oh5%5DFi$2{LzYIdq@w*WKu0qp##WKr|pKhPZcDz z)*bP?sQbd-FOx}HwEEyivN)bCML=G|PFKzEFez>hCjyBa;-hZ_aQnX6$V#-{&eeq* zfK2mq{95ts#`)h*R0?$X+aPkktTFRi*>Umky1ieXK!FiQry2{rNF7%9bs$T(v>~v7 zi{CvNKR<0TVntoKJj)^$V(@k>(BdIG9@;`=mb1q1+>^yquo=su(GJTudlVkbP%0G~ z!{k>*Y?ux>%ov7F8;*UHlNu_hVH+5pa8FB8q>tSX_lGt3VcG_YL12?te{D}2O+BC_ zOI&V4U4_nfs~Mkkx@D#HiH30~+O%$BGCpRAsI2N%Pbu_lE~Tbam}cnMTHbB;aQ)4t zq&fR+G0v=Z<-%nGwQnmvjefW12-cFk9Q@m{uB1m#jTWU1PH%yac^m02fI*ip===83 zV4czR-6Hnql^~r7x?}0Q5?KB8WG2OGLOUY=;t4qcupdUEudCci(fDGk>ve?*g?KkC zfDMob6j?vPI+Q%c)=WaxSH^^-Fe8|@iDS(1a?O4zdWF{O%du&Mk0rwxk|(SaD5^a7 zzFofS?nN&>%w>``Z@Wpj$KO>S{~e*+g8rrz9s8kZN9iiEtF~fQPUk8s z^_hX0QnZLE%eh(`SWJ!6?4|X^$knXEacR-QQQvN2CrZz(h{n+@&#aq1k10BLT)Y>= z7ykncB_enKg%Vm2AzQ>U?Wc^81>Piwh>j4TqF$o+yWigZ!vy~2@5&l1AHLwi3%#9z z-FmI(@|<1*uJV4WK8lR4Iyuq>(av z-9ZbHQHy68^=JjLr9;0s`{6dno$7|~XLm%VhRMwEFzjw*C@{|r$cc8^C^O6c#bf8*T;%77!3`Tz8xFiMzD7PG@ z)YV!E(X-K;L7E{>stw@Mq)dHCeoo~0L47w`sb2I2*8S(q)G`-;7Uw2{KFkVOD% zB+fKxy3S5X9e(o{%c)A>@5a$?@q3Q*KF5$))De9y>r=<%=KKQCd{t@PG3!w+3M2MV zS*TFC{D3yykVb8Jks|X98m9$_{-FO$Th3qbLHRHE0N0x1vN=0Y&d9i$ULmDe~7%#YHO%C8FA1L^twiG2>mL4#9n@*>}E+q z9=oCd6UK9(ROI5OVM_5%S1j{aT4uEThfv- z&`jagGPF1$S3dCGW*+Gb@N(qrRW{2FunuWP5N6P-)*-#WJKvU6X9ktlAwq-59e zCkhOgp~_|n?4fy>$1qcZ<%%vH$hq{vDm5P@+GD-w^g3=V7|^*K=Xq>sqU^fF$P8uy z%tLBaz8;Y%5_=|64C9LQdT^1>8Q~9S7rw+2VI$_9z3he<*h;s59I+q>=e*PD> zAunujp?SZy4)-VKSe#y5TbYrsT~|f>OMADs^Xt%vvA0vwh%uz69W5Q z+IkvfVN+xdBmfpM(3JjO9Ocmga)uLo42s3!X9c?IhR$>yY>O_%t?VOIt5g{U#f zFAS;Q{MCUR&yE*CmUQg2T-TWJS*U;rniN8?N{6p}n3VJ=f;|n)eF7or>jbFZ8@j^p zTE&>3ZR8E$S8p;iwU=VSNo$7lG&rCdV6?16D$@QsFq!ipG~-s3D^L^fSxW2CRa+zYxlkX!%jGXe;V*0-2ZN+X62+n}IR8hpKwL}Sk z{f}ZB_KXSPDXSyXBtP>t2d&^%d}M|qP}tO^{-CF&7Zt=eU?~@pi{`6LxUN#3$j60T zdUtAiLw1{yWw+*f^HG-N$xk{aouk^!HO=~v8x^43tnS(!%QqY!R~tkach55_aQK|) z`~OsE_!DlU!ANiL{!-Uf*V2gS3OU5Qyaqvb?0dLD#_?=?*)doP0Qz)A0WmGDr=?8G zRuI5MCT=P`NL8sVB_Y6{sAeC-K+)e5%5=cc%Y$U)sg(w_aol7Ixt}L1RS5l~sm_Xn1Sz)d zO%6|+ruO6T;o^Lq>8za->!g5ch0fh2&lvCJMJT*kbcgalRb)!MEApaAf z-7O)p15HuuUV=CRosmJhR3UUHK1q?#1AyyS#443N$oqOTBq={9Isvrd$dvQL=s_~& zQdObvLizYUdNyT*-t;S+(A#_%bLp+MTdpN zPi75G|Ek|AvnZZaUz8VK;=Gh}{>qyR{~@RNju8P!q49%FqkeYuaY-7Gyz<;Lx4&X+K_v#+124oz$ED#;* zjLD1hrrShMICxhUt%4Lo0DWfFfMlPOGdv@Im*K5J-TlNaU_^h{qcC|F?{(JT57VQk zPnu&}N&D)s-8QonVWx7@iI__Q`hCxE7@Z>hyjE3F)m6@*JE=?yP_euCx58M`+;j+; zS_pay9<##jI`gdt(yl+*b$IO7`>rE7cQd-QBeJP3d=(~l@kJlR-{S3^?Cs4uT~2QD zKVPw&I8QaG&4XPDQXDz5CxlU{Tc$D&trQ)Ul$DSN(9b8~=tGJ+X{8&YNT=l81b8|A z@RbR2Q{@|TeKRD9;n*16);cY9O~Rs0Fnjxzg}|2CQj2V9HWB5y|FzkUk+ez6if-$T zU9WX7%szx*tt61yT1EU!UC;1Cj*X=2s3ToGHeN}bc%W}>X4baAeM|}1Kjo}I6vJ=2 zAs^dWCv>QvpL;rP9%O!F0j60W_bTTGyW8>S=3` zZ>FZy;P=;k=3iR|mw6mOTEd0n<6jkp7BhRWc4%rX4K&~iQ?_I$XYnR|hjjT5Cl;w1 z@jKh#FW0Mlx!k4r>Z4k;N(19sikQc755nF}p3o`h5d_pXv3LYiNMT#$3MQ#0!ju{; z&u%SMOp|=w3CL?7oGmzPA4J(MG1D7n$O2t2Ov$K&yI^v*r|$u&BtKGggVnR&&=8I% zyg`^Loxv^pwIQWJwpy@Ep0-d^`}WCj*e`X=72#;g0rAS#;^9tu-EUn-@5Pnc-k=E^ z!}1Bv+^)+9#pBpu-Xu9lCQjr$nVah$dw$Q!D2$Fj4KX)6aM(b=&=NI7`?ih$_C>0J zFJLFPgBL&J{ZID9G1=c#)}FIQm7)1$U@gf(1P*^FsOGc#30lDEclIo}aHRWwQ{z8&^Kt3?P}b=e5DUnR( z98>7!a!%pu-9^RFr1cQHn*wi*ec=_457uQN>L}u2Ex|()Y8cJFDLInEY9^ zl{Lr$b{lld?~|6_fCrf{(k9ew@)nP;(L(R>`8bK73+cI3CfmO#pX(UVrj zWJbO3{Qk%}!-qzjF7?pzNrtI~UYjzfpp(BGEHL2jWM@Et-M)4v_^B97toV=kWM8)J z`6$-8U0s)%it0f$8)HmKM7nv6IIcJ@1hruuJ2pxfWst&W>|wuHGlkC;iILyq(!dPs zic0w0{NO^pnZ_+mQW2m&l^f5}Rpw*OPkY#~ukvP=< zqQhvO>X5VdBYfVlrWJj}4m?M#vq-(Kvkbapu>T=3&MG^Ce7g?xn{!!EW0pe&b@)}BMMrBmhNbcHd+FyzuNT%_}ZgPF0SJh5CPZmk} z!(hEL1jYoF|FBk@m5cy97+qmHg~1IiRgy|#z4gFy`c6|7H;vEnu7vAVTQDWTKW@=D zv_CTy4SHK&eVe~|V?^=kC%8j>#Csj=lDWFzwdJaY3h|x7rBii_e~F;^P~Zo1ybk~E zGP$j&OeAC~6PwDm3`oLu<7^q_8%%4;6=n%iG!{v^?+=;k9I#2P)GFwJ1jQk^$f{E0 zH>-eUJg6z>&KhK8?_K9L^G4dGeko3VrzLcB<#vn@Oez>4OXQ$joj%~{c`Y26# z@4fV@;$vLkGU(`>CV)|}Z*0sGDx|te z+#^|Dm>rU?cXQ;i@w$+m|I3{ScbWx%7HfqO7Yap^%>PCsK5J7 zs%y{M);g>`jArX;9H~m$a@f=0_}5wH!S-J-riN-jEqZY3J<)lc$?~1}g*Sfaq9!4y zR$THMZ`uNkC)DsKKTny8E@QQI=kGY=3R5M5Y8x71VbCT|SwOmT8~_vd<)@vrO$A+c z8im8bUb=hf@A$n3nX}qqQp`{>h; =A4x)Bv$^K4UF%Zu`fF_#q{L!r}WzPblfK zM9HP8K^lncAm`%@)2QXrqMI3%uVvrvUK5$D-W@m8M)r>5n#;^Wa@`AWHa;G)f3XkP zZNQ0BX_mmRt2u=nAl%`4>DsrQoSsJC6xvMhflIlb0B(!wUB9&dQ$}-v4cj~j25$1L zB*8PQoD>zf0;xEr7uCZEK~iQmD(56kD`&@z&O(bta}Hx15wo5jd)W8bANDGNw6rNj zkN8Tpaf&X+Cwq$FQ|#Q0VZZAgehy3O%1^{dg=i`aEzQr(Bfe=ZKjCn6w&oA8e2*V1 z8q=CrE#Sjk1zE7>NYC|YT#R7K)19Po%_N{@MYb%3{*^y}!aGk7N%kK`h{Hos>Sg`kz)~(fs>pJ)uV;3$u z%`hgB3f?@8!b|6J(R3Q^Q1kc!>pH-j#%4Vx+Y2l*sreTwRv=2s4*a+}M~rz}*6_cX z@L4YmLS#mGKT{z$5m5MC0G4P6rv@u-qVxGBFv*mRELgTX8GESE*}XXWep5?H#^TQo zQRpr@HaR3Q;~h# zj(ubH?tyuKeG+;>1*BaL)_l`6X=>GaqDdJ6Tppe|s~7xBQ)VfFXCtklUd@+t((3z1^>>@t&x>Hp8s}p0FdTW6{v0STZJ{uhgGHBE`S* zlNG^U(vsUD5HV>T?cBQ#euW(1Agr1?;>bPzy2p^gQwEZ+m~PAZ@V>H`JGU6JrxV_+ zskUU|c1h6TX8*0qAffJQIc6A@dXzgY_?IMW+HLKw!8(6p^_T4z9XIwJs5Vsi6p}-N zx>Hux#)2)}cg}hT5FbHpIwfetf(E zdCxzeqd-SrMg~QTAb?`NE)I`x<>o+6UKkt zDxKr}<;Vp7DdNFj8yy)*{Ke^QDlYKJIw81F!#P1tKPhNQ@yF?Bg%_-e3J4$`GlibW zYpCalI9tJ-XD58gd;}I^&JJ|o8e>S5v(n}ccxfkOXaYdc81VtnrL0=7G&Mc!pOf-? z2Gb+Tv{AyhS~aAY7cts+dKEookQ4{G>s7YpHAiAF7ND{-Nd2)B4r$iATGv5gX94!x z6c^qACJynk=9x6af;SR6c=_`&i~|CQYfZn_;&sE48Ief1a_HvaL(zMqS@}c|X1Yo% zHmPO6*&#CNTIaGcBVL?}Hs*%4KfO%p;=hB=#aiHhJ;P9f%LDb-=omt+Yly!LFj7+& zX%Qn_OePiRR_nV!33V5IE?~1_LR6ms5*WeIM5yQ&!lv%AwBYF9G&I3MbVv%B8a6eW ze&vKHD9{%!*((hhA(h- ze7h}PED4c+z=O&90Z2YRvUf~O34vl^UBJ930<$_Zj}TqI=#fYZRP5T`f*$eL)QM@F$Td^$jz zM5eU)<`z1)hTm95U0<|tt>vt0_K?AXV?WqGk5$*;EgJaZrl-Sv9XbjF!S9?CD~YT& z!Pp8iAtXl8Vkmus0$?L|GnNAWZ^{_Z2#miHi@;Z}+pxza0~u`vZEw#I!L4%A(7YVP z9M9Wv_#5f8Z!G${x7mh4G0A)J+;?byoHi+nzeTKtAesqlDO znRJpR+-nWp;8JvT#{OQ!XR=w?ANVA5)Pz{G4(ry$qn`&aV~GWW-D2Sfv|&nh>^}8V z&LbU`K)Kb1_t8NNV0Emjt!SBDjPDNm($q4PE@q6px0g7!1oApWRtDerhlzivoGecm zUG2byI^zzlTx4CIH+_CzjpCvYn7&iy^jg?RGA3uU+nd|@}Pbk?Q z)|^~#(6oCE4VR3iFv3fKoPh=)Q8EKAh6iDm2SUnnEGqdx8^*Y=9@}Pk+IgM!QcJSY z_sm~i`>&#Z)eAg)&M%+sjTlpnj`xbIXYXaN1kZ+PD(}mSglasqY$0Y=NlPDp3~u-y zzIQ>kwh)~(uH1~8*D@a|JW0GZ^1l~r8hnx$?e}4E@_a6&Usn*hTYCGIK@Ab(qz0g= z)SmO~YD|2~(S0r)c$WI7*T`S^cWCyZ$bW>|;N%KyeJCN5$?Pcqn^{&gpM7q9+{xeP z{NwY>J!y+^EF6vedG{XX-+5_VmW?L&_}548ZWF%h1-@-}(WkvWcEO&Dft3?6Z|AAD zHowVIS0i_$(<~=&%4~aD*gnlbfa&8i3Q>Vgi~g0}^nPFCy*S<^Ukc5*K&B-jWLRhqW0*~`wnE4Nlru#2> zzLbM?JTZ1D5h2rRo>w*|<0Ju}CeM6ra)g_%zoNw2C?}S^y)Ox(0r}#t*Mq$ypdmwDcTs=$MPU*GgzxCWltq=vuzG;+{p=zmst<<$hN^<rR`xr~>g2@abReHM{corr;Hp9&UpPY4 zNJ-jn2-_R_S=|9FI^y3v*nyT(#X7x;;u69^pct|E3GVT)`mM8Kfh(lnc?H{(KO7o| zObd=6SwgNt3mGotlN@~x{ao9SM=ifmz;EkB9o*di=pIu*4%e*UqF_>iX2vv&w_6d) zQzCQEV9RC~SqNox{jfVbH?e%we&@yuj0rNb?XIK;^{;yNEY`Cj5;QzD{IcPQf&P2e zF)&-Pdk;Rp7(PzlGFp1+UFI(2;soQpo~L?)iu(sOQeJP$rLMAJ8nE_xx&jT)e9v}& z)lD2H4~pD&|6=zRxjUxa@$fI9bgm@6XzO~bx4o*fMB0%t*gzk*ucU#J9z05B-zLC8 z_=T_EAxh&P7qMFspYtP;IVK8t3)duvAl8<$h17Pd9yj+DWY(ShhxPdByMaAF?nK?u z-6Mt6tB)y}xY)OF$o(x53>dD@?7SZ=Ln3|l?`w%N_MR8D88$wRO*QseHb16 zJ}oY(4)?BU591$9A7M_ae-v2lz-IEmuuF1sePL!wEo|Rp{~V3P!mef?*UmM8sqhr; zvZPI#u;A@IQqfUfgwZVrg+V&6lMcB?2opWSCdZrf$*)d1CiF~Ncs?bg^^7fyM(u+k z)E22Fj>Pv;=$FP=*>eWpWnAq`ETTM4wL6j+m_XA;9R9Vdrg)` zQXudRTETa6&kcO#A&9g~|ciXi1C8!Srn`BjX_kVFn6FyWv>T$;ckp1YeJ~-m5GkF{Pa) zAkQl2*{Ayv^$+b5j8oS}=|tV%JOr+Zr2eA#oc?4!$M>9BI}@$-mIeG8* zrllONCf<8a+5)5tT@q7e@^u-`Wqj-uQSKI{U8o5AutR!&J*}7yBk* zQxoJDDP9V|jba$v$ZPw?dyBi+|HO+JXqIMZ7HT$uqE@k>o44DewPBWplrs|k*+t~* zM`ilqi1W)ROZCl>MqIUtyPlO=J!9dZf zt%^j50)0#?dny+UY9Q{}g90D>N_9W;RsZ`ME3IHX)h4LF&7<Cf8Aq@Xc-5}2Aih7n|h5M0TpIR#Qg@{!f#pDq?;Tt7K_%{VA1zT@& z>x8Cu$wttV@Tz_#V~UnxS&vM)evv&$Cn2@b@m5rxzXin!pVmL0TJf)~GX9)IM(My< z%1*-LUTqaYRFr{;Y=iCVaYnotwM>(p5t|?Y1`ok5e;iWK#)KV-w}D>XUM` z`|P;~9-OIf6=hf!Lexr_Q1CoK{Y3cSeO=H#g0$G?f2z{_l_u?8mWHK$vESGb$8P_o(CodL+n6(rrEveX(Q4vu$(L;qGuawqsh#t-JkmWb|33F4L>#>H3?tTCKOJ3 zNOzdUN;*mqbj2rzwkrF%SU-FCwG{G!V$(d3CRT)B6h%{}KeBXg1-L=9@DbYhX}XsH z4B@2^BHf2mMT@3W{UIupDJgXY{g)_ID6Wn-*Wr6=Wn?Gqo6%bC4?o7(Z|9 z6d$@&2@4nS-gmDxNmQwtvn&8JltWUJ!_dg>6m(ec<{G6)cn(|Hpq|Ei;8&D$3d4C`Or1yVpjX^quG3J3qvOiVNwVv{Axq0 zRSnJ5wTL&Lf&q|k#(}!M*(9ow2)-sk#Ve|rNrO9f@JQZ0N*P`vzS{CuN?_c>-tu#S z{oXo_*YrCqMokGeMqt1mSgJv?HzaGSNe#^8evkel+E+&C0N{0e>Mq28{WeA{F^$)V z#)j{)G;!OK|Q+jRm#WVJ~z__*O6O+5}0oz$8t*n#-oFsAB8D3- zdA){8bgR`1&geRf0qPX|)!xW4{c^hbw(DL`SB%oK3p9f+`C%ANIO?4zDtVLahgJkw ztOB_h*|`~$Mki}xm)~z#y`>oma}i#Yz*WG5xq`i>7wG{cSyiI>t?)F-9fbbAEFK$o zn5(4uMX)?Ddi$-H&N^BA;qnXKg4&%Vv*zvs&i0*e-;cEws+@NF@=9Y(COwb3=vJhz0SIx4n^|lhea1$|hkL(SrM* zPCsw~1MyHluDp9C>1{76TEb)dd5Gb}PFYPRLRl3nzParrCKp|_Wk8^)BgHVL(+q1b zup3Z9{O5$$v4$$Z#Juf5wG0*JzkCJ~cD!6onF!}mOww{BdePwG3oTJg^rL?dm=Ifq1voIsE)nd-uFOEY7Bt$5txIgcs>r`jyMHil&>ikXsgX zFR`~eBbu#*bi>0DJn9<;82c+wbbU8yD$WT<#q*M)=4OM?CIm=2y)kAt)FJnNmG6B% z6QVvGi0}Et^=9_OTv(UuD(Jsu56Ha7amLuB=UNIsQm^`pAsfM4Nj~5~ZC)3DDdO9p zzAnZc)>3e@m{P34c5xl>i)-g=?v>82kC~|p7e4NP-J-6R64$-*w-BV?4bGSzPU~>{nA-$KEa&07Bz9X-Y7uRKS>Z(ttJnpTehMD zqGH8T#uISKTu;Vp%!(XmioH!t&sH8L&<3GDRmV6@>6@J!u(=oIHuguHo^kX0*KyXY zen=>3awh{Yh@?Sou%}{M#w7b%Se(y;RRZR*O{L#C^6NNdzZ;pm(3$u8-{(f573{c; zQU)NIGQof!o5dBYN{#AvzAgWZDH)5_;4oQ|C09s{XfV+ne0YwHLo%G5fo2d5iHHU| z`XP@Hv5m3`DvEkH)#QDV@(s7V?vO<)Zcd4!-zt#;It>2LY_$zfu@Xh>(LNJZUy*fW zKbQH2mb`ndZORv^*romP#*uSCBt8*{XRN`Gz=5co7bmLARI&pQR@ zIZQJ&epI}iP9Ngq3NFfqL))-rcV)2|HO=eq_}ogZ-6R;wG`XtWM)B=Fc`~?2*RgE- z(I9RvPOULIFG%k0l!ajLbXcx4M0!Ta`;Ls!5w-W2-} zAT;-~H8(R%S5PL{N@B4Y3Tx zR0!74YV)f{gShgP#`pOPAHJw`XWI#VC+Ai($9VFN9nKgSa9gW~Yzq*8L`E}d)DGT% za0Dki7jV|wHH(XZmR5p%@&aWtks?Aza6c%#rJ~IN7c9sy0&Mu8#5ntvFa5cl&Oa1Z ziJ|9vQa{QoB*xYa_mX9GX@oWPf>y|>a$KQ*3HtzrRju35`4AoD!jzsCslGGzYPiBQ z>RRtx{K?x&u#-%#IYgj$@rQdc`LJgtwm&vGRQOV{+3!Ig zkcQcLbllsvxG$9SxCr*FeMT1Y1O!Q!u|FeH%wA`drcw?b@QHLcBClcUZ$rcXjKV-rctWr@Gv#BP$}yd(}Y zh!0`v8Kul=wGXqz8Deo*JJ^M4IC-AO;AT2>#InZ0rbchn`aPwJxr+`lS=d}EikB=Q zW3Zb(Hm4p4f{DHJfcA@))B2)w)@m7{8G9{n47=**%65=_tM6ZHEHKUVjK(Vuu<2> zZ&E4l_dFO3YyJ-mXF$VW-i&F4tA%y+2)L-nnN~n-fI$`_m|ZauEo|!EIU&kfg^!&= zQz0r5qa-gdl5nrRgP%$}aY^zW-K7i<(yVy>=-bd=^VTgrrnG)n#{8^rkeU_2&p*N; zE@UajJi+s@Q+{JP#0LPca15zG4f#6z!3e=r{`9wR+r>!uRTAT%qN75}+;*bODou4#WcXJ}9+VE4NT9+rTLD*^6#ydrFaL8{Z~&dg8!c=@f+aof}OAo4Kw2 zy%%Wng2@+Q_wIObeJ5m;R(!MMV#bDr{&dVqGsGok-63@2IlDVH|35fQ9;yHl!;&fV zvD^2W8#Oc-F=0!kv03nHeAko;tk9Zuxbhz9>BkOQIE1CYumnY>j3yGAq1Mc7{r>Pc z6PZ09X_vVQ%jti4=5c-}e05bva2SDhb?aU{Ov>7|s^;u|EB82P&0M8+rlv!8k=BWjxfr=JN2z zd4C~!D<>Pns@@tCEnzq$ngb?+G!^Gw!$F4s1Xg&j_)O z^+?HC8lA`x#1FAVyWNuR$c?v2dpt1Jmkd#Gla1Z`uNS~Sv|n-vF$HWMyPVQc4XH>G zkZywd-O{$Uw-C~(?8t_#c;a%ax4YERmpY7i4g5TBsa>4HBsHGgVG8_$pi|nbuqLAe z3HJV=%{P_iYH-b2Z8WhlZuhss*VbcZWKnZ{6WcKQK2j!zzS*dw4O|-%+tP#{Kjr;cH+)!+f1!5J#$s`!4L6?B8BG5|3jT1(ldu)>PanCHK>-uEJcbe3 z#Pf-CWM-qB?I&{|dF}SjB?1Jz|C~QbNZ`h8A{US(sHF} z*K^7*f5?phk^9XV^|9nm<~8?c&w86rz7+d}DqYZf>`} zO$tsTEzMON(BvTJ<*p3O7Ajs)NAit^CIF>U0q022-*0XV0y&uCduEwfJC~pa5&~QY z#pMar!qu9Z;?t7T9nP<{VdtTng#=3rNJr>iQrc$%zmBdmFzywOL@wxnX4Sp_1RBRj z8C1tU;1B=ua_n#5l;TGwtzhk3XPM|Uq!m6Bk1B?M>&vmGiV^jaYQKP^esJ*W?=pnO z3~#o@Sh7aE9TFQvHb^zB9EwGvLcDU|0uo_3wANK6LHDRJw>8V#d=^iuS5 z6>lyP86|5cOuZGm->(Dfukpe-x1Mf3Ie3JyU72F*cd^*qw!6lDa&#M!&j~nb=AhrX z5eq-mgwR0>ycb1_dkFw@9m)s<;MW()&w+`@jeyRE@fjlkqgl=TD%Pv#Wz#1-3tDJL z;&X_K#7G`870!XY7V9|uTv>NdsopjjdRJScn09Yc#-ZUyvi;xuF4^s9v01z*3rOM4YphMJ6IvcoZ!|AuPlxa5e!Zwi|-+wLdH{?Jy<3zsuV) zxU<``yra`2Nd9w*Lic^@+!newvQPaxankg3!0@;tR4K9o+?gva;c`(PtFps8kjk}3AC>yXWTkKayG zXKRN-Tua}CjXqD9I6FL64F=*bTy-z>sukiZ?IyF(sjq|t1(Qcc+`LBX9mTp~h>`$7?`gXl=$r-q&Mzn(@SVC)xI^;;ex3@o;?Q*UN)w_AT2x`T&{%uo-l*7WpT zAkeKx9t28aJ*{lDB+|_GPhmIN-3MaTV$g6b;qPicJOm(4o3YWwvS02PWr(?yoTbYNXnD0e?=SZ8KaXv6~ z;HSMCV}>|xDOVY3PGL#gx-aK}mp)Xub}mr~(d&|dG5eFn?`7vSpWkJ4kh)7F{>_tT zbovA^m$5b!sPQ4|IIv0SO4D30VC;^L&90}KE+6yy=FOC{cENgS$L~pqw6oLd#b|O2 zh+7h;L-5PP3|JRSgH7Uqy4RTy@}C2Il-pDX6fBVIKW`ZJOp||ozs^K)>ns{e@MeMA zN0Jt;`;@opIgll}(1G#z*2{ZO8+WVhYaADFR!;q-s(bdWXC>|LL%hk67cC#QWwyAa z&SWA07s@jCB71aJ;JFNFOrX2ug|-?UF7`Rk&ms6gy%1{0hAsy zo6NqAmrrFW5m2FOxMUTC!paN^sf0S%L&Wxo)ZvaxDQQq#KZT;rh>yMW=%Yp`^^) zR@fkj)Xf*}cC1wt(k;aiNO8-U4$qqYRGaTP>Zxo}4=m-3q%5L^VkmR+XC#Yvu1W;& zvM5?egnKXH>rJFYkgh}TXF$s6f-W%P=;9(Qv^SWy0<*eZC@y8YVwYoiF)F;D}q zP8iIIW895O~78)AS~8j^EYzy*;G@F7UGwCHuKmZgJoHMuS) zpp%FX3wNc)=Jz3n5Ts4Qyeg(MW053Hc<;vS9YslOgr2;6ugZ=Nud{GSyA*xl-EL(< zc620C5+TYTpEu84TYKaxxUU`miGD71)Zpr3O0Q_34=8@e1>WQtkaV=))78B$YQpy9 zX%kuFXyMm)nSYKUpC8|VbP1VA#fKzmMXcExkZk&3&Do@qwu$4K zMzqy4;?F^n74ODaWIJ=WXcXc}ytO%sco8*b>X7^vLs5+FQ5i|U3RrB}Cdd-I@Yb35 zA+4Gdr{t36Mo^H=O1mG_Rqz>8vH^s2!=|zpb&b;A_M4~_F{epG^fhM zG3Q6>oe2IwR&lG3OTUl$?KaBTj~oW4GTUXF+3P6KE~D55gwbng!IVe!hqh1ULmMyn zOpue{B%~jC$!iAwN%{MM7vUS-45B_4b4jOoY#HiIG&8cM7SupE3a8L=wIHkrVTkLi zcRpiQW;Vk8(-eY4=x``uTrH?(R+Lr;J$mn@;@>Irx|M`1O>FOWc3)N@RfjyfmlFu= zmX#*>bzpV#S3=-0zPwT0A*_p_iRN+snc97fsV&?N_wi8FaO3In8+ zT@814$fUVT%v)S2y;dKS!hum9uDfP?E-=7YMls(-`TK*HaQ+Heu`wnn?L zk8aBFo*4(pXWD2Y{Y`XnlFA@{e&`PC!Wy?YwWr&o+mvg`+s0%B>Kx`Wa$_avMeP4E z^%Y!gsLR?RcyV`kr?|VjyB3EQDDG0UxCDZ`Yw_YxS|m{1-JRkt{j%@5`+Rq;{D7>L z$-FaA+&y9BE;Sne)R+@9ZJCjrAp@l!9YCo!aXXtLzpu#Q>x_|HsF|FLc zNGn<@F&p30P^Djwor5hWiY#M1@2jUk9f@5r-rF6KYj;26G347|D2)gSSJE>e&>WJ* z!0i0U7RLdcJ41xMIw?0Q8QP$t=xkAOHbv)*`GvabDHXu_HLx2=OMc+5qrBbyr;1dx z6`>NEoCr_roI|7dYJ>^AIHMfUx76!x+L_rFNQ@Vxi#fUe_RKmWc-1yRJCp<$%T1Fkd)p(G+JKvV6r&HmY7?BX@!$s3}PtIIHp-h-2K`o``ZH z(MP{+KA-@U94)b@<9Sf6vb%EK$IAgSf6okZzl6+Qy$l(qK?1V*gY(L5sd@EyDfbN$ zB?dr!7gTW0%#rCw?*PKUX$DI(^+_che=%`xfSCIQ)ow{<5Iw%kEL`odga(6s)-(o_ zHV%)9V1i??#w)LylQec+YZOg%0-+{xEh+5p=gPS!d7ME>C!SBUeT+8a@82`OVr;pj zTj(p~ktqOT9qPQEB`HE`&?ISN1?shsvj5HG^J%ySK>7z%Ip_eWzRT~)K#JQ|L3(L98(qo`utLL+;?X8-sxMR9KYGLfR@5P%gqfOIj1qIaN z{tKwd0*NsjKTAo-83hyC-k_qFr1BN2!8dqh?y~*)3roL--_O{gO8ZAE_KHh}(vFe_ zC;{X|dxrx*;U0Bun+-P*$N6_c{=|kM#1^hi4Rsiy{#<$Tq?gbmQ50lg`n zTpp}Qo5I+vt2YJyaHI!HIfA*6uwb=KwR5ro)m4BVIVpco;}$8h<*UKBPhZ66g2jvw zKg}rs6Rw^dDr(L0Cix@5Tn#m9cU*S?fqBO1Tg7_M5x3g{ILqHDs!18V<2m%M=$q#j z)Vn_}l5jr%S5jaE1ivFJrBHvmZZ7xd>tW4Cr)aaIyPLUWeSY(I2084!!||P+?s^U; z_k{Zdtv|o}?e>2}C)k0fHI?9A-w)c`2Im)#l`WYbd4a-N(4?HCnd{f#5wXbFmcJ9; zHEEA{HU!oFGxf=Rhl(NR7Y0U?;aznt`azewM84Pd3d?>;g}Ugx0z1N8XQDxjVQxnq zHAp@Ldx3HV&e5J}{QKaMUr5_t{-vzu8mM8PPI5P&ksKSC6+M2>R7DHb zBiiX#D&V%9Ez)DdV8(Zp&|oHOhxEI2ufe)M5DR)C*mSkKErCQHPww#)4SRS!EmV;Q zrMAPq3eIY}$}l=gO13Id)DC5TxZ2!LIu&;{QgUBybTsQRX=|3a3NWdM#z&pt6a4ub z#;_tV$NFBIHG`1+J7Vk0%KbfLP+xfWwwvvcphrRwz2*A{(Npwya%>}pR|)6EX4@%8 zGxjs_t;3QGxW0Q&Ht=q1*!h%doby?S%C`<95}qPI%%Q~z@AzMilh#6#Q`rgh%qwaM z|NKWZ5TR|Shh*PXSpR+$hS`BJ{aqY3;WSTfkeGv(*z|G{DSjax&K61kA;zXqNLC&^ z(v7tC6VoJQwntT0GN1uLb+>p?7|Hd~|2yd-a3lMMLxBr`q^^g35@*GAPOL*bIZ6HW~htrF{EX0lE*Z*eEJy%>8K4f zIiDv7jB{MFSN(uc`NR;SnLty*K`PX8c84N+W~IE|w$PTp1A3^StFYU?wR@7WK?b^| zF-oY!Ywi;>R>@fXZx3A8{D%-_{JkCg5}IxE0Y)$OQU-1E?`oqo-)a54p<}kHGNHYj z8Fx1%`7cj1=U-k$l0!>&uZt9tMCq{DK8V2jrqSdx;m7MkRtT$h?&BU`9CAhq@k ziFl6PMbdb-u3ad_;-=htgIPBs&<(oj+&5&Q5|UNx55}Ez(SToSNt3H@~YszdC6>vp*3` zfyrapDW%lY<&}8&>&LYVLDQnATI#8;pc8iBuehH`-{mN?;MRYVThtk0X^^Da)$qc4 zjjK7XKYWQ{s5!vmsZ`EeU8VF_^HNYwlrJJODBgRv_Jdz-@9xzZJZSt{5xygRJ=nnL zE~t|bBFfCUOqjeOMv)Zg!mq6F-=>3GKB|inYx5hAXDDjULWtOM3kJuS4%IeR;r%!= zahCzc?I0yaqP`mMp!K!WMc5OR_c^qiO{?qU-rM}Lihxj@p3a&*|C0Tz(q&>2{JC0O zDLtfriSRjY`dh$T-6dB$T#U3yU+L$Mj3P=SP*B<8|ANZT9@I(xsAV@K#*nMn8j$-l1yTG6w{`<@AFKh?G7}pw7|&N-4(3n;&OV?Leot zu+dzA8P8w7S_rCBA75G~5z(~h(J0$p5VOJyL=6mbLxMG1n-E=_kuO>ac3wG~?FD-b z1v4FMh|TER`gg8XjdnZ{_n*u!+6IPiPzOs>dm=^1PyJ4W?rOVxM9srA?|#0&XpUc(oE%(noA=#=9C@;APWh_%6WEKsGq5Y!vj zsaLc8-gRKFpHcWS^*3Ncm8-Z!fuF6O=Ev)Vd7v^q-rnf?GPhK3i4_wOr%-xbB++QJ z65xD}NA3iHNK}I)<@~inFRL>UyWejR56z-`piem@`JM9zyu}R^{}@Ro&Uc?wVw)|~ z4iW&XSaG)0qjXCSpWN;{unk)%<>~RuB@<`4R`pd4m8DJxw+etICb8IIcbSFmqPA3G zD0xN$1=Gk2`Y+$Y)mj5t89!*)e(otgZIb=tf7LweVQs+%rqb*aGq+V?j{R}< ztCN0sw$VfJ{)f>xo@8}+lirG->To(VSPVLrO1wR9`Be(;q(}_MznC#WkRWN?O}lp_ zN~MlcWyEQpc>F?I*^KEA=fuj73UC(*uM#N<^-$H+UZdM?j>m1=@3*X`iJ6iLSWu>= zstIXSPoT4Bm1I)7*8X?3-EFvO%`eVzm3=Ez8!tCHnZ{{z1guV*Ba8dIFQ(ABlZ*Rb zX_zDSH`tD6OzQ(dxMxdTkNtcU+&u|ISeuav1EAI#0WXycf(5O0iDEYyaY8tz0EZ)u z)^%!V3g2KD36|JZgOa;nRuxCoydxfuR;g3wf? z%Rjo6~a460ksu{DpGfDt4jon8*F~sfnA70?^ssLCv8ps3V*fTWf?^nHY zeIBkXl;K(gzlm)P^qsg;jUpsC~v!q zV$ngNi;USj$A1s0_V3&c&T{}IXz=OD$|OY(%FN>Hlc>zIl6q)# z9RgQJ@A*dc#RawZRqhn=oh9E_)J<=cbMfkXE{UFO4fuo2aC7E9<9<&Fb!yLQn%7TH z7OtvjeCipR3+JAS08H&9z>-}JbE7r>m5~58d<1C7d_Wv#Q#eodHaBJ0H-+&rj--?! zzX{p5z)W1Px%;ZRVYf$Z0J(!+NyxWYgMe}qXu=cQVa#Z3bZ6Cd}10Dxvtf%5wM?(DpbCJ$^Wbvoqe}KXNg3+Im zFT64X)SuUrjo@GH$5kmk>xL^g4h*JQc?@Rud}~yXHcZVbsK4O|Bv@1Xlx(Q|kVn8T z(xYz?6Eqi#MP9SN8pq%jyN021XdJ&jyMULQfgY!QaTUhY`j&bIcS%)ZCF4sm_zX98 zN+g-Pe_f5GnQM`llnk}3SWF1H1vzmN{~%mq2(!fcF}?eDbcSKrt$FmMOm&P`!1h__ zNF-1srUVSvfG^c^7Pl^f9lBdq|QsOs;iUEuQI|%9d5x~ z9yn3D-c#$-RL=Vt-t*xSY=}Nj`>)2uI~bBg=r@+@#ZF(8dnU53K{s^>PEM zLCIbh%WFJU2+`yV@Rh9$__TK1#G{)kT>ACZT=cH1*+ZIaBwY?Wt}cg5GxN_%mipKj!0Gq2 z2PZAp3V5yoN1jNdmjj*{3n?M~0(+hj7J2Jz8xJ?EmBbjo2y$YpJmJ^(TK=kH8wXu{ zNL=u*CR$_59ukX^`}Gwd#^BUhGP8m5d)#9rs?=PtXxL7oT}RhO)Rdr;6dIcHEk3dE zb>@Pj!^$PQK4*`F9xF4b^xDlD@}SZ(Sd3qajglQ2Ef6_4 zU(wZCt!d_03=rTlEv|I#NtYpLZ z?r&A@RkEjz+uRqEN(l{Sh$qj28Fc&%ru*-LWC9EixyvRFT?Avy4=Z0}D=rR2AF3Px z<#|_$#|wO)?Y7Udg9OA8@>BRF-BalgX)*=W#m10`^WpklIN-7xZ5?lmc!ioSJS>0u z%4ORDN}XRa|Im)DAjcykHC)N=<2BlAvmVOm`-bDcx z9!gl~gegLW>t+ZU0SHF5;l;tCwNegojpnTm{H1oj`9<9G>Lu;~)%Uqip=3C_^F zJi{t+r?(TwRRJGj2fKBWeuu-0FDn3AvDFChhEoW@>lnn1Slh$pgXEgry#p5hDfiJeKv$W8%ujO(^|%6!IPqQC?&oaK=hKTr}`Hnb85U{;w`V6R-TP#nWll%`uc`{sa0Ke}!9+>HI5@gN**(InyOJTU{scjnkIUh3h z{xi`SrJN*iH{qo>aAn*t!~)-q4#L%tg@MPY zjj2#?a_g#0#qT53%Vc}tGV1^-0Bk%ihj7jEuD(NdMfMSCl=!}F!!)8sH}d%+_@$K8YX7RhYXxVyImn>VUyUbRES&Pf z0%oo(W2>vd(2$qYhT`ejR5neFm-_7vS-*kf%;GOJm05SodMuYLSz1=JWD7zzwFYr& z=pqIfZm;japBvZ>#Y9#A7#K6h?&C8jFB1WcDMqZJTT|BmDP3X#O_oH?xIrXyQ6D8U zhZCJ40$|*66e)vU@T!({Y7kF7qWz22Lpp5*O+jhd<|F;Mz7sXq<}^)6usjsuE=Zo* z=AJ}^Wo`j@wQflZR7#pK@F=@qmXz`_sdiQ}DdiW1mxUM0ze?&RZeD5YmPSkESH2`- zw=PqtR~D3#MIQ?`p4-}|cfqmEos(6j-ufJx8|Nez=v-WWm;tGzD^=ZjW{()(jh38f zXt%JDCc|DZDRCVQrh*s z8-{*qsD#A?$tFXEB^m=jve9!?t(9qfjVJOpEe5?TAzhl0&G7^xZeTp!lOz>wAg^S+ z8urvzOIp#hRg~0w`IY}^XMj`LBnl3|>~zvl=7^>&mo6WpS)O53Q1T_boN+y@VWC-O zcPsu=BSC+Hkx}6hdO_9>G<#oPC8=dJ#(Hp9MM8?_H}qK(I1TG)1O(1MU@jst3|y2$ z+T9jaf(i@N{4m(WnL~*k(2!YP_Ajk$AisU#sw2#*!g)u> z&0*Y?Nsb%^%y2PKx|*@sTE!lbv%gnih1*)5J?0Z54z#{qzW;5BX=bed15z$Y6pXBRo7fLG{U%95mU2g(9poAoj+J16f?0P1pi5!0M@0@4oMKd zxEhaR`A(u))8rR9)5K{?r%ObDe!8Wp${v}nyG{=(p=Zn-bdeGnOHS^KRt|AZ+Kks| zM(nFcv)$gP6JrzJnnBOm|s&Hj4s&AH`%emHD-l6AEG2Io+v|P@| z5+?R}Y;RI;@8R@zRwDADbc^xVbb>Ew|MuDaWEmZ@;>5|c4SuiO_hW&Jf{ zM;Xc?yOa;wsA}t&`E(oRg);?uBZYziax}x`S#dw?LM%nJI5sc6&-(i+WVH%yclHrI zVaTko>}?~zxN_qsjh0zM5S_EB!20cUEWf#y${)p&DPRdby@pDjd=$)lO10G%Wa-2y zl(=TPxa@4pK)7Yqywdyy)`7+ncjPB21REd0W$2EsKe{uj^{={M+W*8{y1k}FKs<6) z-4Ef4bI@=!7<+tYV@3ZAfa$+c=;PdoLOj2cz%`P{dYzsp*|oKfIJw-$2sgn&1Pw^; z5kPk=zi)?Z;CGjQIW&Hd3{|NbBiKtwb;6NQ>d=R#Zha(3-4R&*3QzTH^P&Dl0B6FH z6OwFHOj{;HLP(iNV&uOk+*=VkU!(s*HTKSWA?(&E&awV@xv-3Sg|+ti^B2t=1zMn{ zFku?wE*egtjap*AKh*~5QPTZ}4n2Pzdp|`hz;CH%x<{7VPMv1zuKn~MIZoEUEHxGw zP@FS!n!Q;|N1DC^2>JWDOY-jh1-9P|KzX2g3zhN>l}rs!KDg@)2U9C7H3|C7W+~~A zM9c}xLP-#ZhTxy6X!pf%LP^fg5j%m6Fs>I&87chIB%nm+{a~1~)ik8CW~{O^)St6( z@oJEyTftT)Ln25?-ka>uK#iI>A|kNpDJSrwP@>gJBBiEyy&z5J=T8-?qhf@#G0W9B zSd@=~r;y8Ooy`ma*wI2VSHF5sDHlZ2Pib9z&W0>d-=oyV;{7=vj& z($ieV13#lkKPziCU4(+O3Z}q$0DaD$eO#WFf+;+9Hm8KOC%B6|sad{X zJr&{77Vx>n}i84qrdUjDObsJVq z?KB-D-BS0(TqaBY%O(%0`|p9E429X6EMu?MQ7dC3o1x2SIIK@(2Iw{e5c6_G;@D&b z0|(PG80O9yE{orYDB_H_-wUvnO7XqF>+Y-mPFh(=0GD2bWum22%o9QX<=*l$et5G? zVsy6Jmpg!$@SaOAjXMf7B`0^V3e(LnTJ>m2kEkm7@+?(3rf;5`qBNk=#6^Z4Tr#Q( z6`8e~1_`>>z-E3DKJe2}H}$4}f@ za{Rseby%C@6lr+yQ?!~n!I#k{734@!SHZp(tmDD{iVk!WmWI~ATF|UOXvJ-V8Yci} zNbzxt!HTJ{4-N9-fE3<|+8+U?q{O3>-;yj~?_S)Kkf(&!B5u*YO;R%%u!Z9iI_p;w zxf`7OQ6~hHEBGg0k$+?}a!+!a_cG{HdH{!B0jQQ3Iq|0*4&WKu(q%4;Wq`aDWf{qpyPMZ`2ZK!5!%!bM(<+Tctg3@)%Ru0->z ziB7NKMPS$~*^4B}NfdHH>RK&s+NKqCo#NU`@roo2Er!hDPB|p`J}Wabs0} zLQ<5rYO=QNus-_Y1`Tul%9@kMWH`Bc#zH9QL2KE7y)eQSO7z&DF zOe|TV#XoLlm48Wd8g>}8H6Ik~Bq~R`H$d5qf1w~m#$qrkfxVn7wWrzEPU|iS9l3M1 zi9d*AuLr>rt~fkVCET3VjhBad1LZ+JUd2(R3>aVagVH=lote|IUJgy8jPvd1!)hk_ z0}U`XL;o1_4~XFl2ZF(72rsxGdUkWTiuX?~M>wGL)5jMC z4+^Mt^*^=&*DX4WzQYJ``_X5gf9licimNn=JrsJkdDy$>IyZ=AELT_`M(fLT4yjBm zMd43x=RvZnu;3|kvCmq3=YRAhKG|D2Tm zGBpMmb8`soK3X6Ie6& z(320iO90fDKWc=-d5z=~5wDNZ!iGBb=GKA)1F8^dE`de1!+6}QTA)3>&_pf?d1Zjk z!Ee?t9BNV)H!&P%)Ys)0q#*F!L+N~ege+o#T>%;9B#r(!3kdHT1^%fL`%8)vVS<6Q zfFqiZ&GiYITM^d0S4J`7n*iP7yLiY)-;H>9w>=XBfe*GI!t#+vEoPeJMKeNkQ>x_r z^9@+~?FDWL{&@!e^{@N~Am!>@mmW~rmKMHAG4>iH-2IbsvF-3jb26EilI$dHrKx+8UvgPB_TORu1=7Scx3Eb%;7bD}OD zkNJPGB0V5NT*8vF6#_mO`fBf&a~feUc6!$bJg;n!Yh5dY*;OU9_(4?TY+I(p95dm@ zSghn;e@@cn`S^#k<+t9A<;K#p1%M|BbzRo+;aW^|8_a{A3{g4rm&-W4^^tqniI^E9 z0bw(f=RjL)5jHE6J*RSy!rN7aCr6R=M+)nmu6Smf@%Nyu@3W4ERP-j^j9`Zd5%YEz0da9#jpRi+otXWw)JUVRUgJt^@n$WUud4c-I925T4(6D+sWI0I=meQoZnoKgKA? zNob?&40rJ5&ZS0M&m^5Hzui4XC$2apg||ZIMBrqsJ&*)CFJ}MyMq`0P$l|nC8pw>o zg1rwxF+UTYTY>6hZACN2YbPWHy2SSU9D}HX z%C#pye{jIg1ruI;AQz7oQ8Xlqfc8m*4W2efieYO}U(74=!DIT<3{S9=Q~674t6`}A z7gu_J?tnt2v{M_Oo?f@RjyoZ!O-dcSC%Aw88rs{>)1}CYK=}7ylzFb})^mUUfpAWX z`#)Y$s8bZWtqi^KK1ov)!W0J|_CgaC|Gq(muErZr^WTJq$Hr6u)9@(xsNHpbnXLtk z=I8zmW{+n${jF0vZOZBI8nH!so7O?9D|GA`v=qY_Z&^w=@J}mXoi{huPoeR#1eknWuBz1I5VdK?Gu@UVtd-tYa@yNN@pM2%-o^ZbY9VN&qwt5!KAXOmusSO zaid(t+$mv_$xrP}PRvSu0}b?Xj?FIVefELyxA50JL_ z^e50XgoqxcC5TS6_g?bCAqTbVuFGJSC9zOA1Hag3yW+Z)3bCqgdD_A9c=HjSv5Xm@ zo5ahmYTSK&viTze?z$&_7&1*_I5Ml7cFp_Mt{Ese2nU#VrpnatwSzc@hSL?`uFLQfbt7;3x51I7$^TOn$CT+5T@g zkno;Rj&D=me^GJ*b!g`^6Isg6i=u~CViY}tw&Me~fa_*Rz;*TpY0xj9_@bgBINIFz zR)c+Ko3EK1r|*0}v@wvT1wT%SExA+ElO;m~omFNNr8TO!jp&}QF49FA33VNl48(nq zuoPKT zhFmiY{M0{QVxY&$^>}q?HR(uOn%}coC<}b`K{`D5a8e-;>VQc;Td}l6bPs}>lq~(| zs`)8(35T-ak;t3tOx|JYn#IGyTEx06z{WY(fDhWdf$sao(EGRxZxEAAQ$-s*qkEWwA`GXr$b=*TZ(f&iQ@Vsa ziZU77=^i29`Gq$tDqlCJ>W=}%+8tKylV)fVIg_Qb?#@qtW&REz6yKRmssZEt0EJef zTw>ModVQ+>^6SFJZcWJL?Ox$Ln_;tpLH^PMEBw$0m*d|7u$UPJO_8G3CAmC%*~Y)x z+<^jHi0ko^K+aKd5Cg}mUBd!IhAoc0d^z(x^~ zZ{~Z_?A|K`RtGdz$>{Y@9ESUp_@F)3TpGH~-KMk=w>HkU&a?aCXH|q3n`h}!RloOs zTG+iUcv9@5V)F*R^u`XpXH&bUz;z;+y>3||Jtx`_;KcsE2p!^XKA6MI{I&RJoa01B z`zr#Yj9ZYfvirJg<=^fNX)jD@udGyT{kX&x08>_>X=s>3znuoq|KM`aAcvl-yqh^%sG} zk))j_)3fBMgJlH|oiGT62H3Cxxk%Snx*_!}`1_-?iWj;uckOu&pO6)2GTD(4{Yu=V zDsiboaJut74Ux+I*>20gaL?-o}^i{|=R;e+Z9pMinuXVivpS0SMon-7gvEz&u zTnqGE(XFiOXE${l=YGvm>2J;w{_+#X2bp+BjWMH*fWQ1vtZuFOP&*h{H3 z9YeD@n9;PpNR^?W$+es=^8a2`m(sprk{HX+`3Qn$gm!n=XgD)7Z92f8N4|T{TVX5O zdW*}W={~c1b&xummai+;b?5|wqLGATj?-t@0^~5buNV((rTMe1aF{LBlQS>0f=4wy zQ9f?SwOopSmx zB#kAF&!LEnegB(4k*=pd;2kNF^No1ooPw$qoCN0nE;FvyORl-(`yT&mgM-2kRp1*L z#Cf$iPtDmMPK$K7@$eQu)~OciGpHBL3|YadcOPnhUIM6r(~$r|rwKUgfk8(>g!tdu zwbb#UJV%lE)eC1}Ir^ zqDOhuLuwcx$RlA&b#!!`@80(QQIHQITk636Q#ZHtEFgee!X}2t$KIw zXAFKJhlwMva?%7qV?+g~PlMTuDse0v+4LYe6U3%q>4QVwO)FQr4sM@_<)TRmx}PQc zm3$Ki7e_mwGc=pLJ0}$Z{~BQ=Fmmn{;3cMYK(alZXsBTSCwfYXUmf+tTTsb$N(}n* zpatO$NumkoEij83JGEp2A29+PV#|?z^rK z`CYgzdls;L`d5h{2$gs8PbQp%pscJcEUeerN^Lw;I!rdkZ@BMI(PqF58x6>EPQ(LO zi|J}hjh)&?!j{NLwQ7hXS`w!weT*A}U)L7N*C*2Irwe?FO;gAmlEpiA+zi_*bd*r+ zwGyr`?uo+a?Tn+0??{h9&lGEPs{N!#(YA^hzh}18XAjUuyDr5Hy=}w_9D6K~OO3p% zTiG~?6(7#yD%NQxbwsBDsSg_z>HOZj113EhdUbiUxdo;2YOSNl_N546&P?nOc}lv3 zCIZ(c{o}&lL=mi9l1wZ^r6X65@Qog72|8(hbPO{_?p&^Tb|W0h)!5t-8qykqwbd9S z*@zvxmHI0sEhKu*uKE&9{unw^#YqmBdSHX;!T=R6Qy8X+^b;be6(s14NhLN;u=x( zwCNuo{=)VN|HcDNuT}(Hv^q4}>j_D4*0Dt3P^br+qB3ki>Ahws&-ZT<6;Fi~gXbji z+T0)Tvy-t-v)fbQtOUn6IgZuWjd7eI0=Fm(KO^e^bR!T?WquAk!=gfXjLOmH-fZYa zm>!-28j&&th8Ed;m*b>1A;L<|vXHYm&cI&$o#MnXAV=W%X1%kI0JdDCm`#<+!j6^o zMX?c_%<|e2G`zH#nN7!W6yI-VSDgVo!u3E%$7=mSn7C}Px_tE;>54`E4NXUTyLSAo zs)=1z$|6ooC799QEclsK82jtOblxI+gFX8y?U+PCrT8!29@GnCry)0TBj-Cm+l~LV z*;||{Z%TzsC2rh@=Qy5_KL6mPA;rO_B>cV7wnmI%rWEk7(>a6ykt0qh1-g21dQ&}h zVg|+y=E(W25Swb;6Y|iw`ymy)DcfZNe=L01|n0UX!5yjfy0dU+MwvwT%?OsJXX_!Vd z6rzS%i6(TIKe?u4!z8%1ch?z6cIR?cr{U@HGjX`~aPo6#?nPJVh0#5W#UJR-WXUE! z*f^8lYZFUF9sNlf%gkZYXM=#DqlB`cB?XXeO1K))35&p@IE_>M#xDLx3JL0JNhvqA zf5Of1j4|=v*^H$FicblFD>jR$gw`p`<4=ntf~1riJ;Pqdlo~@5dTmHrUg=yjub@-# zq)S5R2wjw;pUuw6r>h&~ASbKE^OZEYB+CAEO_16<%w{n|N?Aw$B*6n4E$z z7m?jYuYXxTc71HOQY}=;O|mpa)+73clSA?0A2^ZmzpauP1}NkhYqXrf4!3udmOqe_ z2RLJFM!60A^C47I?2RY9MLZw*WnVJ(LUa-m00o-qXrz?N3hlM3z8qZsdRsCUR+;jq zbbAS##9f=4s=c~t|0trt*7O84Ovx|atoSocTq)Mr8eW7Nc|&MI%=tlp6KwHs7Jx`- zne&NNv`6s3_W*bkLqA3howjj4!k>q__Jz|t!6ejE-q#M}UKd;BF{nf_jpU<=GL7ci zYxH!&6n~J!km4<#9HD||@0Z%E`{8yc3vp~K&QJgG*%Kn0KtD*FPpRMy5aNcAt0ld) zUwaAdx9^Q6J?<->;Mtrp>%j!L1X4k2^XKJ-NYMhD(R3!t4v(Yh!nt3{++dl2UIxOz zYgcf6K5^0d9ceLW;i?SJ7_p<-ls!X;DXZ@ojVEkuvz}vO^o?T+w z@Tk9VDM}sOv}vZ}8FnbX4O|G%J5>~nCsObVOPh%)C4UWTUyrf{Z(@NGWvzmPgIRP) zw3%5-xySL-PE6~SLx!H@OA^POgQYrSgFQ?}@KA|AC+AU-?ON<>I|#TPGjJr#Rx zWmeg1Mq7v2!HF#+Lrjv#Q>8iC*9VvWlLV>?y|#e;KT3uoEc!=(8gW}buo+$+uKwfK zU-~Z#sEcfWF{tLVLK`Q1i~)i5{LMV=C!A+C)@xv)6ORJB`I>ug?U|n_o)c4`*bYa3 z8@Jd41jN5FW=6uI=|;G}6rI{RxMwC-TKzA0J=qJ#4o7HnzTxLp-K7)Q_%}3zTMnp*odL(a(%b#H#nmY#xzAo< zbFsndYOX%WQ$bZdUre-+EDH?gFA=(v`fQ5j@F#Ah`uXLmcq1>pZe64$-L0BZ)CAd; z48}A3r`rz%`DE~L0{^PM+IS3|wxadub=Y;5Ne(k73cQiDo%68qjS_K`1N zg;7cORE%}j#n$QkF}#PTX0R%w@+UPgoj54xM|S-7UeEKG8*ZZAXj}>Va}&sqaK&FT zy!uyjPgs}@cKdh_-r1L}e;1L*S5w!AQ0E}OKDY&@5Z`D9hFuC0y2iNwSmr)Xvz35s zI6I~s02H!?7?I)VVxDXQl9i#XW3nt5PeIp^Z$F8>U2OR4nRc8>M->@4D&1!`8D)tF z&NI)Eykow{evW%(WtY%*Rll0TXLt(1gaPru1f$%WjaDzL0wq@yN6E-`!%=qYNi1M3 zc>}!8xJTP?{@+V$L$n3hcGutn?E3m;vU%%q;(uKI$^Qr^{)eCTL|*(0k**bi8iY{K zer)i!QZxH?ezAYzD~G8(J2xp76I-|UO`QLVK}(N7$qZ|s13pO=&*M}p>nq9QOmX1Z zG~~+I`RwT}@%DD%U~{*QHmvwbmxG*=IDB7vr2&hw5l_q*Id_zM8n5rxNF75Y$4cqs z#)FfVRXMowhDxao;Zue5Z#D86++a2yIq^7Oy}pAAJ~sVSvd!3qCgLC^eo34(F^$SJ z$Ec#380xRM6nfj=d&&HB-yo=T=J!K)K6}Hh8@hUMXNw|+?-pR5yvtXJ<4>wq`2HJ8 zH!a5YlE-SdaK75jGsFpwFmEyey)XsP4@OYr%_i{RQ2ghfxe{ZmWJbyymSp z9L|;B+;Ru0oLRd%O-HYcN2r)OAwpJDX_ILXA_%%7Q3-Zfmm1OX98b zh#NK&ItBf=wMWVMq6Q36B=CCq?^sTOF*}1(ybhvnGkA$FM<~}Toqhhbs^q!(08 z;s%et=IGt$FOxr5Q(IU9kgVZKF`6a!5VJtWESNWv0!sE#oAMA;^C`nkUh4(P)SDyl z#4ydoEHFfBheyEzFkl7Zhz-OCjxQ|T=A$>;SSL%a>KkKn(dwvK#1 zMSr|`F6*bT6_cpNV|6%KC(l@Ywpo}$n%C1DNiljn5zj`(#>G64$lxP3i&r>GPx7*Zg$rAxb4Sa;tv^SsD-e@aHKNx>ymM-lZlQFY!HD_#% z#%o#07)?Qks1CPFfWbffKKf^UA7eI}r3ooT$`f13pO9W4eT$qj?p8}7(o>&3YG0~^ z2=HReGn0Rrou7>jM3PPbS#>b{e52%2m4hpOkoV69GyZSo!Gi&z6z5Ak?ewIt6d~eS zemE*NraoB|B@S6o0wkvXJrjbQ+-IAJ1wJ z53-&hgk9v4Jaj_~I8Fb8?1^r1csogGn)o=?oO6bqewDR&P*qP>KES2kXMS{jc>Vj% z8Qz)=c~dkTKIulFrubn%lj3LFh)s$b#u4U#3auE|Qg4vQmC$ye{QeKS(|nr6>Dd~O z5m=4E8=dV8G~5G^3UyrZ)(X@0Mca<*y2cFda{Prj z@z0_HM2@$K-f6~rQ7@&eSHYA#ZuHylcgTGno$|K&K6{N04qAXi;_w(d(`tFI)8iEF zTbKv3cqQn`Qri>f$BQSfO!Kse=!+yp7lmb5v&YL~vc}Jd1I9DsX6XJZ5`>=lu zEpXSY3$DXmp9rMjn)VF&`)EMwn)22Qm(e2ke$`#gO)$w@O@%E+jBPbz>D33NlBsxm z?F!c0KO!st?$=&_bupFHZwwgvBMOY|J0rWgs^fD=w3dqEHI08~X7V21-nEg2b-O0b zrl{d3`mKm=tVs!7Btk)zOo-nld;zfdVM?YlDg4VHd+=Cz=NIF8a)yO^=BPT>`4WgI ztg%(LU&PSP7TrHv%fH#~u2Zy_fE=fYUZSPk)x*+iT!GLNqaolV`+y=+zm9tJu zb4CHB!i#!6hwqv*thx8@jwW0ZQ@p=i5#kXUElH><5Q>bFprI>E^eg2U>Od8-^~(2I zu&NsL3CSAuFq|OCMDmJHn)~-2`bl3K%#qm^NC3hv>`WRQ%)|h#qGv!c2DOJ3PP5#Q zbgG+PE5>q>&&97oo>A3>VKg47-sxj zoU$`%RlfAHye&c(OA4^*z@3yX7ED?fuMf?D{M!c!bb$o0anO-2!EAO^j9!>u!$Sp{ z?dGQuF1FJ8Nn4`1vC-}4K~+J;7fT5%P6C%R1j02FhQ!`Q%AiB}D&2SU@`2~umFsmo z9IpWm2X>5Kbv1ODq=8aW^_Z?a^fQndn}0GWy*~F?GyOlNzJjZ+ZD|&FcW2`pcXxMB za1ZWIaChH0!JVMN2`<51g9J!$cel6Cy*b~zzhI5gJ!f@wSIyPNsZ3zR?cm-LSQJ@S z49bIv(;;Bf`GCwN!`tO5L*{=M$90d>cO+uiNhn?kjPKK?Tk^i1 z($W!yG?0szWp91q>glCY+JQ zctc_yww@j(l{o@o`ks=4Gkzj$3uCHr#&nkQE41h5g8G1UXP)g`9ez|cT-O5}|3Lq7<-;!ASYvBV9X_{o z`?Sf2^U&C!F975x-O_xWF(q{HGpb-}yD7r|{-4f`+WA{Akj8xLKycrSW0i_q&Ao}n zezk`Wt3HHyw&_d##Y|;|(5-8+eLy2(cG}H=O-=06&=9Y~YfFt=4R=IH(Org@zrbSp zN3nS`Kp4C9;#|GRD4x?GYlims-H0FFuDCDimc1pvCa;k$F4tB>mx&DoJz&im9v9)f zZw`GPCYhuc?%$_3d?7|Xat{jw_YcoTA^EYW#n|XDQsrVO`vA$58I;>N-L&9M8%W|fpf4qkp}!|&qz&NaOAMa$M5q&^mm zDBX6y8e_)}0ko7itu_L&x(F#L_^{wtLZKX{T`t9#^azg6Ce$C?s!>x`l1L6&M>Kmx zD4YV4KyT5s>-tIp2-n^!VaGpS_bVx6)Y*!MDzc#8enQH}W!t22$)GkB2nR<~#9oqu zr4+0*%m77`<;yX6 zx58TTAaVY_l3$b?6&1f;VZ%hJ+to0rVS%U=kCCc35OOsGozh3}H6G;WW=H-Vaj=nF z{Lg@koQR%TiogD(3doO|PgL1rSG3paxZ{Fxox2w6GT~n0E9vf>3yV@K}-e}qh3j84cjo#3nXsY zF7Km4!u7HOrPVRcSG8Cya zB&-Hd;~P-vjxYeo#0TNnquT-%SoHQXI-GQw^=l)lm@*fi`9Eq6kTVh^G!a)SE6n@I z)Q}T-P%Z?1W(qpE-JV;aX}B!Pv^QFYa*%HN1W$mxbU#zTq(A^o%pbGurrQ}Y0Ia@G zMA_Nt>XKi1T|(q%k1$cb_>nc;mr2$wN8aWTy57~S%u^FW@_fV`08r|+G^FZy&mPV zQ&|fm)7uPcq)QT;waG7%ad8mMjxS*jQiS`$Vyb&BF!K5Osx^^31w8?`5EI3M(BLu| zF#@l=(TpXh7LiT)#YIlNJTPI8+R8ld%d<2k!FB_ltks&0h|HvYAt|!+^-75p2F&r$ zxc<(DzK{8_1?IwZHW6B7++&WVhS>sg4)~}Eag`(Fc)`d$ut!aIM3=najRho%|-_WSvNri8;Zl=E#jvB`>x1rj$s{@hh7D z&(Myw2Zx@CQTP3C7jF-DsDJ>uKXALPzx7iwe=ds+EIMj>CbXz3QZ}&ObKgzzoN-{q zs@}wpY|r48E?LKP*v5b0Hq?Y>TU2U3TB_z7mq-{8(ch}O(|AyMg@&10g}H}51;|Hd zEr#VZ$&7)dA(K-wnO`V{kZW{D|iT~bLuvu9u*xI<^FC-Ff7 zgH~rY_$OBbdYP&j4oNu-1%hk3%nJ6WGJuf(oPN^s9r_sYGu*CRoht3TIM5_$RZ@^( ztIt)0@i<*-=WW_!l$5tgp7Ax-^{Oe}%E{93BLN|>p3io;s1E9Ary;=mSj;HT#|C4y z$R>-4M-gt>f5vuq73$(`Wd|M(L819JhNb=XyJx#A^oS-W61-HP(99;o(|&e!n4O&Y z4rJ(wC|9tUUY8E`lD1eqJr8}^MPv!^{Hr+j{#1^?g&B@CH};X6ut${oJl&9ml#d|0 z-uSi1<8KDjQ;mGTx9p0SGyDuwsdX4CwxTnx$(`)bWu_0{gB1He2T3d0n0R`BXE;A$ z1nq%XI7&=XMiZ-XJ9&9BV4UuWUx6BOe1~GFWLgDOus%hA89>a1NjRFDy!mSoxTeG5 z(p@&j4iPPnhdFg`1z?IMZPu6Hni~c}GtO3TOjY^>4Ced)JT7&dTs3q(ZrR zn1Y{W-{!J$`L+U#P+*{%$wXj+F-skx=U>g-%;(H%1{GO_=iyyE*Q}sRf6+ILKQSGYtfm=*+VTKV$l(p84=n&_!T|ZzM+DJ_ec7auWPtz0|?! z3%g?bMxHjl#63!?FR*(@tY2V0z+#=3hzV&9AtIF#g5qcjtwvg zyqd`De4P!uQSD!4CCKo@*l{4Zh6z4^cR8Gvj{QZ5*iTz~UU$g|E_`4~1?)@>T$w9X)rUYtseyap0t1Vh#-NaEt zEn(F){BdvNxr5YhsrTn(krjCIvKvJK*bI0j>guW#;<_Wd#m71Kud#M}xlSSXSi@%g z@^-bOF5Vca&s!2(YgHL?3(`ow`nD?ng(DMoih8vub+fNK2WC%}lbv`p(pE#Vbvz%UzR|EbfOXTr5we#UAiR4H*iglG*eneLM zVG{+k{z(|2Hc5e+Y;=6=j15ZAV`RX~Q_(H%drlHFd(_7zK(~?sO{G!UppN=oXuY57 za}>!D6=ZH?+yK=}utW>u@YXXnj0I%bK8QTj!a#wn?Ha57bZEDs6Z@L2tKK-^C!L5+ z35Abtj2V$EnNU_n{yEg>^IKS)#V3HYIy(L0tzg3r&{gIA zteD>YO($Mm#T3pgb^AinxS1cL2a+(OYI%RhcXI>iV3JDc7tMGnNt0ois{*cTvDyE^ zkv0s|;h}YC48_)lMC$cEW?b}Y;z9_@A4p}eglf~4W`SIR3SN6V9r8!EShjuB4cXZ1#bLRbQ zjO+o=fxE<`%VWw%t>#}0!a!i6HcJfxV-SY%7tZVwFb2Wo^EeW~$PsIlW6^FSNZi~7 zm%Lm&8o>}raNU^UxIz?F5FZAy-rh-O*Qpd;sNsRvVluMxp>JGY{!VW8*Tu3Ri0qb( zw-MOaPD*!H;i-!rZ8`4PbzA0^3~)EcX_-t9OT)-!|C}U$g6)x6YA<;dPfb5v;n|0K zfh|U}TB`nWXaXWKB~;qma+vOFeH`8b#q#=cudUknn^d}c)4^VP^`Z12-sr z@_74dg_+TO(bWg`cJwkup5Ohm4y_El`SvPW`_Y_58{Fgv;Af)GsNSP_S!^~;a~Q?F z0MzHl6e?J-&>))Zg}!gjhMUI3Ej=4?kL86&aE+j}zD4EqWEQwH{%?-#8z%LyE}A@s!ChiG+HErmFr%b6TX zXCq8!IUx~~%j&_%$3lCp4VjWBSyhzL-{uOmh0+TBvD7xg^A7WUx^J2rb%w7XKk!_BREhd)A}Czl#`?+zTT#!qHj zOr2g2tJ!nk4@XTum8qVp(T=`HBrw}dIG#v1DMW>Kydx7BV{!c5xomr8SWbvhIx#Uq!mD3W-|uB*cP>mI zvWraR@k2qS6AlyCgw&(rFm%>p4L{{0Sju`d8Wr@%`Z7;uNBN~;x?>2WGtwKm!|2z3 zhXsF&ab``56oeG5|L*6Z^0t%Q9Hpc>?^BMtj~>1O zrlg%7?|37#f?IA)HBy;ZMCB&Yl6(7{x|H+65j4=ux(ZiG*B+K<3r!yDr=K0q;hWv> z0h!p`pN$EW#ES8WJCOD7K8Ezq!=B4?d*&h4P8giwo_lrSgxmc1IJ5Oi$JntumJal* zp6f_x#3MVdNn7Tk|A+n*AaIF5Atw{id{s!`dGo6BfmMjnqAGg)5eFf0LGT#tss{JQ zBPx=d(er4L-+AkThUbqNJ>V#uFYSlWCeEni5RL^9u}0Avx9!})Fe_EqgQzU}AU7!{ z3v!K_SnI(xNn#%?qlYntkBFze<&VxD3xK0S3JS8%PI3}y5^phBjp>yIsE8l%nC77* ze8|n21zIE#HTOjv*ez%j8Hm#LW($D^2jB)xQJ^K2z5l+cH?hZ2O3`V>OM3IR8JHOK}n2X*N8)Hh%nUz^7zuP$0x z9w*W!v3?Ll;aWtg5A2!ACD@r^5uWPeIdjzRFwIQFKb4>RaWQ~5)+h0bFpYfRL32&B z3u1&}8nn^1Rl}Q0+HX*_W3^E5PFGb;=w`MhYE#-)pt;e%W7oqXsI2@l{Ge;Hjob|R z*ksVm!}xwCSXBy5kc6^Z{ZO8MqI=l+mIba;_J3P_6L7ymdnY%POilCnKrSjm&x%50 z-elhGkU#AgvC4Bc*>Yo_i*MG{v`iQ>nV{Sdzjvj-mc2Wbr?s-QXvrmy$UwfapH0xb zL%zQ+!b>cFsM66&t6%P3={NF+Oz98)i26zD4dc_?MH_ozxjyt-#%cM|-k`79xpe!y z0Nq{QQu_&g3$+uo0c(Qnj^~5_tCd|k!9B94!(d1<>#3hGsjbXkf-?)KSBqAMs@^#$ zdd!Xn6~*ow9Vu8wLafJR-v@RpYRE_Aj276 z^H9OOCf+>zwAHVl(A4q9c@+l4Zr%2g&m={Sog$<5X8bk3T-QHx@Fz?)ptxP|gdBN& z4)WTBPj{3=9)qTaf%OvZOP@omO|XX1jN5 zRXvKp8QIS=;yy%)^M)#KVzI&^x$x%I4lQnp?Mc9FR|XHG-6ye+jMO;m2^t!Q|c#y$~h|wp3eRizP(fFxLxPZQK1m1 z6JiuJ+C~c$UQVa!zK-UdpQj>EfX`;NQs3C^I(X6Keu2oI^ZEI)Qfa8vGyDq)5qI;? z2-1fGglS*5O{p3mFb)kHG@b9$!d2%~bbEvtlmXnb*t-1dUqC4X^e{S5W#$5=8b&wa zC3NYa&5m;Y76+RYU=y9qt`VLGpD+vTC`<6Z)L=9}dSFR-l6k>h$GMJCz}2zpZjCAk zp$OUGqY9RJMgA4;E{*%vPwNJFZ4MC>g-6W+Q--NJIK(K~;f0{r5>SPA7lQ1=^==cbb9l7Nk762yX3&IH@Dl!M!{*h|H&~V)%)LJT`YcZxJn$BH#p1p&;Mk3LooM|kkTZKYs7-j z(o|u(^>WZ$J#TfERrGnXAnplsQYffbctHq;!h0%OeIO!TPMrm}2ys{XDqQ)EI)n^% zr*Lg)Bz=4U%cFm>5f3X|n&c#sGM<94rpeouFjA+UUq7jqlUXMyW#h8wuB7v2%H>c|Yzna{#12i- zj*Y^&yIu3FyV7t;47o+Xr44LBDqaXc9r>`zD(mBR<&{V-+glCA1XZjdwsUXhf)oaf zwpYp^U#PXt{qBZ4hf2N<>aQ@44|a?vGs6K&iA~^tK|838+dkQq(!?MWbDHJfpAN&d3M0pq?%XJ=AYLGds;-z=c}}h}THGUs@vGQIUWNadrGWhpb6-BafT=md z#EO;DWo5!q^#IDCXgNS;ymcUl05GO()9iILcqunyNkfbHI2C%lyH_Pp0xkZvfGgHF z6-P9u4K9hxhUnGg*sk; zXu3Jsbe00VJ*>(GR>s~Rn>QEHad}FPOIc0YGb)l$4?b0+^2c}73tpd1kY{n9oPOp~c&q)^zN)N-&PUxA}Tfk*^G`Nv(>5hE=X7twG(7)%3}`gCVyvp2gSeJlAff za!(eQJ^!B}2sh}=1By^w(rbnMw$bXf;jN>4Rz!+*f7u)p8Vpf50nI9y%}sf!$j=V7 zYYWVK%RsO$?+7)r-IkpzVtME1D2;Bj-t=uA;55lS29U9p+Rqv+ZTep-A&G-+1T09Y_%24K4X|L*zMy=Q zBZRr42TliAFN#Eu+)SSmrHs;BFO<>l{z;=~e{LjoU7oz~jX}6g8@zq~O}a?O+MSz% ze|Izf77BeKNtBw$1KxWz%+db1iiR!60R2LR!2z8H{BTgl;Q}h^7kIZAhGm$6of~mZGi!C2REv>iDRBp za_?M|r$ZE^RnfDJ?Ev0nD?~*sS03HDnZn;Wk8B*T@u!nlG)cu7R02MYh?)mYCiCq= z(}t2O6w|B8*8mqe&@7z3K=#DQW?$WbzO()ea$FWkPu>H~B5FiC$GvFdVZU;WKpmc+ z`W9n^+fKy|yAL~;^f}ma^=vA!NhGx{=k7Rav~QGV`?f3Tp5JGg~hJ$IgP~d z!I*N$>mky>aqAI<5s1^tF>Q${0!lj$3V%deK($ zH?ga5fYhFex7?{RhrKc=)egLr5m|q2*G*ra8bM=0K8I0Wfvo1J!p*`nkiL@7Urjqj zSY2bXnAL1SG%2NZGY_;gSYpuKuDnzi?uU>Pa3rclhn4+8!k?9nP1iWLNR+lX{)!fi z{2Sk|7KS}2EyJ%9pW0mUK5U0!c!$K3bY#5FlPrVx9$n!pSTqYv(M0WM8dW3rOMD`P z-Ebcg5zBWw?QYvjdQ{yKEjRZA9*A5-E+WPGa4Or3MZu{&>zd8VRfQ3I#l;XM zvCl+wM0yN@)T5h|eq0+CO+Bqc9U$q%Edhi+!^F)&eI!OXl=GOsQWV`>_~mq5y$iMt z3y(7)A}}>7{B@GZ@s0hSb^7o|6?|{a%K!hp6N) zc9B*P-|_f5ZJo~zCAQgDXo@+cH5l!|(J(qHJh0QT(f|?LCqQ<66MN}X;5D!Qef5pO z-`ZOUn28z$e$#YyFZ2s#xK`6>3JK4nhw{Me6>Lo-8+x~e;iQU z=SPBL5(M`L&}aR1lGh!pj5egR^i?55jQg9G*ShYQe8h$1rnDcD$guf3dP{9(X8NsS z%+=)c^2kuLxQ$~(s%C;rV*4&BJ(Tj4O~W7jM6HBxvc8i$iY35rR=`y#rK3;)seE49 zZ_e9;%T&L2c-h^93ge+hNb3tT<%;dF8jtkB0J#J$HrY?+Ia`XJ3+*hMYY7}B=-VKG zhe#&80dwX#%E&E(0cmxd@>s^X0V3*##T*IP<(=K`5|CqX*ulP>weYnLoCw^1*-$;g zmb%Uc&Uy;Th`9yti?PUtAd{~+NTc{$lW1F2mRpCeY6sgm)P3X6I}5U_(yaD6Z7-WZ z>`#w=lXX55jmchhqqSMDON{w-?9q*c%bjBUdVMI4(#q?b#w%3BrV5*gpwur`!XZ!g z6Uxv3kpRUotx;fz(g0rY(I7Ecp zAhFAfgmY483e_L?v{}-}S#8oSWklg!jzg<|WBS-{!}{&4mTy7E?`-=%gRXWOiyO|1 z!yby55w>9LhDe~e#V4Cgn#@$cB_V10#KbhSbo35cP;rJjd&;R>pFLH^$2vjzMLxNu z%;74Jdv$lp*KRIQ{;IjjQaDib0vWc4PwNd#ep3QZCQbfMCTG|XbTmD&3Q@3bLa`;U zgkIvwR4wB8yT15Q7Y`8R|M{?ka zAdsPB&JVko`iw07G}4#)noJ&tazfRh{|tC)b}FNke|O8XbM}E!!2iX z(nBWlyGnl;@^^63%KIfu*|A9+lHiCOB{Mg}wklgs(}>gB8!l3lvuhYfI;-!q+74Qx zi@p$o0w$9rKG0fN=xaIlptWtT$8Tv+2(Sg&2$$QuZS9|#QD*LBNB7i_y~W7d`ZQ>9x6(lz*2xdc;riFD3sE=^ID z_%Y*aVXSI6?PrO8kB;SmduUK1b-6eGUdXk9m9{XCEH&gR z?CH!VB*oK@JkP^Eeni(Y46yTj_WjUczwQ?Izr)-qbf|c6_r*;kJ3Z|cSa zD_K8_Nr}bxERcThC+1CzrcCFjE{kS@F8!o5_)YTU#k)hZ{DDBoW8(!LF8{R+!|+|q zUlvxb3G93}#u&npGzgs;ttunR;9+roz%9}N8gX5%Ov|43z-RqZHa>KD@bRtq|Hn5e zRWbAj6@^TS?Gy1YVF8Ln%9y8N1R}1y@h|Z|MHI)M9piCV1@1JuzAxUchXL30G@7(T z?e*(6^`!PsjNwkKtvrPmN!G7h2Z6HY^;Po}GQV_|21P?%z|XG9t-Jx2Kknc*@Hr*L zbxTf$)>MNWK~fU`Vy?~>@;=0Y^!U5&X!8(KJo!(e-9`r2>7Oy3JkIk+KU*w%YE0g^ja_PigGYT2+;#3l0FJo;mevmE+%u&kpI-8js%T>=-Qb*Mb zB}A&??Uc6CiY45Q5s)UsNy=z2iWUC&p3+n?K^^;3;5LDKmvRgihd=>LP~;ODFuuni zz(|#9i0+Y~nwwi_8>VJiG1b6S#7&NJ?#d)y^OiOa z3iIUlmlr}^Eb#g#KbtiBuCIoxMQD#;Ct|1ae0{Cp(4p}^-D2)v&dG%WweVr5yI+_B zH6%4rw+!*c{O<-nx<>ILan%=APGacQ72%lIMXIOuQ$D;DhiRU(56U-} zdNp@vJmtPdcGdHzRo`=;fAq(LAB4D(ZvIN&{@7Z_ZHd7fCE`|VA3bI`gZElfdWr=v zKW1DYAJZW}d&F&R^j|u%)h}tnj#=F4tB^4D?xiC?`#7v4+m?h;@F5(=wFcpFLe>mz z@MrW}wSAz2L7va24^Ol<{&3^0V|Fr`49()4j9vsAbM9dcW4jvir=j}kz~ur6GguLQ zxj*P3QS>~rQf}~lBmBcuy1KJzpt|)Qt=f&B6qDjp*rRvB?F-q7^o<@Te5J+oEz8bK z`wqGv{k@j7zG1MbYNRR>D8_aMut6Kp?Zn^91o0~E9qOSJ?8WjIv+LnRhLwrge)G6D zzRt;=rd;9w_BFSBK2AFa3p<$1r?AjOJ-xMbm$9{Vbcspxyhy>a@qM=YpVK>~8-m+uydrGlF&QU0=d2 zP=#ns^FIfiO2&I2l_a;Pt_DBST+EZOhoNLSm}tZ)hSXYcP5tOBK`P zeL@xD*)k^~?CsVbRR-1AQgHl z#u56+&L#XYY{Hpu?i1b9fYp-Yu%&X`Dr~_$))`60eGd81&#Ue32!9*hjjW7mBf_-J zZeLt3=^9#=)i1XVv+eR=pm)*wD~Lr%^a>qZUewTX$ftIH$pqmSazCAHRm53dTcr5% z(rep&^Gk13Im|k%bp6_rH@45FX;-`N{4h^s%cHaE@y!wY&5yJ%y+vF(WIOIiTLB9!9belBmD!pY7 zfcOZ{_9+39_a$D!nd%!aY{y}~@O@$D!%`aw@o7?Z544{t)~(z@a6hNz^5-5e9TiT@ zNYKsHsIuoOW89=s?vZVB1LZIyHz0WA1Fa%Ec_2lkhLk%zbT)GELFiXn#9oN?mdAFU zNLcrm&)|Q-}of7IMB-$*Tgp_1=fSu|# z3SDju0M;Dvq$`gcSzwM9Oky-S$kN7w`ZXE>?$>V^dyzbrj)QBl;>l1S>G`jl`S*3O zWvee25IKh*3_^>~pg8dM-E+5)0atzn@~($PQsy66bOk89HfEU6H~hav3mI?u=q5T` zx+q^R4CI-jf~y3?|8XD+6SBw8Wvd8>1`y!+IY9DWm39}Nt!fjjMhp-NEbo<+ZIo$fp5d<{6dw*MHjQBS*K?22Pv+@BXX_>2Ie5GxyZiaFx1VYG>Shb! z>lWkRcZ~xAs-h*%8J0A`S1gki<^d@Y-FO#%80o6tZs2Mj|G6}fl7(Mt{jx7m3xak_ z5>?k2nR&YXrS%} zIOpVm)S-U70B!JW`c)9a!!5h3QzfH?iy*l*-IM{cm|;jbrkG*0Dd;dvzAjip6uC%d zTo6~y%$X^-HM)<*PWONc4KdHo zacN=WaqeQ40U_d%H@>UaUC%ViSDroSWn9}dMQi;!w`*XK)geMsd` zxbjHrmvDBH7W@GryO_e75JZq021irTB0*vRM3AygdLnFHS3sQd+s_~f_X~Lx*r8J? zfX#*%w`mfWU)l?8Q_+~G;K^<0?@NeNlMKdw$DIkzD*x6cE9y*-0nvWQC^nA$J=L2$ zN?9}Q7@7hlIJJb0TgKlMBW{K-9*@@iBNs)_`-l(07`(-F$ESwtTTJV?q1ix!*BMwy zrGsgHcH3r6?@uiV?sj6g?V$oTY07K%?-iyS1wDIfEPp*8?CQ5gRaRPmFngnl^vmkW0 zGkN>?VmG#Zeo5)u-|yn3Du=Xa*xU#2at_a@zJYCZnbCh++pT)^h# zgW3r;U!P^?t`_c8cbCsgOPrtvi8e1{*{bOHb*!P12|S4iP?dOUOCD)u`a;amZmtmd zspYO*P{PP3{_wXla&dJ*Kv2HQONoClfZ#wGnFUEnpiV<69U=pn>rp3uzap%rPKu{s zAC(3JR)gCnLf>z8zfePH`V@B|8s`OAkMBVpO%duVW>yQ6mA*B(EAe?OM&@hX{M1!NRTq@D@%=P z%vP;fqb4I@^_6y;iT)_S(Kqmm`zmv4Pdr$yl-yu7n_M$JhrPd@a+V`ASfW__uDAQ= zGxizHvDS#%F<+-U@k-j?wg6JP7f>*0y&KEM#|I3284k2ZN+qb-DzXCOmUA9P0h{Gd z{(a`W^M{+X$57*(Bw^naSJw&zSo|@UP8AD8vI=qek4UXymNDLoDYjX29gGWl!oat<8-LbIdg680(B&~5djN7F?BjzpH10bkAp(;}c4f9Dd|DaKx_p|;w zRKVQ96ef}`@d&T?6&f27qgX`V%zh4prUH|m-(Id~epvk!0yt_zEYL$fN9Ddio`cc2 zDZ-^_-_6!)KTl@?wux!tWYpv+KQ87?`?pwaNPyW?#J};MLCCBr7{tD2XLsW#QnBxYt)Q4^*Lbb9S;IaiuVc2L5_MmSYU#k+ z0)E6iF0iYYImdZP#(ueR;iXS@D(qf+VEkVS1&+VCSoG`|Z((bz_S=r?+aL~*U9V4i z8jM$4ew1n&f)u}PHZJ`EII&j~Qvu#@Y3eZMP=yGbZWSsalBH<$$L-PTJQBL7rdwd( zMM&C7lz2d(Q1F*ITO~?iT#7W;%`na`7Ksiotcb6tQAq(m1V~`=G*{;M@Johd;R2kuw8VM zh(}Et#;So4<6>Q9v~ZRo`m}^3KX87Opgp|1k}C-c7MLB1?H#xuxD0pLSj4 zg+h!89`TlhwCK@fJ92N2u75I#P1Lx(AoxVfMXR ztkUgL#ZCpgf@ncNW^}96+|_C1YH2wQW6CERLgG-AEa|2P+8+1jNAnd>(#=iN$XP4a z)lIGViZ6Anvz$xj%(MBT21apf>zGwt%;*EqFD(TBj64gpQCN+lDu&OKl%|X?Ykqo_ zsZ_8@Du{i>;LL~Ez!yu?DudL}LPN9px(A0*jOl%uM&W(OJ6!s60qyhyAnc8aBW-2+ zts0O02-wJXHmP(T*7lXM`E#r@q8L7eh_O~kaH_q|Sw`J@w^WPKDkU=@q0f%E$3~`m z?^GZqdMZGkbLk(ud*a{fz=QdB?Z30}O*#-x(x6{pvG z#*uFKw;ZU!tRsN0fcW;s?}00;z&ool@clqy@hJn(@|>is+4akBO)*hB=T67J;+P4t~w~J;x;$1Ca8M zsz0+Txjkt!Xrg9%92J*ONF?m93mT35E!)Jem!!yQn;d!ei~91e;$?fjtKs$5g-}|o zlH^HeT}1ks?KlJ%myH~%X-WRV&#k(>!eYZNsEx@XTvxbCUEe(z zqX-X7ZJDvA)WPUQmaPec2MZQS0c%54lXaExa&8V-h4A80BJhF5)9CT?P7HP}sw@KI zJf-HUzru2v!5!ri(JOLIj)?KH)W8MfDm{7-fkO?Ybadn`r%$12@$tw1 z*6U1SD1|t!i>HI)M6en8Igeh=tSKZGJoAs~eUuHlBC?)27j4w8{;Mr;0Qe zlkXgWozv3;`_>4nQKphf0(!XAyFby)fpYDXe$LrZCxCN5Zy0Wdpm;aVf^rj-Umt}l zdWWroU8#`|6HtqJ9$m4J@wRwV*%>jUMbwfoxI{8M9xTQ!3|$9M6?cAUm+!P^MDC`f zXi@@LGXAV;i^Vy16n=byZ@3D4+XZK6l}T6h4-f!M+2lnub5U~a_T)ce%J3ld_CCRn zG~buiJAv?DnVUlKEnyAPSs56=F#VC)m-EYK{cA>2unwjT4`I@IH!e zZw2{=fS0qX4A{?wi(`tH$tAeLQ1J*haB@q>67XTkjZ2Rsxo%pm?(W%rFQo~3YU92T z14R93+5%w}Z|MKyg!)H(jYWbKsdf9=TVZJJpWqr?7pF49`YdblYyw5B*oRTZRVvG! zvL|7(%A+!#^*&X)ndPfzpe?VH(&>l@w<}ncF|yyGXYPQaGNpdj?L;jd?RCh*%!1+0 z{kP|^!UZE8qca(wv)J9)FFPcbjuVb}1><0ue~ODqFrfE7fL!T_bPg5X*<~A`kiR<1 z$l3+#+QbX*ij$oTm7go~niK-*pBU0GILi-@Eo+G`!sj0`;Uc=L_7d1cFa9Qej=N)_zT_EcK8n?I;>SrfeMSVj7bQy->(os5 zfZG{wZ5~+~H@mw09rv=Em?(Gtxp4=>+sGv3?7EbiWNM72O5c3Vc)XXVh8){$^?U7!Y80 zb`)E~IGN>$)?$DGY)SPxudh`xZzGFO4!SIabX1`lY@nZeE1e@v{>;SkYWB4fWS zmkBWnKdp40$YPZBNU@a_gAFcHge~eKN0ZlUaF1E21PXCeaHUTk6*Oc1jZ`>E(V7jR{6eS8q1KY5$gegcOIxdRNPlkO86`ef?q6nDdbODvG|<_E zil23I0O3T>F2jj;YJ9@cE5Er!?1jp#D3(30K694?BXd#_s-+MVgx|q*vrfqpi}Frk zVGMWV^(WU;Y0CTcb!Pp#qlhI&N76G=CvO|0$>5zS%u6)c+XT&M_!lHms&B^))d z^Mnz2*0i(v-H*i@a-$k;IlYTYlGoNqaCNy|rJsfN-++J`uOv>uiC1|*sof2xfW zx(eTQW%i3{85A2Y>Po(5TDs$_>YFyC0e9LujQ`budW)okN`U#-T;YI2c~`D*_^10s zw2^tXD)Nz;)>w362qF$@a39#KeuY!=3YA)HJjf)*DN^MpFT z2v%yPfgHz-4hjsXnk7s){I$2JU+kQ?4dk0ltc=CC7A0-P_fj(UBUW?M&P2ImMv1Et zNn%ruvkYUAK&h4<0cxs?+pG~bHcT!#@j0XKb96n=r5{~KSL-{k9Ld~B)9(w|vyp#T zcw5N@JSS*@4KZyb;rc=E`*itZ-+t3(DfAPHxoY&Y>09kQeyKf5b>Q_FDYcU#d;i$e zSJMZL=pM8?1{fyD3~#Jn;}(NoW)nq&Y;UYs~K-IBp@32j{&Fl-x@#$ z$t$ja{S3`k8HlG>9Oz~?Q=RJ@Em@eoNuSFhS*dm9n8eh#&r;=O)TO#uC8hdTQnQQ?!YXczP+p5DL@n<7T_N{hg-P*Tapt78@4XvPqnTO|@OTVgmP28WBq1-u5w zH+VN2dv>kI@}rCuCg&)blS(v{GspERI$Vvsj+YXOXL)vIg;qWTxMZIP@$E9w3^BbC z%5K(L2C3sKZbZFVD4fp7(>D6#rAnqLKC7#zb3gCY>Zgy#FMBF7q@=vRdBN`v{6_Gr zp=9VHf0JE1#x4$!jFX5j*W2PUw>Z3;lKSxdm~fBaCub0DJ#%W5`rRLRcB0TbpiA3z zS=+jgKRlPLOF3IDMYFgPaefhJd^1G11Gt-T3i-=g4KNVY>=tYjXzMY%GUUcmUa78B z%oHLTe#$8lhtizKRS~D^_Aj7nFf(fy)k$Zr2K+i@4RbRSe-~7uE{>)`oVH-g>S?S} zK0C8Xi@yX0AkruwS>HBz*5gH$MZEo;$*RFv%7CFK>+=86^%hW3wNcx!AR;N9g4EDm z(k^^c$i4i63Y~SP81Z&zsf?DXlWAIYcA&4 z!c5ubUZ@(tEd9l#+d)_3t-WCuqiZzd!UJNE`VDqEKYtOPyXQ^22&9kckV7?lOV4`E z+z#t|CSFY(6IlFjVXe;)wQkVEKOeKcCbpeXF=<=;X4c6oZ)lL&jMjTjEzOMO3@9ct`&yes2(d=ELofE@7aa$OG?f*!|Vo7kBSf&~THwj2#s3bVUtr<)rDl|CS)3 zNb&VR18OtEmpD2-%Ym;E*8F86pgumWCMgvb{~VlX%;W-6v*0blw^ROYrLJvA0Nwp9 z?Wth{Q9~ocf$vwr$5fCHv#@ui=vY7MXMU7f2C#>i3I{JNNA=h9I`%f@Je ze&7#2@1@pZP`_>&6=p|R%ag$u19cz<=pPOM8B|lq^!j9<+Hm6Lt*K=MOq{TQ*-9+k z;F_TbssWC8$L7{ZU3I@E0lJ<9ALtkFPJDA44zI-XBgQ$Ry7s=UtjK)iXkOami~4R2 zVpOHhL1v3?V{j=V2r`n&-5QCFXO^G@kT`CA6!fMk$Ln};g> z4}^Dw#n4|gphb#&s+&rx9jm4_*z0#rn8Y_A`{lYK1(iatm~GbwgSd|x=o%n)gP3l) z8JsRvi|28xI1hy%t>5QQ%;pMpWlrMNT}gI6%q;JFRvvLN6e!PRGEW}j{QfosD~VF*Etd3WQq+-|y54o2q)`9> z5b1HhQX|xeO}Tsi^hC1%@Q>A_K1K%z)483barVZup8v|+K216sU)>?}~Eog!w3mf}RPXve&Mq}SH^Dn3FKn3+BG{qADzwmtq z%YKlaus5tYD-OBjI)eDRp~V07Zr6 zXNiom+eL`Mwcab4CEZ9*%IAFl1wlH%w2&^VGY1NJjS{|>+3F@#;w`c$AJLUGDJ6U* zRwZf=DVW1N?;Q=EgS4mt8ZKBQBSk&N*4!z#9p@5&?o>kpTbN+boJj$$2bTbN6qG$tN`4`mUl5iP z(!j+`@A_SroJlmrS|bY->s&#W0%bZTqgl1g7=&Lvq@iF;48+w*m><8%itgLg4mFBC zyxTBEKLet~7p8CxD3)F9b$D?W?u25h?R^w?v6iz4`u0{L_xBAXSb%D+uq*sR*LvD4?%lZ7Jqri==YLqhblEiFCW`UC!_s4*D6su{g*!o!s=f0?++a z6A%0F^H=piX54GKi-DF*)A-c#LqaPL z`r8$ZoMPp(QcSfZNto{C@9*Sw7Pv^~b!Gb(NyNnk8~ksw--8f?#ll6XdYt`QIT_d; zKdInm`9X5L0D39i9-6aR#q*FY=5r6JdPlHQ9#5TQDy!*q@Mx`pi;r$UR_@loK!?Ro*1D%7=Wta&UF!_LjNsyorhJ7A0 zq?ojhokn(eCT_0Fwh8QDZ@e|-G#L}r1NhKACZRBGzYi7@L&ggk+qPcE8^07Wq9>l3D2MlD6#l#}cIrxI zN%rHzSa1?JQ_cQ`K1Dw${lBl97d=rNewbKmbU9aV+Rfn^BGb#A?tbRSx%k#xB{ z^WO;bn*ULeECOKe%Wqs$dj}&2O+BDDX@HYDJaFH&dg5z*v))hGY_Nf{gHM^B1?$>w zB9!t8=e|BzUV{C@GcaNoGZe>3S3N#NbQqs3jFa38#(ROg-nIf}oIq?Ne3PP2Bo;KXMdLx2)xi0}c$kl$1$(~kUnh(;gg=6iupOn%5y&vmoPdaYTT!LJbAv66 zPoS=-agtFAV zj2=KLoI+iP(LeLp7UK?aMA_cGsjC+hM}sv`5_$JV`Ufuf19#YZ6gW<9H)kBzU5j8; za>&r4>QxCFD%D`_ZkO$n#l9{6@crsHiy70*(hIqsKpx=gjLV1B7 zxAlq0g36xWlwuJ)AOYPu8^$>l({7uY1t~gZYyw4&u8X8aSgM0|;oZLV45d(%H*Up^ z>vSO3kDRsF;u1}@Ca!?zHkJ8;YDj*dk_*<=uCXyq&au($1CP&-O-t+7`=D6AD z06}hxWFOF7p14{lvKmL-+*K#xcam7Q5F?fz6 zP>W8WuTh7n29)Pr=KXbWk={1Li0B0){iotl;Fj$YJa3LWnRi7?tW1`WEJilrzi=;N zOb09!4q8oqIVQ4>H~dN**m1FwMVbxA|8DOuBzStQnMK-I$U(Jl%`d|S)g5XH`{!Wy?~RC@G^-h@n@$u_!sqyieMr+`3A zW3VVmZoLu4nGq>gnhKL8wlu!ol(rdF)uep>v5xHx&AArmJ4GvT%@szIJJm(# z{NXIL%VzUwa-y9?n!R5h5ELbZ6mg>_6=b9vvIDfLHADECb88`pjKTgt3MO?NM~HB9 zfP07!!yj|)kGIUjzk#T7IaXx^Nk%XQeS-n23GiicPj77A?WKC79l|CFNcpgr#+xMv zvvD%+=#ZmiXUaM4@bl-gd-~_rZpDa+0g3ei3|e{iL&sq{n&^`5g4e7(s!tL<5)^=) zpC$C||9=!569+O*9-Ar{b?$q8e}|B%i{*@WvmHAnI5}wTIm$ct{9cM`Vfj8Q77l7c z_8Ma=LI2QaMiB@g=I@09B-r>69HQkD6B_wY_jo7iVXgM3j^#7aI4vs>k1u zB6f|0Dzuc~iMs8)2$(d3oOU4(-|W#N)H5Q5Xw)>f<;uguXOB%>I6%TW1{gLN9pW z?lLuU4yqw=zjzs;x2Rg2#5MqW;81)zdi^~MANC?JFciHPqt zP|6z{*bF+4pn8Ufd{0J>S1C>~FF)v$ri$f%^}K$EGdv{utL8rio$r5=FrYCu9vPQ2 zD?OEqXhR7ekne`+dra*_DPG_TPiHGGQPMK@u{z3yv|G!L}5)2_fZSeGh&ljJde!C zo!e(LZcUHWg@}w)WOT2LL`^kbVwUoTOEqktGOxmfJ~rv+!)?vvB-VbmgWl;U{#Q$+ zn_gDz`;Pm1r_yH)!F?0z-?xW>dpnYEtY?gPoECYO@GiEHgXFR74~AUJ{<*#2GfbKT zuuge)qs#(-&n8eoEAURs$}B{}4jvM=r!(rOSX2u3uE@4OBZwmHo9!alWZ+g^$A~te zAfe~pfbY)KWi4=H3u#U+oB1?5Bj|impH<}iqc0Lt@UcyDT2hn}6)dC+r;%314`M!f z{j*`qqX(pC&mJC5h^yBBJQQOu{iVB-@Jug~pA1FT<)YxrZRs46aV`pCH93Kb&*hLI z`kNk8vch{5gu+k)-H-)@pOm)!7P+zlzCB;!M%%D;nqBzVX<6Ci62a$qn9g<1hvi3Z z{8ijeI~ml;duy5O&hC*sgelZG6HCOi)8O7KI0L0mryci#3v75;h*r62U%kg?C-H^E zr7A$O^=MC_<-NSAYHNt0MB<{uOBzxLHmIZ5Trw?Erju-*xze#BWgK^obq^b&_^Kbu zS9e^#Bs6GR-MWqkb>@!PwY=Bn*_4I^@k4@;gP>&6*om%$Ngz-OAyCEAp~my1skg`d z#cvR{L3X{vF_elQ9MT0kJ3H4jG#KO`WIDWRy>gPh>aJpvCiq@E%(T7{rSGVHrFz;{ zcF!06;-s#1C^pt|#o z>}k9?ax1zUVLF`_+p2F}%1N%XOO^}DgX;r_S(pUT{MN`xOhzHY$;`mUzQtstd=Ku{ zQYlrS-=j$g!H34~b>ED~Zrwf#h7!GWyVygy{lsc9r{s0&3nk|L`_&%J@9bQUPNmde z!SL>YA}pX^q)`LfbME*ma%m94;p3v3&qt24itC~mA!0YxdX>9tHrJ-Rt{w7j2G>(# zH=~@FcE`-bioQ!AWIQM`sU*U-`87I{-_A(#I zvc5=Tsuj}3e?Cs7gvD<5FigKR5MR$;?5x$-s=)5%=P(M73L^rk>v^4fd;jZDq0Q3+ zhsjWkfzHQ{>}goqP=YvKlWgjbil^-#dV9X6;pbYcF;8?q86bCcJZwId@%|b!LHy5$ zed36s1bQ+?5@SHHXnow-k=rhc_I zt&@#2o*PU4x;jdvN4qbQ9rHEGJUDVtX59j=d;%54CC9#un=?4JMb<9-=9g?HOWmBo z`EC4=YqPJhtYrMHf3DhBEsf8t@x)BV(FzSGDVl*+-4Zo!9hk}%r$!?ia+^QaB`c*z zkCW1x?8Qeba#D zZh2ddcq|!{$+yqT$?V1wPc{sSqJaV))oFOPHRf6}5KB%zl!WK^$3O_JVdSt8(^`(M zrL4JI51n+??udhq+cm;-r5grg1YW4t&XXFdDLxn}sc$d5;EGTb2+A+hrJP_ZX(Zic zpR0~6A-gkw8)Yv+Q!}4NySsK8A6lA?bg=Cq$y9LDBQdn&>$Y}+80oK-Ts3%AcDL%w zr%Ag?9~NXD!uN4WGh}nv!qRA95ueF%HWSija<+)l=5#xN79@CXRkx6zy*`kcry<;h zTbID+WD%|W@>0XdDtzUQ>@7=A2O8SMXbKVd!m}AH$5<#| zP`~zdg#xuvV}&(7-eT=mz4GUlfNEqZle0$aRAZ>20%S3xu^#$j;?dihd9Q;FG$(nZ_8!IoiAMTue#Ndmg>b#pL@={xS`|5TRhFC}!T`TdDnTCpK zIpMg)!a3l@G1#NTn+B^@D`6gYo*?V>BOejsY z^RnkxkJ>)YQ>-S?SEmr`mc=F=t7j{9@s0B`nv-i{BRYGeb&RH3#P7TTnPKgE=+^ z)Q5lppGPRl&2)~PM8+4Gj&dKG37E$5&*q!qZ>!hTb{TX(_qYm#wY?D8xZzgsR7TC` zm0%ctKjn7Mwm#=cB0|1m?O9eiCzRyZfGR>zw(xFFxqvEh3dIv9W&LDr#vyPxIs4Ei zR=$Tb{hNh%7d!jGD-^VV`!@Med8CW+PqUR5N1h(xHMiv!PL#1+nXP?&IWR5i69 z%Cf5~Q@y)2I)AQL*@GASa>z2Or$sxtijJHMT!9_YBqq5?$n) z_;)v!(LOWaUb&$UGv_ei4mTxsH>^6}NjRK&+(r9Vu3zaT_U&a_jf>ze_DdYPhrJm{ zMV_Cq47%g+JVz~t5l^xX!{49@6Lj_vgDo#ZSS-BsdWa{)K`*HsRC^F9{(5sWr0g}c zS5R|GWd=(jTAcvw2@fsOh1PkWJOCoK(f2kuN5WW24&CZQs}U*8%+Z zfR~J4Z?cbnHvKu!uvhGYyU>gAeP4U}w?j8;wyrBrA`ldhnY3r8w@8@w5)Vs7g>B#U z_u;R^PO-y-gSM03hVObxy*v*|h|9;Vovi!XNfA-LirvIDkLjV5ac9(ce&xCD0f%BY zdB~?>{K?Ky@H8)w;sI}sYCNgGTN6zFF^pPBr(Wq*$;MFD>`SRso@ zqKJ+7Q`=K-QEJxyEUKncRSEL~m+EyBbrYVGa-;0^WXKpSgu{oWKKrz>%-WK~QI*B8 zUmPVi=B8TNCB>Fn34o^*0$}$;E_Hp0Ib7h^bgCwqUUGFoeX?%Sbg!;Zbn(pA?F(;0 zgJwpMwcrYwfn%hq;>Py8I<|10n_+YQf9Lkm6o0>R@PLt{?Bit(16Y}#6AsRIz~5o7 ze7ILNG8;w4%k5-pwS_w{C-nDwVr(a2`=7V_p_7 zR-eO8yaKNQB$_uoZD6c7nUOS5v}UgtX&$nAhAf2Qg&u&NAGyH3Q4T-(QV{YivZw9k4aR)?L&tD!^Q}})38iUuXp8h z6Mks6WVE(8-Zdhmu*ygL=>HIDuwzxdlY`2DF*&+grX5SfCmsEq3L>ULevqqX1MyG^ zXwvJ*33yJ}31?d86yA}`CaPMBjl++J^y-9Odvp32NcG?>`y#cj#s@jrw%%QI{{^Zg zqC2z6nbCBAdDWHTDHQs@`24>PK0U(q=Ow{W_$$3r+`x~=8RmU_{&icLrA?g99{05# zv0>U5`BU6dJ=mqiD?uB>X~HV_-%0x7+RYF|mwqOj(NK0$%z5VYrsnt7Xl`q{thYGw z>=S^foP8>bKpM$ zU=g?3EwLb(1bXWoshK6a>$eW@xP1({WW7w#WWI)Wyv^d9hU z0v>w>_Gx1COvZ^p!;j=47d7}=U?`#ra_g0fp_WvkEa2urGuYZ(PM$#ZxKCSC*@ySr zL=FP`d|+RRB)L#C_Kg2XnR=6#`v$-h#Zeu*+^5-zLWdN=9*Lujbw8g{72p13@z=aQ zJ)$MyBDYLBlvq16@bekhN0fioz9VoIA`(*KDDN+tn$_hS@qeNw!YLGhY3$Ud!ISw+ z3IXnGXV$zd?rHpE1lwW2C@3gQj(gv8>^t86(*jR2Z@%JiMkha_4l7;Y>K*Esy+9~2 z!sSPLT~GVd@2NqApJA}|Sae(6PXJ=~a`Fc|&hOC3#~E^CbSDIZdN2ruB*-7iUBbJw zK-Q*`8I{n7pO{~dCCbs)?rC^^+DYEuS7_H;>)|kekXn|GV*V$ZK|VER^_Oo&xF-ZK zfk0`N9N-N603XCfo^KcbV=V2c3=iMwhk835Xy~z{1g8(6b3I9z`=i( zhRrGjx|}t#rto(T{yAtS_xAcIDlEJW9j3X-!#4dG$NH>+fX;E4=C@W*gypsJY=%5d z!9Nr6_b(yE<2Z&`z|Dy(U?a|zu6F-FK35HpB*gtY>Fp_bZ0T+M<*R>}@9*IK?^`!j@?*31<}?OCwRs2wvr;YwZNjHGT^{v)D6wSr zyi`S%DS!0+0=a#~>6%S){RTntTsrB{kaq5%=4ER$yTi}scZOeAhUjLo{vW^a47MH^ zgh|qbZxxLucvw?QbAl+ zhSe9R(>Hz4ElhjnRhcxX`;0F0$wvP>@_$1DI77X&x$|8nyNR}wg#cyS;~k7b#T=0T zn4I%AqzNKeBs|7qz7{q@^Qd3=nFT_=;8XkvA?VHb4lycxndRwg3H^b|kS01BVBOn? z1J7qi4q_E!YED?l=Vezbw7KiCb9y~o>Z)tYW7o(Xb&5g-AQ8|tIUVLP?2u&a{c&T0 z;m^=q{pKQUdHyV6c3@4T^-*t`EtN6sjJ{CBJ}1|{K!hCSxl98@4)0D1-Iq@?0wF{q z;E5Z%I|cvf3ar5UfGZW?N?g0`>~`}>wT?ZG9J$)Gjp-X+yW>wKT$Q>J>7mhRn+Bwc zjrLRtrYe*u(V9i*6vU<_DaTl;5%@8y6^thbOQ)se0P9a&RNmeCRk_0nIHqZ4Ev?|t z*nRSdfv>TBYg-Lfk4i+G(p}#=05NzTNZu$wN}CZpBJ^uapRgh2kBT_1p^%~7}) zoL=qoN~8HTnpS;~PA|fGNXQD0Q5ABT#z|y=`LI!mc;i)TWA5{1=cDYyZTg;^KGj}C zXU{r^@*)1zC=jow7fUpqC>yooBa(WkC3P`(^X)UPD;Ae%bYwF%3XAS$VEIVCKLQ>f zak3`<=*@-GaQ^sHibpOLlIaWhjwo+cs3YSV#*GLD(A7RQ&>at9CjMW?bqt&~`%KAY zG32C%IPovH0f3hORw6S}>AKm}( zpqk5yxXUvJ)H8lwQ;?>zWoKiReCts~RmWQbyBraXiDCWV!(USc<&iDADt(&- zzm7E>-aVAi^+n&lU8mYzy%yE~+K&)F#d~o=dWRr-*tTWc#@U;xv$Wbp7nULjlM^lx z7k`9+W3+f7edFBfk|2G~Sn-QrJauE^rk8 z3#Y`^us@uZJW%ty9q{UwqeI&l$iM!E9H7k#0COFSBObMR^yTet02Y^OH`NkGLWM)Q z10qKOy(#p2-FtMA%i?a~NNOt?gP;-haudoz<$Ax9EgBk^O21T5y0#V+k%!ZHgm}>Q z7t2h6bH36`l1~Pwy@aicfczr)ohFSZKWx{z+{Hb#Z!5L5k-eK!xTo&nMmb?`L9gbz zz=MD?fjQA3^V^G!XQL`k0WSF!E}t8V`)rrc-qYYNF&jlbnG>?aqmLQ4w50`3WJv%d z01=l3c`f>Lv^PC~CFi6g&-R8gJ1Hug_|CeZc9WV;PeO}69@d1$P3lutwsNJib#8e~ zw4oa|2X=&>Ld4?@%z7@=ibr|82~f+Ma6_srVs{JkoL?2_uyJYfXm-!KZL|O@v*cN@ zQD$yVUu$5b(MA1$U9D$!E@;$fYr3H!e_~sYE<@}MpaX%kv(Mg>h=hq{2ynptUXuLT zk4Ev2COG1CNM3}dLI$Y$fWRU*R27-!12;l56MZD@S8DB;!PF}mO>nB$k;nUT~W3z&;{t^5CC%RHf0^>81 z%9iN!{AJ#rA-iioz=?2eHFxR>z2L#v`;-1^q%>uT!cBDp$KSF0V80(M3)~zm@YJXp zyEmQgVBe~$AiCL-p#$NwSWw(pg4%%Dmi=*C?Lux4F8l{9kulHdmPoEC%xl}JB_=Mj zQe_#vNx=^IzxeR)ftWmCR~8d_;b*%u^un8+9YT?S)qR^+48$M}WH2MJKHNsDJUD`w zwcm>(w%Q46-hJcH-0IgV-EV*%f8%-Sza9=(ak~1-!$H%EZ?BU=Kep3ga@JB6 zo5%U0I!v+ecwv^rAw_HqZ?TWYVFqdF|KKKsH7E?7CciHBbDa(s3oWj-$}=C0hIu*e zU=c8yW+9un`(^c8PTH2@=`kDrk(B7Dtx)Aq{1qo&wc-l8nr9UP0e1El8F(q_Rk!nA2T*lm>`lAuXFIhu*B3}nOE<+*{J=-O?nGfa z5lvKGn4rIdki5j3J z16!b+Wg}R8SHQ)f2SbgUpY-pEze+xYH;# zC&)n|A(hZ8Nb*s~?}FFH_e zo7Jnb`a7}>MhCbg@D^-uzbL_L<|;lEXh1>wY=I)K<2HR#Yp?l%Jo48!Wb5) zw~TTL*4sPEq#C_2-CtRDC_I1!Wel5Sy$}<~$xfJ<9B*W_IAR`aFhQ}-N%e9sH+0aA zMWYXA1S>=Oq=3-`wEQTKs4A)bCIOF@{~ksvg+<)+{@NH03=Pxvv{nh@A49&uw`oJ9 zK9lc&fiRo1D2smrT2$Hhw^zqZUia>B;9$`{%s+^L`iKbKZ*5V46J-D=b`bVA`n$LS z+Kn?k$l$T)av03Kk5V7M3Np%DyePELVSkSGnQ=emi^p)ZquDKu3t&s4z_R06`T3Us zoH8`L@KakrW`1RN=QE+g! z^DsmIx;+JIpSnd?$?0-kSv{7T)@NEkkjO9h7>c6LqgTfQ##pV{7yL*P|MU9s3gXt_ zSAR5#!e@R697g@_efyr;f12d^7^BI)pDhK{&NzC=|8d#BU%}7+D1=1KqcX*2GvG35 z4*383zyJJB6u-$M7HRy#F)7Ysz%}9Oy#BvG_eZt9iUlmlYusq*@6`UU197rvdguXu zjbbH|BoMklBX%TH1jc8w7v>G8H&|V3uRE)T;GJsE*-t}N%li+x>iQ29$813xVL6hi zDsX^j8E-h1n21>?wMb!kwNKxt9iLfeX-y%yMaC^8Vk)1fFF0lC;<@%iUA@&SagW6lJr#Ao`RsytCd-97j&SNI$mqDhMZlkNRjxM_@ zkn*3rtD)5u)*$_Kxk-&Rv|$ivKVRu`GGyS8+L%5Ayfqp+?y9`&X5`54rFJxsO^Ks$ z8fsdpMdN+)5&vNvzt8Xi9&E?B-DjEys#2hed@%U5!qw~_jrpcAeS@H>w*P8Ma&5Q= zo^BUiHG3xNW+W#Kbto)dS^s;>l82sU%MINVKT~y(&c%4?IMn1dns};8mrA_bq~H4K z#67kaHJT$-IUxz&>%tfmD;H{f4r-pRjCHW0TLFYkn<1>hX8cs?=q@M!<`;%0U6=|K znlgd5UW>y?j6zPj75c(=6T)5*J*|H&8Zh?1uTP->fmog^pHJCeuV;4=azT7lgQp_N z_3Rg-pP!t3nzh|;jNUK#@Cs{|=|c>V45e+TGMri;APOtvY1SPbnHUCGR#x|PD{2Cn zO$PXWZ~oOm(ut#o%_5R5&D&n8i$I1(o&DAR>nfUK3||-OFhOJjAm!rAa3F)-gY9h0 zt^RJK1W1z;_yk(ps%7$eoH6`%@hN!i9MDgT0}98dpn$@>mpxnjpXv)>zQnYFg`O94 z7ZA7wjB+d@Tg1myqb4+w)iT}K`=v-Hlvx^X`hoc0@qxn@l)K_cvXVyK&-q9W89h;F3AMuIvtN+RaVSC zrDLLN>202|t8eAeN8M?|I#V6{(oW~Rxn9McAK$mnoiLOdfO}1prc^5eA#=JsUqcnQZUUF@I=U`oK6O%$dXIuGZRIr z-~9Q0^?uK%OG`{ny^rV6oNhSlKCdyk@{;sY)jyV&g{kti@*Cq*(weq#RYu1cqPDfQ4wdV`w*1QL5+BJ+ffg<*i5Db@beqI;TC z_D5Y23N&e%38ZE|hVq)xQUiGy(tho#cN|WgTTZW4Oc|$G{MabE<(qgO<`IGwf*r#= z78^3xR0q;fnLwU55@wyug~4> zFWxd9Ei}1_;gGhv8r<)_&fW)BE2U~V5d94#(WMg}6f?>KxuTjwIoR+pf%os~pE(7v z7na{~%&f2a`HgLTx4VI9DZVNN<~FF@c@#(s6LByZslc`zIAUM^R7Z1Ip+oOXwHLgE zcr|+GAfz{`YdA~))Js2T02Q+;BDG#TodCrH;3ujk4d+Tlzw@C;YO2 zOAlRtAsBvhEr;_{B>0pS4il{#wPv1~&nurf5=;|5D8(o367~V8W71hq*aZqOOs!b$HW%`K8I zNU{$pp`$N8$36vxm2uXK>fEi8D=Ht9>d3k(6&fwf(<6Uud^u~@ zZEh154h%bj=)nsFpv4+L_fR;;qLr67RvL7T`x91=b@KWR`SPUMXp0&P4=S&MGxPd0 z6p!`kx#{vR->k`50d*KB7rJd4Mo3eZH2c&_RR=uUS5;OdVZ`Ffi4v^qZ&>qrWb`21 zNyGH-mY+S}>^M(>o&GQ!%K&Gk<@~iXO!QFEE?=F|s0BkrmQui@M&j&zw>CUsh6z=# zWjxy#Q*}h^_F7tRGShzcPgV%|@=K9?iH-3vSa z0YC~jsa%n{?^q^PE4GFWq*-o77D+dda8wptx?_FqthL-G0rC~itH4TKqy=)BOm#Y5 zOU2D};g`hR!ao_!*o;Rdf}-xwl2T0%M_YgT{~B#gAFqF>4hx_!(l*}2Bv$7ZfYobW zRAZPlLTX7N6?2l>+Nw6Z?&<3lj{7;UWt!@&7Q30>19cvlO zhXOigf{w;mY&znXrUNsiXytIc`s0JiA3N7zmBtEmZikq`{mOc_#jWmae_nO2CUlfO zrV+-v=KfLp&9r}BeK?OHl5eF&iZ(-2rScM~-v<9s`Uv~ZI^No}EBbk(cGiEIYh$y@wB73#=66OV(|NUXDmZT5k^co?WOeNJ8fU&7B5jj+vMIGk90M?GqGVD z0WJBapD-S6xaT0jeGgk4|FJdV5t}CvBxHYdxnDh2O8|sa!1CG5aFcn3$4+?n>oQTL zR3o>n$F9bc9O&3#&~q#Ac@&ZSQeDcWGR=c81)K3$@4KM%ory)(C#c8@D>9VL&C7-D z4)^OgA}n_{6$dg}<-{}hYJrLy9Nxp1#RZ-f3U#38m2c+gZfEN(umgv>VZg5t7k+#< z$WZ}w)kUCSE|BU-1pCf&)hzkT2El@zb3hm;B_`BIHGTgv)kC$^9FziF!f5OaPrqN7Pg*?}>z=z7OXg18SO zDY*$ocIg9;K?0M{D`59JsxTRiCaI{>MaxCFG(ch{3%%@i<06(v>mCLIrrD;G9bD1o zCfV!mBKX5Dt45yp3#*;i{jK?{+ZO=<`13~G%_Rb&f{Q00`W)~Isc~Mnxw*nJ&2*un zil9_sbh0*o(355RNGUBDKQnVBR>BbC**P8{jyrYHo~+2U1MF5U)sySrA$bLUkt%_>e<=f@%f=FBMf6m&iN zY*gWVuF!1dxEbT~Mp!1nx3-1`ZO-Q*W#)X@>F*8l;rf#nO;`X^x%p#I`AM3%U~yXQ-iB%VRNiY`Y{s_V-w?p`b#6a*}lzSoMKGE zrksTbM&bZyYjv+}Hf2({@ivFoYup&(=O3u}x8vTDkjU>wGkB%l$AE1G zN48E2a+D!6D}aL8HQ(H}R887;fuK_WAnJ;bfo@uII*RFBS>zQHaVHQFjZf+zN%n~w ztT%=*rl`5;k~&hwQ_BKRPouIL3-nBSKSd1`2{pSpApt`A{|Y1?-!6x=xBEO_@AQXf zvfq*`RLqYkrlKM70X=F3hV~uv42+#ye+un-1U=oWEfq}_%PN%5BkKkTmqa{owapB2E5&6eemMc|D_iOgT^ z&*&8P>5obrr#1Ab2RTM8X>h9QxRh(ls*3#^JpV`K!}RgIyBSc%P_g>{MNa`Nf>@k} z1zLs&u*pM!vH#{s1v{M6QB6llJZz;*w@T$oZohZDRgiUeF%=%~m=_Sv%0m43539E~ zq?zj+qHbZuKZo(mer_OKZD8ykd{;@1?f3nd%A6|p%H>zN?nr61!kcDam$=21|4Rj&fs#^KkV)qhUmslLGHo~r&jl@u z0SYroq>{~MI0LTJehPOslyoe^%lA=*&Dz&R+01}a>EP5r^%#6~p#>Q&kVRGv5*7(+ zof{(SKb-E482n@}LZnwV2=Wh3O6q-#;@C7C6by{xUvRx0diijx_a@kGB{yzwJ|%9S zm=VbQ@06?1S7_8xst%y~*}%N1&{~-FVJ63@GM!%4Q8t&X8>~4~$wPvlu;9VZAz(0Q zPHVB3uPcvf`_lZQ*|$|h(;1~LJBGTHw|-`a;7t#YGQ!*s^-8#D_M6B|(2cwM)pI4> z>G~QLI{E1$ph)&_zy_lXdByc3BDQaGDOhGJC$3>~DKT_om~{Pg4Xb<6$>@sfiu?Rh z!$4aJhT4z+lZ704{_u9;5khi~V$V*VMu-;)gfVBlH#4OpmjxR0n|s;{`=wXK11(d# z>NEF^Nrfx>sm^x*@rsqWhQBs1@ZM*OTAKIv?+pf+3Ebo; z>76v5`Zq}t_TE%(bUO{`krc!8(|F;ymI!0pmqc_d?&Jf7rn@rwoq z=L}gTXOG!QFQqWW*r_*nda@@UM)GY6*h2OKwDXb=dDpYW=E@I~vkbgYKzM|8fJ9XQf8TexN$9#OeLEdfj z*r8#~I4J{hr01{sSbCR~WoJE24$J8M2yiEAQ+<5}zQBO5n$FqG6N=m+cVEnaCzno} zF+{BLOSuvj}5+|oRc*JVEtP6W8p~k(0At? zPU;t9rTbpZCQ_;^V?*B>;)%9&j^{WyZA7P?|Miqh1ynEv$RN!? zG&1cb$Eh~=3Isn(SN*T(v*pbc;Zq91{JYef-amjs(eXi#%6Itd5fLpoA7HYwcn`jb zju)V@G01jqQDL;2tcS-c&Q2kvrsG2lCk-4U8ox-RVM@T(J9C^%IgU92v`)%N%Qk7k zmb$t&+zY^S{>dQajn^zEy^UA~in8SSOh-!%!f)V!VDe%L?|B75(9ZW*yF_~NF+7wT zF%R3(3A(Td9A*(XtP7fc^2=NH3=$v7L^^SxP!=EFMf53D^dwtG(mU%baJW%xNWK9` zv6w0b$)x2K#6uK^qVlKl)Rk??k%J2T2v<~*{kxpA^ZlUIx`_+NX=$LfTNSjA|O3J z59->xyi-Lj_GCw(&hj*Q@VY#6Om4DIhtoVCKjf1LPHV{3ZxtM`R^o_{D)hG86vx(X zHg3ADF-|QD#QqgI(fzel{rpu+eZ>?$m&E-ojnT`lCMRv6Sg-lTzlDwbvt_Lf>(peI@)pod(W$xcN++PC9G#BD%ESsJrMTw%%DGh_MP*9&QX zO87i9Apy`#CiKv!-z<`I$>7Bj4-#cJO3+P}+Ky<(Sd*SDuB^=>rOx!XPLQ8-1-ifZ zzRA>Z3LEn^W$E?B^)l`uJ-}T#2rEmUGp{A;q>&}F~pt~6ve z)P}nF2jwMEYRY`jjbb&Wo zyz+ci+f1HQA>5|8syC3zm;VPvfP`;=26e1`FUb9v-XD z3Ci{W-JH-L_PhTW65p+y?dI3?PUe-Pfc9t-(Q0fs0rZ(K7yI*)hl?%J7@kieFn=ZT zQ4Ir}jnPrs!1RyD#8WQ20hN{#q+y=@_DJdZzBu+ddNE2yL1xL7Oe)qdNilB7LSCz zCQSL`%|OUtEp<{-D!$n-{xa{@cN*-H0X1P|_q6Tn7eRXrAfK>kHX%&zEKC5%K+2mh z+a0jhA%5t(K+Yrn>_QenfbO`M0+Ky_j(XLWV=v}`L<0NAJZgF;yiqWoKqBaEC zxR<-74yega9G!GCm;G)w_wzLb*&9W^XV#eW;L*$pbMN-O!KkzI0q7CZR8+U{mV8vJ zyFyg!|BtP=fU2Tz_l6Z|L>e~DCZxN&Tft3thtl049nzsR(kX~^cS=ZicX!t}`;O;1 z=X~#4tObM2cFn)8_{Fr7r7@`z9e_77K3odx+%9G$D`<;E;-ew;3EKul}d zn_JeR7Yl#1Jr!tQNJGtHYoL$CGHOIh_2av`&Jj1^WV}eJ+3oBw5vzU4$B|4cAGv%} zo6f4=6Tszt#_tSGK^v|!OQ`)~sDSgKH>(V{Jm%j4W^suSp^u0P$VM zYHjtmjh3LZD7E74HJBXyn9@z;{Wdeq9p1b7Hr;^+x)Pii9nyk7~-{1QI2!H2(WntZY<>(7z>(&!8AXF zf9W&LOY~pQU8;}-xo^IrA`t~~K4#m73Zhq#rGU3u`Oj+@1z7Zfh7ISF>LQLrVK%P= zQq<~vPK*IWYICXQo4D&fD~c6HbVt-0ELT z=TNRDf>Oyj>Z;2>45`HD9u!T^48aKykS3j0cXN_E;))BKkFF$ z?)eKP$4&9%h^)v$b`v#>MazX1{gx!dcC07GkKgbD;1aQYyrN8RLOE856zk5d!c=1} z{G(HnxZ}aI6>;>+@wUlP7-6LUTVgNg7D}fhkd|hBXyBX|wkej%|WI&nomEB-}rfOzQol z2@ox{E^CsGoDG6(^G*UUpVzB9w^8Pt^ts+0moE3-=!+FIZjm|EY>Wq)b@ zODt^&gW!n1_pSA^LDn%YY|W(NQp#mlSN)VwG+ z3a3+zWQHQ=`9W5H{gqze;Y6&*%wZSO`$ER9MnCq}iYa9|;$t5Ol0@*f?Ew9i@n(Cd zaI`^L6VK(V0yJ|&C%N*F>H-=8DMR$$C96qEQj}Wm%RCl775BOn zkaT7G?Y^4YUg>&5$X0#YQWX?ZuJ-(+Yj8YHHPhUE$_$W}R)MVNB0tR!@%7l? zNu55taULXGqi)JLCGoDiKto_Q^3-Wpo0Bgd>VcG$!~WR|1lL zbQcV^j#&z)rZdFu3LlWf0fJdXtq++&H0r}5CMvcLgqeBu5o5ND9PwaCO2H;@Aex|k1g&+?s zgeX$sj48oK4+tz zd*Nc8pMgQ{)c`&ir1DeO_f{Q9pj|)1N3qR>CK93VE4g}6D3TVr_YfJHPBATIF{HK+ zXBbF}G=h54BsIJGI8NEYRS&h+uDX+&AnUv}sy8m-+Tnxe=xl}nb)sU;{4J%;9=weZ zrp1?fqhS`eY#%#CW_fIOU2?8{KE=m$_nK^ZwqhX=dWmM;1-f9f_it%(~lixeuXC`p;t!s7Cq|PQ%5i@)+#S)U3|e;u)w1Qqkc(@ zrGrD}zpz%Vvp)q0ht5R03t|kt_cq+F_nQn6Ez4!!!cS9rmsC8~9sR*An1H`TV(GrX*R-3;yI#|ikzu`F z7bJP}(#|=`(&A3`$1>0~-XEqOX`qdGi)J1LusdT0VaXzf0mv)*4xq!yBpovQ^$R4b zurG||$ybv#0G%$0@_In8$!5^@S)$hXRiabd5JZQc{q4GLM*X0vLPGW(l^;*8L*GK%cejh($ zh8rM-r8dN+MhDK3*AHbcp33IOJnV{ZdT(2W3iIs+o0Da%7IHS73MA`-oXZgGaWcHh zx~yEqQg=H^94D0{Mip>M=zSvJu|J}ME2bw#N`Dooq>VPpB~CB(%FZf#HYt}VJHLcD zNo7hON_yyXm((R`N0W}q`d*b#oVpNZ83mE6Q4cajbi8s*GupIb9=;b1K@f3Qu7>Y= z7gUcWbxN{wQ;(tSyh%t3dL{O09di@bUjFcEaAdhC7t-s55$My^T0PH}_}Qv6a{VN9 zF@s|BAshSTil& zjhn;-fIxR6Z^?ODcdXUdx0XB;Z9cFWJef}_8er#(N_A3&(N1k5IaW93do1E+~uD&+)KMJ zyBnVrr_ElodM8Y4f~rZ+xx7)+`Blvydb}NwawxV&e*J2q=)931=p3FUTNAC~G`qIp zFdbe77&{Y^TXvKy_FRoD7Ul+f;8+Z{@=gJy97NmCEC|C>)@MBQUrUPOCj>90K$5ub z6XG2#jma}v`GYA2cd9>o7o_ZgU9=LSTmVO%i+=4`5)Xv5&@k*MzShTF?Y^)R!dC1Fjk+|7b41#{oH~$bLHBb_kHc zMsrF-1rdJV-~RM{_R(zds(*3@=*r(Uzvvb^v|Oo4oY&|XbqV=iBqyCV7oiv?{7nst z;emk?>PTg!=n)~AE)65#_?q1zl5;H6J}Xpv^s_ePTDp@SV5FVtdZfCs? ze%fr&y(#q8*L6=6D)}{+YPAC_eG^~bO6MlLyySJD6An|ZW9$~?0gSp^0Kw>=i?Cyk zJz*1GQlNb!dPWD57>(w;z;z4nK&P&{t{S=I6grTN1kwOEV?{fnMbJ`3h?Rey;L9X$ zMmUwafRQvKe=(;(o?6}+1^RS{<7iPz{>q!L2H4lKy-~!vB!Vrv zFHc>zd#?WJxW#~A_!G?mROl%y%s8TpWu)jP_-!RepbX{5yPmJjLi$ryS~ULGG=S2p z(2#Y7#pP>sY86fE307h++E5AK+oD%$K<}YW>i;-(4b{B454BQF~)gf2fyq z^5H=^@%6xgdIF}3e%f<@!dyTNFj)e%Uo1ej5ob}4_rb1KJx;qDB}|XbX*0P;v^^&# zfTUcq6{T>zR0U4-2G$r6;q&@Q4|>Ootk(v>e|2rGdgatLz!9AEGZfWw@JR@O7-N6F z?k{-Ln>Km8{%c53x6De9@>y_Z>o`IPpPMKSqRAdmxdRa$jGx!jpOr zf*Yr9T?f#+&D0e|;2e9D{pS5wgrFn)X}>P@JN{y!{^s*pn666zJgUjb%8hRlWewy0 zzh(M&3_IKymR3Znd=Um-x2puItt=w)KVRfNa4cohIO2AZB_wMEyNLG9o*%hyULwZ6 zfwvvapnIu2N>p!>ch+=oIxnRgg+{5^5oC=a%sspv9jPpsNSmy-|F@RpnsGSg&U}RydM!aB5EGT^s@Diad z?Bp^^T2Bj37su1NOvh^Ow_!wF@9^r!$--XHS!>Qc(j~qa{AACTbPZXeFfNrK9(e$N-Rz z75Mpcx^l*kSBb8Ba8&*sc2%v?lUj4@7wVT~6iek5uGU!?m=qD&kF}QHepjK=zgNGT zU$nn=wit}90d*RTONI5i=~qMn{Du8186SA?bdxp^fleBl@Od3_0d0&(hUXD)SVYt9 zE7EU?nldn9z&_-NZPNfGZ%}5vpr2}qnkM<~WQqEsx|4@ext^f=S{QYjoV)x#{lj+I z7e?zldM@`&P3m@1`3DjGfz2F{S|;LDp+AxFLnE+_Nw3uIWPH!uXUrm*<@`+BEr>2)_KH@{Dr5;($hW?TZW1bnl*R|m%`H* zy=ZJg>Z`0PNJj(trTSpy=^u9exR+pw))$1%)Kq?B`DobVxl|SJh5dm$kwh^ec zMk&UPvLuS+FI}B_hi*(6^>V%Rl{)9WiP$XhkhdDqIRB#NNr+aFLgZLe4Dso7TRFN- zesxNU-B^ct5~*<*?lziANbIv>Al zCm?o|nSP=NKU8xAp-gq}45CNo6&g6LATV$Xu#pt7T$ zOUj7sNWmJ~9?*0}`PJucb`uic>*L!!kVh46OUGC~PFF3FPI+>;qKAx-3P~BX#XV0K z&yR`X-LS^Yi;Zc<~uh!N1c{;=Ttb3r9(GcriO#vxce2;sa zq?D)Q4YXSm75~K&$ZOHYw+U(?*;}?>S)zmnw)&YBxh;wWc}9DZfNtB!>6@og0qJdt zAC*RKDK00)U7lZZw$Z<*A3}j`m)lH#*ZwBL!W==F#B0Vljaf!us^(hmdKKp?@utx^ z1c_Uv(>M2Y)9bEC+ZWJ1Cp2(y#xI0$#Iaee4gn3VLcla-%mWng6?TjQpof^(K)n-1 zBB&M3;eNJZ0*V!{qd>>PGVZ46uJBY>D^X)~zuPU)6*T%+&lCvjmm|m1#cWbMOq%iD zE^TfZ7f_`VK`MA+6A6279y#AO?XJv%JU8Q_Qg`GQ9BZe#s)D|4GEvEysjV5V9`F(y zK^pd#NjCwzlS{D)uHLM8wl`PX8@C#Z(YmEq6W^Gxu>~+naQ10QV&~hHCnt&0fD*Wg zr78qbL#2B-@I|IdK%kqJ`vwUhl~q^Crs!JgKE~VD$SAwxJ|0b$$E%8ow0nbYp*+Ua z+ubijl`l@zeJt#mU7V1H*9!y2YOS*inM`=Xj4zDp0wP20{N5AW$Q~$+EgL0``;DLAzhMJJ9*wVuk z62@}49xa?boR1(p0-^|4HSft&qAfSbt< zV78%fw<8n|ikc`V?(nR7m(1ov9FYD`u=&jXk|N@2e_C;_>eKo|(lu}=7x2f{EN+15 z5IP$$ufcj<8PDJP^>{dJA@OkXM>j6Ssm73fBDjfhkg-z*% z5;vHkKBDjrMX_8S(fMY$Too@66 zU?dss@Uj4qjxeBOO=mR@CIN`{7*9mue}(kxgg;7mXi(?B|uq+or-|)w^Z2f{mM** zF_gsc7}HT`DaFt%2uzc0G^zIgx&J?;jT^r<;J}2{dt?Cy@5LZf5Fq)4`4@`(Kh$Ht z&lEpxmxXRee4lc*B@H=NYN#pSN&voEHL+j*gMI(~10pO;{1j7VK7>^tT%=i;*kP3o-43_>Bz0E`;C(ngg-R_04AtXr90kuP@&zx&w(0&v)b5#_dq?VvuW z9|>UBF|cKPYSd&HN97HlJhpGRYvO5}X)&X8M5nr>vdWE=OXCMKy)_c^L&@#qF}Dq#dW$8viS)D~n=zg~%=PH!B+5 zEN@#Lx^+@uBUn;cjivB~eY`$0#g+VH5cU$YjuFQD?qc-N8^3lKVDJKr?_1M(c+DE$ zZ$!YMY|g9~bCAp?pTVG+2RZ#U*5m}&Um7Le_-pgt^>@djw&`~Nx&t6zp~a8Y9@u6C zJdvib-B23XA_CT@09oh&z-fr%)%6JLOOv!H+<;gQsDAa@>#MHaI->DjxU@W*4R3XN z-l31YJ6_tm%mtjo_~5smpEAr*M=Ry5p>9LY(O;sUZpDXn8ovKd`O3hI`sLf`beT~^ z$Gv?`_-X^^T_{F- zSh_BHR2+AD)$=}UNeBGiV(z-(8z>`htC7FOxNMfl)I=of)GU_lJ!J!syas7g(^rwNYU-M^%cHb zPF|a{?9<~&i|$!(8O^LWn^sg2AIo47K={8SU^S30c5bOSF~=d~UNXi`E9UvZdo;&+ z>oabl3CQ8KwqScMEfb$R!@*6{t zQN|)bT1dRNP&e!8n3;hyW)+weP{$5bfho?KBD7x8ScnLcNt~k=s8uJ8c zrq@deE6tpDg;yODL3`@}#G3f+XsGUT1&YyqQ4Idcg7dBN^WJvT6%XejviS(DG5wc2%^kj$+Xr(FAor=_(u1_H?C9mvDCco|*AH z^Z+#PRQEY&Dd|-%$vTkidW>+^{4i!dB`Uq*?5TZO5Ha8i^P2+uasBZ#OY8auEARIv z%Zgt&wen6}fc2Ca9#nOU{u($2;X9e^qkuIZ_7=!ayl&6>?~hwEcdo2}L+$S`^gHMr zc<%rXXn$^+NgK2yRxk*3NqUCp5#p`n{jd?$th_-&sOi%Q=p}m$&L%*77;D zs_BaxJQRA{dY2N5u>~%C+E?E*?^}72?e(O3*IgbmYwY6R510k)#k_Dc!%MY)?nt-J zYvEga!|MF~%%iz5s;!f3xW#RIQR|{dPz?XOemrcEd|t|!zI$Bzrf!e6@E=pWLtA&M6zoO1?6s_K0U=KtUfV&gfQ$N!xk4bQ;!I( zLbp{4n0Lkd6fp-qj6hCiGkOALuCrhP;@;JcAX6X~wKri8|6O=PYi~v9;1jc%hvT0A zJkX)LGWo(5J9m#E_VJF8Byd<}ixy3}YlY)Va@*(YO7O1{b*8U?l4Q5HkLPK*X7Tc} zU~i|H7e4YP$Mq{sLEuarU6~oU9pf$+z?vkzhG}qKVRewa?wI}HJTceR#_2u%xn%v(b%AHe zclm;uky*J*{80Nb|C+vux)rj%sdj20Pjft=G~kHE&`x^)BH-suyI?cJsTy7}T4ODX zQJ=!$l z<-1}f_>Emw(K4c&Cm_y^hpI@95$2>u`U*QjBEnKlzag#9AIpo&0ZdvQhOS99b_Y@V zu9>ruWp5$B@{G^BZ7b0t!;>PSV;)mB*dW6wBI-kLXM3NGj7(5nMh}z#*r6IX3>5%N zdZe44Z&V)HpLT9>^6_GpVbr`JiAR6s`Mw#y^9gSAQnOWqR^{}g3{&;TYc5@cUO*hQ zR5ZNRM4CzON4QiBxUV&F9jnQHJ-C9})%D(_H~YrZMa<2E@uwPHuYaNym4`f@H7hs- z5hCZ*t{Apk1N1Dr!C#NJ9 z8x-#zLn-7;iQXhz0Ff|Jc&iWaF>%hkLWgZw>FKqkV;v8F)p$u91mVZmyZ47yq9061 zGoX4|iI5R!F#8Im2ow|)rU2_fwDFAsz+d=V@Ym)G`v8u3lXP3XX^5!!yMVBM_>Z;X z#{f{;iGfp%V1Ys(AS5&y%6fD-IiTI{_0O5gER>ML*sFWIm&fZP<*(i0n@#)^zJ8K% z09XzaM@fj=b!n8mIhd5q7#wx=BxUAo?8P)X+#H^Udhf-FJ4u!*f|__&CqHomZfjke zRnxmU65Ed466OFXLl1F|Jd5z2-NL_@{C2O}^L_v9d-%4+>;4o6b0qHCS}%2o;mef7 zvhS6D&_49`Mm|b+qg#JB3Vmy0`+Ql#Fxx1uUKzsvvvwY^I%qnXe^-L2mv_SCj4Ktw zX~P&PpHRKG3S-15p`BD7IC}l9@Y+KC!Bdr-yq53Dx8xhWQ4BdQZA3?5Pa7I3RO2e1 zbTB{#9Dz&~KV$wKuD=J3Yyt_`pWcAcUwRed0hx|ZDO()HRPJJo*ES?^bfK#zVo?3V zl3KrK8mduN*m>B7-2NNV7^oX{z<`y_!R=e?T*Ff~HdQL5lqQ>crr?n6z@t~hfr?$t zfdz&9;$JTSFr;f)qDcnP$@h2`3~&ak+2(4MrE6m+sKJ#eIem3e62gs%2HXzqRwcA? zr0uUpL2SjY>V}9cib<8ylu4H=y-P!mz=%5bcwU4Y9O##ZM<0j5%CX-Ggd6SN9rDlz z7YZ6C`V`y0BR-7X6bM6Z1C@?2Q}<75k3MIptE%F=0Ab@ z--r!<|KfRtD_Hq$%THO$Z~cI*Pg8dl#IY8E`#V|wo2ZQc42M3IJeyh6$8{1C-^?Em z^6sG-Q~ln0Rvxtz^d9U!RBPH-YNw2mA|D0lV?{}_OIax~#Mr<9SVA#+BGN4ogN{T_ z*7bp?eYt!sn%reu5T_VPK=$w|;Y@77y%S|r`Qr;ufI2$|ILFa1(Qf_R>#49p%qOin zrZW6AruCjwg;gSYF%%qrlN_4!X)ps8(KI7)6zXUTa!zXzsUd3Mg&m;wO`($>PM^G% zF$&7L__@00)`*dU@%x;e>H+^He(!O}$g?Own*X!VP|R?8vJ^NQ-7QWdK~5Ec(rNEP zWXXMH@S|r8{3~S(F{4N8Yf&K<4LF1Tz-|!Vdx3Oz-*CqDK$syf5VBo8p`K9z5dEmo zmrt2ma+(Y<@Fqb)5I`N;0u_y`Q_e>71E=F+tRe5e;p5-xn=e@QakNAzYy7BPli^+6hI1bYO&a6_8M0=1I#I9O)3UJ3QE-(AxEMHzpS zJ~inW&SXfXjO9Rj>mpK4XeO`8u*vUNIH&618Uk@l8j4?{3=-M-fI0L>#o6V=f&)(H zi^U`;kV>Y;rQW-Q(dyhDMbrJ5`-v_`+et;XG}&OG3vEq1BJ~_440Lio!3EN6~{HCHW~*d@e>v=}g++Lz+tE zKEjS@Mua5&$|t_EEghQY0S39Wy@k21R}0y6gw`|hkImK>2T;(c+na|AVqp8X824xB zKxN=5DDwYTE=?v28xy)Eh?6=>Y3MMG^lK2>kFNUZ?vl+ERndBOPqbfH(|8r2dX}d) zu>S`nAwbz-j}tvH;djE_^oie_fxxsN;RQ;0|0}tw3zLksJib~->WJ(N!Ce(V;&t|^ z;J(T&%>3l7x9$)r`S(h&0rD${s99UlzM6(!-PK)P zu(3CM05N&*Kn;Irwj!t1 z?jI&9AccIC>3~JkGJiFKwMWdRS1W@U#Dd6yd4dBS1@eBM1*kkX>h=H6{e>(HHj4Im z*q$EuldZIy-yEvF_$n=8bU%Pf97LB|QqpzAKID12E|FscGTX_0-mV=E)YbOu{xiv6 zcYpL)rGK5iCN}|c={&%W>MM=KT$?tA^rY{6%PuaOh@03|p^`Sr&rs*xNFcznPEl08 z)mrBvO@6i<;kw;g_PrSOiGYhm?@u8qnN|_fYx#hCG*?`(q5uk--bcF@%AYuuH<`T8#S2?b*x?Oy~!e;yt zxW^}Va)_>}>zP1akMnw|CVJAkxcpWWrUhzRh=)BJLJjOz!O>N~`0(E%^6ww&P+`y$ z(D^ZEC%}DRJyVITo1Eh%CzMf!JFkc|l?vHP(?JHnXn~hf^=v}=;?~hYA~Nz6T^Ot1 zO8}p(H}ivaREhqss%{mlbemxHc`rNSZ`N?l{!jrJ=0CZhzyWVL11Y7VY`M=|6#{~n zL6l-2U)gi8?o00kdhgW<1!`6WxR!9kZ#61N%9}ZFwEX1DI2s~q-knx=K6x^VdW)1) z;&Z6E3!sv)nVd*8u{}Au0lBA&*g%&Lj9%3EAd_XMX&AudO8_YSS}j0 z(baRGKSo|aODz|WJo*P}^`N6%SIjPJk+l8gdP`SB|Nkny%?6XeH>!YT0brRSkv;c| z?SCJ0pLZyYyj$+YJR|)P1dIrAnJK8q9rn9a_M?e@c968mU&TjVdmJ*#w?KmsIwG{7 z>|nBc16&C~^_$x=v*3R|Fc90XWG~dC)#vddMJkGjR=^NbY5sTjO-x()JlEb$Sw@4z z&j2tTz6Odm8;j!Q?cXB+?GlL0A`Js?BxoxDKK%}xn*Sd|0>2mvyVEsEd=`VxdU!#j zG4py%eZ84!X zM%X{uhZ3WoL^?%5xiQjjbk)^>)z&Pdo z{)=YT^l2=Y^SO)^{f_u1Rfs-Y8 z=a&v>QUMK!fuLgxqI|sCSV)lU@Vn$Zz}!%cf7>H9iX@IR&Z784SD;x?IxCp`{P}U5g9C+i)5>vPfh)8CqgG za2_T+8Q8#}xAv)1x3k4@g!g)(#cq17H+`=1dXU|5FWFqs@{!x-@QTr9Xo}J13z2!= zE4cf$llRp$6;Lr?r+FALBm=*W+CEwZ&g)4vW7D{h6fEo#IR|4#lJA z^4-QQ)h4t#(y6VWr{(Di2ciuBk+#3((s!@CpR-ky^ozB^HYnf5Q$HzJ0!q?t*_%f- zI>_{Q79$Q$k{T045KQoAu)%-7!M%9tV|5P!=moy4^5^JQXg(Ji_p7z~ z>sO8@i3CRjIZ=+L;n-j1-{uhdJgvKOn~dtHm;Ui7bB)K9Js$RnR>)it!cgK+t19*R z*;t_}T^k*fN3gEWWdFGBUHHYu;M=*bCiv&Wjk?T_ki6w&eQ*4-EiY1mtS==ruweUp z1mhr)C$1#no3^u~)A*6sTRFa4K9xO-+}2)ocdJ;9K^tdy%eD^OP5c52Uq6}wR!Rq7$Fcdj1V^YM!iRZF7U`9^ffTFc~`P z?^J!LgZfgu4V?w{^?$yRNn<2kUeaBM#`yU@pDQ-3Ptg0uG`6nezmYUnGaf76eCc;J ze%xALCiXF%x=ZcX=}iQh5{6QYi-OF1m0W@tlNeKie)OD?k@UB6!y`_35G!2NVZ82K zDI2UDJ|>ej-CkFPAa56p9IO_NJ-xK&*!%P2R_D69@qz3IuZNAJG8qZ$`{)(l=PK9u zw-mF_1Yl`!#bYS&0?YLb@m&Jc%(lVzMou|2!S!fdc{Cw8y*Ro(TdRIix;oWLrrD`R zOy^oe7rPACQ8Y%$&&Q_)1gr#DMGy63p`#D(x>vb5Y(`Fs4Jj^6|9de4S1|>M3w-uf z;;eGtqpY+`qAVG9Tf32uw{gF)Is8IT+V@!?Az9yKoa=c{ibhDq>X>)qA7`Ur5(wJV zVDjCMG!PyevbA>n<>_%{qHfemUZ#84@N#xQY9i4#%{`00X{1GT{vvd=9c8=0P<{)+ z`u0^a99X@1!f%z&%)uWd2uVn)Rvw#x{D_NccJEa*!ua`)0o4bk*HSgCUMjMJQMz!lnp#svPCk35BC_gM4m0)>W}~;c9`let0VH1@^|tbdkX6i z<5;HJ>ncQ`5lT^S7Mu`8#zY@0cWEXgi`ERjco=Ey6mzJqLO-aLx8VD<0eoI$6ndex z1<9Tb`uwZNo$5cAxhK;7?=#!p<${I~Y5U!LS|LVGH*s)BkwK0ZKNm(PEgCJOd4(dI z+ul@oe$QlVeITldEbu}l%ms#uK+@z|i_6IAx z2=dkn9d*Nq25lx~#!NhN@`9t3{xsct7;sD8ZP|^XBshPGqiv3G3XDwO?`( zJ}ss>ji=2RhQ1fXXud~&6~Bd?Ll9@fEO1mmY0?TwUSwX!61Fvw z62}Ec5ooUWD+uQPRGu|pC1DN6ywZf|D51aWq-Jpp0Bw5c2y9ie1d&i#Jdcmaiihu= zLO=)on(-UeAGmI!twlWaa?+lAv$-xG9rr``YE)v$%QQC$3^7=UU)gFLkP6M$4O`Ei zRtg}};L@m9=!wh{&b<4$PMM!ZfoynyGxdcpwL=q|OFVW_B%w!F(%thz__7V=q9ztF z{(UcDBS1qhKm3sY|4jx>65_>GC^x!DkSw2ImmJ%kxJn>1A}bdpG(kf&?>JQ}6BNT~ z)vH~#T-sle0{>}0tna}C;`f4=)QK3>f`x^e6;{g3G4myXy}?Um)}-X6hWx56n)cd?3~iZT{- zsu+O-aVRS*l=ypW@A4GdcGnm2u!*xZI*K`tjT2Vlh(>qfr&q+xncXj(V!AirmcZd@nBGJ}dcQc5 z`2_AVtpzg&mdG%+Ru9RpI+Wr+$ayy18rAhPCv0Nn(1f9tt1u=KTwc|r>wGEZ4DgPp zk~(EM1arZju4z<+v3@@Y`*_#2^GEW0;ZOH@hl@cGT&mON zLAiQ;rqRMTD`{(Y6@X;Ral|1Q4Y6Wu)A>R36I}N`JSI^Qf)x+{ys+>oYix=-WBm;s z;fb%e{?#JQQjN3HbSo(OszxiR#kX4r;fMHEdMUE$Mt znj&1a8HItY2KNo#Qs~>G@59nAqow_!N{YtJVNUa@Nd?2zk|@yDNm5YVdBL!AhmNWX zC*#C~wEGQ^hMFv&CtOZP5bjOc-0P+0rcBW(4-3xjma6OR|?c} zi)#z7h#Pql$|M+!u+QSFj^P|yuz!w*7W^^cms4eoP}UADqh3STt!&jhB)K`!JscDC zIZHNNO=oUd-mr0Vb*qcamJX2_V0#Ic^tg!5M(&C-n9WBuY|JT{j9VAv)rrE)QK`M| zFa2pa@S3E!#dj}&v}M~YtRvQ-)le+Ml;b3cDp60lb$+sJpQa^&W~QLzAjibXvx22g zimnk$Xcyrn8mrt*UHsK^0=AWh$sKHnB13E_XmiO*y~O4Z(-djKu-k;iO<+km$lLRl zoZFz?$$IN(-!0fuBg>&~@SP2MPV`XHj*!l|I}20bM+RHnBM8g5n=Fae2Oh>`GSesd zdg=OWHJhj5A2H8zM*B|-^kGMw*5=C4$?$>BjL*9t($EV8M1kjrbDO)1-7;9m+mT+!;jV$r@C3s4PSmEuC zr_(V#472>4IUcK=z7}8%Ox0~HbNp5zZeaIY?MK2v=`hIf`d2P$_@bfQxB7fnmn@v5 z9oUl}Rf43YuN6I~hi=WB|CkFXg-1dXDK-+X@TjD~97P%=sAc`}?80`+>gBJwZ(%L} zPWNPS2FHf=zR8_ad}a94{TUP~?IJqmQ)Az3sZ!xUz{%)>43xek7waX$olz9*ki=bg zC6N-#01AJ#)6mi5ji<)Fba2+=%fRcA*5?dt)^PPLN2O7r*-+^ShsF9Q0*EK#RD9G? zd?@>r4?dImH=~Ovw4PwOPnmU->qd8x0xT<>`J#{timr0b<|KyhQFw1Q{zOIE`x6gH zG~{c@brXjhn!!>B5Jw&GUQ$Ro;@J`oK`)T}3NkzfhSK?`op=7U>)N%$)pHc18vnP# zZbX6M6^#%hj|-1Nqsbj=CRT_>LePtJDbPv{sW!iuOz#$0?Ff z+tsOeibn-c`F%n8Bl(Aq4v#drlB^VrAm@<@dz+_P%YdtuNyYF-6?)aTlTT0n@ z*4Bz|nz`38a;gYxOj-z=?3gM=W2DN8$0fo?56Gn;RGI8X1{xk*>0$gb{o<>Q!&f;{u~;*+{y3^5KLirQDP`%74)i`7=<>Ib_#q5k z{&+V#|K@gW<$&ye6xSmdeMm+V)P)}c1(`qn#xc&FAAU58 zY_y$YGP+Qp9q?B=9O^z_jFIFIqkDkY-}f<;@q*D1z@eKj^YRQWoU36Y^pJu_*?sUk z@Vfw4&BQB4+)0pAlA4fWPzfQp@CuWu1w@{OsGL~#HsjNwYbs)Z!;x;=ZylBhT#2Up zA*ezGEx)kWtW=JFi|3h2g^qr_t0`w1qGOe-wx7sQ38N+(&cJLPpuvyWJ{UTVb|T{T z%f3o1+YZ^?&UKDo`r*eG>q$9>HqR{wVJd4@Q)XuDZqh@yRaPy2OD-kb-YQjwafLM6 zhia6->a7&Fxvy0doti)L=-a%#o}y`#KrVxxKv3?@H*bH4^k80(3zXLdsR2d4wsy@@ zp&eK#{t|xb3>JF+VxMS?II}HgN0%N;t*sic{1k<5y9Doca>_nriAC{Y;s%SjP#AQ5 zbfK_##D@tMX%Sh;3L$a$g3IWT&hP3X=y^4W*K2|R4a5J0*jog@G%_jLstNTm2hKtp z@5)?fOM9v*Uq+#<>u~ZDesC2c;)I{>h$Fg|JXQ7GR9K_Rr|EFTjng%}BGE}l)k3-6i zhgpB(x5>TiE|i*2arSqdGR^n#;QpQ4u+CZB@|A{vyZ`ngRd9B+KuRSqB@|?uxx+c; z|9A=G!_my*%kB>sUvOqb@SVz zG){;%E$?NRdm>F(H49!19(M~jdDm@WaW#x;Sxq$Oqb3l|gPXB!I?i#9)lrYkmqT17 zMt*mkPjYcBhP}}IZ1M`1QELM7|JprJGYFgAvAm-Q_F=olM%R)5=M?htD{aUoPJdn~ zf!wuy26fWgN1~^ul)XzWj2l$Mc{_B+K-;ELZGsQJoXRCv%HI3^9FJ|x$RJ@))K^37 z`;=j`O49VU{OiDS>+_|$U0(zehHBLxpQs5J847J&E}Fya@U~zvY$Mi{ z0{Q#xK_S>)NRb3>t=axp6})gE(h}qO){K>x5$&gl$CDSvbPnVsP<~8 z%4&4YK{p)XQTcEIO=iZE{0em!Bj-TzPMGV3&jv2*K+3jabHhZdS2`jSbQ4Cay1l!CF1z2mAv%P@JEi({*)_*$-R9*wLeNCQ_v`8TCP#MjVJF~q zXQlL-zjAY;0)xOYi_p&QVyKqyf0NgLnz}K^7=5%x*m*PWvzf-R=Ojd&ipT%xQVuBe zDWhHm=;&S>&s~^Vi(7C8egK03o~gXt9Sbv6`X$ZLhwMB&Xge??m7S9^D*JGE8y+H< zoiHx*6_jT;zG;i9APKb0GcFL2WV+pv7jp5a>r_F zP5J1%xTWqf?M#E6i6Jmfp9=@^$V5+ev+N1yoUf@XFnh0%7Z)-4X6+Iif|RqPnwVE3 z9}Eh5XcR+6xg8i^pp@dBik|X0%19QRllVW)ph-hJmC;$kA3?!-B8t%wbht_hkcK5&%(M9bK>{kKTLIG?LRuSB14 z*Zis;v_o5>0o-Lu{D17a&Ab0O(Zz(GQ_Jw~jL#;n6z*1XNzcmwcR>t^pkr`e`-p$m zNGx2S$XQa6m7k6#%pW!QcAI(Yey>%~!wj7l1g82y>nT=3CIu={jF+-Af?er6)P^^a zLj@`i+cjGW2^UF3?{LRF>aka<<6yin(_snj-WTw*b+5ciaz&R=5 z)^$tRRfw_*JwmU}%AMK;{>wup^^daEXch;TK@q=Xwku1MK(@5wBARrPQI%Ad^6Fnm z>y)Cn4j3wu+zsV!dZGSN&p!Gd>BDRAde}Psh#bjtY-CmxkDYu}4XC2T{~G>e=G9wV zRYw1Mj_W>vkGnMV%bU0`pT?L;$n||BUx2aJY%XwnFZO$$q3HKF7WwX7NmVZAlFy1T zpJD*M@0$$&h=-~E zNRw*Le=zzUT(k`89I?TnlLvVLm-q6EAqnz)N7nxHu>WQObkNOHJj3>r$7rF$nBg`^ ze38Tbj&k_$D}|_{cv_}-pHN7UE_<@`anlY&Ki2d?bLLp4QbJDcF+i;istX5YXpMZj9>^8a62 zF@KIjFvn;1w9PBWmmKaGu_rl-K^>!aQzk9kodgO^K$tqoR?`QOT+fuIE?*&jMR(9aiUn#9O@*o$5K@Qf*za!5L+4eguKVKU`Ds zPZtNKMzbcS@3XC9pGLBkccBF(;_crk?CE z;<5uHUy3MBPYj~-$6$R1sO4QcLUG*yr>KM5yo**qSDUiXCIW!lEU!-c=P!fH(S$@! zgIZtpqdtkP^jycqfM&{}2eZyGSU`PMc`{}{D0OH6r^?|UT>h4b9ePoa$%jCoWb!GS^+fSigX7R@_qo2Vg2p4c zYwzPIC+-BU!u#2=e>cegP)R-VqMsxu@ty$tXJ6z$!+DS9bJg&LlZT%2O15zbhus2S z^v?4ZdgkEL7ZOTHxCL7EX;ismd9qPEzSl1Gd3bR5CJ00usjLJ5cJ?n~uA1U3{W`ol z)CfPjKU6KO3~1=MRTup4X!*ar9t!Zko(|-cBXI)nbx-Qa<99&fT34#yfb#hBr`;}# z$TKjeox59YhngB3U=t6DKg;eI7jAFr^3|s-km1MYt83*5e42M83~~h)i)0!uGEQxi zB4Ui(l}`PEiBzg0P-kT{T+6)iBLCI6BEhpGd--$58im9$vlPBsjsZMa%0I| z*-rviK(_C`FAF8v>K*bOUNM1LRpDm=(CUlUcLWJ%F1ww>%dgoAC$JioI|vv0o7B2d z2{oDGAlh=rR#W40;dV>RyvFxX z^#`e1r+_O!!DBMNVWU>X?`nV29{FAxQy0P$a_c-kp#*)iewlH@f!th(nO4!~f5)7d zT_?&@JEYJfEN^Bp;WU(4745dT?aRmef6<5kd;tMJWLv|Ae{@gD0IxnkNDO!odZPb% zj+$;f$HWj9HP3U)pMA3~OTxG-(oK^U1C#}Wsux`L<^lwnX#@x4>BaW6TCk9A>IPoE zjHkt^$^3EkZq78HYNL2J`z?>QNfM% zeR9zITr?H<;cywLoxM(mn9pioS?KJwmV5fxc%0wkE(cBhqsuLN%|kVo+t=^?1_a(# z=K|32#AhmQDla!5V1-?zKoq6pDt(S&&@)y3Y7ueb4yMbAx>u;53m#$XNYW*ZLk3=< zHnk{A=x<4*e@oaJELQr6#oW$PdzDdKeyokC$SXBiCURfn3%)7h(xf#O+H3uY0NK0o zsD+)z@*(1nZgUQ@G0`RzWd9v&K8rm_1B-j-WwY0V_@kJJ<_!6$vYe&w_oI>r;~q_1 z2iw@tE zEpN@zaFr;oiN(jeUGP~>KqWED=adDib-w#XHC_ydTb)bHQP?Q}l(BVXFO2IW+35<| z@~*@!)u%E|;JW=19mu2}2Y6nvlurZNjQD~?k1nvK#TICvaC!o_dOk-L?=nHaf&Zx{ zV0YkW)j2AyORb<$rT&M9VCUW$0@!q1)I;^WOgu50_VuVi(?pV-BmCe@l)th^vq_dkb-3bczr3*cppq9ht`v3Y5us~Ck@T|8_SquEL1SsA}4Sj1Z_)o zb}#I+S{is?I`y<|MSouaHF4HO*I9wkbF3iy%({{*Kp#Ye?@p4Zf*wx8Md{Be@S!Wu1?k8YM7^CN{Ag9M+1sT5WasD5-) z^8CX#ccfI_pPmvc%$b<}(U#CKB0d@c1~m%D;;Nl9IiGKxg$G>bQCfeLvkF_<+)&0G z9jY$dN&p=jL?<`=B+a?_I{;B5(xvaasKm@#703P#(cO8`J-OeAF$}0Qlfr_rjGN7=mCWh)q{w&oKXT zZC2LGEhi*IOK$b=6Y0DLVaeirV! z(W3{|XZ@_05c@FzIstJV2_5&T(=!&FaHRPvtNxIW4PsJ|zB8neM;}=VO>=R0ogOE8 z6%_L|5Xv1)H@>2Nd~pZ}dK%=s#m238iYDn4qS9Ek4T)sqqKw@pCX3o7y@u6-WfBK| zp=Hi<<%oeapX-M<;xS7A=)uatw!P;RF1MlG;!dfjxz-GurMh~7R02uY=gby8+_B$8 zh@Y?pvAz8CaRo{LSps7ke`21;-N~}Uep~?}i5m7I#0qFUxA8+PR}$iZKZ#z!TRaLv z&G<8p(D>{FjWEq2&l{W`F;S5(mb+h?^@vJ6_tv=QX|hDsp)S z@C_8M6G8+xH?aP##xuvudjoZODgTK2_X}i;f$Rc!aU`&vAnA7z7i4zVH8qS4@Xl9X zfO?oc{l#$~m2iY+m**sqB$fG_=<){~&Rt^s5fhV}Mp*Ho2OZ18H+R#IvKdnAH!bWI z8~F;n08oC80LocEo+nF%L(ZMYEAE&yQNgAyx7(pcybqaIVZQXp*`kj=m5_71^>A{-5}>z%19I8e5Fy<@-7DyId!M9-~&$&^LD(mLD}< zpxQ^svJ=GaRj*{~dp>5BR!$8%=j#vI5cwTQFZz(}X*3=^y!3S^Gq26o`jS&|xM0!p zNIxII%Zi7n`PA%AX=&MjjtQd$8!0oaq4g{Gp-#WJ z;SQkUV|f^@3=%BWOtshb2yuo@g4IsCgi_LB?%0@>dFZJwCjlH>9$I2l(!zXj)?_qCL+?a@%(JQa*A#%SRa^ zyN36**^_Q1$p|!QPa{!6ybuo4Z)Nu!ivF0e#^q{S5)jR+# zLjx9#Ak$>F5(!ZTkfe7z{_S6=rHu9}Rf2e&^~DJ<8$#qpEf4C`)HiSG%w9S|f+ALi za`Q3YCjpfcP#FFpeu%BMA_n}uxKO!iOF*7wc_JyESh$x!0pQE4MFnx+jn#+G+!j$2 zeQE9oDL7xBHAto2I&Y>yQ=6i2$lk#%4N6f(BjVAS%Ws*!UwzDKW(DME7Ov@F%S>}A z-fT#n6jNyBm!5wPRo@C$3Jw7ufJj6YS2CK;U`k?L9J>i_{gUW`eGr;v*9_9E+SE&b z5vyu=inT28-gnAj$o?>aATin&V2FJ`Fi>>lBF+p^Jbx1X8teD=uYpvH0V>qQHn?0i ziH~>$(!(uBdd=W5Y~ybwVf?{-*l>1c-z4^CB<)#R!D_pScZNxlx+@aqgwOg$o;NNF zP1&Q5Jnb<@*;gKT5VaCe!CrV5EHBtOJWA9i|nU z7LStANRE=;x!f@HbuDw*UCj?mGgu0J+jH7WhaJ<74vQ-+?YcajIkx*OVl}fVo`oUJ zwnmU;ZKYZFSsfxOokGt`@k+r6y2$k+U;6mt`4BhDBpr7rxEoWv`Jj8h0O$VfMoBL{ zw**=;8e%8i`^=&=TVR(=J%7zIk$v;4-NI5c==K>ln#-N^Ie9dRhN-nB8c68*M}@Dg zRlF=g1dCo}O4~GNOgPt3p2?bxha zPvMhe=(0P(E7P-A-nSgbzC1Q}Pu~n!Xva2e7}x#vJiP=o)^SKaG~wQ6zS{uphut^N zH1o<~a%dIT7OB-3tG4DlhL3Q%%|Fa?*tQcZQamhyL}s)^My-0>0i`I-6vx*l>}jH# z^6N9t&<07VYr&7xj0ZmtC+fy$YuCMR4#Lq`}Wq*HT$MNi<-LT5Y)Z4 z4DQ^Pb!@?(!d_-1!>&=$z4thRC5A?LQ=X)v&(aMrFjW`=7a?uhk?jYWMF>TIxiuR8 zY$u6HPpPBDrZJQF?(<9xVn6X_FUZRyLmO2${v*EU0 zr(IOfMb2rN;sy{)k17jQiQ60go{2@hS~{Lr5v?yd@l};-9<`5}qCYm`kJE<~KR8;Z zBD#y>b3~I{C^z*Vq>EY?-(N3FqDh6ei_E`oOZ^~5lL6pSZ*C3!>U@7Ph8Bz+{}!!O zz`pd$DnA~F_XQkf{`7XUDWLHR6yg@f$YQ~L<~RUdV2Tat;01xAe2kapOI z7Vwm5<}&Elh$-|6Ea7;h`sebGvQ!iUb90qc4@0p*IZ8MR-O5>6Ga5H@rH;2n1guGA zFd2m7d z1#1<(F6!{;X|pmFI)6Wj{p%eGA?0e9Y>g{b$u;eU&$E}eSH1H=Q3=|(AFD-klLwA- z@m7x`IK)XWzYO`be1c!J346%|bx?$)hE+-|VDCBlzNR|FU8LIL&{XGeF)~8Ro}~sc zu@<}+t~bcT?$dIdtg$`>lO$UISBpBg0c-YIKS!?HNBz#IB6qBCkfhzVd)!9Qkj=by z6)N;(n`2r?CyI5#w}SF7`+U`cFvF#0aRqf?1Exphe1HmulQKtN-9FENoZySHN|xZG z4VoybM%-gx5XaTSZ>xPgkHy|yV6G}FYfTev#)o@7@YZkxEfoOc4B`1ttrhS~!`ydD zr0viAj|73U!bA17+~oCW@eBA2vC8nZV}zyZ{lwH~j8Nu-ya}rxpA!af0NP!3NJPLy zB4ftryO_SaRmvBA9|)L^AiKBa?l?+a6py(lHUK~%5*4C@J&{6~M2)KyIPOn#NK_!c zXwr#qdZP}1Eq71sW*IEYR+r_E@tH*uxq)3hdx_odhl^(KEIuN>JxI^Msch4Wm2TWZ zROPJ|D&>BUgc^?iR0dHoev}F188o4kKe+Y>`eSmwB%C|&52v5S+9Wf|wB0hIUb$~w z8XiwwtR65OzVW6&4{MyAb;Z~)Ozig`K6y|&TIk(0p@+<$+DBdLN9Qw|d<2BBDSs9` zg~vCaA4Zz3aXWBf_xGeGn;F2aN}XKxP#<1p_|k5qWn3`vfeQbkoj6&x0i@*NM) zRw!ZP&0}1Ro*lMEf`l0SwUSg+Gl%8C<{Gyu5*Mg?>(Y_^Pw=~qpQ^pJreTmC8%oXF zMT#w?cwFPN0yWR)l9{Z{UVXK%chRC$-#gmed3`Ac3AJKke%$WrK1p5`8Cz-t(u-~+ z+X^vk4cy%Gt&Z-Oxq1bLL$jk?^6~OSdwh4kDCow7uu|SHAWdV{km^~D<(sA+`D-Ip zHrte>*2v^TITBG>ZpxoYP{#i_q|O)PrQSVnn3K6qYd=1|d8U|<25z|)>3O@`)OD}q zin%x(W?}3T>>kj15OH6N0?PZ*Vr%2xyz~&|J(+#jh{aNvlC(t}RS`|XMlv})ID%+t z1B7IsKodCPyfbA8Ar)9gmFW4% zQ%+BB@e3zo)MhY^M&=EcJM@nI0ce<97rX zFd)@w6gk~V?i5UO--TR>soJOAwT3f?t?Zlc0vt$&5e=S3a5HU$DpUtut{!uZCi;bB zz9?@r<$6|p{IG=2WQ(9se{)!T$#)tV8Y3EGUg`(xC+KJy&0l__Sgh9z|Lok79?+?K zB;bM#={=)g5T*d&r>5%1Jvx~(0>aGPfk#%?w{FUwES)izHjSM$s7!b6Wg!2tt8~06 znB;R)rfjCC!^q3X$I?>5f_B#P!xXx!e~rlK5)So!BeE5(Jg=e;qtVc{VuGR~WF$QC z!77L87Y1@S<7`?048_M&h;bGU0pew^AX((rzpce=4Y_SUY5T{4JZ>hau_;}Oe(RbW zzP$KT?+!4p1H{oULGjLbpN+ELQ@clq#z_J|1s=059klcnK znfMI9X~~Pf6`yciCFfUFUS}rW4OOf1pD*{ zp0rC+aJXPoZi(_aWfegRt(O>wTnFdd@ut22P^7a;bG@tWXR)U;O9u^yt}L3x_Uhl~ z^;rgpmj0OM{f9v}LfiX_mNC~ZA)RPLjJ9kqqj1c(IDtfK(fV>T1cO`n{TPr*Q7E*U zx#HxM8$u_eKK%8i@mY(+OONa~1>*5B&x{qi&<- z;LQqQcuz$??cG3;PC~E$P&ewC2R*uG8g^G*SUkp}U_Qbfz~UrT>T1dB*ak>pJHnBa zF*`u02Dvjm{y|Uu`8GTv!K)j$3sSr#ukYxgxg@%!x=CB%%NZS$U9<$=*7dhEpfKzw`f`-dR~JX z_gu|5)D19~$EQF>)&N?NSw2eP(y0sWWgHp&+D*em%Q(z0Dq_N7Gw$cw>eF13V zld^fuB~Nhw&Z5=%WoyflGej8Cx4>_wDrw3Y0X5cEnzzgT96+Q-wWhi)Y&YMXD87=x zJQ6ng-xowD@nlgzX}EDUM(_piz+b+Ib=CY3|1pU4)c7G5b|sOv%2S%XH(5^|B$K(A ze!SQZwseY~zvZrX&k$q|eyLfVOFr zQd`qOE!ryrOwMv~41rbNBd4R7>M=uu-%0t%yf>sRDsfbaU8zpIza_^^g1cPN(n+G3 zC8lxEQD4eRX#{=Oh?2SN7}Xm+3JO?@^-Bj7t2@M>&I|fEXerP{BTcS!!^OwbM)O|Hi7 zY$9h5t!pXY!u-&3p%M`p!;Vu(t)=rJFFjSpV~YUZ%#lYqghbWMB2BJ^8W|4Q+_IT9254leKa&+~aR%r8Qo2#8#U^ooOACv-i|!29&}RnY!jFK~FwoHu196oC_KAwz|IBU%zW zPXL%0%53LH%=#NDbrTZ#0v`_3zxs9~J|nn&NNSyz8mkLZn~})=t#I3-%bdaivs`?> zHs+I-&bV8vY+c6C9OteaUqhv&8?!#ydmR+?xlFkq(-=hd^z}$sZd}k%^-4;ibTF4p z6i%G+58a?rxF(LTr^qE<*PpDkq$%~kF-tVXnD43p?3ATBLM^@J8oNc?&ir|- z|J^!x1W)N@aD`O8#nOERKBn}S1~1jxk7e*YgqTV3zE$m^WGj_=6bbJ;iCp=v&Dq5r zx1y+?qxB4pN~nFaYBC)?F@C2+{t>v+Z&il%eXF$?SiD^v=LL)g z=BM)`+y&?g??J}t;6Q&5<-*3>G#E@#O|!%(-yiI$fN=m8`O}4YQiJ^as^x04rTOS=c_Nf!zS2qY>T zmBJu0 zO#EPR^r5QtAz(#%PI3qShx21F$$672T%@Fk&PSh(af|rHX(2oY6N9s&QGBc(Z(ZSn zLZkX?L&<)xbp)B{<8i|-?_Q35!{H);7s3u_>iZ<>A(FzNr1JuM8B!_IbMr|Q+2>`1 zd;H+nHOqNaLFXzxUPvODq}Ego)*s6AcQktbqGlV7^3VRN9}x6)%^+=&@l;5&OLZ)jjWm zrzP{g%?}&olD47Ny+7c1&6aWLPgJwLVs2Rp|Y6u3I99BS&&cL_I79 zLzabITYYa)rF~uRt{XZw{M}`kJK@e_OCMU7Pm-6;{U?hHW9#hF6DOZZIcE7&A8vbe zIF{VFxkjry$;S2O;8LFwdv?riWI(A>=d z+B?1boAYRrfj^iPsIfMkTa?}o`(s!Efl;m3o9TxSSF5-{J9(mHwD~{%KAo6YI7D3z z(AU}re*HchOp3WEMz5jj*yMckw$wX2kZ%@}3&`);H^lP06V!vlyd(>gi;`ahkaCb} z7z&4!Qqno<@7cI>n1qyOIOOIVP4I3<*1}i@HFhENS((a6&#&+tF&^qc9W*9xrVy~A z6yT*1&n{HSTh!8^QJ{KTpey!l_vU)B)J0uf%TaOib~G(I8I`WO1*iRdIhG-qY2tw| zRkX>MU^35wMIS2{<{3M5MGYiuRYQnsMF(G;e9cn!T_fb|^SN$>+2VB#=fAJFRt@_E zsEXSd!WNPmeh}LbIenK<2ix8IuZ?D@tHL-29(ybneFalPLDI<4%>3U;Xic(S#1MkT z{eXMV#E$=55Z7qJ|g!|!@CdPYujIoi)UpugT z`BG~#o=>op*B=7$;dOzoZRDLml7z?neld1{Fl7Lc;*TmSRqwh_3WIyyq0gd|{;yQ& zGoGq(6>yEfLG$gwpTEt$db@tB~e6G^Qd1b?6)R}CuC{qXc1&s?}aZ)~8WjR?n4;6@a@VmO7q#mF^USrSu?e10QZ)(zF zNT*oP{*?Y%AjkLnEqo|ZdvP+X6a4g4&A;1~W>A5UiIf<%h1qB9mhZdMGHGUTDQ$LP zZbtVE?uth>-iCCrYOx-zRT=uxhNpus?6h}|?159<)t4;U|Un77U*XLo2 zZ^mQFeyPc2x=Iy4@lY-F+MnF4Sc-&`XcdqEZ*2f_I?<53knFt5rknE-22KCNOGh@o zKaUc|(sBLT6*s-TE<>V^jVU5N0AKzV-SO$+Y}oKKU!@)ztw}za<0{`N9%Z+4Nv)t8}x60uY1cmK=v)>f=h; z!1YdbhJYxQL&M+~>b4hZxI|9jT-n{xD0BM^m0IIXl|*Ta$gq%sd&P(V!M>zJOdYh> zb^J1A{xS=rfTk>6vhOP{^ywE!`kKb#LoGsiAfk8-v3`GVG`U}%`>i)W5(N)$2{79j3=|SgizCPm{NBD z(GP#@>BgoriDo@=`)Y3uxyHjft{%+X>~U|T1w9pMzWnSw<@mnTHZZ=rfW@LA8P)7^ zk;v)Rm9&q{^zOy(J+@y>QLKmvD-8c9lCH%+OC%!Wf4P?e+%ofU<&|`4S=`YTs=?CN zJ!89z6;Mno=Fk{|NlXf;xu|U(YXQcKl$dn(zy6;0&%v}$X>z2A;df zmwYH~48_>qAAC;j1K!{)?xvsi^mJcoVn#+$RnDr-eqrZJEn}jQ87&(H%{;F^?l94m zjtT7YnW=I-w|7w{fMe!tb?ARtz(DV^H?qsk0uwTM$3apee(cQ(HZCnR*sOfZxTz`~ zLN`t@ru4}fVZY3jK{!k2Xu7wwP-11HaCEsAu?^m6g@(N~TMSj+iqBP*>Hl5xFD&gH z_QdyxNsd8}7{`KNZ0X_l&@J8P;ybW; z+Nx*tafic(=g<459sb>}vH0$QV#_u;8-6n^2QA+Tuf!hpfGX1r%k5sQ&UM5N#*OLt zMFqa`yVecLnQER-a2Yts|ZsdM3w#Ll6EAp?Ln_86CUjP7(uYRL2 zd@XtBEA&w?R~YFjOJT$RPcIPmgn3xE6K1G^te)7^=%I`HeHArP+%EO?Ov#B*AvN4! z+p{@m>{iUI!&{t2rf!qSyJ4c~ruW@tw5;h3-fvo&>xxOIDMfJ?qnUV=`#THsyptzQ zru|kpu`1Z!jJP7@-sL?_Q7%%A?)Rf_ZSVTJ+CKWe6LExIW>nfXUOad1?1ES&o*VFZ!fxM&WCXGLWR1R`;hDEkz8F{%x*}n_z{VS^IO?@EK4Yp7UkXs< zi3gZ~<}$L!-0Y}_RLe{4&MiPLfTW9L}~Ii7bT&}s=f{lCaqtdU&bkuk6uvf zTrB%w?I&9Jec@~&3?`KW1~ONbb(lL%Osu;5Uf}=fx0rw70l#U3)zuBS)$WO z>1Y*Si9=iNR>i9obmi#f=GK9dwcQO<2-V03Whcwt2JlROlZb%Co!iUbGE$3z#g0OL z$Zpei1%p{ONfXKvN-0_yAcGaS+4eNY8adjE`&?%F*DLf{l6mhxyMGY%etld$=XThH zM941k#b~*kU(`Agw2?l??UY-4=r=7twzTb8r2ds&t_7u|A4S88*yf54oXf3%_BuKy zl*e9HtAvo%IPOUuC>oJr1p8(rE(%)7`lhPXM*A})ST+2nyX_m^DQI;#Ogbv-sKKng zbZ0D2LA)FoIw$l4x5+R!YnK&?f_F>fb{h6`NYp&rgq7C~=uv2RY52cHKdgLs>$@Ib zeti#JT6ta8ikz1JMTqM!qjg8>O8=VaVq^0l<%6TWjmy>QrGJ7oBa&;8!vF|f{1ZWpj0 z%%K{xV>WmygWwucZ!P~XD=}g!eMAUiAN2_YX%UK76u_Dn-t2P=luc}RhS@F@`M4J6 zz1u)G6tn=mAMpS_4+n!@G%|R=la4G_yU*sG7VV~*UhR+6L$6!pt>vf_<+c6#pxgVVR|?pq zL6Hj`sKKFa9l@i!ybf-?*PrNUWjt)s-d45nxkTd@?i>J7Q?+|TOAcP+vyy>ck>`!L z89QTgKpvG#|L%7H*~~A}sf5BDcb?!}xjf=sn z*T8*Rc}&R&PlW+hO!Pku#J}6x!ynks9#87A5hvzqXjE8MzSNwDFas56+AY61h_3$ z7~S7h&)_Wfx(8UEJ!Pt2L6rhaf4FOBe{fBey}!xW+hzGXRU=mJv((`>pB|@fIIohI zFY}TND$s%t#|w7ze$5d5tC+GunTcBJ+$|yHC3+ZSED;duqM?068;nxVQQ?`8j#p4Q zW{wu0zX^U`RT`;mc!yneQO1gYbK39^KyP!a@pb)yjD@#;_SF9*3|zaF{U{*a=)(%@Ebb!bMPmdZV@bY*NY zg`EA~iAGOe>0W1~SH9#@eh|zFqLcVoz=GKd&N6rN=W@W>qz1cQ>e=?L~{&jXNe)7g{MVpCa z^kL~{#_V%mwxTFlI`SxVT@6R#QbYi}famqOZ; zr*<$lZB7`>mAyNXl2u&nE`~1a@G5$bS_YmL53>Wu5+HXjg{(Xl6q@!Z91KMLp3bV5 z!k5ngNptR?UJlHwxiV$Z&_E~{3EocgU(Q-Xc5A+Ry(_`bO3Ovaj{H}EM9QGi9JCRF zRL`EfmIDO{%o6B8>KMz2UGf$h0Ku8dWVJOF-oTBg@>h~3rNU{y8i!Pzm*B;r3S&na z%4?V3fW^quY_Iko3nYT5tiJK zg3-aUNJ)NxlX)#F|KT^IdXVM3n_^)jGn2(>e?b$u#W4`7li>VuEQi!xc7>(@pWYhq z0_=!}sR#+6kC-3E_bp>K^)34lAZMS{mHZ7L7M?fUVdofTirtTCv&%T!sw;wY= zjHf1X4@UPL+r5K>!vj-S(DN+D6fjkexdW%m;8tADO0|qk-{O-18lHEb-$Kl1rk}DGlQ5?}#)G z{hz$lHH7)0;9389tIYWk`8f#^Ii>Vj(bjofnXw`dfF_n@Cr35^jNFy?wugFL`{!!z|b z5e`R^rpLtNg{8UE+yoR7RYpoE=WF}0_}_^|K@${xh~FNd3b;C8XHO+kRYbT6Ghwvq zK)*2~{2d@<=3DsGc*e~ejUEEzeMsa=n?h%$rd(Bv?WnV}e$2X7IB&;(mgd--dL1^V zQkP2h->Dm>i^nJfXq=>FxPDECaSClUK5Y0|WmC^NTt`>HW|hl~+Hv zJL>&-gn12I%%SCW@r5I#*`bE7q{G4hNJC*><{^3=Y;LM4o~dE|Wl# zQ+PYP!o7pq92om99k29cbQx~hOMol<4ns%-YnBTs{31e2s+%$KEniGrE8J1_7iQqK z>EjwNXN1zzK3TRm8kUb)F*`>U&s3Bf-}0)8W(D?Jn|>u(Z}vEXUrOYFSNVyc_ob_X zdAC7tJ)028As;`KpACjPpB+dVqNQ}zU%-Ch1(QN}D@tP#U*(o|{g2enty^QIW4#Do zWaQyAfgD*Ql{Rg_(>g__$95u))0<3B0d$5tF)t6G;0mqJ~676ukSiP!FfwIjR!dL#G=@B zYgnnJ0cDW;q$vO36i_9^rhg+!h91HasuwCmVxJ6R^Z3X70$De!ZA%Hjqci)FB{NKY ze63TtFepvLmxOo=5v7&k|Kq9+E?|O{Dm@5*bNO{ zcQgTsg0>2lh1rf(0{qQ6*~jK|C&?u9m8<5H=4VCAG?Pra!@`cxUqHC-cN*UUJVjD% zPNQDfbPpD1pYW-_d)`f-sF1!L0X+jUYy=ZJtAQTE_6%cD`_j$xJ|jaI2*qqy_q-t` zKPHJ@a67)^ftvtl<8X!ZTR<2B^u;t6cy_@LB_PSuCP)5A;&-bN~;j{TfszjeSCF**yVBw6++v!6%=2oyLkH6tlI zUK)ST2pa}_yjf~V%W}{3mU{aA9nkVu{2pRAcHYiCKbSy=n_$P;Qvfkpdk*0Zl3`Yj zCfuaW(z2en26UPjz7 zpH&7(Bi=wV8{a&_?d9b73SAhn!cQnyy&YscD-Ki@v#ZXCNZXuwqVpPPY7ZK?gzaF_N z6VCPNH;Hz64M8?9_M)HgJ)XGUQJaC;D$EqffH)Re)Mh(VfO=fadez9#R0l~IRbBTyHbXYn8ujr+jhrz*y7WbyVI=qTG)Nv>tGiu{G5Q- zC_^@?#8aDd2BwWHK(eS0U6|HbG3AlznA>mOkWg`xw(0n6#!*Yd5r=f@SqTBQh7cxn z#LulSmo{&R1&@f~&~K>*e43oq0}JUj8#&XX6hWfo&l7y1YWtz?YIpG*;X@Y9PQo90 z?}c=8cprDX(!J?)o;W%k)mFmyn)B6Zwx+Ttucau>>1gXexZg=c9-wMv$*%v2HAj3i z@h@MUhSz^y%*y%t{P6^>s|}`S+f(f`N+kLjs^zS=4yS6ycuQnT-`GCnQI59vrxycC zU)K~i*as&N^LNMS-7qv3NN#D*MLg}emSKfv4MWl5bZ;%Yo43dP&e&qD=Lc$;?q5Fo zvy8XN0d~H%;zbw!*^dv10=HoTtvH5o2tZMK#j`ug^Xt8-()>#DFw#NLc~~u~;QfPO z(n|X4Vk=19s)E~mFs_dt#3~e!XGCr?YXAX;;{BS!`wP_o_JH?tWo!#vG@#e0KSM2f1yW=O{T)=CFxG6^*}>+&g+N zX;#qSAZKNAvOINdf3mn~AEV(M>3_P&nG z&E`*2A+F`+tPVMw1#!dyme+Q^gUzt0H>NgN*+(12QN!-bd+XHZd4$#P>pm=6#zb-A z?yqtgFu2&Xi54B~L@NBa0)oMu_r5HjZdoW?i7K7>kZvV|T-UEN&xlR1o2mN&{H={& zYj+)`^Kbj`r=-`8AH@&ctDTfh#%<@CZJKPzWumFs+)_M(#(yvmca21g|u%p#!{~h?R-6(DUPMc`<$~U}S&kg}~7y z$@g&~x1!lPqYuYIJx<;Hm2`mFf9~d^@%awcvChTW_`CduZ#Qu%%OSyf$5-+~_cYb? zhd`dn_t*J`bbs_JA7WO|OxT653-T)69asBy^~<)@Ox-r+YQyNWD}dl!8rvf#wT#S; zt|{LyY2bp$z>43>Gie`zR;vrj*L#X^<}`WndBH&e-Sj@C-rfaZ|-SYsB=V zBC7tmGnliah!~ERf?SRzXhzvtJ-gcnf~HFZRkyvaVfv}*E3d6_Z>I!bC0fqW?Q*_m zF5vO-oI$xk8hfXJL((6@lnI0m1x=;wO6mN{2C>O$xP1#=!dE)>I(L(zOhylnazJ5b zqaSzT7My%s3X1Zd-Xjoa3p%RiNReJ%Di*1UNO+D~6rL0123xRiSAup1jQuShFu<>$ z@5$3hHQ|`o&-$_LTt{1UkfwzFaAV)2`Uj`URb6Sh3*TK!8f(zf^I}OW3FLd|DVS9Y z%PwF|G>Y9I2;QAcQi;=EiwaG*^So~rOS>%&QNZBz#yRS+3uig+paLyG(td3u>`j~S z+W4V$6&2!k*<8u~jpO9orbeZVlvE)#7Mm_Ky!;JHA^7C{GBrS!-)wg%!rxAMGnvY3 zx*`xZ%L&cZ6}n6=d%U)A(Wu;Y(u!Jmq5gQ&*bfIb6GeQ*i(qqM<}KvnnwAY|G?*xK zHU{Mb*Ls0NrrjbBHPlB7YXytHVN{XVN^%VdYx|dlTj0GD^1ez0>7kU{iL*)M1YTxo zKFGN2iTG6HrR$9IEh!SU1jgRUf!C(%{i_nGRH}7}=$u|z4yGCU z`A`yTDL@U^>}+%TrNtW`@d86a<*EnwBw7BYju+{%S-UFd6I0R*Whx#NSH8-9*9mDKc%8?gPbFKeNwb=rVk5#DcmwH_;d zCWKZRSl|(wr#fD0ORS$M1Hrte1*8>BT+jQ%atSh$;+Nb?8(Q zT=Efk4r6?@8KQUd9>Yl5X)GSx*cq%>L-F`5z|=lDYrZ&v&+G#RFF|fN9pYM0Ia21L zUelhhNNINFM{!2)!Yv{>;lt~4#>ZNF88N79UsdCte2Q*CiyM}Rj(z8|i1nXV>swT8 zH0N6j%G9!s;!?l5z7n%xWQfcxAv%02l*p8$vmgC~jK3ew$}w+vOO7X;@BFmxp_K)C zmlwP4kAtZ{Y*M-+O%%75apiolg>ANBj4bCT}`&<8d-7eZ%Y_5a=hNC7B;A$@?ZfKye>kMH-Zv!4w=h$FdE9h&|vFJ^%=p4c**) znxvK3AmhP0+S&m*SThA~vSGB#`*7AeR$$RuqdrG81dwPx_~a5!rs9;>@S#5bD~&U# z{Gz>CtT%F5E0TG;;HK_V2yMk1j&;OwMw6v#$#zSzn^GE-J8I19%PE%Y(z}EBm?A5a z(Zj#Je;{}*za$?KV~svrYOx-ZAfTaiR#1Q;xIrVmFdurXt~WB~$I-axHMpYtU4HI9 z1B5|&;+lB~uIXml6d|u)-@?{qg0c$5)-%zlHNL?2pE`ZcHIDl{yrYi}Y~sqrtwZ(H zQHM8H!WX8fsf4YgnF)jc>>FfYc*D>BI&6(LKe4<2IKn+*Eg>kic&fQKGWW z!9MShHWdJpxvg({8sLBryG{W;s&_7W($^NGs56!fx18gDmvvJd6NuIcyH9GgJaH0x zk_-j=JITCw z(ImOXtvyE` zXG1yZLWWZ<9(+B=}dBtN)Zw?A~p*YI#9*lmu6hF zQUcy-6ylO)a#QMc^v4n~+w`*%?7 zkaoX+N+3%L>TzT>k9(bM{kM;6#JZdi$ z&k7@3P3z2j5+0N%R5r`pdsu(Ic_;WOqX1bYA60(=b$pi`;Lib$bpVxwuDH{9@FSn4 zeAPw2xvFlg87{^|sgSL4&Gh9bi7+)JEkskG5WAks;GDk40cgE#gshHtGc$2mEMH>1 z$7g9E>nB|29!Q)nbFq>hqu2)HLHD*3?UxB2W;ELJ~^kd)O=#Z$EkDKmyL zH}{`!+f=EdWl+#uomLZSj;?jV=WmZTW&5-cmh-d&xd)tx z%)(&TNLyOORxi{hh1Ba644Gw2D#t|o<&nQAJYO*@O_%4h30gM2AE$p!HytpWj3$I9 zo+1%DDxebgJe~ieYg+N6buJ1}AzK|)X`f?Tp)xnAG+4JE!gHJ9H3S?hU>PTSz>3e= zf6RhEV6kWI#INappMc=JJe_yR-%tGr?6v1~Mq(Wwd&4(rU!eHHsTt$DmxYvsrY;z| zrlLM{!1PuVwr52!q7vLp}eU?#e)C?C3j(0$(c z?!S!HVAJdA!16zGa9^TOf;ZpsHH=_1guV>>AnP9RqsYH9>je~5qau0|)_UB-@t2%^ zq^}ELTqNFlwHxbQk>$#qOkc%NAO_W;MO>JaA8ZbeldI~{JY0OBM#PLkDhQdO&VT2k z)TEBUYDO5?~!B0aNN!)N;A1V|nqrVv{k>n+PBQQB*Q2}0E- z7-#0B+nB0XWhw+lbiW~>xp_JAoCdhP4XoBmL*zJwv2b!AUxRvJ_w9|w`x8gS9Uz%9 zH)DC#8^>4(VaTLTs&=kee7g8T*g}-?T%{TLy|aYD-GGbnRAvtNQ#|c<*2G6zDc+Z8 zfj4F`mJ5K$Ry>xMTK{3f{KFScNZ6`@C{}MiKm0X!vGC!L?EDQS;cC5BICpmq6`|Nc0Lb_J;rRe$(FE-NkVDc{Xl=aTm! zAOz>0tB}V|rcF4n9AX`}3Wl7QiKAs*_qT_-#=#wY-m)HYdGyP8E6{ z>p$6^9q5G&W3^=~%13J*%xw;~ws3j1+~CT-g+S&)L?NpHl$lN7hsXcAlGDD`Nkh%` za6BWs_!92)PSS0v301$%jlcXB9c|c7_v2++!iG88s}r36hM>iuK^{A&tCC{KRSv1>Qp?a6!Cku}gi zdsMg@1UZDeZSVIegxI7y-MRjYwTQr178nS!hK0Xc#3l{E`WD&Dd{yBWJ>@xkkFPS< zx#NOn$09LvPfP~re}0jjOz6okM9(L@Ub$^%Q3aV~8>j8URqJc_uW$BaQ^QNERsI$K z=PzIMC!e(yiFV0h?+vs;Y71R14;S{!`pi#v)mt46k4f7*)bspe&GmV2eo7neTI%*= z>PZGX8Uyc2Gb_hUMaoTBV{r2Wv%3W^chvqe=>8*U*u}NIo`l)?%}A{yY4L?&fB$Yh z9dqGd>6x5?fi~<+QzhficG!vZPC#LcFZ^%(JZvYr)76!~Y)CtD^Jf$6M36pCD09JG z8tq>yS^*f13XhEFPEP*m;<`b=HjI#zIQ1)GPMspjI8|b!aw5P_DwAgeqb@Z&$?z*- nem~&v5&UV6{WER)IM*OeQT+GrCs{TSfRDP0wsN7Oncx2b37f%e diff --git a/components/relay/testdata/kubectlconfigs/kubeconfig b/components/relay/testdata/kubectlconfigs/kubeconfig deleted file mode 100644 index a9fc18b..0000000 --- a/components/relay/testdata/kubectlconfigs/kubeconfig +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNCL3FBREFnRUNBZ0VBTUFvR0NDcUdTTTQ5QkFNQ01DTXhJVEFmQmdOVkJBTU1HR3N6Y3kxelpYSjIKWlhJdFkyRkFNVFUzTnpneE1qZ3lOakFlRncweE9URXlNekV4TnpJd01qWmFGdzB5T1RFeU1qZ3hOekl3TWpaYQpNQ014SVRBZkJnTlZCQU1NR0dzemN5MXpaWEoyWlhJdFkyRkFNVFUzTnpneE1qZ3lOakJaTUJNR0J5cUdTTTQ5CkFnRUdDQ3FHU000OUF3RUhBMElBQkNicWNTcklQQ2p5amE3cTg2Zk04SDlkMHJuMGlnYmpZaTRKalQ4c1BobTEKNXVVbm5NZHdVTytlRUY4eVU3cEdEUm04S2FSSER2QWF5SU0rbmloTkFsK2pJekFoTUE0R0ExVWREd0VCL3dRRQpBd0lDcERBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEMCtNT2piSXdxCm1ES3YveVVlSkFXVTVSemp0d3hmSHFmSjUwRnIrckxoMmdJZ0JWSjdMYkRwWXZKNEJDT3B5V0puMlJpRTBwY1IKZ0xZaUF1YlJNcXoxYU1jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - server: https://192.168.56.103:6443 # set to your cluser IP - name: default -contexts: -- context: - cluster: default - user: default - name: default -current-context: default -kind: Config -preferences: {} -users: -- name: default - user: - password: 15c80273fd3e8daae8a65ba86d8f6001 - username: admin diff --git a/components/relay/testdata/kubectlconfigs/kubeconfig-c-5 b/components/relay/testdata/kubectlconfigs/kubeconfig-c-5 deleted file mode 100644 index f75e970..0000000 --- a/components/relay/testdata/kubectlconfigs/kubeconfig-c-5 +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWakNDQWYyZ0F3SUJBZ0lSQVBmN1cwSVg5NUlsMVA2MXpmcHpVV2d3Q2dZSUtvWkl6ajBFQXdJd2dZb3gKRERBS0JnTlZCQVlUQTFWVFFURVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVTTUJBR0ExVUVCeE1KVTNWdQpibmwyWVd4bE1Sb3dHQVlEVlFRS0V4RlNZV1poZVNCVGVYTjBaVzF6SUVsdVl6RVZNQk1HQTFVRUN4TU1VbUZtCllYa2dVMlZ1ZEhKNU1SNHdIQVlEVlFRREV4VnlZV1poZVMxamIzSmxMWEpsYkdGNUxYVnpaWEl3SGhjTk1qQXcKTkRJNE1ESXdOakEyV2hjTk16QXdOREk0TURJd05qQTJXakNCaWpFTU1Bb0dBMVVFQmhNRFZWTkJNUk13RVFZRApWUVFJRXdwRFlXeHBabTl5Ym1saE1SSXdFQVlEVlFRSEV3bFRkVzV1ZVhaaGJHVXhHakFZQmdOVkJBb1RFVkpoClptRjVJRk41YzNSbGJYTWdTVzVqTVJVd0V3WURWUVFMRXd4U1lXWmhlU0JUWlc1MGNua3hIakFjQmdOVkJBTVQKRlhKaFptRjVMV052Y21VdGNtVnNZWGt0ZFhObGNqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQpCR0MzcHp4NkRNalpvRVowSXJLT1p5cHduSWlEcVhZbkRDc0NUSFBZNHZJS3lWSWU3N3JBUDdhYXBvZVZvNjJPCjN0WW1WS0NuSjdUUUpIZjQyc3pkejhXalFqQkFNQTRHQTFVZER3RUIvd1FFQXdJQ2hEQWRCZ05WSFNVRUZqQVUKQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRRApBZ05IQURCRUFpQmE3ZSthKzlSeXhMaDllZnBOT1ErK0hDcHI1SC95d3QwWUFCUFNqV3ZjN0FJZ01kZ0ZaV0R2ClBIMUtZYjB5VUJwRmNPcEVnRFdsdVRXb1NvUU9EclJETzNjPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - server: https://4qkolkn.user.relay.rafay.local:10002 - #server: https://4qkolkn.user.relay.rafay.local:443 - name: c-5 -contexts: -- context: - cluster: c-5 - user: rafay-core-debug - name: c-5 -current-context: c-5 -kind: Config -preferences: {} -users: -- name: rafay-core-debug - user: - client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ6RENDQVhHZ0F3SUJBZ0lRYWhJQW9CZzJVdkV2ZjR6OEZCZkwvVEFLQmdncWhrak9QUVFEQWpDQmlqRU0KTUFvR0ExVUVCaE1EVlZOQk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUkl3RUFZRFZRUUhFd2xUZFc1dQplWFpoYkdVeEdqQVlCZ05WQkFvVEVWSmhabUY1SUZONWMzUmxiWE1nU1c1ak1SVXdFd1lEVlFRTEV3eFNZV1poCmVTQlRaVzUwY25reEhqQWNCZ05WQkFNVEZYSmhabUY1TFdOdmNtVXRjbVZzWVhrdGRYTmxjakFlRncweU1EQTAKTWpnd05qVXlOREphRncweU1EQTBNamt3TmpVeU5ESmFNQnN4R1RBWEJnTlZCQU1URUhKaFptRjVMV052Y21VdApaR1ZpZFdjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFSemhBWWsyYnB1MnAvTzRwbE5iMmYyCm5PTFoxM2M5cXlEYnBiOGN6RGpsdVpINVdUR0FMNFRQem5RYkFxaUNTNzNFTU4zR1lkRXRqZ0tGZFkzRGp4aWMKb3ljd0pUQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3SXdDZ1lJS29aSQp6ajBFQXdJRFNRQXdSZ0loQUplbWY2WHFpRDdQV3BuOWNqNVBMVTFJRUQ1VDg2ZFZPWDMyU1dyQXRqazlBaUVBCmkyQWl3Qkk4ZUxRejdWNGF6YVBLLzZwbkZ2c29hWlRINEhZY0JPMnhDOFk9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSVB5Q3IzcjJJdkRMREFiUjR1ajdPbVg3bnJtczlSZ0V3TXptRDQyaU1GY0tvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFYzRRR0pObTZidHFmenVLWlRXOW45cHppMmRkM1Bhc2cyNlcvSE13NDVibVIrVmt4Z0MrRQp6ODUwR3dLb2drdTl4RERkeG1IUkxZNENoWFdOdzQ4WW5BPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= diff --git a/components/relay/testdata/kubectlconfigs/kubeconfig-sa b/components/relay/testdata/kubectlconfigs/kubeconfig-sa deleted file mode 100644 index 66adf6a..0000000 --- a/components/relay/testdata/kubectlconfigs/kubeconfig-sa +++ /dev/null @@ -1,19 +0,0 @@ - -apiVersion: v1 -kind: Config -clusters: -- name: default-cluster - cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNCL3FBREFnRUNBZ0VBTUFvR0NDcUdTTTQ5QkFNQ01DTXhJVEFmQmdOVkJBTU1HR3N6Y3kxelpYSjIKWlhJdFkyRkFNVFUzTnpneE1qZ3lOakFlRncweE9URXlNekV4TnpJd01qWmFGdzB5T1RFeU1qZ3hOekl3TWpaYQpNQ014SVRBZkJnTlZCQU1NR0dzemN5MXpaWEoyWlhJdFkyRkFNVFUzTnpneE1qZ3lOakJaTUJNR0J5cUdTTTQ5CkFnRUdDQ3FHU000OUF3RUhBMElBQkNicWNTcklQQ2p5amE3cTg2Zk04SDlkMHJuMGlnYmpZaTRKalQ4c1BobTEKNXVVbm5NZHdVTytlRUY4eVU3cEdEUm04S2FSSER2QWF5SU0rbmloTkFsK2pJekFoTUE0R0ExVWREd0VCL3dRRQpBd0lDcERBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEMCtNT2piSXdxCm1ES3YveVVlSkFXVTVSemp0d3hmSHFmSjUwRnIrckxoMmdJZ0JWSjdMYkRwWXZKNEJDT3B5V0puMlJpRTBwY1IKZ0xZaUF1YlJNcXoxYU1jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - server: https://192.168.56.103:6443 -contexts: -- name: default-context - context: - cluster: default-cluster - namespace: default - user: default-user -current-context: default-context -users: -- name: default-user - user: - token: eyJhbGciOiJSUzI1NiIsImtpZCI6InBYSV8yNW81MXpaTnN4WGNwcGNYdHoxUUFxeklHenZBRmhyRTAyU211ZHMifQ.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZWZhdWx0Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZWNyZXQubmFtZSI6Im5hbWVzcGFjZS1hZG1pbi1zYS10b2tlbi14ajdubSIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJuYW1lc3BhY2UtYWRtaW4tc2EiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlcnZpY2UtYWNjb3VudC51aWQiOiJjMjNlODc1Yi1kM2EzLTQ2YjEtOThlOS03YjkzODc0MGRkOTAiLCJzdWIiOiJzeXN0ZW06c2VydmljZWFjY291bnQ6ZGVmYXVsdDpuYW1lc3BhY2UtYWRtaW4tc2EifQ.EdgMATO61V4katN3heaKdhPbyVd0vqc6FhG9ULmwZeXcQqgfZbnDIoOHbkCIPLCoL3CDfci-0JpiVmtG4_N3qxxZcyySsaHnWnyzaYEW0_FNjmtvKW13nwwM0t29iKu_AAaF-qk1dgJwvnQCR_2-nUb1NSjf_Hly25DkstHrsKfDlZM-fYR9HDlMdRXJ8xVX9YiMkAlOifgjqcQpzheoOxRd_yjGUmZVJUHBrjcT-1OdBmvhDjMU48dfdxadWQoymDaGMUbRsNKtPdrfMSrO_HBma5B_7HVJ2PbwQLice7ENltuue6cqR0GiYCKmMrBwDk6m1YweSZvaQIw5jv166A diff --git a/components/relay/testdata/kubectlconfigs/kubeconfigproxy-123abcd.user.relay.rafay.local b/components/relay/testdata/kubectlconfigs/kubeconfigproxy-123abcd.user.relay.rafay.local deleted file mode 100644 index ce628de..0000000 --- a/components/relay/testdata/kubectlconfigs/kubeconfigproxy-123abcd.user.relay.rafay.local +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -kind: Config -clusters: -- name: default-cluster - cluster: - server: https://123abcd.user.relay.rafay.local:443 - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWakNDQWYyZ0F3SUJBZ0lSQU5yYkV6ZDlsYm4yc0xXb3J1ZEMyZWN3Q2dZSUtvWkl6ajBFQXdJd2dZb3gKRERBS0JnTlZCQVlUQTFWVFFURVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVTTUJBR0ExVUVCeE1KVTNWdQpibmwyWVd4bE1Sb3dHQVlEVlFRS0V4RlNZV1poZVNCVGVYTjBaVzF6SUVsdVl6RVZNQk1HQTFVRUN4TU1VbUZtCllYa2dVMlZ1ZEhKNU1SNHdIQVlEVlFRREV4VnlZV1poZVMxamIzSmxMWEpsYkdGNUxYVnpaWEl3SGhjTk1qQXcKTkRJeU1EYzFOakkxV2hjTk16QXdOREl5TURjMU5qSTFXakNCaWpFTU1Bb0dBMVVFQmhNRFZWTkJNUk13RVFZRApWUVFJRXdwRFlXeHBabTl5Ym1saE1SSXdFQVlEVlFRSEV3bFRkVzV1ZVhaaGJHVXhHakFZQmdOVkJBb1RFVkpoClptRjVJRk41YzNSbGJYTWdTVzVqTVJVd0V3WURWUVFMRXd4U1lXWmhlU0JUWlc1MGNua3hIakFjQmdOVkJBTVQKRlhKaFptRjVMV052Y21VdGNtVnNZWGt0ZFhObGNqQlpNQk1HQnlxR1NNNDlBZ0VHQ0NxR1NNNDlBd0VIQTBJQQpCQnBYL2prbW5sNml2RzVrbndrcE1qa24vYmxuWk5tVjlLQTN6R00rTTZKOE5EVUNPT294QURSUmRIZFZOajltCjdTY0pKdlpJczczMk5kbjVreXFndEJlalFqQkFNQTRHQTFVZER3RUIvd1FFQXdJQ2hEQWRCZ05WSFNVRUZqQVUKQmdnckJnRUZCUWNEQWdZSUt3WUJCUVVIQXdFd0R3WURWUjBUQVFIL0JBVXdBd0VCL3pBS0JnZ3Foa2pPUFFRRApBZ05IQURCRUFpQkZhWHNtaWlicFpWVzNLZ3RvRm5OODdhQWZuaFZETXgvUmpSeDEzQjJNMEFJZ0FhTzZFUFMvClk4azZMSVhIMWVEMmxOdEsrVi9pMHhFQndEVVA3L0tyV2Y0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== -contexts: -- name: default-context - context: - cluster: default-cluster - namespace: default - user: default-user -current-context: default-context -users: -- name: default-user - user: - client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUIyRENDQVg2Z0F3SUJBZ0lSQUxFR01TQUErajFLRCtuNllibUdrUW93Q2dZSUtvWkl6ajBFQXdJd2dZb3gKRERBS0JnTlZCQVlUQTFWVFFURVRNQkVHQTFVRUNCTUtRMkZzYVdadmNtNXBZVEVTTUJBR0ExVUVCeE1KVTNWdQpibmwyWVd4bE1Sb3dHQVlEVlFRS0V4RlNZV1poZVNCVGVYTjBaVzF6SUVsdVl6RVZNQk1HQTFVRUN4TU1VbUZtCllYa2dVMlZ1ZEhKNU1SNHdIQVlEVlFRREV4VnlZV1poZVMxamIzSmxMWEpsYkdGNUxYVnpaWEl3SGhjTk1qQXcKTkRJME1ETXlPREExV2hjTk16QXdOREkwTURNeU9EQTFXakE4TVIwd0d3WURWUVFMRXhSaWNXWjJhR0ZpYVhCMApNMkV5WnpRMk9UZzNaekViTUJrR0ExVUVBeE1TYm1GdFpYTndZV05sTFdGa2JXbHVMWE5oTUZrd0V3WUhLb1pJCnpqMENBUVlJS29aSXpqMERBUWNEUWdBRU5lWGhyNTh3dzlRam5mSHRyd29yNlB3MlM3R0NrZ0plMlpMSm43bGUKSUxMVkVJcVVzUGVnY0Jvdzd3Q005ZTcrSjR5M1RpOEREa0U4R2NVcXU0UmVHS01TTUJBd0RnWURWUjBQQVFILwpCQVFEQWdXZ01Bb0dDQ3FHU000OUJBTUNBMGdBTUVVQ0lRRGVCTmQvcXV2SVprN3pib3Jsb1dPTldkRVA3eDlCCjQ5eEhWMStISzU2ZHN3SWdmTXVVSFA2MVdJS1F5c1ZKdjFkbU1CeDUwdEUzRWJIU3piVlZJdURscTlnPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUhRYVBBVGZUZW1uNzZ5bEg3TCs5d1VmTlFVYUljQWE4eERndmZyMnhKOTBvQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFTmVYaHI1OHd3OVFqbmZIdHJ3b3I2UHcyUzdHQ2tnSmUyWkxKbjdsZUlMTFZFSXFVc1BlZwpjQm93N3dDTTllNytKNHkzVGk4RERrRThHY1VxdTRSZUdBPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= \ No newline at end of file diff --git a/components/relay/testdata/kubectlconfigs/kubeconfigproxy-cluster1 b/components/relay/testdata/kubectlconfigs/kubeconfigproxy-cluster1 deleted file mode 100644 index fe80584..0000000 --- a/components/relay/testdata/kubectlconfigs/kubeconfigproxy-cluster1 +++ /dev/null @@ -1,24 +0,0 @@ - -apiVersion: v1 -kind: Config -clusters: -- name: default-cluster - cluster: - server: https://123abcd.user.relay.rafay.local:443 - certificate-authority: /var/relayuserroot.crt -# server: https://cluster1.kubectl.relay.rafay.dev:443 -# certificate-authority: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/rootCA.crt -contexts: -- name: default-context - context: - cluster: default-cluster - namespace: default - user: default-user -current-context: default-context -users: -- name: default-user - user: - client-certificate: /var/relayuser.crt - client-key: /var/relayuser.key -# client-certificate: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/clientcerts/star.namespace-admin-sa.crt -# client-key: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/clientcerts/star.namespace-admin-sa.key diff --git a/components/relay/testdata/kubectlconfigs/kubeconfigproxy-cluster2 b/components/relay/testdata/kubectlconfigs/kubeconfigproxy-cluster2 deleted file mode 100644 index d3069fa..0000000 --- a/components/relay/testdata/kubectlconfigs/kubeconfigproxy-cluster2 +++ /dev/null @@ -1,21 +0,0 @@ -apiVersion: v1 -kind: Config -clusters: -- cluster: - server: https://cluster2.kubectl.relay.rafay.dev:443 - certificate-authority: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/rootCA.crt - name: default -contexts: -- context: - cluster: default - user: namespace-admin-sa - name: default -current-context: default -kind: Config -preferences: {} -users: -- name: namespace-admin-sa - user: - client-certificate: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/clientcerts/star.namespace-admin-sa.crt - client-key: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/clientcerts/star.namespace-admin-sa.key - diff --git a/components/relay/testdata/kubectlconfigs/kubeproxyconfig b/components/relay/testdata/kubectlconfigs/kubeproxyconfig deleted file mode 100644 index d9a30bb..0000000 --- a/components/relay/testdata/kubectlconfigs/kubeproxyconfig +++ /dev/null @@ -1,23 +0,0 @@ -apiVersion: v1 -clusters: -- cluster: - #certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJWekNCL3FBREFnRUNBZ0VBTUFvR0NDcUdTTTQ5QkFNQ01DTXhJVEFmQmdOVkJBTU1HR3N6Y3kxelpYSjIKWlhJdFkyRkFNVFUzTnpneE1qZ3lOakFlRncweE9URXlNekV4TnpJd01qWmFGdzB5T1RFeU1qZ3hOekl3TWpaYQpNQ014SVRBZkJnTlZCQU1NR0dzemN5MXpaWEoyWlhJdFkyRkFNVFUzTnpneE1qZ3lOakJaTUJNR0J5cUdTTTQ5CkFnRUdDQ3FHU000OUF3RUhBMElBQkNicWNTcklQQ2p5amE3cTg2Zk04SDlkMHJuMGlnYmpZaTRKalQ4c1BobTEKNXVVbm5NZHdVTytlRUY4eVU3cEdEUm04S2FSSER2QWF5SU0rbmloTkFsK2pJekFoTUE0R0ExVWREd0VCL3dRRQpBd0lDcERBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUFvR0NDcUdTTTQ5QkFNQ0EwZ0FNRVVDSVFEMCtNT2piSXdxCm1ES3YveVVlSkFXVTVSemp0d3hmSHFmSjUwRnIrckxoMmdJZ0JWSjdMYkRwWXZKNEJDT3B5V0puMlJpRTBwY1IKZ0xZaUF1YlJNcXoxYU1jPQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - certificate-authority: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/rootCA.crt - server: https://cluster1.kubectl.relay.rafay.dev:443 - name: default -contexts: -- context: - cluster: default - user: default - name: default -current-context: default -kind: Config -preferences: {} -users: -- name: default - user: - client-certificate: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt - client-key: /Users/stephanbenny/code/src/github.com/RafaySystems/rafay-relay/testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key - #password: 15c80273fd3e8daae8a65ba86d8f6001 - #sername: admin - diff --git a/components/relay/testdata/pod.yaml b/components/relay/testdata/pod.yaml deleted file mode 100644 index 1947719..0000000 --- a/components/relay/testdata/pod.yaml +++ /dev/null @@ -1,17 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - name: logs-inspect - namespace: rafay-system -spec: - containers: - - image: alpine:3.12 - name: logs - command: ["tail", "-f", "/dev/null"] - volumeMounts: - - mountPath: /opt/rafay/audit - name: audit-volume - volumes: - - name: audit-volume - persistentVolumeClaim: - claimName: rafay-relay-audit diff --git a/components/relay/testdata/relay-agent-config.yaml b/components/relay/testdata/relay-agent-config.yaml deleted file mode 100644 index 0a595bc..0000000 --- a/components/relay/testdata/relay-agent-config.yaml +++ /dev/null @@ -1,8 +0,0 @@ -apiVersion: v1 -data: - clusterID: q72dg2g - relays: '[{"token":"bqjjlq6g10l2b7fm3v50","addr":"api.sentry.rafay.local:11000","endpoint":"*.core-connector.relay.rafay.local:10002","name":"rafay-core-relay-agent","templateToken":"bqjjln6g10l2lvudmup0"}]' -kind: ConfigMap -metadata: - name: relay-agent-config - namespace: rafay-system diff --git a/components/relay/testdata/role.yaml b/components/relay/testdata/role.yaml deleted file mode 100644 index 7192139..0000000 --- a/components/relay/testdata/role.yaml +++ /dev/null @@ -1,70 +0,0 @@ -apiVersion: v1 -kind: ServiceAccount -metadata: - name: default - namespace: rafay-system ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - creationTimestamp: null - name: relay-role -rules: -- apiGroups: - - '*' - resources: - - '*' - verbs: - - '*' -- nonResourceURLs: - - '*' - verbs: - - '*' ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: relay-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: relay-role -subjects: -- kind: ServiceAccount - name: default - namespace: rafay-system ---- -apiVersion: v1 -kind: ServiceAccount -metadata: - name: rafay-core-debug - namespace: default ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRole -metadata: - name: core-debug-role -rules: -- apiGroups: - - '*' - resources: - - '*' - verbs: - - '*' -- nonResourceURLs: - - '*' - verbs: - - '*' ---- -apiVersion: rbac.authorization.k8s.io/v1 -kind: ClusterRoleBinding -metadata: - name: core-debug-rolebinding -roleRef: - apiGroup: rbac.authorization.k8s.io - kind: ClusterRole - name: relay-role -subjects: -- kind: ServiceAccount - name: rafay-core-debug - namespace: default diff --git a/components/relay/testdata/sample-kubeconfig.yaml b/components/relay/testdata/sample-kubeconfig.yaml deleted file mode 100644 index d9a9770..0000000 --- a/components/relay/testdata/sample-kubeconfig.yaml +++ /dev/null @@ -1,19 +0,0 @@ -apiVersion: v1 -clusters: -- cluster: - certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUNWakNDQWZ5Z0F3SUJBZ0lRSGdlWXlLaHlLWXNIY3E2TXNybG9HakFLQmdncWhrak9QUVFEQWpDQmlqRU0KTUFvR0ExVUVCaE1EVlZOQk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUkl3RUFZRFZRUUhFd2xUZFc1dQplWFpoYkdVeEdqQVlCZ05WQkFvVEVWSmhabUY1SUZONWMzUmxiWE1nU1c1ak1SVXdFd1lEVlFRTEV3eFNZV1poCmVTQlRaVzUwY25reEhqQWNCZ05WQkFNVEZYSmhabUY1TFdOdmNtVXRjbVZzWVhrdGRYTmxjakFlRncweU1EQTAKTWpjeU1EQTBORFJhRncwek1EQTBNamN5TURBME5EUmFNSUdLTVF3d0NnWURWUVFHRXdOVlUwRXhFekFSQmdOVgpCQWdUQ2tOaGJHbG1iM0p1YVdFeEVqQVFCZ05WQkFjVENWTjFibTU1ZG1Gc1pURWFNQmdHQTFVRUNoTVJVbUZtCllYa2dVM2x6ZEdWdGN5QkpibU14RlRBVEJnTlZCQXNUREZKaFptRjVJRk5sYm5SeWVURWVNQndHQTFVRUF4TVYKY21GbVlYa3RZMjl5WlMxeVpXeGhlUzExYzJWeU1Ga3dFd1lIS29aSXpqMENBUVlJS29aSXpqMERBUWNEUWdBRQpqUDh3V3lBNHNGdkh0ZlRXd1E5U3d0MmlzMWZPVi80dXVHY0VJcHhob2hOdVppeWcydElkOWtKNnY3OHpKUStGCkJQNEU0bkc0OFE0M0t2elhnS1JYVktOQ01FQXdEZ1lEVlIwUEFRSC9CQVFEQWdLRU1CMEdBMVVkSlFRV01CUUcKQ0NzR0FRVUZCd01DQmdnckJnRUZCUWNEQVRBUEJnTlZIUk1CQWY4RUJUQURBUUgvTUFvR0NDcUdTTTQ5QkFNQwpBMGdBTUVVQ0lRQy9tTmZiamhUVWN4L1BtbFdLSzYxMk9XejJNaTRqdytqVnN6SXZ2Z3lYWkFJZ2RtQ0wvTjd6CkMvSk1raDVkamx5RFhrMU53cUVUS04xeU52NVZpSjBGVlA0PQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg== - server: https://q72dg2g.user.relay.rafay.local:10002 - name: c-5 -contexts: -- context: - cluster: c-5 - user: rafay-core-debug - name: c-5 -current-context: c-5 -kind: Config -preferences: {} -users: -- name: rafay-core-debug - user: - client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUJ5ekNDQVhHZ0F3SUJBZ0lRZS8wbHdYYVZLR0pkcXBnSnFFQUNxakFLQmdncWhrak9QUVFEQWpDQmlqRU0KTUFvR0ExVUVCaE1EVlZOQk1STXdFUVlEVlFRSUV3cERZV3hwWm05eWJtbGhNUkl3RUFZRFZRUUhFd2xUZFc1dQplWFpoYkdVeEdqQVlCZ05WQkFvVEVWSmhabUY1SUZONWMzUmxiWE1nU1c1ak1SVXdFd1lEVlFRTEV3eFNZV1poCmVTQlRaVzUwY25reEhqQWNCZ05WQkFNVEZYSmhabUY1TFdOdmNtVXRjbVZzWVhrdGRYTmxjakFlRncweU1EQTAKTWpjeU16QTVNamxhRncweU1EQTBNamd5TXpBNU1qbGFNQnN4R1RBWEJnTlZCQU1URUhKaFptRjVMV052Y21VdApaR1ZpZFdjd1dUQVRCZ2NxaGtqT1BRSUJCZ2dxaGtqT1BRTUJCd05DQUFRT2Z5bmZHR2NyYkgzRS9zSG12YmU2CjBtN1FuKzYyT0orRlhxWFhPREU2SzFuQzZSaVgzaUd1aDJjMlg0aGkyNk5ONk1aM1Uxemx5V3Rnb3dkazhzUDkKb3ljd0pUQU9CZ05WSFE4QkFmOEVCQU1DQmFBd0V3WURWUjBsQkF3d0NnWUlLd1lCQlFVSEF3SXdDZ1lJS29aSQp6ajBFQXdJRFNBQXdSUUloQUk1MTRLOHNXNE8wWnRqbkM5Nkp3dGRENlFCRUx6d2szMWtCUW8zaEw3MnZBaUEyCkE5YUgxVWFnaGxadnNybXpzM0UzaG1UdHJxSG9xZFZyQnVhMXFQclRWQT09Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K - client-key-data: LS0tLS1CRUdJTiBFQyBQUklWQVRFIEtFWS0tLS0tCk1IY0NBUUVFSUxsSW00Tk52VElVOFV3OTd3TnlKSmRZWjk0TmM2NGw1Y3lsRWRINjFONW9vQW9HQ0NxR1NNNDkKQXdFSG9VUURRZ0FFRG44cDN4aG5LMng5eFA3QjVyMjN1dEp1MEovdXRqaWZoVjZsMXpneE9pdFp3dWtZbDk0aApyb2RuTmwrSVl0dWpUZWpHZDFOYzVjbHJZS01IWlBMRC9RPT0KLS0tLS1FTkQgRUMgUFJJVkFURSBLRVktLS0tLQo= diff --git a/components/relay/testdata/scripts/dialinclient.sh b/components/relay/testdata/scripts/dialinclient.sh deleted file mode 100644 index 1e6c7b1..0000000 --- a/components/relay/testdata/scripts/dialinclient.sh +++ /dev/null @@ -1 +0,0 @@ -curl -kv --cert ../certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt --key ../certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key https://cluster1.kubectldialin.relay.rafay.dev/ diff --git a/components/relay/testdata/scripts/loop.sh b/components/relay/testdata/scripts/loop.sh deleted file mode 100755 index b2df53a..0000000 --- a/components/relay/testdata/scripts/loop.sh +++ /dev/null @@ -1,4 +0,0 @@ -for ((n=0;n<1000;n++)) -do -KUBECONFIG=/tmp/kc-test.yaml kubectl get all -A -done \ No newline at end of file diff --git a/components/relay/testdata/scripts/relayclient.sh b/components/relay/testdata/scripts/relayclient.sh deleted file mode 100644 index f5fc701..0000000 --- a/components/relay/testdata/scripts/relayclient.sh +++ /dev/null @@ -1,16 +0,0 @@ -#curl -kv --cert ../certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt --key ../certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key https://cluster1.kubectl.relay.rafay.dev/ - - -#curl -kv --cert ../certs/clientcerts/star.namespace-admin-sa.crt --key ../certs/clientcerts/star.namespace-admin-sa.key https://cluster1.kubectl.relay.rafay.dev/api?timeout=32s - - -#curl --http1.1 -kv --cert ../certs/clientcerts/star.namespace-admin-sa.crt --key ../certs/clientcerts/star.namespace-admin-sa.key https://cluster1.kubectl.relay.rafay.dev/apis/rbac.authorization.k8s.io/v1/?timeout=32s - - -#curl --http1.1 -kv --cert ../certs/clientcerts/star.namespace-admin-sa.crt --key ../certs/clientcerts/star.namespace-admin-sa.key https://cluster1.kubectl.relay.rafay.dev/ - -curl --http1.1 -kv --cert ../certs/clientcerts/star.namespace-admin-sa.crt --key ../certs/clientcerts/star.namespace-admin-sa.key POST --data '{"username":"xyz","password":"xyz"}' https://cluster1.kubectl.relay.rafay.dev/apis/rbac.authorization.k8s.io/v1/?timeout=32s - -#curl -kv --cert ../certs/clientcerts/star.namespace-admin-sa.crt --key ../certs/clientcerts/star.namespace-admin-sa.key POST --data '{"username":"xyz","password":"xyz"}' https://cluster1.kubectl.relay.rafay.dev/apis/rbac.authorization.k8s.io/v1?timeout=32s - -#curl --http1.1 -kv --cert ../certs/clientcerts/star.namespace-admin-sa.crt --key ../certs/clientcerts/star.namespace-admin-sa.key POST --data '{"username":"xyz","password":"xyz"}' https://cluster1.kubectl.relay.rafay.dev/api/v1/namespaces/default/pods/myapp1-pod/exec?command=%2Fbin%2Fsh&container=myapp1-container&stdin=true&stdout=true&tty=true \ diff --git a/components/relay/testdata/server.yaml b/components/relay/testdata/server.yaml deleted file mode 100644 index 52c418e..0000000 --- a/components/relay/testdata/server.yaml +++ /dev/null @@ -1,33 +0,0 @@ - - -# sudo ifconfig lo0 alias 127.0.10.1 -relay_listen_addr: 127.0.10.1:443 - -relays: - kubectl: - proto: https - addr: :443 - server_name: kubectl.relay.rafay.dev - dialin_suffix: kubectldialin.relay.rafay.dev - root_ca: testdata/certs/rootCA.crt - server_crt: testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.crt - server_key: testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.key - version: 1 - - -dialins: - kubectldialin: - proto: https - addr: :443 - server_name: kubectldialin.relay.rafay.dev - root_ca: testdata/certs/rootCA.crt - server_crt: testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.crt - server_key: testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.key - version: 1 - -controller: - addr: - peer_probe_sni: star.probe.relay.rafay.dev:7001 - client_crt: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt - client_key: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key - root_ca: testdata/certs/rootCA.crt \ No newline at end of file diff --git a/components/relay/testdata/server2.yaml b/components/relay/testdata/server2.yaml deleted file mode 100644 index 1c2dcae..0000000 --- a/components/relay/testdata/server2.yaml +++ /dev/null @@ -1,33 +0,0 @@ - - -# sudo ifconfig lo0 alias 127.0.20.1 -relay_listen_ip: 127.0.20.1:443 - -relays: - kubectl: - proto: https - addr: :443 - server_name: kubectl.relay.rafay.dev - dialin_suffix: kubectldialin.relay.rafay.dev - root_ca: testdata/certs/rootCA.crt - server_crt: testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.crt - server_key: testdata/certs/servercerts/star-kubectl/star.kubectl.relay.rafay.dev.key - version: 1 - - -dialins: - kubectldialin: - proto: https - addr: :443 - server_name: kubectldialin.relay.rafay.dev - root_ca: testdata/certs/rootCA.crt - server_crt: testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.crt - server_key: testdata/certs/servercerts/star-kubectldialin/star.kubectldialin.relay.rafay.dev.key - version: 1 - -controller: - addr: - peer_probe_sni: star.probe.relay.rafay.dev:7001 - client_crt: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.crt - client_key: testdata/certs/clientcerts/relayserver1-ABCD-123456.relay.rafay.dev.key - root_ca: testdata/certs/rootCA.crt \ No newline at end of file diff --git a/components/relay/testdata/testclients/loadtest.go b/components/relay/testdata/testclients/loadtest.go deleted file mode 100644 index 978cdae..0000000 --- a/components/relay/testdata/testclients/loadtest.go +++ /dev/null @@ -1,85 +0,0 @@ -package main - -import ( - "context" - "fmt" - "math/rand" - "os/exec" - "time" -) - -var min = 10 -var max = 50 - -func worker1(ctx context.Context, index int) { - var errCnt = 0 - var success = 0 - rand.Seed(time.Now().UnixNano()) - - for { - select { - case <-ctx.Done(): - time.Sleep(10 * time.Second) - fmt.Println("worker1 ", index, " done: success", success, "errcnt ", errCnt) - return - default: - //out, err := exec.Command("/usr/local/bin/kubectl", "--kubeconfig", "../kubectlconfigs/kubeconfigproxy-123abcd.user.relay.rafay.local", "get", "pods", "-o", "yaml").Output() - //out, err := exec.Command("/usr/local/bin/kubectl", "--kubeconfig", "/Users/stephanbenny/WorkSpace/kubeconfig-c-5", "get", "all", "-A").Output() - out, err := exec.Command("/usr/local/bin/kubectl", "--kubeconfig", "/Users/stephanbenny/WorkSpace/kubeconfig-c-5", "get", "pods").Output() - //out, err := exec.Command("/usr/local/bin/kubectl", "--kubeconfig", "/Users/stephanbenny/WorkSpace/kubeconfig-c-5", "get", "pods", "-o", "yaml").Output() - if err != nil { - errCnt++ - } else { - success++ - } - intvl := time.Duration(rand.Intn(max-min+1)+min) * time.Millisecond - time.Sleep(intvl) - fmt.Printf("worker1[%d][%d][%d]: %s\n", index, success, errCnt, out) - } - } -} - -func worker2(ctx context.Context, index int) { - var errCnt = 0 - var success = 0 - rand.Seed(time.Now().UnixNano()) - - for { - select { - case <-ctx.Done(): - time.Sleep(10 * time.Second) - fmt.Println("worker2 ", index, " done: success", success, "errcnt ", errCnt) - return - default: - //out, err := exec.Command("/usr/local/bin/kubectl", "--kubeconfig", "../kubectlconfigs/kubeconfigproxy-123abcd.user.relay.rafay.local", "get", "pods", "-o", "yaml").Output() - //out, err := exec.Command("/usr/local/bin/kubectl", "--kubeconfig", "/Users/stephanbenny/WorkSpace/kubeconfig-c-6", "get", "all", "-A").Output() - out, err := exec.Command("/usr/local/bin/kubectl", "--kubeconfig", "/Users/stephanbenny/WorkSpace/kubeconfig-c-6", "get", "pods").Output() - //out, err := exec.Command("/usr/local/bin/kubectl", "--kubeconfig", "/Users/stephanbenny/WorkSpace/kubeconfig-c-5", "get", "pods", "-o", "yaml").Output() - if err != nil { - errCnt++ - } else { - success++ - } - intvl := time.Duration(rand.Intn(max-min+1)+min) * time.Millisecond - time.Sleep(intvl) - fmt.Printf("worker2[%d][%d][%d]: %s\n", index, success, errCnt, out) - } - } -} - -func main() { - ctx, cancel := context.WithCancel(context.Background()) - - for i := 1; i <= 10; i++ { - //go worker2(ctx, i) - go worker1(ctx, i) - - } - - time.Sleep(120 * time.Minute) - - cancel() - - time.Sleep(15 * time.Second) - -} diff --git a/components/relay/testdata/testclients/testclient.go b/components/relay/testdata/testclients/testclient.go deleted file mode 100644 index 1bb9bc1..0000000 --- a/components/relay/testdata/testclients/testclient.go +++ /dev/null @@ -1,78 +0,0 @@ -package main - -import ( - "bufio" - "fmt" - "net" - "os" - "strconv" - "sync" - "testing" - "time" -) - -const ( - //UNIXSOCKET .. - UNIXSOCKET = "/tmp/relay-unix-" -) - -func startClient(wg *sync.WaitGroup, buf []byte) { - defer wg.Done() - - fmt.Print("stat client") - buf3 := make([]byte, 4096) - // connect to this socket - socketPath := UNIXSOCKET + "kubectldialin.relay.rafay.dev" - conn, err := net.DialTimeout("unix", socketPath, 60*time.Second) - if err != nil { - fmt.Println("failed to connect ", err) - return - } - - fmt.Println("Connected to ", socketPath) - - for { - conn.Write(buf) - str := "GET /apis/rbac.authorization.k8s.io/v1?timeout=32s HTTP/1.1\r\nHost: 192.168.56.103:6443\r\nUser-Agent: curl/7.54.0\r\nAccept: */*\r\nX-Rafay-User:namespace-admin-sa\r\nX-Rafay-Namespace: default\r\n\r\n" - conn.Write([]byte(str)) - - conn.SetReadDeadline(time.Now().Add(10 * (time.Second))) - - for { - nr, err := conn.Read(buf3) - if err != nil { - fmt.Println("done reading ", err) - return - } - data := buf3[0:nr] - println("Client got:", string(data), nr) - } - } -} - -func TestRelayClient(t *testing.T) { - var wg sync.WaitGroup - - buf := make([]byte, 1024) - reader := bufio.NewReader(os.Stdin) - fmt.Print("Number of clients: ") - numStr, _ := reader.ReadString('\n') - fmt.Print("Key to send: ") - key, _ := reader.ReadString('\n') - - message := fmt.Sprintf("{\"DialinKey\": \"%s\", \"UserName\": \"namespace-admin-sa\", \"SNI\": \"cluster1.kubectldialin.relay.rafay.dev\"}", key[:len(key)-1]) - copy(buf, message) - - fmt.Print("numStr=", numStr) - num, err := strconv.Atoi(numStr[:len(numStr)-1]) - fmt.Println("num=", num, " err=", err) - for i := 0; i < num; i++ { - wg.Add(1) - go startClient(&wg, buf) - } - - fmt.Print("Waiting for workers") - wg.Wait() - - fmt.Print("Completed") -} diff --git a/components/usermgmt/README.md b/components/usermgmt/README.md deleted file mode 100644 index 9d6f643..0000000 --- a/components/usermgmt/README.md +++ /dev/null @@ -1,28 +0,0 @@ -# User management - -This module is responsible for manging users/groups/roles as well as being a frontend for the casbin internal service. -All user/auth related requests go through here. - - -## Development - -### Run kratos migrations - -``` shell -export DSN='postgres://postgres@localhost:5432/admindb?sslmode=disable' -kratos -c kratos.yaml migrate sql -e --yes -``` - -### Start kratos - -``` shell -cd components/usermgmt/_kratos -kratos serve -c kratos.yml -``` - -### Run usermgmt server - -``` shell -cd components/usermgmt/_kratos -go run main.go -``` diff --git a/components/usermgmt/go.mod b/components/usermgmt/go.mod deleted file mode 100644 index feb90bd..0000000 --- a/components/usermgmt/go.mod +++ /dev/null @@ -1,111 +0,0 @@ -module github.com/RafaySystems/rcloud-base/components/usermgmt - -go 1.17 - -require ( - github.com/DATA-DOG/go-sqlmock v1.5.0 - github.com/RafaySystems/rcloud-base/components/authz v0.0.0-unpublished - github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished - github.com/crewjam/saml v0.4.6 - github.com/gogo/protobuf v1.3.2 - github.com/google/uuid v1.3.0 - github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2 - github.com/ory/kratos-client-go v0.8.2-alpha.1 - github.com/spf13/viper v1.10.1 - github.com/uptrace/bun v1.0.20 - github.com/uptrace/bun/dialect/pgdialect v1.0.20 - github.com/uptrace/bun/driver/pgdriver v1.0.20 - github.com/uptrace/bun/extra/bundebug v1.0.20 - google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa - google.golang.org/grpc v1.43.0 - google.golang.org/protobuf v1.27.1 - sigs.k8s.io/controller-runtime v0.11.1 -) - -require ( - github.com/beevik/etree v1.1.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/cespare/xxhash/v2 v2.1.2 // indirect - github.com/crewjam/httperr v0.2.0 // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/evanphx/json-patch v4.12.0+incompatible // indirect - github.com/fatih/color v1.13.0 // indirect - github.com/fsnotify/fsnotify v1.5.1 // indirect - github.com/go-logr/logr v1.2.0 // indirect - github.com/golang-jwt/jwt/v4 v4.1.0 // indirect - github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect - github.com/google/go-cmp v0.5.6 // indirect - github.com/google/gofuzz v1.1.0 // indirect - github.com/googleapis/gnostic v0.5.5 // indirect - github.com/grpc-ecosystem/grpc-gateway v1.16.0 // indirect - github.com/hashicorp/hcl v1.0.0 // indirect - github.com/imdario/mergo v0.3.12 // indirect - github.com/jinzhu/inflection v1.0.0 // indirect - github.com/jonboulle/clockwork v0.2.2 // indirect - github.com/json-iterator/go v1.1.12 // indirect - github.com/klauspost/cpuid/v2 v2.0.6 // indirect - github.com/magiconair/properties v1.8.5 // indirect - github.com/mattermost/xml-roundtrip-validator v0.1.0 // indirect - github.com/mattn/go-colorable v0.1.12 // indirect - github.com/mattn/go-isatty v0.0.14 // indirect - github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect - github.com/mitchellh/mapstructure v1.4.3 // indirect - github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect - github.com/modern-go/reflect2 v1.0.2 // indirect - github.com/pelletier/go-toml v1.9.4 // indirect - github.com/pkg/errors v0.9.1 // indirect - github.com/processout/grpc-go-pool v1.2.1 // indirect - github.com/prometheus/client_golang v1.11.0 // indirect - github.com/prometheus/client_model v0.2.0 // indirect - github.com/prometheus/common v0.28.0 // indirect - github.com/prometheus/procfs v0.6.0 // indirect - github.com/russellhaering/goxmldsig v1.1.1 // indirect - github.com/segmentio/asm v1.1.0 // indirect - github.com/segmentio/encoding v0.3.2 // indirect - github.com/spf13/afero v1.6.0 // indirect - github.com/spf13/cast v1.4.1 // indirect - github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/pflag v1.0.5 // indirect - github.com/subosito/gotenv v1.2.0 // indirect - github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect - github.com/urfave/negroni v1.0.0 // indirect - github.com/valyala/fastjson v1.6.3 // indirect - github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect - github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect - go.uber.org/atomic v1.7.0 // indirect - go.uber.org/multierr v1.6.0 // indirect - go.uber.org/zap v1.19.1 // indirect - golang.org/x/crypto v0.0.0-20220126234351-aa10faf2a1f8 // indirect - golang.org/x/net v0.0.0-20211209124913-491a49abca63 // indirect - golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect - golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 // indirect - golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b // indirect - golang.org/x/text v0.3.7 // indirect - golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect - gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect - google.golang.org/appengine v1.6.7 // indirect - gopkg.in/inf.v0 v0.9.1 // indirect - gopkg.in/ini.v1 v1.66.2 // indirect - gopkg.in/yaml.v2 v2.4.0 // indirect - gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect - k8s.io/api v0.23.4 // indirect - k8s.io/apiextensions-apiserver v0.23.4 // indirect - k8s.io/apimachinery v0.23.4 // indirect - k8s.io/client-go v0.23.4 // indirect - k8s.io/component-base v0.23.4 // indirect - k8s.io/klog v1.0.0 // indirect - k8s.io/klog/v2 v2.30.0 // indirect - k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 // indirect - k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect - mellium.im/sasl v0.2.1 // indirect - sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect - sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 // indirect - sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect - sigs.k8s.io/yaml v1.3.0 // indirect -) - -replace ( - github.com/RafaySystems/rcloud-base/components/authz v0.0.0-unpublished => ../authz/ - github.com/RafaySystems/rcloud-base/components/common v0.0.0-unpublished => ../common/ -) diff --git a/components/usermgmt/go.sum b/components/usermgmt/go.sum deleted file mode 100644 index 0900389..0000000 --- a/components/usermgmt/go.sum +++ /dev/null @@ -1,1554 +0,0 @@ -cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= -cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= -cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= -cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= -cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= -cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= -cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= -cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= -cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= -cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= -cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= -cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= -cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= -cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= -cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= -cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= -cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= -cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= -cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= -cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= -cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= -github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= -github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= -github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.9.2/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= -github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= -github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= -github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= -github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= -github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= -github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= -github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= -github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= -github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= -github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= -github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= -github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= -github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= -github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= -github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= -github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= -github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg= -github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= -github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= -github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= -github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= -github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= -github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= -github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/casbin/casbin/v2 v2.37.4/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= -github.com/casbin/casbin/v2 v2.40.6/go.mod h1:sEL80qBYTbd+BPeL4iyvwYzFT3qwLaESq5aFKVLbLfA= -github.com/casbin/gorm-adapter/v3 v3.4.6/go.mod h1:6mIYgpByH/uSkfCv4G/vr/12cVZc3rXBQ9KrqS9oTUU= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= -github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= -github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= -github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= -github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= -github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= -github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= -github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= -github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= -github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/crewjam/httperr v0.2.0 h1:b2BfXR8U3AlIHwNeFFvZ+BV1LFvKLlzMjzaTnZMybNo= -github.com/crewjam/httperr v0.2.0/go.mod h1:Jlz+Sg/XqBQhyMjdDiC+GNNRzZTD7x39Gu3pglZ5oH4= -github.com/crewjam/saml v0.4.6 h1:XCUFPkQSJLvzyl4cW9OvpWUbRf0gE7VUpU8ZnilbeM4= -github.com/crewjam/saml v0.4.6/go.mod h1:ZBOXnNPFzB3CgOkRm7Nd6IVdkG+l/wF+0ZXLqD96t1A= -github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= -github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/dchest/uniuri v0.0.0-20200228104902-7aecb25e1fe5/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4= -github.com/denisenkom/go-mssqldb v0.11.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= -github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= -github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= -github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= -github.com/elazarl/goproxy v0.0.0-20191011121108-aa519ddbe484/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= -github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= -github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= -github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= -github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= -github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= -github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= -github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= -github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= -github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= -github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= -github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= -github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= -github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= -github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= -github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= -github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= -github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= -github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= -github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= -github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= -github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= -github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= -github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= -github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk= -github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU= -github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ= -github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk= -github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og= -github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0= -github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94= -github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.1/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= -github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= -github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M= -github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= -github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= -github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I= -github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= -github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= -github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= -github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= -github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU= -github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs= -github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI= -github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY= -github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc= -github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4= -github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o= -github.com/go-openapi/loads v0.21.0/go.mod h1:rHYve9nZrQ4CJhyeIIFJINGCg1tQpx2yJrrNo8sf1ws= -github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA= -github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64= -github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4= -github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo= -github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98= -github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk= -github.com/go-openapi/runtime v0.23.0/go.mod h1:aQg+kaIQEn+A2CRSY1TxbM8+sT9g2V3aLc1FbIAnbbs= -github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= -github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI= -github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= -github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= -github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU= -github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ= -github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg= -github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= -github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= -github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY= -github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU= -github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk= -github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc= -github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk= -github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= -github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= -github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= -github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg= -github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= -github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY= -github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M= -github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4= -github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA= -github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo= -github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8= -github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4= -github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI= -github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0= -github.com/go-openapi/validate v0.20.3/go.mod h1:goDdqVGiigM3jChcrYJxD2joalke3ZXeftD16byIjA4= -github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= -github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= -github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= -github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= -github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= -github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= -github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= -github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= -github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= -github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= -github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= -github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= -github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= -github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= -github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= -github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= -github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= -github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= -github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= -github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt/v4 v4.1.0 h1:XUgk2Ex5veyVFVeLm0xhusUTQybEbexJXrvPNOKkSY0= -github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= -github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= -github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= -github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= -github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= -github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= -github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= -github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= -github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= -github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= -github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= -github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= -github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= -github.com/gophercloud/gophercloud v0.6.0/go.mod h1:GICNByuaEBibcjmjvI7QvYJSZEbGkcYwAR7EZK2WMqM= -github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= -github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2 h1:I/pwhnUln5wbMnTyRbzswA0/JxpK8sZj0aUfI3TV1So= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.2/go.mod h1:lsuH8kb4GlMdSlI4alNIBBSAt5CHJtg3i+0WuN9J5YM= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= -github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= -github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= -github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= -github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= -github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= -github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= -github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= -github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= -github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= -github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgconn v1.10.0/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= -github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= -github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= -github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= -github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= -github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= -github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= -github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= -github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= -github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= -github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= -github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= -github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= -github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= -github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= -github.com/jackc/pgtype v1.8.1/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= -github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= -github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= -github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= -github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= -github.com/jackc/pgx/v4 v4.13.0/go.mod h1:9P4X524sErlaxj0XSGZk7s+LD0eOyu1ZDUrrpznYDF0= -github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= -github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= -github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= -github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= -github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= -github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= -github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= -github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= -github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= -github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= -github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= -github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= -github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= -github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= -github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= -github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= -github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= -github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= -github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/cpuid/v2 v2.0.6 h1:dQ5ueTiftKxp0gyjKSx5+8BtPWkyQbd95m8Gys/RarI= -github.com/klauspost/cpuid/v2 v2.0.6/go.mod h1:FInQzS24/EEf25PyTYn52gqo7WaD8xa0213Md/qVLRg= -github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= -github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= -github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= -github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= -github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= -github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= -github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= -github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= -github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/mattermost/xml-roundtrip-validator v0.1.0 h1:RXbVD2UAl7A7nOTR4u7E3ILa4IbtvKBHw64LDsmu9hU= -github.com/mattermost/xml-roundtrip-validator v0.1.0/go.mod h1:qccnGMcpgwcNaBnxqpJpWWUiPNr5H3O8eDgGV9gT5To= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= -github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= -github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= -github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= -github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= -github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= -github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= -github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= -github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= -github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= -github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= -github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= -github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= -github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= -github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= -github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= -github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= -github.com/ory/kratos-client-go v0.8.2-alpha.1 h1:YlKhGOSZjounlB9iY4xSWlqHbyLYkeLzlLk8ZL7/nEM= -github.com/ory/kratos-client-go v0.8.2-alpha.1/go.mod h1:dOQIsar76K07wMPJD/6aMhrWyY+sFGEagLDLso1CpsA= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= -github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= -github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= -github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= -github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= -github.com/processout/grpc-go-pool v1.2.1 h1:hbp1BOA02CIxEAoRLHGpUhhPFv77nwfBLBeO3Ya9P7I= -github.com/processout/grpc-go-pool v1.2.1/go.mod h1:F4hiNj96O6VQ87jv4rdz8R9tkHdelQQJ/J2B1a5VSt4= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= -github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= -github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= -github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= -github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= -github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= -github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= -github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= -github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= -github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= -github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= -github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= -github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= -github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= -github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= -github.com/russellhaering/goxmldsig v1.1.1 h1:vI0r2osGF1A9PLvsGdPUAGwEIrKa4Pj5sesSBsebIxM= -github.com/russellhaering/goxmldsig v1.1.1/go.mod h1:gM4MDENBQf7M+V824SGfyIUVFWydB7n0KkEubVJl+Tw= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= -github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/segmentio/asm v1.1.0 h1:fkVr8k5J4sKoFjTGVD6r1yKvDKqmvrEh3K7iyVxgBs8= -github.com/segmentio/asm v1.1.0/go.mod h1:4EUJGaKsB8ImLUwOGORVsNd9vTRDeh44JGsY4aKp5I4= -github.com/segmentio/encoding v0.3.2 h1:gkXXteOfNaPPlrXTEf/e5tWvaQGVJWnvT3LqMzUeH7U= -github.com/segmentio/encoding v0.3.2/go.mod h1:waft2p6XI4z2pk07M0YzZV4wEiqaRvsBSyWNHxVx4gU= -github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= -github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= -github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= -github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= -github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= -github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/speps/go-hashids v2.0.0+incompatible/go.mod h1:P7hqPzMdnZOfyIk+xrlG1QaSMw+gCBdHKsBDnhpaZvc= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= -github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= -github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= -github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= -github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= -github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= -github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/uptrace/bun v1.0.20 h1:/T4p9C9tEN75U3cFMBr5njlP+rBfs4An8BmlQQPbcfE= -github.com/uptrace/bun v1.0.20/go.mod h1:Uv7z0z+7dXnUS9P5hMF0hdiM/4M+xOUHQCrZpyDrpRc= -github.com/uptrace/bun/dialect/pgdialect v1.0.20 h1:1Yajz0M2AhOzvxFEQSAQ8TpqzSRFxYOg+saksIQ0dmU= -github.com/uptrace/bun/dialect/pgdialect v1.0.20/go.mod h1:Z2UoOgTKHXgFOuInXsJKkNQJiFIaPkCvsj0EayOI2yk= -github.com/uptrace/bun/driver/pgdriver v1.0.20 h1:CEWHL5NS5FQIJAJxY40t0llwe8XxVlsblbgi9Upm0fA= -github.com/uptrace/bun/driver/pgdriver v1.0.20/go.mod h1:KAONvCIiI4A6HdMTZ8zCdGxh7P6+23Todz+bL8HRzV4= -github.com/uptrace/bun/extra/bundebug v1.0.20 h1:lwuGUMiqujR3NuGDKgJu1j7XL3LsULSv1MDFHlYBAGs= -github.com/uptrace/bun/extra/bundebug v1.0.20/go.mod h1:tDoi/zmjHkumthaCujwfI2+mni0G41HfJD4HC2oMdpk= -github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= -github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= -github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= -github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= -github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= -github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= -github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= -github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= -github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= -github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= -github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= -github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= -github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= -github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -github.com/zenazn/goji v1.0.1/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= -go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= -go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= -go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= -go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= -go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= -go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw= -go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= -go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= -go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= -go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= -go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= -go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= -go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= -go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= -go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= -go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= -go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= -go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= -go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= -go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= -go.uber.org/zap v1.19.1 h1:ue41HOKd1vGURxrmeKIgELGb3jPW9DMUDGtsinblHwI= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= -golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= -golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.0.0-20220126234351-aa10faf2a1f8 h1:kACShD3qhmr/3rLmg1yXyt+N4HcwutKyPRB93s54TIU= -golang.org/x/crypto v0.0.0-20220126234351-aa10faf2a1f8/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= -golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= -golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= -golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= -golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= -golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= -golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= -golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= -golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= -golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= -golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= -golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= -golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211209124913-491a49abca63 h1:iocB37TsdFuN6IBRZ+ry36wrkoV51/tl5vOWqkcPGvY= -golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= -golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= -golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= -golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211123173158-ef496fb156ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9 h1:XfKQ4OlFl8okEOr5UvAqFRVj8pY/4yfcXrddB8qAbU0= -golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b h1:9zKuko04nR4gjZ4+DNjHqRlAJqbJETHwiNKDqTfOjfE= -golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= -golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= -golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= -golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= -golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= -golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= -golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= -golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= -golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= -gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= -google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= -google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= -google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= -google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= -google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= -google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= -google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= -google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= -google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= -google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= -google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= -google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= -google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= -google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= -google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= -google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= -google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= -google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= -google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= -google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= -google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= -google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa h1:I0YcKz0I7OAhddo7ya8kMnvprhcWM045PmkBdMO9zN0= -google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= -google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= -google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= -google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.43.0 h1:Eeu7bZtDZ2DpRCsLhUlcrLnvYaMK1Gz86a+hMVvELmM= -google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= -google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= -gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= -gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= -gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= -gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= -gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= -gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= -gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= -gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= -gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gorm.io/driver/mysql v1.0.3/go.mod h1:twGxftLBlFgNVNakL7F+P/x9oYqoymG3YYT8cAfI9oI= -gorm.io/driver/mysql v1.1.2/go.mod h1:4P/X9vSc3WTrhTLZ259cpFd6xKNYiSSdSZngkSBGIMM= -gorm.io/driver/postgres v1.2.2/go.mod h1:Ik3tK+a3FMp8ORZl29v4b3M0RsgXsaeMXh9s9eVMXco= -gorm.io/driver/sqlserver v1.2.1/go.mod h1:nixq0OB3iLXZDiPv6JSOjWuPgpyaRpOIIevYtA4Ulb4= -gorm.io/gorm v1.20.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.20.11/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= -gorm.io/gorm v1.21.12/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= -gorm.io/gorm v1.22.2/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= -gorm.io/gorm v1.22.3/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= -gorm.io/gorm v1.22.5/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= -gorm.io/plugin/dbresolver v1.1.0/go.mod h1:tpImigFAEejCALOttyhWqsy4vfa2Uh/vAUVnL5IRF7Y= -gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= -gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= -gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= -gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= -honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= -honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= -honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= -k8s.io/api v0.23.4 h1:85gnfXQOWbJa1SiWGpE9EEtHs0UVvDyIsSMpEtl2D4E= -k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= -k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= -k8s.io/apiextensions-apiserver v0.23.4 h1:AFDUEu/yEf0YnuZhqhIFhPLPhhcQQVuR1u3WCh0rveU= -k8s.io/apiextensions-apiserver v0.23.4/go.mod h1:TWYAKymJx7nLMxWCgWm2RYGXHrGlVZnxIlGnvtfYu+g= -k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= -k8s.io/apimachinery v0.23.4 h1:fhnuMd/xUL3Cjfl64j5ULKZ1/J9n8NuQEgNL+WXWfdM= -k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= -k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= -k8s.io/apiserver v0.23.4/go.mod h1:A6l/ZcNtxGfPSqbFDoxxOjEjSKBaQmE+UTveOmMkpNc= -k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= -k8s.io/client-go v0.23.4 h1:YVWvPeerA2gpUudLelvsolzH7c2sFoXXR5wM/sWqNFU= -k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= -k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= -k8s.io/code-generator v0.23.4/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= -k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= -k8s.io/component-base v0.23.4 h1:SziYh48+QKxK+ykJ3Ejqd98XdZIseVBG7sBaNLPqy6M= -k8s.io/component-base v0.23.4/go.mod h1:8o3Gg8i2vnUXGPOwciiYlkSaZT+p+7gA9Scoz8y4W4E= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= -k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= -k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= -k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= -k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= -k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= -k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= -k8s.io/utils v0.0.0-20191030222137-2b95a09bc58d/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= -k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= -mellium.im/sasl v0.2.1 h1:nspKSRg7/SyO0cRGY71OkfHab8tf9kCts6a6oTDut0w= -mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27/go.mod h1:tq2nT0Kx7W+/f2JVE+zxYtUhdjuELJkVpNz+x/QN5R4= -sigs.k8s.io/controller-runtime v0.11.1 h1:7YIHT2QnHJArj/dk9aUkYhfqfK5cIxPOX5gPECfdZLU= -sigs.k8s.io/controller-runtime v0.11.1/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= -sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 h1:otg4dLFc03c3gzl+2CV8GPGcd1kk8wjXwD+UhhcCn5I= -sigs.k8s.io/kustomize/pseudo/k8s v0.1.0/go.mod h1:bl/gVJgYYhJZCZdYU2BfnaKYAlqFkgbJEkpl302jEss= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= -sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= -sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= -sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= -sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= -sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= -sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/components/usermgmt/internal/models/group.go b/components/usermgmt/internal/models/group.go deleted file mode 100644 index 2733be1..0000000 --- a/components/usermgmt/internal/models/group.go +++ /dev/null @@ -1,22 +0,0 @@ -package models - -import ( - "time" - - "github.com/google/uuid" - "github.com/uptrace/bun" -) - -type Group struct { - bun.BaseModel `bun:"table:authsrv_group,alias:group"` - - ID uuid.UUID `bun:"id,type:uuid,pk,default:uuid_generate_v4()"` - Name string `bun:"name,notnull"` - Description string `bun:"description,notnull"` - CreatedAt time.Time `bun:"created_at,notnull,default:current_timestamp"` - ModifiedAt time.Time `bun:"modified_at,notnull,default:current_timestamp"` - Trash bool `bun:"trash,notnull,default:false"` - OrganizationId uuid.UUID `bun:"organization_id,type:uuid"` - PartnerId uuid.UUID `bun:"partner_id,type:uuid"` - Type string `bun:"type,notnull"` -} diff --git a/components/usermgmt/main.go b/components/usermgmt/main.go deleted file mode 100644 index 986dc47..0000000 --- a/components/usermgmt/main.go +++ /dev/null @@ -1,288 +0,0 @@ -package main - -import ( - "context" - "database/sql" - "fmt" - "log" - "net" - "net/http" - "sync" - "time" - - "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" - kclient "github.com/ory/kratos-client-go" - "github.com/spf13/viper" - "github.com/uptrace/bun" - "github.com/uptrace/bun/dialect/pgdialect" - "github.com/uptrace/bun/driver/pgdriver" - "github.com/uptrace/bun/extra/bundebug" - "sigs.k8s.io/controller-runtime/pkg/manager/signals" - - authzrpcv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/rpc/v1" - authv3 "github.com/RafaySystems/rcloud-base/components/common/pkg/auth/v3" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway" - grpc "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - logv2 "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" - rolerpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/role" - systemrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" - userrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/user" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/providers" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/service" - "github.com/RafaySystems/rcloud-base/components/usermgmt/server" - _grpc "google.golang.org/grpc" -) - -const ( - rpcPortEnv = "RPC_PORT" - apiPortEnv = "API_PORT" - authzPortEnv = "AUTHZ_SERVER_PORT" - debugPortEnv = "DEBUG_PORT" - kratosSchemeEnv = "KRATOS_SCHEME" - kratosAddrEnv = "KRATOS_ADDR" - dbAddrEnv = "DB_ADDR" - dbNameEnv = "DB_NAME" - dbUserEnv = "DB_USER" - dbPasswordEnv = "DB_PASSWORD" - devEnv = "DEV" - configAddrENV = "CONFIG_ADDR" - appHostHTTPEnv = "APP_HOST_HTTP" -) - -var ( - rpcPort int - apiPort int - debugPort int - rpcRelayPeeringPort int - kratosScheme string - kratosAddr string - authzPort int - kc *kclient.APIClient - azc authzrpcv1.AuthzClient - dbAddr string - dbName string - dbUser string - dbPassword string - db *bun.DB - us service.UserService - gs service.GroupService - rs service.RoleService - rrs service.RolepermissionService - is service.IdpService - ps service.OIDCProviderService - dev bool - _log = logv2.GetLogger() - authPool authv3.AuthPool - configPool configrpc.ConfigPool - configAddr string - appHostHTTP string -) - -func setup() { - viper.SetDefault(rpcPortEnv, 14000) - viper.SetDefault(apiPortEnv, 15000) - viper.SetDefault(debugPortEnv, 16000) - viper.SetDefault(kratosSchemeEnv, "http") - viper.SetDefault(kratosAddrEnv, "localhost:4433") - viper.SetDefault(authzPortEnv, 50011) - viper.SetDefault(dbAddrEnv, "localhost:5432") - viper.SetDefault(dbNameEnv, "admindb") - viper.SetDefault(dbUserEnv, "admindbuser") - viper.SetDefault(dbPasswordEnv, "admindbpassword") - viper.SetDefault(devEnv, true) - viper.SetDefault(configAddrENV, "localhost:7000") - viper.SetDefault(appHostHTTPEnv, "http://localhost:11000") - - viper.BindEnv(rpcPortEnv) - viper.BindEnv(apiPortEnv) - viper.BindEnv(debugPortEnv) - viper.BindEnv(kratosSchemeEnv) - viper.BindEnv(kratosAddrEnv) - viper.BindEnv(authzPortEnv) - viper.BindEnv(dbAddrEnv) - viper.BindEnv(dbNameEnv) - viper.BindEnv(dbPasswordEnv) - viper.BindEnv(dbPasswordEnv) - viper.BindEnv(devEnv) - viper.BindEnv(configAddrENV) - viper.BindEnv(appHostHTTPEnv) - - rpcPort = viper.GetInt(rpcPortEnv) - apiPort = viper.GetInt(apiPortEnv) - debugPort = viper.GetInt(debugPortEnv) - kratosScheme = viper.GetString(kratosSchemeEnv) - kratosAddr = viper.GetString(kratosAddrEnv) - authzPort = viper.GetInt(authzPortEnv) - dbAddr = viper.GetString(dbAddrEnv) - dbName = viper.GetString(dbNameEnv) - dbUser = viper.GetString(dbUserEnv) - dbPassword = viper.GetString(dbPasswordEnv) - dev = viper.GetBool(devEnv) - configAddr = viper.GetString(configAddrENV) - appHostHTTP = viper.GetString(appHostHTTPEnv) - - rpcRelayPeeringPort = rpcPort + 1 - - // Kratos client setup - kratosConfig := kclient.NewConfiguration() - kratosUrl := kratosScheme + "://" + kratosAddr - kratosConfig.Servers[0].URL = kratosUrl - kc = kclient.NewAPIClient(kratosConfig) - - dsn := "postgres://" + dbUser + ":" + dbPassword + "@" + dbAddr + "/" + dbName + "?sslmode=disable" - sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn))) - db := bun.NewDB(sqldb, pgdialect.New()) - - if dev { - db.AddQueryHook(bundebug.NewQueryHook( - bundebug.WithVerbose(true), - bundebug.FromEnv("BUNDEBUG"), - )) - } - - conn, err := _grpc.Dial(":"+fmt.Sprint(authzPort), _grpc.WithInsecure()) - if err != nil { - log.Fatal("unable to connect to authz") - } - azc = authzrpcv1.NewAuthzClient(conn) - - us = service.NewUserService(providers.NewKratosAuthProvider(kc), db, azc) - gs = service.NewGroupService(db, azc) - rs = service.NewRoleService(db, azc) - rrs = service.NewRolepermissionService(db) - is = service.NewIdpService(db, appHostHTTP) - ps = service.NewOIDCProviderService(db, kratosUrl) - _log.Infow("usermgmt setup complete") -} - -func run() { - - ctx := signals.SetupSignalHandler() - - var wg sync.WaitGroup - - wg.Add(1) - - go runAPI(&wg, ctx) - go runRPC(&wg, ctx) - go runDebug(&wg, ctx) - - <-ctx.Done() - wg.Wait() -} - -func runAPI(wg *sync.WaitGroup, ctx context.Context) { - defer wg.Done() - ctx, cancel := context.WithCancel(ctx) - defer cancel() - - mux := http.NewServeMux() - - gwHandler, err := gateway.NewGateway( - ctx, - fmt.Sprintf(":%d", rpcPort), - make([]runtime.ServeMuxOption, 0), - userrpc.RegisterUserHandlerFromEndpoint, - userrpc.RegisterGroupHandlerFromEndpoint, - rolerpc.RegisterRoleHandlerFromEndpoint, - rolerpc.RegisterRolepermissionHandlerFromEndpoint, - systemrpc.RegisterIdpHandlerFromEndpoint, - systemrpc.RegisterOIDCProviderHandlerFromEndpoint, - ) - if err != nil { - _log.Fatalw("unable to create gateway", "error", err) - } - mux.Handle("/", gwHandler) - - s := http.Server{ - Addr: fmt.Sprintf(":%d", apiPort), - Handler: mux, - } - go func() { - defer s.Shutdown(context.TODO()) - <-ctx.Done() - }() - - _log.Infow("starting gateway server", "port", apiPort) - err = s.ListenAndServe() - if err != nil { - _log.Fatalw("unable to start gateway", "error", err) - } -} - -func runRPC(wg *sync.WaitGroup, ctx context.Context) { - defer wg.Done() - defer gs.Close() - defer rs.Close() - defer rrs.Close() - - userServer := server.NewUserServer(us) - groupServer := server.NewGroupServer(gs) - roleServer := server.NewRoleServer(rs) - rolepermissionServer := server.NewRolePermissionServer(rrs) - idpServer := server.NewIdpServer(is) - oidcProviderServer := server.NewOIDCServer(ps) - - l, err := net.Listen("tcp", fmt.Sprintf(":%d", rpcPort)) - if err != nil { - _log.Fatalw("unable to start rpc listener", "error", err) - } - - var opts []_grpc.ServerOption - if !dev { - ac := authv3.NewAuthContext() - o := authv3.Option{} - opts = append(opts, _grpc.UnaryInterceptor( - ac.NewAuthUnaryInterceptor(o), - )) - } - s, err := grpc.NewServer(opts...) - if err != nil { - _log.Fatalw("unable to create grpc server", "error", err) - } - - go func() { - defer s.GracefulStop() - - <-ctx.Done() - _log.Infow("context done") - }() - - userrpc.RegisterUserServer(s, userServer) - userrpc.RegisterGroupServer(s, groupServer) - rolerpc.RegisterRoleServer(s, roleServer) - rolerpc.RegisterRolepermissionServer(s, rolepermissionServer) - systemrpc.RegisterIdpServer(s, idpServer) - systemrpc.RegisterOIDCProviderServer(s, oidcProviderServer) - - _log.Infow("starting rpc server", "port", rpcPort) - err = s.Serve(l) - if err != nil { - _log.Fatalw("unable to start rpc server", "error", err) - } -} - -func runDebug(wg *sync.WaitGroup, ctx context.Context) { - defer wg.Done() - s := http.Server{ - Addr: fmt.Sprintf(":%d", debugPort), - } - _log.Infow("starting debug server", "port", debugPort) - go func() { - err := s.ListenAndServe() - if err != nil { - _log.Fatalw("unable to start debug server", "error", err) - } - }() - - <-ctx.Done() - ctx, cancel := context.WithTimeout(ctx, time.Second*10) - defer cancel() - s.Shutdown(ctx) -} - -func main() { - setup() - run() -} diff --git a/components/usermgmt/master.rest b/components/usermgmt/master.rest deleted file mode 100644 index 58ddf6e..0000000 --- a/components/usermgmt/master.rest +++ /dev/null @@ -1,194 +0,0 @@ -:host = http://localhost:11000 -:partner = important-partner -:org = hello -:project = hello -:group = group-name -:role = role-name -:user = user.name@provider.com -:namespace = 7 - -## Users - -# Create user -POST :host/auth/v3/users -Content-Type: application/yaml - -metadata: - partner: :partner - organization: :org - name: :user -spec: - firstName: John - lastName: Doe - -# Create user with roles -POST :host/auth/v3/users -Content-Type: application/yaml - -metadata: - partner: :partner - organization: :org - name: :user -spec: - firstName: John - lastName: Doe - projectNamespaceRoles: - - role: NAMESPACE_ADMIN - namespace: :namespace - project: :project - -# Get all users -GET :host/auth/v3/users -Content-Type: application/yaml - -# Get single user -GET :host/auth/v3/user/:user -Content-Type: application/yaml - -# Update user info -PUT :host/auth/v3/user/:user -Content-Type: application/yaml - -metadata: - partner: :partner - organization: :org - name: :user -spec: - firstName: John - lastName: Cena - projectNamespaceRoles: - - role: ADMIN - -# Delete single user -DELETE :host/auth/v3/user/:user - - -## Groups - -# Create group -POST :host/auth/v3/partner/:partner/organization/:org/groups -Content-Type: application/yaml - -metadata: - name: :group - description: My first description - partner: :partner - organization: :org -spec: - type: simple - users: - - :user - projectNamespaceRoles: - - role: NAMESPACE_ADMIN - namespace: :namespace - project: :project - -# Create group no namespace and project -POST :host/auth/v3/partner/:partner/organization/:org/groups -Content-Type: application/yaml - -metadata: - name: :group - description: My first description - partner: :partner - organization: :org -spec: - type: simple - users: - - :user - projectNamespaceRoles: - - role: CLUSTER_ADMIN - -# Update group to no namespace -PUT :host/auth/v3/partner/:partner/organization/:org/group/:group -Content-Type: application/yaml - -metadata: - name: :group - description: My first description - partner: :partner - organization: :org -spec: - type: simple - users: - - :user - projectNamespaceRoles: - - role: ADMIN - - -# Get all groups -GET :host/auth/v3/partner/:partner/organization/:org/groups -Content-Type: application/yaml - -# Get a group -GET :host/auth/v3/partner/:partner/organization/:org/group/:group -Content-Type: application/yaml - -# Delete a group -DELETE :host/auth/v3/partner/:partner/organization/:org/group/:group -Content-Type: application/yaml - -## Roles - -# Create empty role -POST :host/auth/v3/partner/:partner/organization/:org/roles -Content-Type: application/yaml - -metadata: - name: :role - description: My first role - partner: :partner - organization: :org -spec: - isGlobal: true - scope: cluster - -# Create role -POST :host/auth/v3/partner/:partner/organization/:org/roles -Content-Type: application/yaml - -metadata: - name: :role - description: My first role - partner: :partner - organization: :org -spec: - isGlobal: true - scope: cluster - rolepermissions: - - account.read - - ops_star.all - -# Update role -PUT :host/auth/v3/partner/:partner/organization/:org/role/:role -Content-Type: application/yaml - -metadata: - name: :role - description: My first role - partner: :partner - organization: :org -spec: - isGlobal: true - scope: cluster - rolepermissions: - - account.read - -# Get all roles -GET :host/auth/v3/partner/:partner/organization/:org/roles -Content-Type: application/yaml - -# Get a role -GET :host/auth/v3/partner/:partner/organization/:org/role/:role -Content-Type: application/yaml - -# Delete a role -DELETE :host/auth/v3/partner/:partner/organization/:org/role/:role -Content-Type: application/yaml - - -## Rolepermission - -# Get all rolepermissions -GET :host/auth/v3/rolepermissions -Content-Type: application/yaml \ No newline at end of file diff --git a/components/usermgmt/pkg/service/const.go b/components/usermgmt/pkg/service/const.go deleted file mode 100644 index a11aee9..0000000 --- a/components/usermgmt/pkg/service/const.go +++ /dev/null @@ -1,3 +0,0 @@ -package service - -const apiVersion = "system.k8smgmt.io/v3" diff --git a/components/usermgmt/env.example b/env.example similarity index 100% rename from components/usermgmt/env.example rename to env.example diff --git a/components/common/gen/openapi/pkg/gateway/testdata/test.swagger.json b/gen/openapi/pkg/gateway/testdata/test.swagger.json similarity index 100% rename from components/common/gen/openapi/pkg/gateway/testdata/test.swagger.json rename to gen/openapi/pkg/gateway/testdata/test.swagger.json diff --git a/gen/openapi/proto/rpc/authz/authz.swagger.json b/gen/openapi/proto/rpc/authz/authz.swagger.json new file mode 100644 index 0000000..3ec1a24 --- /dev/null +++ b/gen/openapi/proto/rpc/authz/authz.swagger.json @@ -0,0 +1,143 @@ +{ + "swagger": "2.0", + "info": { + "title": "proto/rpc/authz/authz.proto", + "version": "version not set" + }, + "tags": [ + { + "name": "Authz" + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + }, + "v1BoolReply": { + "type": "object", + "properties": { + "res": { + "type": "boolean" + } + } + }, + "v1Policies": { + "type": "object", + "properties": { + "policies": { + "type": "array", + "items": { + "$ref": "#/definitions/v1Policy" + } + } + } + }, + "v1Policy": { + "type": "object", + "properties": { + "sub": { + "type": "string", + "title": "Who needs the access" + }, + "ns": { + "type": "string", + "title": "Namespace scope, * for all ns" + }, + "proj": { + "type": "string", + "title": "Project scope, * for all projects" + }, + "org": { + "type": "string", + "title": "Org scope" + }, + "obj": { + "type": "string", + "title": "Resource for which the access is needed" + }, + "act": { + "type": "string", + "title": "Action, read/write; * for both read+write" + } + } + }, + "v1RolePermissionMapping": { + "type": "object", + "properties": { + "role": { + "type": "string" + }, + "permission": { + "type": "array", + "items": { + "type": "string" + } + } + } + }, + "v1RolePermissionMappingList": { + "type": "object", + "properties": { + "rolePermissionMappingList": { + "type": "array", + "items": { + "$ref": "#/definitions/v1RolePermissionMapping" + } + } + } + }, + "v1UserGroup": { + "type": "object", + "properties": { + "user": { + "type": "string" + }, + "grp": { + "type": "string" + } + } + }, + "v1UserGroups": { + "type": "object", + "properties": { + "userGroups": { + "type": "array", + "items": { + "$ref": "#/definitions/v1UserGroup" + } + } + } + } + } +} diff --git a/components/common/gen/openapi/proto/rpc/config/override.swagger.json b/gen/openapi/proto/rpc/config/override.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/config/override.swagger.json rename to gen/openapi/proto/rpc/config/override.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/role/role.swagger.json b/gen/openapi/proto/rpc/role/role.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/role/role.swagger.json rename to gen/openapi/proto/rpc/role/role.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/role/rolepermission.swagger.json b/gen/openapi/proto/rpc/role/rolepermission.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/role/rolepermission.swagger.json rename to gen/openapi/proto/rpc/role/rolepermission.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/scheduler/cluster.swagger.json b/gen/openapi/proto/rpc/scheduler/cluster.swagger.json similarity index 95% rename from components/common/gen/openapi/proto/rpc/scheduler/cluster.swagger.json rename to gen/openapi/proto/rpc/scheduler/cluster.swagger.json index a1166a3..6feb684 100644 --- a/components/common/gen/openapi/proto/rpc/scheduler/cluster.swagger.json +++ b/gen/openapi/proto/rpc/scheduler/cluster.swagger.json @@ -1431,63 +1431,6 @@ ] } }, - "/infra/v3/project/{metadata.project}/cluster/{metadata.name}/status": { - "put": { - "operationId": "Cluster_UpdateClusterStatus", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v3Cluster" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": {} - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "type": "string", - "format": "string" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/googlerpcStatus" - } - } - }, - "parameters": [ - { - "name": "metadata.project", - "description": "Project of the resource", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "metadata.name", - "description": "name of the resource", - "in": "path", - "required": true, - "type": "string" - }, - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v3Cluster" - } - } - ], - "tags": [ - "Cluster" - ] - } - }, "/infra/v3/project/{project}/cluster": { "get": { "operationId": "Cluster_GetClusters", @@ -1679,49 +1622,6 @@ "Cluster" ] } - }, - "/infra/v3/scheduler/cluster/register": { - "post": { - "operationId": "Cluster_RegisterCluster", - "responses": { - "200": { - "description": "A successful response.", - "schema": { - "$ref": "#/definitions/v3RegisterClusterResponse" - } - }, - "403": { - "description": "Returned when the user does not have permission to access the resource.", - "schema": {} - }, - "404": { - "description": "Returned when the resource does not exist.", - "schema": { - "type": "string", - "format": "string" - } - }, - "default": { - "description": "An unexpected error response.", - "schema": { - "$ref": "#/definitions/googlerpcStatus" - } - } - }, - "parameters": [ - { - "name": "body", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/v3RegisterClusterRequest" - } - } - ], - "tags": [ - "Cluster" - ] - } } }, "definitions": { @@ -2569,31 +2469,6 @@ "default": "NotSet", "title": "RafayConditionStatus is the status of the status condition" }, - "v3RegisterClusterRequest": { - "type": "object", - "properties": { - "token": { - "type": "string" - }, - "signingRequest": { - "type": "string", - "format": "byte" - } - } - }, - "v3RegisterClusterResponse": { - "type": "object", - "properties": { - "certificate": { - "type": "string", - "format": "byte" - }, - "caCertificate": { - "type": "string", - "format": "byte" - } - } - }, "v3Resources": { "type": "object", "properties": { diff --git a/components/common/gen/openapi/proto/rpc/sentry/audit_info.swagger.json b/gen/openapi/proto/rpc/sentry/audit_info.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/sentry/audit_info.swagger.json rename to gen/openapi/proto/rpc/sentry/audit_info.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/sentry/bootstrap.swagger.json b/gen/openapi/proto/rpc/sentry/bootstrap.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/sentry/bootstrap.swagger.json rename to gen/openapi/proto/rpc/sentry/bootstrap.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/sentry/cluster_authz.swagger.json b/gen/openapi/proto/rpc/sentry/cluster_authz.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/sentry/cluster_authz.swagger.json rename to gen/openapi/proto/rpc/sentry/cluster_authz.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/sentry/kubeconfig.swagger.json b/gen/openapi/proto/rpc/sentry/kubeconfig.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/sentry/kubeconfig.swagger.json rename to gen/openapi/proto/rpc/sentry/kubeconfig.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/sentry/kubectl_cluster.swagger.json b/gen/openapi/proto/rpc/sentry/kubectl_cluster.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/sentry/kubectl_cluster.swagger.json rename to gen/openapi/proto/rpc/sentry/kubectl_cluster.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/sentry/relaypeer.swagger.json b/gen/openapi/proto/rpc/sentry/relaypeer.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/sentry/relaypeer.swagger.json rename to gen/openapi/proto/rpc/sentry/relaypeer.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/system/idp.swagger.json b/gen/openapi/proto/rpc/system/idp.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/system/idp.swagger.json rename to gen/openapi/proto/rpc/system/idp.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/system/metro.swagger.json b/gen/openapi/proto/rpc/system/metro.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/system/metro.swagger.json rename to gen/openapi/proto/rpc/system/metro.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/system/oidc_provider.swagger.json b/gen/openapi/proto/rpc/system/oidc_provider.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/system/oidc_provider.swagger.json rename to gen/openapi/proto/rpc/system/oidc_provider.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/system/organization.swagger.json b/gen/openapi/proto/rpc/system/organization.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/system/organization.swagger.json rename to gen/openapi/proto/rpc/system/organization.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/system/partner.swagger.json b/gen/openapi/proto/rpc/system/partner.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/system/partner.swagger.json rename to gen/openapi/proto/rpc/system/partner.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/system/project.swagger.json b/gen/openapi/proto/rpc/system/project.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/system/project.swagger.json rename to gen/openapi/proto/rpc/system/project.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/user/group.swagger.json b/gen/openapi/proto/rpc/user/group.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/user/group.swagger.json rename to gen/openapi/proto/rpc/user/group.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/user/user.swagger.json b/gen/openapi/proto/rpc/user/user.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/user/user.swagger.json rename to gen/openapi/proto/rpc/user/user.swagger.json diff --git a/components/common/gen/openapi/proto/rpc/v3/auth.swagger.json b/gen/openapi/proto/rpc/v3/auth.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/rpc/v3/auth.swagger.json rename to gen/openapi/proto/rpc/v3/auth.swagger.json diff --git a/gen/openapi/proto/types/authz/authz.swagger.json b/gen/openapi/proto/types/authz/authz.swagger.json new file mode 100644 index 0000000..36c51d3 --- /dev/null +++ b/gen/openapi/proto/types/authz/authz.swagger.json @@ -0,0 +1,43 @@ +{ + "swagger": "2.0", + "info": { + "title": "proto/types/authz/authz.proto", + "version": "version not set" + }, + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "paths": {}, + "definitions": { + "protobufAny": { + "type": "object", + "properties": { + "@type": { + "type": "string" + } + }, + "additionalProperties": {} + }, + "rpcStatus": { + "type": "object", + "properties": { + "code": { + "type": "integer", + "format": "int32" + }, + "message": { + "type": "string" + }, + "details": { + "type": "array", + "items": { + "$ref": "#/definitions/protobufAny" + } + } + } + } + } +} diff --git a/components/common/gen/openapi/proto/types/commonpb/v3/artifacts.swagger.json b/gen/openapi/proto/types/commonpb/v3/artifacts.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/commonpb/v3/artifacts.swagger.json rename to gen/openapi/proto/types/commonpb/v3/artifacts.swagger.json diff --git a/components/common/gen/openapi/proto/types/commonpb/v3/auth.swagger.json b/gen/openapi/proto/types/commonpb/v3/auth.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/commonpb/v3/auth.swagger.json rename to gen/openapi/proto/types/commonpb/v3/auth.swagger.json diff --git a/components/common/gen/openapi/proto/types/commonpb/v3/common.swagger.json b/gen/openapi/proto/types/commonpb/v3/common.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/commonpb/v3/common.swagger.json rename to gen/openapi/proto/types/commonpb/v3/common.swagger.json diff --git a/components/common/gen/openapi/proto/types/config/config.swagger.json b/gen/openapi/proto/types/config/config.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/config/config.swagger.json rename to gen/openapi/proto/types/config/config.swagger.json diff --git a/components/common/gen/openapi/proto/types/config/namespace.swagger.json b/gen/openapi/proto/types/config/namespace.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/config/namespace.swagger.json rename to gen/openapi/proto/types/config/namespace.swagger.json diff --git a/components/common/gen/openapi/proto/types/config/override.swagger.json b/gen/openapi/proto/types/config/override.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/config/override.swagger.json rename to gen/openapi/proto/types/config/override.swagger.json diff --git a/components/common/gen/openapi/proto/types/config/placement.swagger.json b/gen/openapi/proto/types/config/placement.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/config/placement.swagger.json rename to gen/openapi/proto/types/config/placement.swagger.json diff --git a/components/common/gen/openapi/proto/types/config/repository.swagger.json b/gen/openapi/proto/types/config/repository.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/config/repository.swagger.json rename to gen/openapi/proto/types/config/repository.swagger.json diff --git a/components/common/gen/openapi/proto/types/config/workload.swagger.json b/gen/openapi/proto/types/config/workload.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/config/workload.swagger.json rename to gen/openapi/proto/types/config/workload.swagger.json diff --git a/components/common/gen/openapi/proto/types/controller/cluster_controller.swagger.json b/gen/openapi/proto/types/controller/cluster_controller.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/controller/cluster_controller.swagger.json rename to gen/openapi/proto/types/controller/cluster_controller.swagger.json diff --git a/components/common/gen/openapi/proto/types/infrapb/v3/cluster.swagger.json b/gen/openapi/proto/types/infrapb/v3/cluster.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/infrapb/v3/cluster.swagger.json rename to gen/openapi/proto/types/infrapb/v3/cluster.swagger.json diff --git a/components/common/gen/openapi/proto/types/rolepb/v3/role.swagger.json b/gen/openapi/proto/types/rolepb/v3/role.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/rolepb/v3/role.swagger.json rename to gen/openapi/proto/types/rolepb/v3/role.swagger.json diff --git a/components/common/gen/openapi/proto/types/rolepb/v3/rolepermission.swagger.json b/gen/openapi/proto/types/rolepb/v3/rolepermission.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/rolepb/v3/rolepermission.swagger.json rename to gen/openapi/proto/types/rolepb/v3/rolepermission.swagger.json diff --git a/components/common/gen/openapi/proto/types/scheduler/namespace.swagger.json b/gen/openapi/proto/types/scheduler/namespace.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/scheduler/namespace.swagger.json rename to gen/openapi/proto/types/scheduler/namespace.swagger.json diff --git a/components/common/gen/openapi/proto/types/sentry/account_permission.swagger.json b/gen/openapi/proto/types/sentry/account_permission.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/sentry/account_permission.swagger.json rename to gen/openapi/proto/types/sentry/account_permission.swagger.json diff --git a/components/common/gen/openapi/proto/types/sentry/group_permission.swagger.json b/gen/openapi/proto/types/sentry/group_permission.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/sentry/group_permission.swagger.json rename to gen/openapi/proto/types/sentry/group_permission.swagger.json diff --git a/components/common/gen/openapi/proto/types/sentry/kubeconfig_setting.swagger.json b/gen/openapi/proto/types/sentry/kubeconfig_setting.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/sentry/kubeconfig_setting.swagger.json rename to gen/openapi/proto/types/sentry/kubeconfig_setting.swagger.json diff --git a/components/common/gen/openapi/proto/types/sentry/kubectl_cluster_setting.swagger.json b/gen/openapi/proto/types/sentry/kubectl_cluster_setting.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/sentry/kubectl_cluster_setting.swagger.json rename to gen/openapi/proto/types/sentry/kubectl_cluster_setting.swagger.json diff --git a/components/common/gen/openapi/proto/types/sentry/sentry.swagger.json b/gen/openapi/proto/types/sentry/sentry.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/sentry/sentry.swagger.json rename to gen/openapi/proto/types/sentry/sentry.swagger.json diff --git a/components/common/gen/openapi/proto/types/systempb/v3/idp.swagger.json b/gen/openapi/proto/types/systempb/v3/idp.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/systempb/v3/idp.swagger.json rename to gen/openapi/proto/types/systempb/v3/idp.swagger.json diff --git a/components/common/gen/openapi/proto/types/systempb/v3/oidc_provider.swagger.json b/gen/openapi/proto/types/systempb/v3/oidc_provider.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/systempb/v3/oidc_provider.swagger.json rename to gen/openapi/proto/types/systempb/v3/oidc_provider.swagger.json diff --git a/components/common/gen/openapi/proto/types/systempb/v3/organization.swagger.json b/gen/openapi/proto/types/systempb/v3/organization.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/systempb/v3/organization.swagger.json rename to gen/openapi/proto/types/systempb/v3/organization.swagger.json diff --git a/components/common/gen/openapi/proto/types/systempb/v3/partner.swagger.json b/gen/openapi/proto/types/systempb/v3/partner.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/systempb/v3/partner.swagger.json rename to gen/openapi/proto/types/systempb/v3/partner.swagger.json diff --git a/components/common/gen/openapi/proto/types/systempb/v3/project.swagger.json b/gen/openapi/proto/types/systempb/v3/project.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/systempb/v3/project.swagger.json rename to gen/openapi/proto/types/systempb/v3/project.swagger.json diff --git a/components/common/gen/openapi/proto/types/userpb/v3/group.swagger.json b/gen/openapi/proto/types/userpb/v3/group.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/userpb/v3/group.swagger.json rename to gen/openapi/proto/types/userpb/v3/group.swagger.json diff --git a/components/common/gen/openapi/proto/types/userpb/v3/user.swagger.json b/gen/openapi/proto/types/userpb/v3/user.swagger.json similarity index 100% rename from components/common/gen/openapi/proto/types/userpb/v3/user.swagger.json rename to gen/openapi/proto/types/userpb/v3/user.swagger.json diff --git a/go.mod b/go.mod index 05f0c74..e84b421 100644 --- a/go.mod +++ b/go.mod @@ -2,4 +2,204 @@ module github.com/RafaySystems/rcloud-base go 1.17 -require github.com/gogo/protobuf v1.3.2 // indirect +require github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 + +require ( + github.com/rs/xid v1.3.0 + github.com/uptrace/bun v1.0.20 + google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5 + google.golang.org/grpc v1.44.0 + google.golang.org/protobuf v1.27.1 +) + +require ( + github.com/dgraph-io/ristretto v0.1.0 + github.com/google/uuid v1.3.0 +) + +require ( + github.com/crewjam/saml v0.4.6 + github.com/pkg/errors v0.9.1 +) + +require ( + github.com/DATA-DOG/go-sqlmock v1.5.0 + github.com/casbin/casbin/v2 v2.40.6 +) + +require gorm.io/gorm v1.22.5 + +require github.com/uptrace/bun/extra/bundebug v1.0.20 + +require ( + github.com/uptrace/bun/dialect/pgdialect v1.0.20 + github.com/uptrace/bun/driver/pgdriver v1.0.20 +) + +require github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 + +require ( + github.com/ory/kratos-client-go v0.8.2-alpha.1 + github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 +) + +require k8s.io/client-go v0.23.4 + +require ( + go.uber.org/zap v1.21.0 + k8s.io/apimachinery v0.23.4 +) + +require github.com/processout/grpc-go-pool v1.2.1 + +require sigs.k8s.io/controller-runtime v0.11.1 + +require ( + github.com/json-iterator/go v1.1.12 + github.com/speps/go-hashids v2.0.0+incompatible + k8s.io/api v0.23.4 + sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 + sigs.k8s.io/yaml v1.3.0 +) + +require ( + github.com/grpc-ecosystem/grpc-gateway v1.16.0 + github.com/segmentio/encoding v0.3.4 +) + +require github.com/casbin/gorm-adapter/v3 v3.4.6 + +require ( + github.com/Shopify/sarama v1.32.0 + github.com/evanphx/json-patch v4.12.0+incompatible + gorm.io/driver/postgres v1.2.2 + k8s.io/apiextensions-apiserver v0.23.4 + k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 +) + +require ( + github.com/spf13/viper v1.10.1 + github.com/urfave/negroni v1.0.0 +) + +require ( + github.com/go-openapi/errors v0.20.2 + github.com/go-openapi/runtime v0.23.1 + github.com/go-openapi/strfmt v0.21.2 + github.com/go-openapi/swag v0.21.1 + github.com/go-openapi/validate v0.21.0 + github.com/valyala/fastjson v1.6.3 +) + +require ( + github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible // indirect + github.com/PuerkitoBio/purell v1.1.1 // indirect + github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 // indirect + github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect + github.com/beevik/etree v1.1.0 // indirect + github.com/beorn7/perks v1.0.1 // indirect + github.com/cespare/xxhash/v2 v2.1.2 // indirect + github.com/crewjam/httperr v0.2.0 // indirect + github.com/davecgh/go-spew v1.1.1 // indirect + github.com/denisenkom/go-mssqldb v0.11.0 // indirect + github.com/dustin/go-humanize v1.0.0 // indirect + github.com/eapache/go-resiliency v1.2.0 // indirect + github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 // indirect + github.com/eapache/queue v1.1.0 // indirect + github.com/fatih/color v1.13.0 // indirect + github.com/fsnotify/fsnotify v1.5.1 // indirect + github.com/go-logr/logr v1.2.0 // indirect + github.com/go-openapi/analysis v0.21.2 // indirect + github.com/go-openapi/jsonpointer v0.19.5 // indirect + github.com/go-openapi/jsonreference v0.19.6 // indirect + github.com/go-openapi/loads v0.21.1 // indirect + github.com/go-openapi/spec v0.20.4 // indirect + github.com/go-sql-driver/mysql v1.6.0 // indirect + github.com/go-stack/stack v1.8.1 // indirect + github.com/gogo/protobuf v1.3.2 // indirect + github.com/golang-jwt/jwt/v4 v4.1.0 // indirect + github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe // indirect + github.com/golang/glog v1.0.0 // indirect + github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect + github.com/golang/mock v1.6.0 // indirect + github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/snappy v0.0.4 // indirect + github.com/google/go-cmp v0.5.7 // indirect + github.com/google/gofuzz v1.1.0 // indirect + github.com/googleapis/gnostic v0.5.5 // indirect + github.com/hashicorp/go-uuid v1.0.2 // indirect + github.com/hashicorp/hcl v1.0.0 // indirect + github.com/imdario/mergo v0.3.12 // indirect + github.com/jackc/chunkreader/v2 v2.0.1 // indirect + github.com/jackc/pgconn v1.10.0 // indirect + github.com/jackc/pgio v1.0.0 // indirect + github.com/jackc/pgpassfile v1.0.0 // indirect + github.com/jackc/pgproto3/v2 v2.1.1 // indirect + github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b // indirect + github.com/jackc/pgtype v1.8.1 // indirect + github.com/jackc/pgx/v4 v4.13.0 // indirect + github.com/jcmturner/aescts/v2 v2.0.0 // indirect + github.com/jcmturner/dnsutils/v2 v2.0.0 // indirect + github.com/jcmturner/gofork v1.0.0 // indirect + github.com/jcmturner/gokrb5/v8 v8.4.2 // indirect + github.com/jcmturner/rpc/v2 v2.0.3 // indirect + github.com/jinzhu/inflection v1.0.0 // indirect + github.com/jinzhu/now v1.1.4 // indirect + github.com/jonboulle/clockwork v0.2.2 // indirect + github.com/josharian/intern v1.0.0 // indirect + github.com/klauspost/compress v1.14.4 // indirect + github.com/magiconair/properties v1.8.5 // indirect + github.com/mailru/easyjson v0.7.7 // indirect + github.com/mattermost/xml-roundtrip-validator v0.1.0 // indirect + github.com/mattn/go-colorable v0.1.12 // indirect + github.com/mattn/go-isatty v0.0.14 // indirect + github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect + github.com/mitchellh/mapstructure v1.4.3 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect + github.com/oklog/ulid v1.3.1 // indirect + github.com/opentracing/opentracing-go v1.2.0 // indirect + github.com/pelletier/go-toml v1.9.4 // indirect + github.com/pierrec/lz4 v2.6.1+incompatible // indirect + github.com/prometheus/client_golang v1.11.0 // indirect + github.com/prometheus/client_model v0.2.0 // indirect + github.com/prometheus/common v0.28.0 // indirect + github.com/prometheus/procfs v0.6.0 // indirect + github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 // indirect + github.com/russellhaering/goxmldsig v1.1.1 // indirect + github.com/segmentio/asm v1.1.3 // indirect + github.com/spf13/afero v1.6.0 // indirect + github.com/spf13/cast v1.4.1 // indirect + github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect + github.com/subosito/gotenv v1.2.0 // indirect + github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect + github.com/vmihailenco/msgpack/v5 v5.3.5 // indirect + github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect + go.mongodb.org/mongo-driver v1.8.3 // indirect + go.uber.org/atomic v1.7.0 // indirect + go.uber.org/multierr v1.6.0 // indirect + golang.org/x/crypto v0.0.0-20220214200702-86341886e292 // indirect + golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect + golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 // indirect + golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 // indirect + golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect + golang.org/x/text v0.3.7 // indirect + golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac // indirect + gomodules.xyz/jsonpatch/v2 v2.2.0 // indirect + google.golang.org/appengine v1.6.7 // indirect + gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/ini.v1 v1.66.2 // indirect + gopkg.in/yaml.v2 v2.4.0 // indirect + gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect + gorm.io/driver/mysql v1.1.2 // indirect + gorm.io/driver/sqlserver v1.2.1 // indirect + gorm.io/plugin/dbresolver v1.1.0 // indirect + k8s.io/component-base v0.23.4 // indirect + k8s.io/klog v1.0.0 // indirect + k8s.io/klog/v2 v2.30.0 // indirect + k8s.io/utils v0.0.0-20211116205334-6203023598ed // indirect + mellium.im/sasl v0.2.1 // indirect + sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 // indirect + sigs.k8s.io/structured-merge-diff/v4 v4.2.1 // indirect +) diff --git a/go.sum b/go.sum index faf43b7..1a9ce13 100644 --- a/go.sum +++ b/go.sum @@ -1,31 +1,1549 @@ +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= +cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= +cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= +cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ= +cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI= +cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4= +cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc= +cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= +cloud.google.com/go/firestore v1.6.1/go.mod h1:asNXNOzBdyVQmEU+ggO8UPodTkEVFW5Qx+rwHnAz+EY= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/go-ansiterm v0.0.0-20210608223527-2377c96fe795/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= +github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.9.2/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= +github.com/Azure/go-autorest/autorest/adal v0.8.0/go.mod h1:Z6vX6WXXuyieHAXwMj0S6HY6e6wcHn37qQMBQlvY3lc= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= +github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= +github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= +github.com/Azure/go-autorest/autorest/mocks v0.1.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.2.0/go.mod h1:OTyCOPRA2IgIlWxVYxBee2F5Gr4kF2zd2J5cFRaIDN0= +github.com/Azure/go-autorest/autorest/mocks v0.3.0/go.mod h1:a8FDP3DYzQ4RYfVAxAN3SVSiiO77gL2j2ronKKP0syM= +github.com/Azure/go-autorest/autorest/mocks v0.4.1/go.mod h1:LTp+uSrOhSkaKrUy935gNZuuIPPVsHlr9DSOxSayd+k= +github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= +github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= +github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DATA-DOG/go-sqlmock v1.5.0 h1:Shsta01QNfFxHCfpW6YH2STWB0MudeXXEWMr20OEh60= +github.com/DATA-DOG/go-sqlmock v1.5.0/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible h1:1G1pk05UrOh0NlF1oeaaix1x8XzrfjIDK47TY0Zehcw= +github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= +github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= +github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= +github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= +github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI= +github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M= +github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/Shopify/sarama v1.32.0 h1:P+RUjEaRU0GMMbYexGMDyrMkLhbbBVUVISDywi+IlFU= +github.com/Shopify/sarama v1.32.0/go.mod h1:+EmJJKZWVT/faR9RcOxJerP+LId4iWdQPBGLy1Y1Njs= +github.com/Shopify/toxiproxy/v2 v2.3.0 h1:62YkpiP4bzdhKMH+6uC5E95y608k3zDwdzuBMsnn3uQ= +github.com/Shopify/toxiproxy/v2 v2.3.0/go.mod h1:KvQTtB6RjCJY4zqNJn7C7JDFgsG5uoHYDirfUfpIm0c= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190717042225-c3de453c63f4/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= +github.com/alecthomas/units v0.0.0-20190924025748-f65c72e2690d/go.mod h1:rBZYJk541a8SKzHPHnH3zbiI+7dagKZ0cgpgrD7Fyho= +github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= +github.com/antlr/antlr4/runtime/Go/antlr v0.0.0-20210826220005-b48c857c3a0e/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= +github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= +github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= +github.com/armon/go-metrics v0.3.10/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= +github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= +github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= +github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/beevik/etree v1.1.0 h1:T0xke/WvNtMoCqgzPhkX2r4rjY3GDZFi+FjpRZY2Jbs= +github.com/beevik/etree v1.1.0/go.mod h1:r8Aw8JqVegEf0w2fDnATrX9VpkMcyFeM0FhwO62wh+A= +github.com/benbjohnson/clock v1.0.3/go.mod h1:bGMdMPoPVvcYyt1gHDf4J2KE153Yf9BuiUKYMaxlTDM= +github.com/benbjohnson/clock v1.1.0 h1:Q92kusRqC1XV2MjkWETPvjJVqKetz1OzxZB7mHJLju8= +github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= +github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= +github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= +github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84= +github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/casbin/casbin/v2 v2.37.4/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= +github.com/casbin/casbin/v2 v2.40.6 h1:Fy8UmYaLst1zjyQ7Uw/Kq9Vxgyk91EtZO/cUUSm3kpQ= +github.com/casbin/casbin/v2 v2.40.6/go.mod h1:sEL80qBYTbd+BPeL4iyvwYzFT3qwLaESq5aFKVLbLfA= +github.com/casbin/gorm-adapter/v3 v3.4.6 h1:JuLN3/CBTPPlvNyQqY3uXt4Zqnt+hs2sM353aCtLTP4= +github.com/casbin/gorm-adapter/v3 v3.4.6/go.mod h1:6mIYgpByH/uSkfCv4G/vr/12cVZc3rXBQ9KrqS9oTUU= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.3.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/certifi/gocertifi v0.0.0-20191021191039-0944d244cd40/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/certifi/gocertifi v0.0.0-20200922220541-2c3bb06c6054/go.mod h1:sGbDF6GwGcLpkNXPUTkMRoywsNa/ol15pxFe6ERfguA= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= +github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211001041855-01bcc9b48dfe/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20211130200136-a8f946100490/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cockroachdb/apd v1.1.0 h1:3LFP3629v+1aKXU5Q37mxmRxX/pIu1nijXydLShEq5I= +github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMeY4+DwBQ= +github.com/cockroachdb/datadriven v0.0.0-20200714090401-bf6692d28da5/go.mod h1:h6jFvWxBdQXxjopDMZyH2UVceIRfR84bdzbkoKrsWNo= +github.com/cockroachdb/errors v1.2.4/go.mod h1:rQD95gz6FARkaKkQXUksEje/d9a6wBJoCr5oaCLELYA= +github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f/go.mod h1:i/u985jwjWRlyHXQbwatDASoW0RMlZ/3i9yJHE2xLkI= +github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= +github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= +github.com/coreos/go-oidc v2.1.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.11/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/crewjam/httperr v0.2.0 h1:b2BfXR8U3AlIHwNeFFvZ+BV1LFvKLlzMjzaTnZMybNo= +github.com/crewjam/httperr v0.2.0/go.mod h1:Jlz+Sg/XqBQhyMjdDiC+GNNRzZTD7x39Gu3pglZ5oH4= +github.com/crewjam/saml v0.4.6 h1:XCUFPkQSJLvzyl4cW9OvpWUbRf0gE7VUpU8ZnilbeM4= +github.com/crewjam/saml v0.4.6/go.mod h1:ZBOXnNPFzB3CgOkRm7Nd6IVdkG+l/wF+0ZXLqD96t1A= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/dchest/uniuri v0.0.0-20200228104902-7aecb25e1fe5/go.mod h1:GgB8SF9nRG+GqaDtLcwJZsQFhcogVCJ79j4EdT0c2V4= +github.com/denisenkom/go-mssqldb v0.11.0 h1:9rHa233rhdOyrz2GcP9NM+gi2psgJZ4GWDpL/7ND8HI= +github.com/denisenkom/go-mssqldb v0.11.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/dgraph-io/ristretto v0.1.0 h1:Jv3CGQHp9OjuMBSne1485aDpUkTKEcUqF+jm/LuerPI= +github.com/dgraph-io/ristretto v0.1.0/go.mod h1:fux0lOrBhrVCJd3lcTHsIJhq1T2rokOu6v9Vcb3Q9ug= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 h1:tdlZCpZ/P9DhczCTSixgIKmwPv6+wP5DGjqLYw5SUiA= +github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/spdystream v0.0.0-20181023171402-6480d4af844c/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/eapache/go-resiliency v1.2.0 h1:v7g92e/KSN71Rq7vSThKaWIq68fL4YHvWyiUKorFR1Q= +github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21 h1:YEetp8/yCZMuEPMUDHG0CW/brkkEp8mzqk2+ODEitlw= +github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= +github.com/eapache/queue v1.1.0 h1:YOEu7KNc61ntiQlcEeUIoDTJ2o8mQznoNvUhiigpIqc= +github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= +github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= +github.com/elazarl/goproxy v0.0.0-20191011121108-aa519ddbe484/go.mod h1:Ro8st/ElPeALwNFlcTpWmkr6IoMFfkjXAvTHpevnDsM= +github.com/elazarl/goproxy/ext v0.0.0-20190711103511-473e67f1d7d2/go.mod h1:gNh8nYJoAm43RfaxurUnxr+N1PwuFV3ZMl/efxlIlY8= +github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/emicklei/go-restful v2.9.5+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= +github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= +github.com/envoyproxy/go-control-plane v0.10.1/go.mod h1:AY7fTTXNdv/aJ2O5jwpxAPOWUZ7hQAEvzN5Pf27BkQQ= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v0.6.2/go.mod h1:2t7qjJNvHPx8IjnBOzl9E9/baC+qXE/TeeyBRzgJDws= +github.com/evanphx/json-patch v0.5.2/go.mod h1:ZWS5hhDbVDyob71nXKNL0+PWn6ToqBHMikGIFbs31qQ= +github.com/evanphx/json-patch v4.5.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch v4.12.0+incompatible h1:4onqiflcdA9EOZ4RxV643DvftH5pOlLGNtQ5lPWQu84= +github.com/evanphx/json-patch v4.12.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= +github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= +github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0 h1:u8491cBMTQ8ft8aeV+adlcytMZylmA5nnwwkRZjI8vw= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/frankban/quicktest v1.14.2 h1:SPb1KFFmM+ybpEjPUhCCkZOM5xlovT5UbrMvWnXyBns= +github.com/frankban/quicktest v1.14.2/go.mod h1:mgiwOwqx65TmIk1wJ6Q7wvnVMocbUorkibMOrVTHZps= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.1 h1:mZcQUHVQUQWoPXXtuf9yuEXKudkV2sx1E06UadKWpgI= +github.com/fsnotify/fsnotify v1.5.1/go.mod h1:T3375wBYaZdLLcVNkcVbzGHY7f1l/uK5T5Ai1i3InKU= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getsentry/raven-go v0.2.0/go.mod h1:KungGk8q33+aIAZUIVWZDr2OfAEBsO49PX4NzFV5kcQ= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= +github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0 h1:QK40JKJyMdUDz+h+xvCsru/bJhvG0UxvePV0ufL/AcE= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/zapr v1.2.0 h1:n4JnPI1T3Qq1SFEi/F8rwLrZERp2bso19PJZDB9dayk= +github.com/go-logr/zapr v1.2.0/go.mod h1:Qa4Bsj2Vb+FAVeAKsLD8RLQ+YRJB8YDmOAKxaBQf7Ro= +github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU= +github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY= +github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8= +github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs= +github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns= +github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0= +github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g= +github.com/go-openapi/runtime v0.23.1 h1:/Drg9R96eMmgKJHVWZADz78XbE39/6QiIiB45mc+epo= +github.com/go-openapi/runtime v0.23.1/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk= +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M= +github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I= +github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg= +github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os= +github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU= +github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/validate v0.21.0 h1:+Wqk39yKOhfpLqNLEC0/eViCkzM5FVXVqrvt526+wcI= +github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg= +github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE= +github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw= +github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4= +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= +github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= +github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= +github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI= +github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs= +github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI= +github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk= +github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28= +github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo= +github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk= +github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw= +github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360= +github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg= +github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE= +github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8= +github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc= +github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4= +github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= +github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= +github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gofrs/uuid v4.0.0+incompatible h1:1SD/1F5pU8p29ybwgQSwpQk+mwdRrXCYuPhW6m+TnJw= +github.com/gofrs/uuid v4.0.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= +github.com/golang-jwt/jwt/v4 v4.1.0 h1:XUgk2Ex5veyVFVeLm0xhusUTQybEbexJXrvPNOKkSY0= +github.com/golang-jwt/jwt/v4 v4.1.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe h1:lXe2qZdvpiX5WZkZR4hgp4KJVfY3nMkvmwbVkpv1rVY= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= +github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191027212112-611e8accdfc9/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da h1:oI5xCqsCo564l8iNU+DwB5epxmsaqB+rhGL0m5jtYqE= +github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= +github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/cel-go v0.9.0/go.mod h1:U7ayypeSkw23szu4GaQTPJGx66c20mx8JklMSxrmI1w= +github.com/google/cel-spec v0.6.0/go.mod h1:Nwjgxy5CbjlPrtCWjeDjUyKMl8w41YBYGjsyDdqk0xA= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o= +github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= +github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= +github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/googleapis/gnostic v0.5.1/go.mod h1:6U4PtQXGIEt/Z3h5MAT7FNofLnw9vXk2cUuW7uA/OeU= +github.com/googleapis/gnostic v0.5.5 h1:9fHAtK0uDfpveeqqo1hkEZJcFvYXAiCN3UutL8F9xHw= +github.com/googleapis/gnostic v0.5.5/go.mod h1:7+EbHbldMins07ALC74bsA81Ovc97DwqyJO1AENw9kA= +github.com/gophercloud/gophercloud v0.6.0/go.mod h1:GICNByuaEBibcjmjvI7QvYJSZEbGkcYwAR7EZK2WMqM= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/securecookie v1.1.1/go.mod h1:ra0sb63/xPlUeL+yeDciTfxMRAA+MP+HVt/4epWDjd4= +github.com/gorilla/sessions v1.2.1/go.mod h1:dk2InVEVJ0sfLlnXv9EAgkf6ecYs/i80K/zI+bUmuGM= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= +github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3 h1:I8MsauTJQXZ8df8qJvEln0kYNc3bSapuaSsEsnFdEFU= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.3/go.mod h1:lZdb/YAJUSj9OqrCHs2ihjtoO3+xK3G53wTYXFWRGDo= +github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= +github.com/hashicorp/consul/api v1.12.0/go.mod h1:6pVBMo0ebnYdt2S3H87XhekM/HHrUoTD2XXb/VrZVy0= +github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= +github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-hclog v1.0.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= +github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= +github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= +github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= +github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= +github.com/hashicorp/go-retryablehttp v0.5.3/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= +github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= +github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= +github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= +github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= +github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2IGE= +github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= +github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.3/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= +github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= +github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= +github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= +github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= +github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= +github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/iancoleman/strcase v0.2.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47ZCWhYzw7ho= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= +github.com/imdario/mergo v0.3.12 h1:b6R2BslTbIEToALKP7LxUvijTsNI9TAe80pLWN2g/HU= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/jackc/chunkreader v1.0.0 h1:4s39bBR8ByfqH+DKm8rQA3E1LHZWB9XWcrz8fqaZbe0= +github.com/jackc/chunkreader v1.0.0/go.mod h1:RT6O25fNZIuasFJRyZ4R/Y2BbhasbmZXF9QQ7T3kePo= +github.com/jackc/chunkreader/v2 v2.0.0/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/chunkreader/v2 v2.0.1 h1:i+RDz65UE+mmpjTfyz0MoVTnzeYxroil2G82ki7MGG8= +github.com/jackc/chunkreader/v2 v2.0.1/go.mod h1:odVSm741yZoC3dpHEUXIqA9tQRhFrgOHwnPIn9lDKlk= +github.com/jackc/pgconn v0.0.0-20190420214824-7e0022ef6ba3/go.mod h1:jkELnwuX+w9qN5YIfX0fl88Ehu4XC3keFuOJJk9pcnA= +github.com/jackc/pgconn v0.0.0-20190824142844-760dd75542eb/go.mod h1:lLjNuW/+OfW9/pnVKPazfWOgNfH2aPem8YQ7ilXGvJE= +github.com/jackc/pgconn v0.0.0-20190831204454-2fabfa3c18b7/go.mod h1:ZJKsE/KZfsUgOEh9hBm+xYTstcNHg7UPMVJqRfQxq4s= +github.com/jackc/pgconn v1.8.0/go.mod h1:1C2Pb36bGIP9QHGBYCjnyhqu7Rv3sGshaQUvmfGIB/o= +github.com/jackc/pgconn v1.9.0/go.mod h1:YctiPyvzfU11JFxoXokUOOKQXQmDMoJL9vJzHH8/2JY= +github.com/jackc/pgconn v1.9.1-0.20210724152538-d89c8390a530/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgconn v1.10.0 h1:4EYhlDVEMsJ30nNj0mmgwIUXoq7e9sMJrVC2ED6QlCU= +github.com/jackc/pgconn v1.10.0/go.mod h1:4z2w8XhRbP1hYxkpTuBjTS3ne3J48K83+u0zoyvg2pI= +github.com/jackc/pgio v1.0.0 h1:g12B9UwVnzGhueNavwioyEEpAmqMe1E/BN9ES+8ovkE= +github.com/jackc/pgio v1.0.0/go.mod h1:oP+2QK2wFfUWgr+gxjoBH9KGBb31Eio69xUb0w5bYf8= +github.com/jackc/pgmock v0.0.0-20190831213851-13a1b77aafa2/go.mod h1:fGZlG77KXmcq05nJLRkk0+p82V8B8Dw8KN2/V9c/OAE= +github.com/jackc/pgmock v0.0.0-20201204152224-4fe30f7445fd/go.mod h1:hrBW0Enj2AZTNpt/7Y5rr2xe/9Mn757Wtb2xeBzPv2c= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65 h1:DadwsjnMwFjfWc9y5Wi/+Zz7xoE5ALHsRQlOctkOiHc= +github.com/jackc/pgmock v0.0.0-20210724152146-4ad1a8207f65/go.mod h1:5R2h2EEX+qri8jOWMbJCtaPWkrrNc7OHwsp2TCqp7ak= +github.com/jackc/pgpassfile v1.0.0 h1:/6Hmqy13Ss2zCq62VdNG8tM1wchn8zjSGOBJ6icpsIM= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgproto3 v1.1.0 h1:FYYE4yRw+AgI8wXIinMlNjBbp/UitDJwfj5LqqewP1A= +github.com/jackc/pgproto3 v1.1.0/go.mod h1:eR5FA3leWg7p9aeAqi37XOTgTIbkABlvcPB3E5rlc78= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190420180111-c116219b62db/go.mod h1:bhq50y+xrl9n5mRYyCBFKkpRVTLYJVWeCc+mEAI3yXA= +github.com/jackc/pgproto3/v2 v2.0.0-alpha1.0.20190609003834-432c2951c711/go.mod h1:uH0AWtUmuShn0bcesswc4aBTWGvw0cAxIJp+6OB//Wg= +github.com/jackc/pgproto3/v2 v2.0.0-rc3/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.0-rc3.0.20190831210041-4c03ce451f29/go.mod h1:ryONWYqW6dqSg1Lw6vXNMXoBJhpzvWKnT95C46ckYeM= +github.com/jackc/pgproto3/v2 v2.0.6/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgproto3/v2 v2.1.1 h1:7PQ/4gLoqnl87ZxL7xjO0DR5gYuviDCZxQJsUlFW1eI= +github.com/jackc/pgproto3/v2 v2.1.1/go.mod h1:WfJCnwN3HIg9Ish/j3sgWXnAfK8A9Y0bwXYU5xKaEdA= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b h1:C8S2+VttkHFdOOCXJe+YGfa4vHYwlt4Zx+IVXQ97jYg= +github.com/jackc/pgservicefile v0.0.0-20200714003250-2b9c44734f2b/go.mod h1:vsD4gTJCa9TptPL8sPkXrLZ+hDuNrZCnj29CQpr4X1E= +github.com/jackc/pgtype v0.0.0-20190421001408-4ed0de4755e0/go.mod h1:hdSHsc1V01CGwFsrv11mJRHWJ6aifDLfdV3aVjFF0zg= +github.com/jackc/pgtype v0.0.0-20190824184912-ab885b375b90/go.mod h1:KcahbBH1nCMSo2DXpzsoWOAfFkdEtEJpPbVLq8eE+mc= +github.com/jackc/pgtype v0.0.0-20190828014616-a8802b16cc59/go.mod h1:MWlu30kVJrUS8lot6TQqcg7mtthZ9T0EoIBFiJcmcyw= +github.com/jackc/pgtype v1.8.1-0.20210724151600-32e20a603178/go.mod h1:C516IlIV9NKqfsMCXTdChteoXmwgUceqaLfjg2e3NlM= +github.com/jackc/pgtype v1.8.1 h1:9k0IXtdJXHJbyAWQgbWr1lU+MEhPXZz6RIXxfR5oxXs= +github.com/jackc/pgtype v1.8.1/go.mod h1:LUMuVrfsFfdKGLw+AFFVv6KtHOFMwRgDDzBt76IqCA4= +github.com/jackc/pgx/v4 v4.0.0-20190420224344-cc3461e65d96/go.mod h1:mdxmSJJuR08CZQyj1PVQBHy9XOp5p8/SHH6a0psbY9Y= +github.com/jackc/pgx/v4 v4.0.0-20190421002000-1b8f0016e912/go.mod h1:no/Y67Jkk/9WuGR0JG/JseM9irFbnEPbuWV2EELPNuM= +github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQnOEnf1dqHGpw7JmHqHc1NxDoalibchSk9/RWuDc= +github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= +github.com/jackc/pgx/v4 v4.13.0 h1:JCjhT5vmhMAf/YwBHLvrBn4OGdIQBiFG6ym8Zmdx570= +github.com/jackc/pgx/v4 v4.13.0/go.mod h1:9P4X524sErlaxj0XSGZk7s+LD0eOyu1ZDUrrpznYDF0= +github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jcmturner/aescts/v2 v2.0.0 h1:9YKLH6ey7H4eDBXW8khjYslgyqG2xZikXP0EQFKrle8= +github.com/jcmturner/aescts/v2 v2.0.0/go.mod h1:AiaICIRyfYg35RUkr8yESTqvSy7csK90qZ5xfvvsoNs= +github.com/jcmturner/dnsutils/v2 v2.0.0 h1:lltnkeZGL0wILNvrNiVCR6Ro5PGU/SeBvVO/8c/iPbo= +github.com/jcmturner/dnsutils/v2 v2.0.0/go.mod h1:b0TnjGOvI/n42bZa+hmXL+kFJZsFT7G4t3HTlQ184QM= +github.com/jcmturner/gofork v1.0.0 h1:J7uCkflzTEhUZ64xqKnkDxq3kzc96ajM1Gli5ktUem8= +github.com/jcmturner/gofork v1.0.0/go.mod h1:MK8+TM0La+2rjBD4jE12Kj1pCCxK7d2LK/UM3ncEo0o= +github.com/jcmturner/goidentity/v6 v6.0.1 h1:VKnZd2oEIMorCTsFBnJWbExfNN7yZr3EhJAxwOkZg6o= +github.com/jcmturner/goidentity/v6 v6.0.1/go.mod h1:X1YW3bgtvwAXju7V3LCIMpY0Gbxyjn/mY9zx4tFonSg= +github.com/jcmturner/gokrb5/v8 v8.4.2 h1:6ZIM6b/JJN0X8UM43ZOM6Z4SJzla+a/u7scXFJzodkA= +github.com/jcmturner/gokrb5/v8 v8.4.2/go.mod h1:sb+Xq/fTY5yktf/VxLsE3wlfPqQjp0aWNYyvBVK62bc= +github.com/jcmturner/rpc/v2 v2.0.3 h1:7FXXj8Ti1IaVFpSAziCZWNzbNuZmnvw/i6CqLNdWfZY= +github.com/jcmturner/rpc/v2 v2.0.3/go.mod h1:VUJYCIDm3PVOEHw8sgt091/20OJjskO/YJki3ELg/Hc= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= +github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E= +github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.2/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/jinzhu/now v1.1.4 h1:tHnRBy1i5F2Dh8BAFxqFzxKqqvezXrL2OW1TnX+Mlas= +github.com/jinzhu/now v1.1.4/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= +github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg= +github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo= +github.com/jonboulle/clockwork v0.2.2 h1:UOGuzwb1PwsrDAObMuhUnj0p5ULPj8V/xJ7Kx9qUBdQ= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY= +github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v0.0.0-20180612202835-f2b4162afba3/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.8/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.9/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= +github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= +github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= +github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/klauspost/compress v1.14.4 h1:eijASRJcobkVtSt81Olfh7JX43osYLwy5krOJo6YEu4= +github.com/klauspost/compress v1.14.4/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= +github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +github.com/lib/pq v1.10.2 h1:AqzbZs4ZoCBp+GtejcpCpcxM3zlSMx29dXbUSeVtJb8= +github.com/lib/pq v1.10.2/go.mod h1:AlVN5x4E4T544tWzH6hKfbfQvm3HdbOxrmggDNAPY9o= +github.com/lyft/protoc-gen-star v0.5.3/go.mod h1:V0xaHgaf5oCCqmcxYcWiDfTiKsZsRc87/1qhoTACD8w= +github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.5 h1:b6kJs+EmPFMYGkow9GiUyCyOvIwYetYJ3fSaWak/Gls= +github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= +github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= +github.com/mattermost/xml-roundtrip-validator v0.1.0 h1:RXbVD2UAl7A7nOTR4u7E3ILa4IbtvKBHw64LDsmu9hU= +github.com/mattermost/xml-roundtrip-validator v0.1.0/go.mod h1:qccnGMcpgwcNaBnxqpJpWWUiPNr5H3O8eDgGV9gT5To= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= +github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= +github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= +github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= +github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= +github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= +github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= +github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= +github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= +github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= +github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= +github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= +github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= +github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= +github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs= +github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/moby/spdystream v0.2.0/go.mod h1:f7i0iNDQJ059oMTcWxx8MA/zKFIuD/lY+0GqbN2Wy8c= +github.com/moby/term v0.0.0-20210610120745-9d4ed1856297/go.mod h1:vgPCkQMyxTZ7IDy8SXRufE172gr8+K/JE/7hHFxHW3A= +github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc= +github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5 h1:8xi0RTUf59SOSfEtZMvwTvXYMzG4gV23XVHOZiXNtnE= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0 h1:9Luw4uT5HTjHTN8+aNcSThgH1vdXnmdJ8xIfZ4wyTRE= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= +github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= +github.com/ory/kratos-client-go v0.8.2-alpha.1 h1:YlKhGOSZjounlB9iY4xSWlqHbyLYkeLzlLk8ZL7/nEM= +github.com/ory/kratos-client-go v0.8.2-alpha.1/go.mod h1:dOQIsar76K07wMPJD/6aMhrWyY+sFGEagLDLso1CpsA= +github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= +github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= +github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml v1.9.4 h1:tjENF6MfZAg8e4ZmZTeWaWiT2vXtsoO6+iuOjFhECwM= +github.com/pelletier/go-toml v1.9.4/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/pierrec/lz4 v2.6.1+incompatible h1:9UY3+iC23yxF0UfGaYrGplQ+79Rg+h/q9FV9ix19jjM= +github.com/pierrec/lz4 v2.6.1+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= +github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= +github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= +github.com/pquerna/cachecontrol v0.0.0-20171018203845-0dec1b30a021/go.mod h1:prYjPmNq4d1NPVmpShWobRqXY3q7Vp+80DqgxxUrUIA= +github.com/processout/grpc-go-pool v1.2.1 h1:hbp1BOA02CIxEAoRLHGpUhhPFv77nwfBLBeO3Ya9P7I= +github.com/processout/grpc-go-pool v1.2.1/go.mod h1:F4hiNj96O6VQ87jv4rdz8R9tkHdelQQJ/J2B1a5VSt4= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= +github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= +github.com/prometheus/client_golang v1.11.0 h1:HNkLOAEQMIDv/K+04rukrLx6ch7msSRwf3/SASFAGtQ= +github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= +github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.9.1/go.mod h1:yhUN8i9wzaXS3w1O07YhxHEBxD+W35wd8bs7vj7HSQ4= +github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= +github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= +github.com/prometheus/common v0.28.0 h1:vGVfV9KrDTvWt5boZO0I19g2E3CsWfpPPKZM9dt3mEw= +github.com/prometheus/common v0.28.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= +github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= +github.com/prometheus/procfs v0.6.0 h1:mxy4L2jP6qMonqmq+aTtOx1ifVWUgG/TAmntgbh3xv4= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475 h1:N/ElC8H3+5XpJzTSTfLsJV/mx9Q9g7kxmchpfZyxgzM= +github.com/rcrowley/go-metrics v0.0.0-20201227073835-cf1acfcdf475/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-charset v0.0.0-20180617210344-2471d30d28b4/go.mod h1:qgYeAmZ5ZIpBWTGllZSQnw97Dj+woV0toclVaRGI8pc= +github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= +github.com/rogpeppe/go-internal v1.8.0 h1:FCbCCtXNOY3UtUuHUYaghJg4y7Fd14rXifAYUAtL9R8= +github.com/rogpeppe/go-internal v1.8.0/go.mod h1:WmiCO8CzOY8rg0OYDC4/i/2WRWAB6poM+XZ2dLUbcbE= +github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= +github.com/rs/xid v1.3.0 h1:6NjYksEUlhurdVehpc7S7dk6DAmcKv8V9gG0FsVN2U4= +github.com/rs/xid v1.3.0/go.mod h1:trrq9SKmegXys3aeAKXMUTdJsYXVwGY3RLcfgqegfbg= +github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= +github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= +github.com/russellhaering/goxmldsig v1.1.1 h1:vI0r2osGF1A9PLvsGdPUAGwEIrKa4Pj5sesSBsebIxM= +github.com/russellhaering/goxmldsig v1.1.1/go.mod h1:gM4MDENBQf7M+V824SGfyIUVFWydB7n0KkEubVJl+Tw= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= +github.com/sagikazarmark/crypt v0.4.0/go.mod h1:ALv2SRj7GxYV4HO9elxH9nS6M9gW+xDNxqmyJ6RfDFM= +github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= +github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= +github.com/segmentio/asm v1.1.3 h1:WM03sfUOENvvKexOLp+pCqgb/WDjsi7EK8gIsICtzhc= +github.com/segmentio/asm v1.1.3/go.mod h1:Ld3L4ZXGNcSLRg4JBsZ3//1+f/TjYl0Mzen/DQy1EJg= +github.com/segmentio/encoding v0.3.4 h1:WM4IBnxH8B9TakiM2QD5LyNl9JSndh88QbHqVC+Pauc= +github.com/segmentio/encoding v0.3.4/go.mod h1:n0JeuIqEQrQoPDGsjo8UNd1iA0U8d8+oHAA4E3G3OxM= +github.com/shopspring/decimal v0.0.0-20180709203117-cd690d0c9e24/go.mod h1:M+9NzErvs504Cn4c5DxATwIqPbtswREoFCre64PpcG4= +github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXYbsQ= +github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749 h1:bUGsEnyNbVPw06Bs80sCeARAlK8lhwqGyi6UT8ymuGk= +github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546 h1:pXY9qYc/MP5zdvqWEUH6SjNiu7VhSjuVFTFiTcphaLU= +github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= +github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/speps/go-hashids v2.0.0+incompatible h1:kSfxGfESueJKTx0mpER9Y/1XHl+FVQjtCqRyYcviFbw= +github.com/speps/go-hashids v2.0.0+incompatible/go.mod h1:P7hqPzMdnZOfyIk+xrlG1QaSMw+gCBdHKsBDnhpaZvc= +github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/afero v1.3.3/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4= +github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cast v1.4.1 h1:s0hze+J0196ZfEMTs80N7UlFt0BDuQ7Q+JDnHiMWKdA= +github.com/spf13/cast v1.4.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= +github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/spf13/viper v1.10.1 h1:nuJZuYpG7gTj/XqiUwg8bA0cp1+M2mC3J4g5luUYBKk= +github.com/spf13/viper v1.10.1/go.mod h1:IGlFPqhNAPKRxohIzWpI5QEy4kuI7tcl5WvR+8qy1rU= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY= +github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4= +github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= +github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmc/grpc-websocket-proxy v0.0.0-20201229170055-e5319fda7802/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= +github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc h1:9lRDQMhESg+zvGYmW5DyG0UqvY96Bu5QYsTLvCHdrgo= +github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc/go.mod h1:bciPuU6GHm1iF1pBvUfxfsH0Wmnc2VbpgvbI9ZWuIRs= +github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= +github.com/uptrace/bun v1.0.20 h1:/T4p9C9tEN75U3cFMBr5njlP+rBfs4An8BmlQQPbcfE= +github.com/uptrace/bun v1.0.20/go.mod h1:Uv7z0z+7dXnUS9P5hMF0hdiM/4M+xOUHQCrZpyDrpRc= +github.com/uptrace/bun/dialect/pgdialect v1.0.20 h1:1Yajz0M2AhOzvxFEQSAQ8TpqzSRFxYOg+saksIQ0dmU= +github.com/uptrace/bun/dialect/pgdialect v1.0.20/go.mod h1:Z2UoOgTKHXgFOuInXsJKkNQJiFIaPkCvsj0EayOI2yk= +github.com/uptrace/bun/driver/pgdriver v1.0.20 h1:CEWHL5NS5FQIJAJxY40t0llwe8XxVlsblbgi9Upm0fA= +github.com/uptrace/bun/driver/pgdriver v1.0.20/go.mod h1:KAONvCIiI4A6HdMTZ8zCdGxh7P6+23Todz+bL8HRzV4= +github.com/uptrace/bun/extra/bundebug v1.0.20 h1:lwuGUMiqujR3NuGDKgJu1j7XL3LsULSv1MDFHlYBAGs= +github.com/uptrace/bun/extra/bundebug v1.0.20/go.mod h1:tDoi/zmjHkumthaCujwfI2+mni0G41HfJD4HC2oMdpk= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc= +github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4= +github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4xc= +github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= +github.com/vmihailenco/msgpack/v5 v5.3.5 h1:5gO0H1iULLWGhs2H5tbAHIZTV8/cYafcFOr9znI5mJU= +github.com/vmihailenco/msgpack/v5 v5.3.5/go.mod h1:7xyJ9e+0+9SaZT0Wt1RGleJXzli6Q/V5KbhBonMG9jc= +github.com/vmihailenco/tagparser/v2 v2.0.0 h1:y09buUbR+b5aycVFQs/g70pqKVZNBmxwAhO7/IwNM9g= +github.com/vmihailenco/tagparser/v2 v2.0.0/go.mod h1:Wri+At7QHww0WTrCBeu4J6bNtoV6mEfg5OIWRZA9qds= +github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI= +github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/scram v1.1.0/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs= +github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM= +github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +github.com/zenazn/goji v1.0.1/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= +go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= +go.etcd.io/bbolt v1.3.6/go.mod h1:qXsaaIqmgQH0T+OPdb99Bf+PKfBBQVAdyD6TY9G8XM4= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.1/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.1/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v2 v2.305.1/go.mod h1:pMEacxZW7o8pg4CrFE7pquyCJJzZvkvdD2RibOCCCGs= +go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= +go.etcd.io/etcd/pkg/v3 v3.5.0/go.mod h1:UzJGatBQ1lXChBkQF0AuAtkRQMYnHubxAEYIrC3MSsE= +go.etcd.io/etcd/raft/v3 v3.5.0/go.mod h1:UFOHSIvO/nKwd4lhkwabrTD3cqW5yVyYYf/KlD00Szc= +go.etcd.io/etcd/server/v3 v3.5.0/go.mod h1:3Ah5ruV+M+7RZr0+Y/5mNLwC+eQlni+mQmOVdCRJoS4= +go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= +go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= +go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R4= +go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= +go.uber.org/atomic v1.7.0 h1:ADUqmZGgLDDfbSL9ZmPxKTybcoEYHgpYfELNoN+7hsw= +go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.1.10/go.mod h1:8a7PlsEVH3e/a/GLqe5IIrQx6GzcnRmZEufDUTk4A7A= +go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.11/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/goleak v1.1.12 h1:gZAh5/EyT/HQwlpkCy6wTpqfH9H8Lz8zbm3dZh+OyzA= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= +go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= +go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.19.0/go.mod h1:xg/QME4nWcxGxrpdeYfq7UvYrLh66cuVKdrbD1XF/NI= +go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= +go.uber.org/zap v1.21.0 h1:WefMeulhovoZ2sYXz7st6K0sLj7bBhpiFaud4r4zST8= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20180910181607-0e37d006457b/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190411191339-88737f569e3a/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= +golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201112155050-0c6587e931a9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210817164053-32db794688a5/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20211215153901-e495a2d5b3d3/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292 h1:f+lwQ+GtmgoY+A2YaQxlSOnDjXcQ7ZRLWOHbC6HtRqE= +golang.org/x/crypto v0.0.0-20220214200702-86341886e292/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.0/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= +golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210813160813-60bc85c4be6d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210825183410-e898025ed96a/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211209124913-491a49abca63/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210323180902-22b0adad7558/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211005180243-6b3c2da341f1/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg= +golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200106162015-b016eb3dc98e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200124204421-9fbb57f87de9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200831180312-196b9ba8737a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200923182605-d9f96fdee20d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210816183151-1e6c022a8912/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210831042530-f4d43177bf5e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211029165221-6e7872819dc8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211110154304-99a53858aa08/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211123173158-ef496fb156ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9 h1:nhht2DYV/Sn3qOayu8lM+cU1ii9sTLUeBQwQQfUHtrs= +golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210615171337-6886f2dfbf5b/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac h1:7zkz7BUtwNFFqcowJ+RIgu2MaV/MapERkDIy+mwPyjs= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff h1:VX/uD7MK0AHXGiScH3fsieUQUcpmRERPDYtqZdJnA+Q= +golang.org/x/tools v0.1.6-0.20210820212750-d4cc65f0b2ff/go.mod h1:YD9qOF0M9xpSpdWTBbzEl5e/RnCefISl8E5Noe10jFM= +golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +gomodules.xyz/jsonpatch/v2 v2.2.0 h1:4pT439QV83L+G9FkcCriY6EkpcK6r6bK+A5FBUMI7qY= +gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= +google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= +google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= +google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= +google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU= +google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k= +google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE= +google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI= +google.golang.org/api v0.59.0/go.mod h1:sT2boj7M9YJxZzgeZqXogmhfmRWDtPzT31xkieUbuZU= +google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I= +google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c= +google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= +google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200423170343-7949de9c1215/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= +google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= +google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= +google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201019141844-1ed22bb0c154/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201102152239-715cce707fb0/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= +google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= +google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= +google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= +google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= +google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= +google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= +google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w= +google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= +google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211008145708-270636b82663/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211028162531-8db9c33dc351/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5 h1:zzNejm+EgrbLfDZ6lu9Uud2IVvHySPl8vQzf04laR5Q= +google.golang.org/genproto v0.0.0-20220118154757-00ab72f36ad5/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= +google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= +google.golang.org/grpc v1.43.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg= +google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= +gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= +gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.51.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.66.2 h1:XfR1dOYubytKy4Shzc2LHrrGhU0lDCfDGG1yLPmpgsI= +gopkg.in/ini.v1 v1.66.2/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k= +gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= +gopkg.in/square/go-jose.v2 v2.2.2/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= +gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.0.0-20170812160011-eb3733d160e7/go.mod h1:JAlM8MvJe8wmxCU4Bli9HhUf9+ttbYbLASfIpnQbh74= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= +gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= +gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gorm.io/driver/mysql v1.0.3/go.mod h1:twGxftLBlFgNVNakL7F+P/x9oYqoymG3YYT8cAfI9oI= +gorm.io/driver/mysql v1.1.2 h1:OofcyE2lga734MxwcCW9uB4mWNXMr50uaGRVwQL2B0M= +gorm.io/driver/mysql v1.1.2/go.mod h1:4P/X9vSc3WTrhTLZ259cpFd6xKNYiSSdSZngkSBGIMM= +gorm.io/driver/postgres v1.2.2 h1:Ka9W6feOU+rPM9m007eYLMD4QoZuYGBnQ3Jp0faGSwg= +gorm.io/driver/postgres v1.2.2/go.mod h1:Ik3tK+a3FMp8ORZl29v4b3M0RsgXsaeMXh9s9eVMXco= +gorm.io/driver/sqlserver v1.2.1 h1:KhGOjvPX7JZ5hPyQICTJfMuTz88zgJ2lk9bWiHVNHd8= +gorm.io/driver/sqlserver v1.2.1/go.mod h1:nixq0OB3iLXZDiPv6JSOjWuPgpyaRpOIIevYtA4Ulb4= +gorm.io/gorm v1.20.4/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.20.11/go.mod h1:0HFTzE/SqkGTzK6TlDPPQbAYCluiVvhzoA1+aVyzenw= +gorm.io/gorm v1.21.12/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= +gorm.io/gorm v1.22.2/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= +gorm.io/gorm v1.22.3/go.mod h1:F+OptMscr0P2F2qU97WT1WimdH9GaQPoDW7AYd5i2Y0= +gorm.io/gorm v1.22.5 h1:lYREBgc02Be/5lSCTuysZZDb6ffL2qrat6fg9CFbvXU= +gorm.io/gorm v1.22.5/go.mod h1:l2lP/RyAtc1ynaTjFksBde/O8v9oOGIApu2/xRitmZk= +gorm.io/plugin/dbresolver v1.1.0 h1:cegr4DeprR6SkLIQlKhJLYxH8muFbJ4SmnojXvoeb00= +gorm.io/plugin/dbresolver v1.1.0/go.mod h1:tpImigFAEejCALOttyhWqsy4vfa2Uh/vAUVnL5IRF7Y= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= +gotest.tools v2.2.0+incompatible/go.mod h1:DsYFclhRJ6vuDpmuTbkuFWG+y2sxOXAzmJt81HFBacw= +gotest.tools/v3 v3.0.2/go.mod h1:3SzNCllyD9/Y+b5r9JIKQ474KzkZyqLqEfYqMsX94Bk= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.23.0/go.mod h1:8wmDdLBHBNxtOIytwLstXt5E9PddnZb0GaMcqsvDBpg= +k8s.io/api v0.23.4 h1:85gnfXQOWbJa1SiWGpE9EEtHs0UVvDyIsSMpEtl2D4E= +k8s.io/api v0.23.4/go.mod h1:i77F4JfyNNrhOjZF7OwwNJS5Y1S9dpwvb9iYRYRczfI= +k8s.io/apiextensions-apiserver v0.23.0/go.mod h1:xIFAEEDlAZgpVBl/1VSjGDmLoXAWRG40+GsWhKhAxY4= +k8s.io/apiextensions-apiserver v0.23.4 h1:AFDUEu/yEf0YnuZhqhIFhPLPhhcQQVuR1u3WCh0rveU= +k8s.io/apiextensions-apiserver v0.23.4/go.mod h1:TWYAKymJx7nLMxWCgWm2RYGXHrGlVZnxIlGnvtfYu+g= +k8s.io/apimachinery v0.23.0/go.mod h1:fFCTTBKvKcwTPFzjlcxp91uPFZr+JA0FubU4fLzzFYc= +k8s.io/apimachinery v0.23.4 h1:fhnuMd/xUL3Cjfl64j5ULKZ1/J9n8NuQEgNL+WXWfdM= +k8s.io/apimachinery v0.23.4/go.mod h1:BEuFMMBaIbcOqVIJqNZJXGFTP4W6AycEpb5+m/97hrM= +k8s.io/apiserver v0.23.0/go.mod h1:Cec35u/9zAepDPPFyT+UMrgqOCjgJ5qtfVJDxjZYmt4= +k8s.io/apiserver v0.23.4/go.mod h1:A6l/ZcNtxGfPSqbFDoxxOjEjSKBaQmE+UTveOmMkpNc= +k8s.io/client-go v0.23.0/go.mod h1:hrDnpnK1mSr65lHHcUuIZIXDgEbzc7/683c6hyG4jTA= +k8s.io/client-go v0.23.4 h1:YVWvPeerA2gpUudLelvsolzH7c2sFoXXR5wM/sWqNFU= +k8s.io/client-go v0.23.4/go.mod h1:PKnIL4pqLuvYUK1WU7RLTMYKPiIh7MYShLshtRY9cj0= +k8s.io/code-generator v0.23.0/go.mod h1:vQvOhDXhuzqiVfM/YHp+dmg10WDZCchJVObc9MvowsE= +k8s.io/code-generator v0.23.4/go.mod h1:S0Q1JVA+kSzTI1oUvbKAxZY/DYbA/ZUb4Uknog12ETk= +k8s.io/component-base v0.23.0/go.mod h1:DHH5uiFvLC1edCpvcTDV++NKULdYYU6pR9Tt3HIKMKI= +k8s.io/component-base v0.23.4 h1:SziYh48+QKxK+ykJ3Ejqd98XdZIseVBG7sBaNLPqy6M= +k8s.io/component-base v0.23.4/go.mod h1:8o3Gg8i2vnUXGPOwciiYlkSaZT+p+7gA9Scoz8y4W4E= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= +k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= +k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= +k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= +k8s.io/klog/v2 v2.30.0 h1:bUO6drIvCIsvZ/XFgfxoGFQU/a4Qkh0iAlvUR7vlHJw= +k8s.io/klog/v2 v2.30.0/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= +k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65 h1:E3J9oCLlaobFUqsjG9DfKbP2BmgwBL2p7pn0A3dG9W4= +k8s.io/kube-openapi v0.0.0-20211115234752-e816edb12b65/go.mod h1:sX9MT8g7NVZM5lVL/j8QyCCJe8YSMW30QvGZWaCIDIk= +k8s.io/utils v0.0.0-20191030222137-2b95a09bc58d/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20210930125809-cb0fa318a74b/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20211116205334-6203023598ed h1:ck1fRPWPJWsMd8ZRFsWc6mh/zHp5fZ/shhbrgPUxDAE= +k8s.io/utils v0.0.0-20211116205334-6203023598ed/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +mellium.im/sasl v0.2.1 h1:nspKSRg7/SyO0cRGY71OkfHab8tf9kCts6a6oTDut0w= +mellium.im/sasl v0.2.1/go.mod h1:ROaEDLQNuf9vjKqE1SrAfnsobm2YKXT1gnN1uDp1PjQ= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.25/go.mod h1:Mlj9PNLmG9bZ6BHFwFKDo5afkpWyUISkb9Me0GnK66I= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.27/go.mod h1:tq2nT0Kx7W+/f2JVE+zxYtUhdjuELJkVpNz+x/QN5R4= +sigs.k8s.io/controller-runtime v0.11.1 h1:7YIHT2QnHJArj/dk9aUkYhfqfK5cIxPOX5gPECfdZLU= +sigs.k8s.io/controller-runtime v0.11.1/go.mod h1:KKwLiTooNGu+JmLZGn9Sl3Gjmfj66eMbCQznLP5zcqA= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6 h1:fD1pz4yfdADVNfFmcP2aBEtudwUQ1AlLnRBALr33v3s= +sigs.k8s.io/json v0.0.0-20211020170558-c049b76a60c6/go.mod h1:p4QtZmO4uMYipTQNzagwnNoseA6OxSUutVw05NhYDRs= +sigs.k8s.io/kustomize/pseudo/k8s v0.1.0 h1:otg4dLFc03c3gzl+2CV8GPGcd1kk8wjXwD+UhhcCn5I= +sigs.k8s.io/kustomize/pseudo/k8s v0.1.0/go.mod h1:bl/gVJgYYhJZCZdYU2BfnaKYAlqFkgbJEkpl302jEss= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e h1:4Z09Hglb792X0kfOBBJUPFEyvVfQWrYT/l8h5EKA6JQ= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.1.2/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.0/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1 h1:bKCqE9GvQ5tiVHn5rfn1r+yao3aLQEaLzkkmAkf+A6Y= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.3.0 h1:a2VclLzOGrwOHDiV8EfBGhvjHvP46CtW5j6POvhYGGo= +sigs.k8s.io/yaml v1.3.0/go.mod h1:GeOyir5tyXNByN85N/dRIT9es5UQNerPYEKK56eTBm8= diff --git a/components/cluster-scheduler/internal/cluster/cluster.go b/internal/cluster/cluster.go similarity index 79% rename from components/cluster-scheduler/internal/cluster/cluster.go rename to internal/cluster/cluster.go index 10c07bb..85d203f 100644 --- a/components/cluster-scheduler/internal/cluster/cluster.go +++ b/internal/cluster/cluster.go @@ -8,12 +8,12 @@ import ( "regexp" "strings" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/constants" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/util" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/fixtures" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/bootstrapper" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/internal/cluster/constants" + "github.com/RafaySystems/rcloud-base/internal/cluster/fixtures" + "github.com/RafaySystems/rcloud-base/internal/cluster/util" + "github.com/RafaySystems/rcloud-base/pkg/common" + "github.com/RafaySystems/rcloud-base/pkg/log" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" ) var _log = log.GetLogger() @@ -80,7 +80,7 @@ func ExtractV2ClusterLabels(edgeDataLabels, clusterV2Labels map[string]string, e return res } -func GetClusterOperatorYaml(ctx context.Context, data *bootstrapper.DownloadData, cluster *infrav3.Cluster) (string, error) { +func GetClusterOperatorYaml(ctx context.Context, data *common.DownloadData, cluster *infrav3.Cluster) (string, error) { _log.Infow("printing cluster in GetClusterOperatorYaml", "cluster", cluster) @@ -93,7 +93,7 @@ func GetClusterOperatorYaml(ctx context.Context, data *bootstrapper.DownloadData } err := fixtures.DownloadTemplate.Execute(bb, struct { - DownloadData *bootstrapper.DownloadData + DownloadData *common.DownloadData Cluster *infrav3.Cluster }{ data, cluster, diff --git a/components/cluster-scheduler/internal/cluster/clusterproxy.go b/internal/cluster/clusterproxy.go similarity index 94% rename from components/cluster-scheduler/internal/cluster/clusterproxy.go rename to internal/cluster/clusterproxy.go index 43f61e4..6fb06db 100644 --- a/components/cluster-scheduler/internal/cluster/clusterproxy.go +++ b/internal/cluster/clusterproxy.go @@ -5,7 +5,7 @@ import ( "fmt" "strings" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" ) const ( diff --git a/components/cluster-scheduler/internal/cluster/conditions.go b/internal/cluster/conditions.go similarity index 96% rename from components/cluster-scheduler/internal/cluster/conditions.go rename to internal/cluster/conditions.go index c3e314f..c596fe2 100644 --- a/components/cluster-scheduler/internal/cluster/conditions.go +++ b/internal/cluster/conditions.go @@ -3,10 +3,10 @@ package cluster import ( "time" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/constants" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/scheduler" + "github.com/RafaySystems/rcloud-base/internal/cluster/constants" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/scheduler" "google.golang.org/protobuf/types/known/timestamppb" ) diff --git a/components/cluster-scheduler/internal/cluster/constants/constants.go b/internal/cluster/constants/constants.go similarity index 95% rename from components/cluster-scheduler/internal/cluster/constants/constants.go rename to internal/cluster/constants/constants.go index 7a7305f..a174ede 100644 --- a/components/cluster-scheduler/internal/cluster/constants/constants.go +++ b/internal/cluster/constants/constants.go @@ -3,7 +3,7 @@ package constants import ( "regexp" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" ) type ClusterGeneration int diff --git a/components/cluster-scheduler/internal/cluster/dao/cluster.go b/internal/cluster/dao/cluster.go similarity index 92% rename from components/cluster-scheduler/internal/cluster/dao/cluster.go rename to internal/cluster/dao/cluster.go index 3e165f6..414f9b1 100644 --- a/components/cluster-scheduler/internal/cluster/dao/cluster.go +++ b/internal/cluster/dao/cluster.go @@ -6,10 +6,10 @@ import ( "strings" "time" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/constants" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/internal/cluster/constants" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "github.com/google/uuid" "github.com/uptrace/bun" ) diff --git a/components/cluster-scheduler/internal/cluster/dao/clusteroperatorbootstrap.go b/internal/cluster/dao/clusteroperatorbootstrap.go similarity index 91% rename from components/cluster-scheduler/internal/cluster/dao/clusteroperatorbootstrap.go rename to internal/cluster/dao/clusteroperatorbootstrap.go index 9f5bdfa..8a18c12 100644 --- a/components/cluster-scheduler/internal/cluster/dao/clusteroperatorbootstrap.go +++ b/internal/cluster/dao/clusteroperatorbootstrap.go @@ -4,9 +4,9 @@ import ( "context" "database/sql" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/pkg/log" "github.com/uptrace/bun" ) diff --git a/components/cluster-scheduler/internal/cluster/dao/clustertoken.go b/internal/cluster/dao/clustertoken.go similarity index 85% rename from components/cluster-scheduler/internal/cluster/dao/clustertoken.go rename to internal/cluster/dao/clustertoken.go index 9641660..e8ba7ae 100644 --- a/components/cluster-scheduler/internal/cluster/dao/clustertoken.go +++ b/internal/cluster/dao/clustertoken.go @@ -4,9 +4,9 @@ import ( "context" "errors" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" "github.com/rs/xid" ) diff --git a/components/cluster-scheduler/internal/cluster/dao/const.go b/internal/cluster/dao/const.go similarity index 100% rename from components/cluster-scheduler/internal/cluster/dao/const.go rename to internal/cluster/dao/const.go diff --git a/components/cluster-scheduler/internal/cluster/dao/namespaces.go b/internal/cluster/dao/namespaces.go similarity index 89% rename from components/cluster-scheduler/internal/cluster/dao/namespaces.go rename to internal/cluster/dao/namespaces.go index 1dfd4bc..3eb4607 100644 --- a/components/cluster-scheduler/internal/cluster/dao/namespaces.go +++ b/internal/cluster/dao/namespaces.go @@ -4,11 +4,11 @@ import ( "context" "time" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/scheduler" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/scheduler" "github.com/google/uuid" "github.com/uptrace/bun" ) diff --git a/components/cluster-scheduler/internal/cluster/dao/projectcluster.go b/internal/cluster/dao/projectcluster.go similarity index 86% rename from components/cluster-scheduler/internal/cluster/dao/projectcluster.go rename to internal/cluster/dao/projectcluster.go index 440793d..be22bc6 100644 --- a/components/cluster-scheduler/internal/cluster/dao/projectcluster.go +++ b/internal/cluster/dao/projectcluster.go @@ -3,10 +3,10 @@ package dao import ( "context" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/pkg/query" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "github.com/google/uuid" ) diff --git a/components/cluster-scheduler/internal/fix.go b/internal/cluster/fix.go similarity index 86% rename from components/cluster-scheduler/internal/fix.go rename to internal/cluster/fix.go index 87aa89a..814f1cc 100644 --- a/components/cluster-scheduler/internal/fix.go +++ b/internal/cluster/fix.go @@ -1,4 +1,4 @@ -package internal +package cluster import ( _ "github.com/shurcooL/vfsgen" diff --git a/components/cluster-scheduler/internal/fixtures/data/download.yaml b/internal/cluster/fixtures/data/download.yaml similarity index 100% rename from components/cluster-scheduler/internal/fixtures/data/download.yaml rename to internal/cluster/fixtures/data/download.yaml diff --git a/components/cluster-scheduler/internal/fixtures/download.go b/internal/cluster/fixtures/download.go similarity index 100% rename from components/cluster-scheduler/internal/fixtures/download.go rename to internal/cluster/fixtures/download.go diff --git a/components/cluster-scheduler/internal/fixtures/fixtures.go b/internal/cluster/fixtures/fixtures.go similarity index 100% rename from components/cluster-scheduler/internal/fixtures/fixtures.go rename to internal/cluster/fixtures/fixtures.go diff --git a/components/cluster-scheduler/internal/generate/fixtures/fixtures_generate.go b/internal/cluster/generate/fixtures/fixtures_generate.go similarity index 100% rename from components/cluster-scheduler/internal/generate/fixtures/fixtures_generate.go rename to internal/cluster/generate/fixtures/fixtures_generate.go diff --git a/components/cluster-scheduler/internal/cluster/hash/hash.go b/internal/cluster/hash/hash.go similarity index 100% rename from components/cluster-scheduler/internal/cluster/hash/hash.go rename to internal/cluster/hash/hash.go diff --git a/components/cluster-scheduler/internal/cluster/util/labels.go b/internal/cluster/util/labels.go similarity index 98% rename from components/cluster-scheduler/internal/cluster/util/labels.go rename to internal/cluster/util/labels.go index b119fc1..1f57504 100644 --- a/components/cluster-scheduler/internal/cluster/util/labels.go +++ b/internal/cluster/util/labels.go @@ -5,7 +5,7 @@ import ( "regexp" "strings" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/constants" + "github.com/RafaySystems/rcloud-base/internal/cluster/constants" ) func IsValidKubernetesLabelNameValueRegex(input string) bool { diff --git a/components/cluster-scheduler/internal/cluster/util/taints.go b/internal/cluster/util/taints.go similarity index 100% rename from components/cluster-scheduler/internal/cluster/util/taints.go rename to internal/cluster/util/taints.go diff --git a/components/adminsrv/internal/constants/error.go b/internal/constants/error.go similarity index 100% rename from components/adminsrv/internal/constants/error.go rename to internal/constants/error.go diff --git a/components/adminsrv/internal/dao/bootstrap.go b/internal/dao/bootstrap.go similarity index 96% rename from components/adminsrv/internal/dao/bootstrap.go rename to internal/dao/bootstrap.go index 4fcc8f3..2fae1e4 100644 --- a/components/adminsrv/internal/dao/bootstrap.go +++ b/internal/dao/bootstrap.go @@ -7,12 +7,12 @@ import ( "fmt" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - "github.com/RafaySystems/rcloud-base/components/common/pkg/random" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/internal/random" + "github.com/RafaySystems/rcloud-base/pkg/query" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" "github.com/uptrace/bun" ) diff --git a/components/usermgmt/internal/group/dao/group.go b/internal/dao/group.go similarity index 94% rename from components/usermgmt/internal/group/dao/group.go rename to internal/dao/group.go index 87258bb..a60b230 100644 --- a/components/usermgmt/internal/group/dao/group.go +++ b/internal/dao/group.go @@ -3,8 +3,8 @@ package dao import ( "context" - userv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" + userv3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "github.com/google/uuid" "github.com/uptrace/bun" ) diff --git a/components/adminsrv/internal/dao/kubeconfig.go b/internal/dao/kubeconfig.go similarity index 95% rename from components/adminsrv/internal/dao/kubeconfig.go rename to internal/dao/kubeconfig.go index 8ee6aad..b6f8100 100644 --- a/components/adminsrv/internal/dao/kubeconfig.go +++ b/internal/dao/kubeconfig.go @@ -4,9 +4,9 @@ import ( "context" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" ) diff --git a/components/adminsrv/internal/dao/permission.go b/internal/dao/permission.go similarity index 97% rename from components/adminsrv/internal/dao/permission.go rename to internal/dao/permission.go index 5a2f216..73f152f 100644 --- a/components/adminsrv/internal/dao/permission.go +++ b/internal/dao/permission.go @@ -3,8 +3,8 @@ package dao import ( "context" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" "github.com/google/uuid" "github.com/uptrace/bun" ) @@ -112,7 +112,7 @@ func (a *permissionDao) IsPartnerSuperAdmin(ctx context.Context, accountID, part err = a.dao.GetInstance().NewSelect().Model(&aps). Where("account_id = ?", accountID). Where("partner_id = ?", partnerID). - WhereGroup("grp", func(sq *bun.SelectQuery) *bun.SelectQuery { + WhereGroup(" AND ", func(sq *bun.SelectQuery) *bun.SelectQuery { sq = sq.WhereOr("role_name = ?", "PARTNER_ADMIN").WhereOr("role_name = ?", "SUPER_ADMIN") return sq }). diff --git a/components/usermgmt/internal/role/dao/role.go b/internal/dao/role.go similarity index 93% rename from components/usermgmt/internal/role/dao/role.go rename to internal/dao/role.go index 55bac60..7ecea33 100644 --- a/components/usermgmt/internal/role/dao/role.go +++ b/internal/dao/role.go @@ -3,7 +3,7 @@ package dao import ( "context" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" "github.com/google/uuid" "github.com/uptrace/bun" ) diff --git a/components/usermgmt/internal/user/dao/user.go b/internal/dao/user.go similarity index 94% rename from components/usermgmt/internal/user/dao/user.go rename to internal/dao/user.go index a11b8e0..8d3f186 100644 --- a/components/usermgmt/internal/user/dao/user.go +++ b/internal/dao/user.go @@ -3,8 +3,8 @@ package dao import ( "context" - userv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" + userv3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "github.com/google/uuid" "github.com/uptrace/bun" ) diff --git a/components/adminsrv/internal/fix.go b/internal/fix.go similarity index 100% rename from components/adminsrv/internal/fix.go rename to internal/fix.go diff --git a/components/adminsrv/internal/fixtures/data/agent_templates.yaml b/internal/fixtures/data/agent_templates.yaml similarity index 100% rename from components/adminsrv/internal/fixtures/data/agent_templates.yaml rename to internal/fixtures/data/agent_templates.yaml diff --git a/components/adminsrv/internal/fixtures/data/relay_agent_template.yaml b/internal/fixtures/data/relay_agent_template.yaml similarity index 100% rename from components/adminsrv/internal/fixtures/data/relay_agent_template.yaml rename to internal/fixtures/data/relay_agent_template.yaml diff --git a/components/adminsrv/internal/fixtures/data/relay_template.yaml b/internal/fixtures/data/relay_template.yaml similarity index 100% rename from components/adminsrv/internal/fixtures/data/relay_template.yaml rename to internal/fixtures/data/relay_template.yaml diff --git a/components/adminsrv/internal/fixtures/fixtures.go b/internal/fixtures/fixtures.go similarity index 100% rename from components/adminsrv/internal/fixtures/fixtures.go rename to internal/fixtures/fixtures.go diff --git a/components/adminsrv/internal/fixtures/load.go b/internal/fixtures/load.go similarity index 90% rename from components/adminsrv/internal/fixtures/load.go rename to internal/fixtures/load.go index 3ae7841..7f591b2 100644 --- a/components/adminsrv/internal/fixtures/load.go +++ b/internal/fixtures/load.go @@ -9,14 +9,14 @@ import ( "crypto/x509/pkix" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" + "github.com/RafaySystems/rcloud-base/pkg/sentry/cryptoutil" + "github.com/RafaySystems/rcloud-base/pkg/service" "github.com/rs/xid" "sigs.k8s.io/yaml" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - sentry "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/pkg/log" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + sentry "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/shurcooL/httpfs/vfsutil" ) diff --git a/components/adminsrv/internal/generate/generate.go b/internal/generate/generate.go similarity index 100% rename from components/adminsrv/internal/generate/generate.go rename to internal/generate/generate.go diff --git a/components/adminsrv/internal/models/account.go b/internal/models/account.go similarity index 100% rename from components/adminsrv/internal/models/account.go rename to internal/models/account.go diff --git a/components/adminsrv/internal/models/accountpermission.go b/internal/models/accountpermission.go similarity index 100% rename from components/adminsrv/internal/models/accountpermission.go rename to internal/models/accountpermission.go diff --git a/components/usermgmt/internal/models/accountresourcerole.go b/internal/models/accountresourcerole.go similarity index 100% rename from components/usermgmt/internal/models/accountresourcerole.go rename to internal/models/accountresourcerole.go diff --git a/components/adminsrv/internal/models/bootstrapagent.go b/internal/models/bootstrapagent.go similarity index 100% rename from components/adminsrv/internal/models/bootstrapagent.go rename to internal/models/bootstrapagent.go diff --git a/components/adminsrv/internal/models/bootstrapagenttemplate.go b/internal/models/bootstrapagenttemplate.go similarity index 100% rename from components/adminsrv/internal/models/bootstrapagenttemplate.go rename to internal/models/bootstrapagenttemplate.go diff --git a/components/adminsrv/internal/models/bootstrapinfra.go b/internal/models/bootstrapinfra.go similarity index 100% rename from components/adminsrv/internal/models/bootstrapinfra.go rename to internal/models/bootstrapinfra.go diff --git a/components/cluster-scheduler/internal/models/cluster.go b/internal/models/cluster.go similarity index 100% rename from components/cluster-scheduler/internal/models/cluster.go rename to internal/models/cluster.go diff --git a/components/cluster-scheduler/internal/models/clusternamespaces.go b/internal/models/clusternamespaces.go similarity index 100% rename from components/cluster-scheduler/internal/models/clusternamespaces.go rename to internal/models/clusternamespaces.go diff --git a/components/cluster-scheduler/internal/models/clusteroperatorbootstrap.go b/internal/models/clusteroperatorbootstrap.go similarity index 100% rename from components/cluster-scheduler/internal/models/clusteroperatorbootstrap.go rename to internal/models/clusteroperatorbootstrap.go diff --git a/components/cluster-scheduler/internal/models/clustertoken.go b/internal/models/clustertoken.go similarity index 100% rename from components/cluster-scheduler/internal/models/clustertoken.go rename to internal/models/clustertoken.go diff --git a/components/adminsrv/internal/models/group.go b/internal/models/group.go similarity index 100% rename from components/adminsrv/internal/models/group.go rename to internal/models/group.go diff --git a/components/usermgmt/internal/models/groupaccount.go b/internal/models/groupaccount.go similarity index 100% rename from components/usermgmt/internal/models/groupaccount.go rename to internal/models/groupaccount.go diff --git a/components/adminsrv/internal/models/grouppermission.go b/internal/models/grouppermission.go similarity index 100% rename from components/adminsrv/internal/models/grouppermission.go rename to internal/models/grouppermission.go diff --git a/components/usermgmt/internal/models/grouprole.go b/internal/models/grouprole.go similarity index 100% rename from components/usermgmt/internal/models/grouprole.go rename to internal/models/grouprole.go diff --git a/components/usermgmt/internal/models/idp.go b/internal/models/idp.go similarity index 100% rename from components/usermgmt/internal/models/idp.go rename to internal/models/idp.go diff --git a/components/usermgmt/internal/models/kratosidentities.go b/internal/models/kratosidentities.go similarity index 100% rename from components/usermgmt/internal/models/kratosidentities.go rename to internal/models/kratosidentities.go diff --git a/components/adminsrv/internal/models/kubeconfig_revocation.go b/internal/models/kubeconfig_revocation.go similarity index 100% rename from components/adminsrv/internal/models/kubeconfig_revocation.go rename to internal/models/kubeconfig_revocation.go diff --git a/components/adminsrv/internal/models/kubeconfig_setting.go b/internal/models/kubeconfig_setting.go similarity index 100% rename from components/adminsrv/internal/models/kubeconfig_setting.go rename to internal/models/kubeconfig_setting.go diff --git a/components/adminsrv/internal/models/kubectl_cluster_setting.go b/internal/models/kubectl_cluster_setting.go similarity index 100% rename from components/adminsrv/internal/models/kubectl_cluster_setting.go rename to internal/models/kubectl_cluster_setting.go diff --git a/components/adminsrv/internal/models/metro.go b/internal/models/metro.go similarity index 100% rename from components/adminsrv/internal/models/metro.go rename to internal/models/metro.go diff --git a/components/usermgmt/internal/models/oidc_provider.go b/internal/models/oidc_provider.go similarity index 100% rename from components/usermgmt/internal/models/oidc_provider.go rename to internal/models/oidc_provider.go diff --git a/components/adminsrv/internal/models/organization.go b/internal/models/organization.go similarity index 100% rename from components/adminsrv/internal/models/organization.go rename to internal/models/organization.go diff --git a/components/adminsrv/internal/models/partner.go b/internal/models/partner.go similarity index 100% rename from components/adminsrv/internal/models/partner.go rename to internal/models/partner.go diff --git a/components/adminsrv/internal/models/project.go b/internal/models/project.go similarity index 100% rename from components/adminsrv/internal/models/project.go rename to internal/models/project.go diff --git a/components/usermgmt/internal/models/projectaccountnamespacerole.go b/internal/models/projectaccountnamespacerole.go similarity index 100% rename from components/usermgmt/internal/models/projectaccountnamespacerole.go rename to internal/models/projectaccountnamespacerole.go diff --git a/components/usermgmt/internal/models/projectaccountresourcerole.go b/internal/models/projectaccountresourcerole.go similarity index 100% rename from components/usermgmt/internal/models/projectaccountresourcerole.go rename to internal/models/projectaccountresourcerole.go diff --git a/components/cluster-scheduler/internal/models/projectcluster.go b/internal/models/projectcluster.go similarity index 100% rename from components/cluster-scheduler/internal/models/projectcluster.go rename to internal/models/projectcluster.go diff --git a/components/usermgmt/internal/models/projectgroupnamespacerole.go b/internal/models/projectgroupnamespacerole.go similarity index 100% rename from components/usermgmt/internal/models/projectgroupnamespacerole.go rename to internal/models/projectgroupnamespacerole.go diff --git a/components/usermgmt/internal/models/projectgrouprole.go b/internal/models/projectgrouprole.go similarity index 100% rename from components/usermgmt/internal/models/projectgrouprole.go rename to internal/models/projectgrouprole.go diff --git a/components/usermgmt/internal/models/resourcepermission.go b/internal/models/resourcepermission.go similarity index 100% rename from components/usermgmt/internal/models/resourcepermission.go rename to internal/models/resourcepermission.go diff --git a/components/usermgmt/internal/models/resourcerolepermission.go b/internal/models/resourcerolepermission.go similarity index 100% rename from components/usermgmt/internal/models/resourcerolepermission.go rename to internal/models/resourcerolepermission.go diff --git a/components/usermgmt/internal/models/role.go b/internal/models/role.go similarity index 100% rename from components/usermgmt/internal/models/role.go rename to internal/models/role.go diff --git a/components/adminsrv/internal/models/ssoaccount_group_project_roles.go b/internal/models/ssoaccount_group_project_roles.go similarity index 100% rename from components/adminsrv/internal/models/ssoaccount_group_project_roles.go rename to internal/models/ssoaccount_group_project_roles.go diff --git a/components/usermgmt/pkg/providers/kratos.go b/internal/persistence/provider/kratos/kratos.go similarity index 100% rename from components/usermgmt/pkg/providers/kratos.go rename to internal/persistence/provider/kratos/kratos.go diff --git a/components/common/pkg/persistence/provider/pg/entity_dao.go b/internal/persistence/provider/pg/entity_dao.go similarity index 100% rename from components/common/pkg/persistence/provider/pg/entity_dao.go rename to internal/persistence/provider/pg/entity_dao.go diff --git a/components/common/pkg/random/string.go b/internal/random/string.go similarity index 100% rename from components/common/pkg/random/string.go rename to internal/random/string.go diff --git a/components/common/pkg/utils/lookup.go b/internal/utils/lookup.go similarity index 94% rename from components/common/pkg/utils/lookup.go rename to internal/utils/lookup.go index 8c8f31d..58d23f2 100644 --- a/components/common/pkg/utils/lookup.go +++ b/internal/utils/lookup.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - "github.com/RafaySystems/rcloud-base/components/common/pkg/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" "github.com/google/uuid" "github.com/uptrace/bun" ) @@ -42,7 +42,6 @@ func (l *lookup) GetPartnerId(ctx context.Context, name string) (uuid.UUID, erro return uuid.Nil, fmt.Errorf("no partner found with name %v", name) } - func (l *lookup) GetOrganizationId(ctx context.Context, name string) (uuid.UUID, error) { entity, err := l.dao.GetIdByName(ctx, name, &models.Organization{}) if err != nil { @@ -65,7 +64,6 @@ func (l *lookup) GetProjectId(ctx context.Context, name string) (uuid.UUID, erro return uuid.Nil, fmt.Errorf("no project found with name %v", name) } - func (l *lookup) GetPartnerName(ctx context.Context, id uuid.UUID) (string, error) { entity, err := l.dao.GetNameById(ctx, id, &models.Partner{}) if err != nil { @@ -77,7 +75,6 @@ func (l *lookup) GetPartnerName(ctx context.Context, id uuid.UUID) (string, erro return "", fmt.Errorf("no partner found with id %v", id) } - func (l *lookup) GetOrganizationName(ctx context.Context, id uuid.UUID) (string, error) { entity, err := l.dao.GetNameById(ctx, id, &models.Organization{}) if err != nil { diff --git a/components/adminsrv/main.go b/main.go similarity index 61% rename from components/adminsrv/main.go rename to main.go index 3bc7c0d..bcb2f43 100644 --- a/components/adminsrv/main.go +++ b/main.go @@ -11,25 +11,38 @@ import ( "sync" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/fixtures" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/sentry/util" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - "github.com/RafaySystems/rcloud-base/components/adminsrv/server" - authv3 "github.com/RafaySystems/rcloud-base/components/common/pkg/auth/v3" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway" - "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" - schedulerrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/scheduler" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - systemrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" + "github.com/RafaySystems/rcloud-base/internal/fixtures" + providers "github.com/RafaySystems/rcloud-base/internal/persistence/provider/kratos" + authv3 "github.com/RafaySystems/rcloud-base/pkg/auth/v3" + "github.com/RafaySystems/rcloud-base/pkg/common" + "github.com/RafaySystems/rcloud-base/pkg/enforcer" + "github.com/RafaySystems/rcloud-base/pkg/gateway" + "github.com/RafaySystems/rcloud-base/pkg/grpc" + "github.com/RafaySystems/rcloud-base/pkg/leaderelection" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/notify" + "github.com/RafaySystems/rcloud-base/pkg/reconcile" + "github.com/RafaySystems/rcloud-base/pkg/sentry/peering" + "github.com/RafaySystems/rcloud-base/pkg/service" + rolerpc "github.com/RafaySystems/rcloud-base/proto/rpc/role" + schedulerrpc "github.com/RafaySystems/rcloud-base/proto/rpc/scheduler" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" + systemrpc "github.com/RafaySystems/rcloud-base/proto/rpc/system" + userrpc "github.com/RafaySystems/rcloud-base/proto/rpc/user" + "github.com/RafaySystems/rcloud-base/server" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" + kclient "github.com/ory/kratos-client-go" + "github.com/rs/xid" "github.com/spf13/viper" "github.com/uptrace/bun" "github.com/uptrace/bun/dialect/pgdialect" "github.com/uptrace/bun/driver/pgdriver" "github.com/uptrace/bun/extra/bundebug" _grpc "google.golang.org/grpc" + "google.golang.org/grpc/health" + "google.golang.org/grpc/health/grpc_health_v1" + "gorm.io/driver/postgres" + "gorm.io/gorm" "sigs.k8s.io/controller-runtime/pkg/manager/signals" ) @@ -42,8 +55,7 @@ const ( dbUserEnv = "DB_USER" dbPasswordEnv = "DB_PASSWORD" devEnv = "DEV" - configAddrENV = "CONFIG_ADDR" - schedulerAddrENV = "SCHEDULER_ADDR" + apiAddrEnv = "API_ADDR" sentryPeeringHostEnv = "SENTRY_PEERING_HOST" coreRelayConnectorHostEnv = "CORE_RELAY_CONNECTOR_HOST" coreRelayUserHostEnv = "CORE_RELAY_USER_HOST" @@ -51,10 +63,15 @@ const ( authAddrEnv = "AUTH_ADDR" sentryBootstrapEnv = "SENTRY_BOOTSTRAP_ADDR" relayImageEnv = "RELAY_IMAGE" + controlAddrEnv = "CONTROL_ADDR" // cd relay coreCDRelayUserHostEnv = "CORE_CD_RELAY_USER_HOST" coreCDRelayConnectorHostEnv = "CORE_CD_RELAY_CONNECTOR_HOST" + schedulerNamespaceEnv = "SCHEDULER_NAMESPACE" + + kratosSchemeEnv = "KRATOS_SCHEME" + kratosAddrEnv = "KRATOS_ADDR" ) var ( @@ -66,8 +83,13 @@ var ( dbName string dbUser string dbPassword string + apiAddr string dev bool db *bun.DB + gormDb *gorm.DB + kratosScheme string + kratosAddr string + kc *kclient.APIClient ps service.PartnerService os service.OrganizationService pps service.ProjectService @@ -77,21 +99,29 @@ var ( krs service.KubeconfigRevocationService kss service.KubeconfigSettingService kcs service.KubectlClusterSettingsService + as service.AuthzService + cs service.ClusterService + ms service.MetroService + us service.UserService + gs service.GroupService + rs service.RoleService + rrs service.RolepermissionService + is service.IdpService + oidcs service.OIDCProviderService _log = log.GetLogger() - authPool authv3.AuthPool - configPool configrpc.ConfigPool schedulerPool schedulerrpc.SchedulerPool - configAddr string - authAddr string schedulerAddr string bootstrapKEK string sentryPeeringHost string coreRelayConnectorHost string coreRelayUserHost string + downloadData *common.DownloadData + controlAddr string // cd relay coreCDRelayUserHost string coreCDRelayConnectorHost string + schedulerNamespace string kekFunc = func() ([]byte, error) { if len(bootstrapKEK) == 0 { @@ -110,8 +140,9 @@ func setup() { viper.SetDefault(dbUserEnv, "admindbuser") viper.SetDefault(dbPasswordEnv, "admindbpassword") viper.SetDefault(devEnv, true) - viper.SetDefault(configAddrENV, "localhost:7000") - viper.SetDefault(schedulerAddrENV, "localhost:5000") + viper.SetDefault(apiAddrEnv, "localhost:11000") + viper.SetDefault(kratosSchemeEnv, "http") + viper.SetDefault(kratosAddrEnv, "localhost:4433") viper.SetDefault(sentryPeeringHostEnv, "peering.sentry.rafay.local:10001") viper.SetDefault(coreRelayConnectorHostEnv, "*.core-connector.relay.rafay.local:10002") viper.SetDefault(coreRelayUserHostEnv, "*.user.relay.rafay.local:10002") @@ -121,6 +152,8 @@ func setup() { viper.SetDefault(coreCDRelayConnectorHostEnv, "*.core-connector.cdrelay.rafay.local:10012") viper.SetDefault(sentryBootstrapEnv, "console.rafay.dev:443") viper.SetDefault(relayImageEnv, "registry.rafay-edge.net/rafay/rafay-relay-agent:r1.10.0-24") + viper.SetDefault(controlAddrEnv, "localhost:5002") + viper.SetDefault(schedulerNamespaceEnv, "rafay-system") viper.BindEnv(rpcPortEnv) viper.BindEnv(apiPortEnv) @@ -131,8 +164,8 @@ func setup() { viper.BindEnv(dbPasswordEnv) viper.BindEnv(devEnv) viper.BindEnv(dbUserEnv) - viper.BindEnv(configAddrENV) - viper.BindEnv(schedulerAddrENV) + viper.BindEnv(kratosSchemeEnv) + viper.BindEnv(kratosAddrEnv) viper.BindEnv(bootstrapKEKEnv) viper.BindEnv(authAddrEnv) viper.BindEnv(sentryPeeringHostEnv) @@ -142,6 +175,8 @@ func setup() { viper.BindEnv(coreCDRelayUserHostEnv) viper.BindEnv(sentryBootstrapEnv) viper.BindEnv(relayImageEnv) + viper.BindEnv(controlAddrEnv) + viper.BindEnv(schedulerNamespaceEnv) rpcPort = viper.GetInt(rpcPortEnv) apiPort = viper.GetInt(apiPortEnv) @@ -151,19 +186,26 @@ func setup() { dbUser = viper.GetString(dbUserEnv) dbPassword = viper.GetString(dbPasswordEnv) dev = viper.GetBool(devEnv) - configAddr = viper.GetString(configAddrENV) - schedulerAddr = viper.GetString(schedulerAddrENV) - authAddr = viper.GetString(authAddrEnv) + kratosScheme = viper.GetString(kratosSchemeEnv) + kratosAddr = viper.GetString(kratosAddrEnv) bootstrapKEK = viper.GetString(bootstrapKEKEnv) sentryPeeringHost = viper.GetString(sentryPeeringHostEnv) coreRelayConnectorHost = viper.GetString(coreRelayConnectorHostEnv) coreRelayUserHost = viper.GetString(coreRelayUserHostEnv) coreCDRelayConnectorHost = viper.GetString(coreCDRelayConnectorHostEnv) coreCDRelayUserHost = viper.GetString(coreCDRelayUserHostEnv) + controlAddr = viper.GetString(controlAddrEnv) + schedulerNamespace = viper.GetString(schedulerNamespaceEnv) rpcRelayPeeringPort = rpcPort + 1 - // DB setup + // Kratos client setup + kratosConfig := kclient.NewConfiguration() + kratosUrl := kratosScheme + "://" + kratosAddr + kratosConfig.Servers[0].URL = kratosUrl + kc = kclient.NewAPIClient(kratosConfig) + + // db setup dsn := "postgres://" + dbUser + ":" + dbPassword + "@" + dbAddr + "/" + dbName + "?sslmode=disable" sqldb := sql.OpenDB(pgdriver.NewConnector(pgdriver.WithDSN(dsn))) db = bun.NewDB(sqldb, pgdialect.New()) @@ -173,34 +215,68 @@ func setup() { bundebug.WithVerbose(true), bundebug.FromEnv("BUNDEBUG"), )) + lc := make(chan string) + go _log.ChangeLevel(lc) + lc <- "debug" + _log.Debugw("Debug mode set in log because this is a dev environment") } _log.Infow("printing db", "db", db) - configPool = configrpc.NewConfigPool(configAddr, 5*goruntime.NumCPU()) schedulerPool = schedulerrpc.NewSchedulerPool(schedulerAddr, 5*goruntime.NumCPU()) ps = service.NewPartnerService(db) os = service.NewOrganizationService(db) pps = service.NewProjectService(db) + // authz services + gormDb, err := gorm.Open(postgres.Open(dsn), &gorm.Config{}) + if err != nil { + _log.Fatalw("unable to create db connection", "error", err) + } + enforcer, err := enforcer.NewCasbinEnforcer(gormDb).Init() + if err != nil { + _log.Fatalw("unable to init enforcer", "error", err) + } + as = service.NewAuthzService(gormDb, enforcer) + + // users and role management services + us = service.NewUserService(providers.NewKratosAuthProvider(kc), db, as) + gs = service.NewGroupService(db, as) + rs = service.NewRoleService(db, as) + rrs = service.NewRolepermissionService(db) + is = service.NewIdpService(db, apiAddrEnv) + oidcs = service.NewOIDCProviderService(db, kratosUrl) + //sentry related services - bs = service.NewBootstrapService(db, schedulerPool) + bs = service.NewBootstrapService(db) krs = service.NewKubeconfigRevocationService(db) kss = service.NewKubeconfigSettingService(db) kcs = service.NewkubectlClusterSettingsService(db) aps = service.NewAccountPermissionService(db) gps = service.NewGroupPermissionService(db) - /* TODO: to be revisited if required - apn = modelsv2.NewaccountProjectNamespaceService(db) - */ + // cluster bootstrap + downloadData = &common.DownloadData{ + ControlAddr: controlAddr, + APIAddr: apiAddr, + RelayAgentImage: relayImageEnv, + } + + cs = service.NewClusterService(db, downloadData, bs) + ms = service.NewMetroService(db) + + notify.Init(cs) + + _log.Infow("queried number of cpus", "numCPUs", goruntime.NumCPU()) } func run() { ctx := signals.SetupSignalHandler() + notify.Start(ctx.Done()) + replace := map[string]interface{}{ "sentryPeeringHost": sentryPeeringHost, "coreRelayServerHost": coreRelayConnectorHost, @@ -215,16 +291,30 @@ func run() { fixtures.Load(ctx, bs, replace, kekFunc) + healthServer, err := grpc.NewServer() + if err != nil { + _log.Infow("failed to initialize grpc for health server") + } + // health server + _log.Infow("registering grpc health server") + hs := health.NewServer() + hs.SetServingStatus("", grpc_health_v1.HealthCheckResponse_SERVING) + grpc_health_v1.RegisterHealthServer(healthServer, hs) + _log.Infow("registerd grpc health server") + var wg sync.WaitGroup - wg.Add(4) + wg.Add(5) go runAPI(&wg, ctx) go runRPC(&wg, ctx) go runRelayPeerRPC(&wg, ctx) go runDebug(&wg, ctx) + go runEventHandlers(&wg, ctx) <-ctx.Done() + _log.Infow("shutting down, waiting for children to die") wg.Wait() + } func runAPI(wg *sync.WaitGroup, ctx context.Context) { @@ -245,6 +335,14 @@ func runAPI(wg *sync.WaitGroup, ctx context.Context) { sentryrpc.RegisterKubeConfigHandlerFromEndpoint, sentryrpc.RegisterKubectlClusterSettingsHandlerFromEndpoint, sentryrpc.RegisterClusterAuthorizationHandlerFromEndpoint, + schedulerrpc.RegisterClusterHandlerFromEndpoint, + systemrpc.RegisterLocationHandlerFromEndpoint, + userrpc.RegisterUserHandlerFromEndpoint, + userrpc.RegisterGroupHandlerFromEndpoint, + rolerpc.RegisterRoleHandlerFromEndpoint, + rolerpc.RegisterRolepermissionHandlerFromEndpoint, + systemrpc.RegisterIdpHandlerFromEndpoint, + systemrpc.RegisterOIDCProviderHandlerFromEndpoint, ) if err != nil { _log.Fatalw("unable to create gateway", "error", err) @@ -265,6 +363,7 @@ func runAPI(wg *sync.WaitGroup, ctx context.Context) { if err != nil { _log.Fatalw("unable to start gateway", "error", err) } + } func runRelayPeerRPC(wg *sync.WaitGroup, ctx context.Context) { @@ -272,7 +371,7 @@ func runRelayPeerRPC(wg *sync.WaitGroup, ctx context.Context) { _log.Infow("waiting to fetch peering server creds") time.Sleep(time.Second * 25) - cert, key, ca, err := util.GetPeeringServerCreds(context.Background(), bs, rpcPort, sentryPeeringHost) + cert, key, ca, err := peering.GetPeeringServerCreds(context.Background(), bs, rpcPort, sentryPeeringHost) if err != nil { _log.Fatalw("unable to get peering server cerds", "error", err) } @@ -281,7 +380,7 @@ func runRelayPeerRPC(wg *sync.WaitGroup, ctx context.Context) { if err != nil { _log.Fatalw("unable to get create relay peer service") } - clusterAuthzServer := server.NewClusterAuthzServer(bs, aps, gps, krs, kcs, kss, configPool) + clusterAuthzServer := server.NewClusterAuthzServer(bs, aps, gps, krs, kcs, kss) /* auditInfoServer := server.NewAuditInfoServer(bs, aps) @@ -322,18 +421,29 @@ func runRelayPeerRPC(wg *sync.WaitGroup, ctx context.Context) { func runRPC(wg *sync.WaitGroup, ctx context.Context) { defer wg.Done() defer ps.Close() - defer configPool.Close() defer schedulerPool.Close() + defer gs.Close() + defer rs.Close() + defer rrs.Close() partnerServer := server.NewPartnerServer(ps) organizationServer := server.NewOrganizationServer(os) projectServer := server.NewProjectServer(pps) - bootstrapServer := server.NewBootstrapServer(bs, kekFunc, configPool) + bootstrapServer := server.NewBootstrapServer(bs, kekFunc, cs) kubeConfigServer := server.NewKubeConfigServer(bs, aps, gps, kss, krs, kekFunc) /*auditInfoServer := rpcv2.NewAuditInfoServer(bs, aps)*/ - clusterAuthzServer := server.NewClusterAuthzServer(bs, aps, gps, krs, kcs, kss, configPool) + clusterAuthzServer := server.NewClusterAuthzServer(bs, aps, gps, krs, kcs, kss) kubectlClusterSettingsServer := server.NewKubectlClusterSettingsServer(bs, kcs) + crpc := server.NewClusterServer(cs, downloadData) + mserver := server.NewLocationServer(ms) + + userServer := server.NewUserServer(us) + groupServer := server.NewGroupServer(gs) + roleServer := server.NewRoleServer(rs) + rolepermissionServer := server.NewRolePermissionServer(rrs) + idpServer := server.NewIdpServer(is) + oidcProviderServer := server.NewOIDCServer(oidcs) l, err := net.Listen("tcp", fmt.Sprintf(":%d", rpcPort)) if err != nil { @@ -342,6 +452,7 @@ func runRPC(wg *sync.WaitGroup, ctx context.Context) { var opts []_grpc.ServerOption if !dev { + _log.Infow("adding auth interceptor") ac := authv3.NewAuthContext() o := authv3.Option{} opts = append(opts, _grpc.UnaryInterceptor( @@ -368,12 +479,50 @@ func runRPC(wg *sync.WaitGroup, ctx context.Context) { sentryrpc.RegisterClusterAuthorizationServer(s, clusterAuthzServer) /*pbrpcv2.RegisterAuditInformationServer(s, auditInfoServer)*/ sentryrpc.RegisterKubectlClusterSettingsServer(s, kubectlClusterSettingsServer) + schedulerrpc.RegisterClusterServer(s, crpc) + systemrpc.RegisterLocationServer(s, mserver) + userrpc.RegisterUserServer(s, userServer) + userrpc.RegisterGroupServer(s, groupServer) + rolerpc.RegisterRoleServer(s, roleServer) + rolerpc.RegisterRolepermissionServer(s, rolepermissionServer) + systemrpc.RegisterIdpServer(s, idpServer) + systemrpc.RegisterOIDCProviderServer(s, oidcProviderServer) _log.Infow("starting rpc server", "port", rpcPort) err = s.Serve(l) if err != nil { _log.Fatalw("unable to start rpc server", "error", err) } + +} + +func runEventHandlers(wg *sync.WaitGroup, ctx context.Context) { + defer wg.Done() + + //TODO: need to add a bunch of other handlers with gitops + ceh := reconcile.NewClusterEventHandler(cs) + _log.Infow("starting cluster event handler") + go ceh.Handle(ctx.Done()) + + // listen to cluster events + cs.AddEventHandler(ceh.ClusterHook()) + + if !dev { + rl, err := leaderelection.NewConfigMapLock("cluster-scheduler", schedulerNamespace, xid.New().String()) + if err != nil { + _log.Fatalw("unable to create configmap lock", "error", err) + } + go func() { + err := leaderelection.Run(rl, func(stop <-chan struct{}) { + }, ctx.Done()) + + if err != nil { + _log.Fatalw("unable to run leader election", "error", err) + } + }() + } + + <-ctx.Done() } func runDebug(wg *sync.WaitGroup, ctx context.Context) { @@ -392,7 +541,6 @@ func runDebug(wg *sync.WaitGroup, ctx context.Context) { ctx, cancel := context.WithTimeout(ctx, time.Second*10) defer cancel() s.Shutdown(ctx) - } func main() { diff --git a/master.rest b/master.rest new file mode 100644 index 0000000..a256457 --- /dev/null +++ b/master.rest @@ -0,0 +1,412 @@ +:host = http://localhost:11000 +:partner = finman +:org = finmanorg +:project = myproject +:description = this is my first project +:opts.urlScope_user = user/b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533 +:opts.urlScope_org = organization/0d95d65f-3ce9-4340-ac05-77f71084d0a6 +:orgid = 0d95d65f-3ce9-4340-ac05-77f71084d0a6 +:accountid = b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533 +opts.urlScope_cluster = cluster/eff85770-1a9e-42bc-824b-d0ff5a0f792c +:cluster = testcluster +:location = coimbatore-hq +:city = coimbatore +:state = tamilnadu +:country = India +:group = group-name +:role = role-name +:user = user.name@provider.com +:namespace = 7 + + +## Project + +# Create Project +POST :host/auth/v3/partner/:partner/organization/:organization/project +Content-Type: application/yaml + +metadata: + partner: :partner + organization: :org + name: :project +spec: + default: true + +# Get all projects +GET :host/auth/v3/partner/:partner/organization/:organization/projects +Content-Type: application/yaml + +# Get single project +GET :host/auth/v3/partner/:partner/organization/:organization/project/:project +Content-Type: application/yaml + +# Update project info +PUT :host/auth/v3/partner/:partner/organization/:organization/project/:project +Content-Type: application/yaml + +metadata: + partner: :partner + organization: :org + name: :project + description: :description +spec: + default: true + +# Delete single project +DELETE :host/auth/v3/partner/:partner/organization/:organization/project/:project + + +## Kubeconfig setting + +# Publish kubeconfig setting +PUT :host/v2/sentry/kubeconfig/:opts.urlScope_user/setting +Content-Type: application/yaml + +opts: + organization: :orgid + account: :accountid +validitySeconds: 5000 +enableSessionCheck: true +enablePrivateRelay: true +enforceOrgAdminSecretAccess: true +disableWebKubectl: false +disableCLIKubectl: false + +# Get kubeconfig setting +GET :host/v2/sentry/kubeconfig/:opts.urlScope_user/setting + +# Publish kubeconfig setting +PUT :host/v2/sentry/kubeconfig/:opts.urlScope_org/setting +Content-Type: application/yaml + +opts: + organization: :orgid +validitySeconds: 5000 +enableSessionCheck: true +enablePrivateRelay: true +enforceOrgAdminSecretAccess: true +disableWebKubectl: false +disableCLIKubectl: false + +# Get kubeconfig setting +GET :host/v2/sentry/kubeconfig/:opts.urlScope_org/setting + +# Get kubeconfig for cluster system session +GET :host/v2/sentry/kubeconfig/clustersystemsession?systemUser=true&opts.Organization=cc02bd83-89d8-4c76-a7dc-06854f93e21d + +# Get kubeconfig for cluster web session +GET :host/v2/sentry/kubeconfig/clusterwebsession?opts.account=b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533&opts.organization=0d95d65f-3ce9-4340-ac05-77f71084d0a6&opts.partner=1aa87c65-f7a2-41c6-9d74-5fc27969836c&opts.username=nirav.parikh@finman.tech + +# Get kubeconfig for user +GET :host/v2/sentry/kubeconfig/user?opts.selector=&opts.account=c6974c2e-ef14-41bd-a5d5-4297cfe1dd4a&opts.organization=928b87f5-a4e8-4c97-8c91-0d431d7e1b82&opts.partner=a02cdb9f-a84f-49a1-b483-e7722d519cb8 + +# Revoke kubeconfig for user +POST :host/v2/sentry/kubeconfig/revoke +Content-Type: application/yaml + +opts: + organization: cc02bd83-89d8-4c76-a7dc-06854f93e21d + account: c6974c2e-ef14-41bd-a5d5-4297cfe1dd4a + partner: a02cdb9f-a84f-49a1-b483-e7722d519cb8 + +# Kubeconfig get cluster settings +GET :host/v2/sentry/kubectl/:opts.urlScope_cluster/settings?opts.organization=cc02bd83-89d8-4c76-a7dc-06854f93e21d + +# Publish kubectl settings +PUT :host/v2/sentry/kubectl/:opts.urlScope_cluster/settings +Content-Type: application/yaml + +opts: + organization: cc02bd83-89d8-4c76-a7dc-06854f93e21d +disableWebKubectl: true +disableCLIKubectl: true + +# Get User Authorization +GET :host/v2/sentry/authorization/user?userCN=a=b2e4162c-60df-4fd7-b8fd-8fd3e4d6e533/o=0d95d65f-3ce9-4340-ac05-77f71084d0a6/p=dec2483b-41b6-482f-b885-8d0edc39f76e/u=nirav.parikh@finman.tech&clusterID=28f0862f-a3e0-462d-9dae-88b9bb7f283c&certIssueSeconds=36000 + +## Location + +# Create Location +POST :host/v3/partner/:partner/location +Content-Type: application/yaml + +metadata: + name: :location + partner: :partner +spec: + city: :city + state: :state + country: :country + countryCode: IN + stateCode: TN + +# Get all location +GET :host/v3/partner/:partner/location +Content-Type: application/yaml + +# Get single location +GET :host/v3/partner/:partner/location/:location +Content-Type: application/yaml + +# Update location info +PUT :host/v3/partner/:partner/location/:location +Content-Type: application/yaml + +metadata: + name: :location + partner: :partner +spec: + city: :city + state: :state + country: :country + countryCode: IN + stateCode: TN + locale: IN + +# Delete single location +DELETE :host/v3/partner/:partner/location/:location + +## Cluster + +# Create Cluster +POST :host/infra/v3/project/:project/cluster +Content-Type: application/yaml + +metadata: + name: :cluster + partner: :partner + organization: :organization + project: :project +spec: + clusterType: imported + params: + environmentProvider: '' + kubernetesProvider: OTHER + provisionEnvironment: ONPREM + provisionPackageType: '' + provisionType: IMPORT + state: CONFIG + +# Get all clusters +GET :host/infra/v3/project/:project/cluster +Content-Type: application/yaml + +# Get single cluster +GET :host/infra/v3/project/:project/cluster/:cluster +Content-Type: application/yaml + +# Update cluster info +PUT :host/infra/v3/project/:project/cluster/:cluster +Content-Type: application/yaml + +apiVersion: infra.k8smgmt.io/v3 +kind: Cluster +metadata: + name: :cluster + description: this is a test cluster + labels: + rafay.dev/clusterLocation: coimbatore-hq + rafay.dev/clusterName: testcluster + rafay.dev/clusterType: imported + project: myproject + organization: finmanorg + partner: finman +spec: + clusterType: imported + metro: + name: :location + city: :city + state: :state + country: :country + overrideSelector: rafay.dev/overrideCluster=dummycluster + proxyConfig: + httpProxy: http:localhost:8080/proxy + +# Delete single cluster +DELETE :host/infra/v3/project/:project/cluster/:cluster + +## Users + +# Create user +POST :host/auth/v3/users +Content-Type: application/yaml + +metadata: + partner: :partner + organization: :org + name: :user +spec: + firstName: John + lastName: Doe + +# Create user with roles +POST :host/auth/v3/users +Content-Type: application/yaml + +metadata: + partner: :partner + organization: :org + name: :user +spec: + firstName: John + lastName: Doe + projectNamespaceRoles: + - role: NAMESPACE_ADMIN + namespace: :namespace + project: :project + +# Get all users +GET :host/auth/v3/users +Content-Type: application/yaml + +# Get single user +GET :host/auth/v3/user/:user +Content-Type: application/yaml + +# Update user info +PUT :host/auth/v3/user/:user +Content-Type: application/yaml + +metadata: + partner: :partner + organization: :org + name: :user +spec: + firstName: John + lastName: Cena + projectNamespaceRoles: + - role: ADMIN + +# Delete single user +DELETE :host/auth/v3/user/:user + + +## Groups + +# Create group +POST :host/auth/v3/partner/:partner/organization/:org/groups +Content-Type: application/yaml + +metadata: + name: :group + description: My first description + partner: :partner + organization: :org +spec: + type: simple + users: + - :user + projectNamespaceRoles: + - role: NAMESPACE_ADMIN + namespace: :namespace + project: :project + +# Create group no namespace and project +POST :host/auth/v3/partner/:partner/organization/:org/groups +Content-Type: application/yaml + +metadata: + name: :group + description: My first description + partner: :partner + organization: :org +spec: + type: simple + users: + - :user + projectNamespaceRoles: + - role: CLUSTER_ADMIN + +# Update group to no namespace +PUT :host/auth/v3/partner/:partner/organization/:org/group/:group +Content-Type: application/yaml + +metadata: + name: :group + description: My first description + partner: :partner + organization: :org +spec: + type: simple + users: + - :user + projectNamespaceRoles: + - role: ADMIN + + +# Get all groups +GET :host/auth/v3/partner/:partner/organization/:org/groups +Content-Type: application/yaml + +# Get a group +GET :host/auth/v3/partner/:partner/organization/:org/group/:group +Content-Type: application/yaml + +# Delete a group +DELETE :host/auth/v3/partner/:partner/organization/:org/group/:group +Content-Type: application/yaml + +## Roles + +# Create empty role +POST :host/auth/v3/partner/:partner/organization/:org/roles +Content-Type: application/yaml + +metadata: + name: :role + description: My first role + partner: :partner + organization: :org +spec: + isGlobal: true + scope: cluster + +# Create role +POST :host/auth/v3/partner/:partner/organization/:org/roles +Content-Type: application/yaml + +metadata: + name: :role + description: My first role + partner: :partner + organization: :org +spec: + isGlobal: true + scope: cluster + rolepermissions: + - account.read + - ops_star.all + +# Update role +PUT :host/auth/v3/partner/:partner/organization/:org/role/:role +Content-Type: application/yaml + +metadata: + name: :role + description: My first role + partner: :partner + organization: :org +spec: + isGlobal: true + scope: cluster + rolepermissions: + - account.read + +# Get all roles +GET :host/auth/v3/partner/:partner/organization/:org/roles +Content-Type: application/yaml + +# Get a role +GET :host/auth/v3/partner/:partner/organization/:org/role/:role +Content-Type: application/yaml + +# Delete a role +DELETE :host/auth/v3/partner/:partner/organization/:org/role/:role +Content-Type: application/yaml + + +## Rolepermission + +# Get all rolepermissions +GET :host/auth/v3/rolepermissions +Content-Type: application/yaml \ No newline at end of file diff --git a/persistence/migrations/admindb/000030_pg_oidc_provider_triggers.down.sql b/persistence/migrations/admindb/000030_pg_oidc_provider_triggers.down.sql index b56314e..9df955a 100644 --- a/persistence/migrations/admindb/000030_pg_oidc_provider_triggers.down.sql +++ b/persistence/migrations/admindb/000030_pg_oidc_provider_triggers.down.sql @@ -1,4 +1,4 @@ -DROP FUNCTION IF EXISTS providers_after_change_trigger(); +DROP FUNCTION IF EXISTS providers_after_change_trigger() CASCADE; DROP TRIGGER IF EXISTS providers_updated ON authsrv_oidc_provider; DROP TRIGGER IF EXISTS providers_inserted ON authsrv_oidc_provider; DROP TRIGGER IF EXISTS providers_deleted ON authsrv_oidc_provider; \ No newline at end of file diff --git a/persistence/migrations/clusterdb/000001_cluster_metro.down.sql b/persistence/migrations/admindb/000031_cluster_metro.down.sql similarity index 100% rename from persistence/migrations/clusterdb/000001_cluster_metro.down.sql rename to persistence/migrations/admindb/000031_cluster_metro.down.sql diff --git a/persistence/migrations/clusterdb/000001_cluster_metro.up.sql b/persistence/migrations/admindb/000031_cluster_metro.up.sql similarity index 93% rename from persistence/migrations/clusterdb/000001_cluster_metro.up.sql rename to persistence/migrations/admindb/000031_cluster_metro.up.sql index 6112a9b..1feef34 100644 --- a/persistence/migrations/clusterdb/000001_cluster_metro.up.sql +++ b/persistence/migrations/admindb/000031_cluster_metro.up.sql @@ -15,6 +15,6 @@ CREATE TABLE IF NOT EXISTS cluster_metro ( partner_id uuid NOT NULL ); -ALTER TABLE cluster_metro OWNER TO clusterdbuser; +ALTER TABLE cluster_metro OWNER TO admindbuser; ALTER TABLE ONLY cluster_metro ADD CONSTRAINT cluster_metro_pkey PRIMARY KEY (id); \ No newline at end of file diff --git a/persistence/migrations/clusterdb/000002_cluster_operator_bootstrap.down.sql b/persistence/migrations/admindb/000032_cluster_operator_bootstrap.down.sql similarity index 100% rename from persistence/migrations/clusterdb/000002_cluster_operator_bootstrap.down.sql rename to persistence/migrations/admindb/000032_cluster_operator_bootstrap.down.sql diff --git a/persistence/migrations/clusterdb/000002_cluster_operator_bootstrap.up.sql b/persistence/migrations/admindb/000032_cluster_operator_bootstrap.up.sql similarity index 80% rename from persistence/migrations/clusterdb/000002_cluster_operator_bootstrap.up.sql rename to persistence/migrations/admindb/000032_cluster_operator_bootstrap.up.sql index 5004610..e93678a 100644 --- a/persistence/migrations/clusterdb/000002_cluster_operator_bootstrap.up.sql +++ b/persistence/migrations/admindb/000032_cluster_operator_bootstrap.up.sql @@ -6,4 +6,4 @@ CREATE TABLE IF NOT EXISTS cluster_operator_bootstrap ( yaml_content text ); -ALTER TABLE cluster_operator_bootstrap OWNER TO clusterdbuser; +ALTER TABLE cluster_operator_bootstrap OWNER TO admindbuser; diff --git a/persistence/migrations/clusterdb/000003_cluster_tokens.down.sql b/persistence/migrations/admindb/000033_cluster_tokens.down.sql similarity index 100% rename from persistence/migrations/clusterdb/000003_cluster_tokens.down.sql rename to persistence/migrations/admindb/000033_cluster_tokens.down.sql diff --git a/persistence/migrations/clusterdb/000003_cluster_tokens.up.sql b/persistence/migrations/admindb/000033_cluster_tokens.up.sql similarity index 92% rename from persistence/migrations/clusterdb/000003_cluster_tokens.up.sql rename to persistence/migrations/admindb/000033_cluster_tokens.up.sql index ee084ec..7025255 100644 --- a/persistence/migrations/clusterdb/000003_cluster_tokens.up.sql +++ b/persistence/migrations/admindb/000033_cluster_tokens.up.sql @@ -15,6 +15,6 @@ CREATE TABLE IF NOT EXISTS cluster_tokens ( state varchar NOT NULL ); -ALTER TABLE cluster_tokens OWNER TO clusterdbuser; +ALTER TABLE cluster_tokens OWNER TO admindbuser; ALTER TABLE ONLY cluster_tokens ADD CONSTRAINT cluster_tokens_pkey PRIMARY KEY (name); \ No newline at end of file diff --git a/persistence/migrations/clusterdb/000004_cluster_clusters.down.sql b/persistence/migrations/admindb/000034_cluster_clusters.down.sql similarity index 100% rename from persistence/migrations/clusterdb/000004_cluster_clusters.down.sql rename to persistence/migrations/admindb/000034_cluster_clusters.down.sql diff --git a/persistence/migrations/clusterdb/000004_cluster_clusters.up.sql b/persistence/migrations/admindb/000034_cluster_clusters.up.sql similarity index 96% rename from persistence/migrations/clusterdb/000004_cluster_clusters.up.sql rename to persistence/migrations/admindb/000034_cluster_clusters.up.sql index d7705d7..e9a65e8 100644 --- a/persistence/migrations/clusterdb/000004_cluster_clusters.up.sql +++ b/persistence/migrations/admindb/000034_cluster_clusters.up.sql @@ -26,7 +26,7 @@ CREATE TABLE IF NOT EXISTS cluster_clusters ( proxy_config jsonb ); -ALTER TABLE cluster_clusters OWNER TO clusterdbuser; +ALTER TABLE cluster_clusters OWNER TO admindbuser; ALTER TABLE ONLY cluster_clusters ADD CONSTRAINT cluster_clusters_pkey PRIMARY KEY (id); diff --git a/persistence/migrations/clusterdb/000005_cluster_project_cluster.down.sql b/persistence/migrations/admindb/000035_cluster_project_cluster.down.sql similarity index 100% rename from persistence/migrations/clusterdb/000005_cluster_project_cluster.down.sql rename to persistence/migrations/admindb/000035_cluster_project_cluster.down.sql diff --git a/persistence/migrations/clusterdb/000005_cluster_project_cluster.up.sql b/persistence/migrations/admindb/000035_cluster_project_cluster.up.sql similarity index 87% rename from persistence/migrations/clusterdb/000005_cluster_project_cluster.up.sql rename to persistence/migrations/admindb/000035_cluster_project_cluster.up.sql index f78d9a2..13a01e8 100644 --- a/persistence/migrations/clusterdb/000005_cluster_project_cluster.up.sql +++ b/persistence/migrations/admindb/000035_cluster_project_cluster.up.sql @@ -3,7 +3,7 @@ CREATE TABLE IF NOT EXISTS cluster_project_cluster ( cluster_id uuid NOT NULL ); -ALTER TABLE cluster_project_cluster OWNER TO clusterdbuser; +ALTER TABLE cluster_project_cluster OWNER TO admindbuser; CREATE INDEX cluster_project_cluster_project_id_cluster_id_key ON cluster_project_cluster USING btree (project_id, cluster_id); diff --git a/persistence/migrations/clusterdb/000006_cluster_namespaces.down.sql b/persistence/migrations/admindb/000036_cluster_namespaces.down.sql similarity index 100% rename from persistence/migrations/clusterdb/000006_cluster_namespaces.down.sql rename to persistence/migrations/admindb/000036_cluster_namespaces.down.sql diff --git a/persistence/migrations/clusterdb/000006_cluster_namespaces.up.sql b/persistence/migrations/admindb/000036_cluster_namespaces.up.sql similarity index 91% rename from persistence/migrations/clusterdb/000006_cluster_namespaces.up.sql rename to persistence/migrations/admindb/000036_cluster_namespaces.up.sql index e7776d7..fb5b945 100644 --- a/persistence/migrations/clusterdb/000006_cluster_namespaces.up.sql +++ b/persistence/migrations/admindb/000036_cluster_namespaces.up.sql @@ -9,7 +9,7 @@ CREATE TABLE IF NOT EXISTS cluster_namespaces ( status jsonb not null default '{}'::jsonb ); -ALTER TABLE cluster_namespaces OWNER TO clusterdbuser; +ALTER TABLE cluster_namespaces OWNER TO admindbuser; ALTER TABLE ONLY cluster_namespaces ADD CONSTRAINT cluster_namespaces_pkey PRIMARY KEY (cluster_id, name); diff --git a/components/common/pkg/audit/events.go b/pkg/audit/events.go similarity index 98% rename from components/common/pkg/audit/events.go rename to pkg/audit/events.go index d2d17f6..f2e9e09 100644 --- a/components/common/pkg/audit/events.go +++ b/pkg/audit/events.go @@ -8,8 +8,8 @@ import ( "strings" "time" - logv2 "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + logv2 "github.com/RafaySystems/rcloud-base/pkg/log" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "github.com/Shopify/sarama" "google.golang.org/grpc/metadata" ) diff --git a/components/common/pkg/audit/producer.go b/pkg/audit/producer.go similarity index 100% rename from components/common/pkg/audit/producer.go rename to pkg/audit/producer.go diff --git a/components/common/pkg/auth/v3/auth.go b/pkg/auth/v3/auth.go similarity index 93% rename from components/common/pkg/auth/v3/auth.go rename to pkg/auth/v3/auth.go index 439e76a..b8e6fa8 100644 --- a/components/common/pkg/auth/v3/auth.go +++ b/pkg/auth/v3/auth.go @@ -3,7 +3,7 @@ package authv3 import ( "os" - logv2 "github.com/RafaySystems/rcloud-base/components/common/pkg/log" + logv2 "github.com/RafaySystems/rcloud-base/pkg/log" kclient "github.com/ory/kratos-client-go" ) diff --git a/components/common/pkg/auth/v3/interceptor.go b/pkg/auth/v3/interceptor.go similarity index 92% rename from components/common/pkg/auth/v3/interceptor.go rename to pkg/auth/v3/interceptor.go index da12d70..d84ec64 100644 --- a/components/common/pkg/auth/v3/interceptor.go +++ b/pkg/auth/v3/interceptor.go @@ -3,8 +3,8 @@ package authv3 import ( context "context" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway" - commonpbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/pkg/gateway" + commonpbv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" "google.golang.org/grpc/metadata" diff --git a/components/common/pkg/auth/v3/middleware.go b/pkg/auth/v3/middleware.go similarity index 85% rename from components/common/pkg/auth/v3/middleware.go rename to pkg/auth/v3/middleware.go index fc7b8ee..171ba5a 100644 --- a/components/common/pkg/auth/v3/middleware.go +++ b/pkg/auth/v3/middleware.go @@ -3,8 +3,7 @@ package authv3 import ( "net/http" - commonpbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + commonpbv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "github.com/urfave/negroni" ) @@ -21,7 +20,7 @@ func NewAuthMiddleware(opt Option) negroni.Handler { } func (am *authMiddleware) ServeHTTP(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc) { - req := &commonv3.IsRequestAllowedRequest{ + req := &commonpbv3.IsRequestAllowedRequest{ Url: r.URL.String(), Method: r.Method, XSessionToken: r.Header.Get("X-Session-Token"), diff --git a/components/common/pkg/auth/v3/pool.go b/pkg/auth/v3/pool.go similarity index 88% rename from components/common/pkg/auth/v3/pool.go rename to pkg/auth/v3/pool.go index 49d09d5..cd3e539 100644 --- a/components/common/pkg/auth/v3/pool.go +++ b/pkg/auth/v3/pool.go @@ -1,8 +1,8 @@ package authv3 import ( - "github.com/RafaySystems/rcloud-base/components/common/pkg/pool" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/v3" + "github.com/RafaySystems/rcloud-base/pkg/pool" + rpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/v3" "context" diff --git a/components/common/pkg/auth/v3/service.go b/pkg/auth/v3/service.go similarity index 95% rename from components/common/pkg/auth/v3/service.go rename to pkg/auth/v3/service.go index 5413e45..4f0f48f 100644 --- a/components/common/pkg/auth/v3/service.go +++ b/pkg/auth/v3/service.go @@ -4,7 +4,7 @@ import ( "context" "strings" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" ) func (ac *authContext) IsRequestAllowed(ctx context.Context, req *commonv3.IsRequestAllowedRequest) (*commonv3.IsRequestAllowedResponse, error) { diff --git a/components/common/pkg/auth/v3/session.go b/pkg/auth/v3/session.go similarity index 80% rename from components/common/pkg/auth/v3/session.go rename to pkg/auth/v3/session.go index 8891c93..e8f6f3b 100644 --- a/components/common/pkg/auth/v3/session.go +++ b/pkg/auth/v3/session.go @@ -3,7 +3,7 @@ package authv3 import ( "context" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" ) type contextKey struct{} diff --git a/components/common/pkg/common/constants.go b/pkg/common/constants.go similarity index 97% rename from components/common/pkg/common/constants.go rename to pkg/common/constants.go index 94494a9..bf8d8bc 100644 --- a/components/common/pkg/common/constants.go +++ b/pkg/common/constants.go @@ -32,3 +32,7 @@ const ( // SSO_ACCOUNT is AccountType enum value for SSO users ACCOUNT_TYPE_SSO = "SSO" ) + +const ( + MaxDials = 2 +) diff --git a/pkg/common/types.go b/pkg/common/types.go new file mode 100644 index 0000000..8371c31 --- /dev/null +++ b/pkg/common/types.go @@ -0,0 +1,15 @@ +package common + +type Relay struct { + Token string `json:"token"` + Addr string `json:"addr"` + Endpoint string `json:"endpoint"` + Name string `json:"name"` + TemplateToken string `json:"templateToken"` +} + +type DownloadData struct { + ControlAddr string + APIAddr string + RelayAgentImage string +} diff --git a/components/common/pkg/controller/apply/apply.go b/pkg/controller/apply/apply.go similarity index 96% rename from components/common/pkg/controller/apply/apply.go rename to pkg/controller/apply/apply.go index e6cf067..56f3908 100644 --- a/components/common/pkg/controller/apply/apply.go +++ b/pkg/controller/apply/apply.go @@ -7,10 +7,10 @@ import ( "strings" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/client" - scheme "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/util" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + "github.com/RafaySystems/rcloud-base/pkg/controller/client" + scheme "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" + "github.com/RafaySystems/rcloud-base/pkg/controller/util" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" apixv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" apierrs "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" diff --git a/components/common/pkg/controller/apply/apply_test.go b/pkg/controller/apply/apply_test.go similarity index 96% rename from components/common/pkg/controller/apply/apply_test.go rename to pkg/controller/apply/apply_test.go index 3c9411c..aa85cc0 100644 --- a/components/common/pkg/controller/apply/apply_test.go +++ b/pkg/controller/apply/apply_test.go @@ -12,8 +12,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ctrlclient "sigs.k8s.io/controller-runtime/pkg/client" - cruntime "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/runtime" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + cruntime "github.com/RafaySystems/rcloud-base/pkg/controller/runtime" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" "sigs.k8s.io/yaml" ) diff --git a/components/common/pkg/controller/apply/appy_bench_test.go b/pkg/controller/apply/appy_bench_test.go similarity index 100% rename from components/common/pkg/controller/apply/appy_bench_test.go rename to pkg/controller/apply/appy_bench_test.go diff --git a/components/common/pkg/controller/apply/patch.go b/pkg/controller/apply/patch.go similarity index 94% rename from components/common/pkg/controller/apply/patch.go rename to pkg/controller/apply/patch.go index 9a33efb..becb21c 100644 --- a/components/common/pkg/controller/apply/patch.go +++ b/pkg/controller/apply/patch.go @@ -4,8 +4,8 @@ import ( "bytes" "fmt" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/util" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" + "github.com/RafaySystems/rcloud-base/pkg/controller/util" sp "k8s.io/apimachinery/pkg/util/strategicpatch" "k8s.io/apimachinery/pkg/types" diff --git a/components/common/pkg/controller/apply/patch_large_test.go b/pkg/controller/apply/patch_large_test.go similarity index 100% rename from components/common/pkg/controller/apply/patch_large_test.go rename to pkg/controller/apply/patch_large_test.go diff --git a/components/common/pkg/controller/apply/patch_test.go b/pkg/controller/apply/patch_test.go similarity index 100% rename from components/common/pkg/controller/apply/patch_test.go rename to pkg/controller/apply/patch_test.go diff --git a/components/common/pkg/controller/apply/testdata/cr1.yaml b/pkg/controller/apply/testdata/cr1.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/cr1.yaml rename to pkg/controller/apply/testdata/cr1.yaml diff --git a/components/common/pkg/controller/apply/testdata/crd1-modified.yaml b/pkg/controller/apply/testdata/crd1-modified.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/crd1-modified.yaml rename to pkg/controller/apply/testdata/crd1-modified.yaml diff --git a/components/common/pkg/controller/apply/testdata/crd1.yaml b/pkg/controller/apply/testdata/crd1.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/crd1.yaml rename to pkg/controller/apply/testdata/crd1.yaml diff --git a/components/common/pkg/controller/apply/testdata/deployment-patch.yaml b/pkg/controller/apply/testdata/deployment-patch.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/deployment-patch.yaml rename to pkg/controller/apply/testdata/deployment-patch.yaml diff --git a/components/common/pkg/controller/apply/testdata/deployment.yaml b/pkg/controller/apply/testdata/deployment.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/deployment.yaml rename to pkg/controller/apply/testdata/deployment.yaml diff --git a/components/common/pkg/controller/apply/testdata/invalid-deployment.yaml b/pkg/controller/apply/testdata/invalid-deployment.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/invalid-deployment.yaml rename to pkg/controller/apply/testdata/invalid-deployment.yaml diff --git a/components/common/pkg/controller/apply/testdata/pod1.yaml b/pkg/controller/apply/testdata/pod1.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/pod1.yaml rename to pkg/controller/apply/testdata/pod1.yaml diff --git a/components/common/pkg/controller/apply/testdata/pod2.yaml b/pkg/controller/apply/testdata/pod2.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/pod2.yaml rename to pkg/controller/apply/testdata/pod2.yaml diff --git a/components/common/pkg/controller/apply/testdata/prometheus.yaml b/pkg/controller/apply/testdata/prometheus.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/prometheus.yaml rename to pkg/controller/apply/testdata/prometheus.yaml diff --git a/components/common/pkg/controller/apply/testdata/rafay-system-ns.yaml b/pkg/controller/apply/testdata/rafay-system-ns.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/rafay-system-ns.yaml rename to pkg/controller/apply/testdata/rafay-system-ns.yaml diff --git a/components/common/pkg/controller/apply/testdata/service1-current.yaml b/pkg/controller/apply/testdata/service1-current.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/service1-current.yaml rename to pkg/controller/apply/testdata/service1-current.yaml diff --git a/components/common/pkg/controller/apply/testdata/service1-modified.yaml b/pkg/controller/apply/testdata/service1-modified.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/service1-modified.yaml rename to pkg/controller/apply/testdata/service1-modified.yaml diff --git a/components/common/pkg/controller/apply/testdata/service2-current.yaml b/pkg/controller/apply/testdata/service2-current.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/service2-current.yaml rename to pkg/controller/apply/testdata/service2-current.yaml diff --git a/components/common/pkg/controller/apply/testdata/service2-modified.yaml b/pkg/controller/apply/testdata/service2-modified.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/service2-modified.yaml rename to pkg/controller/apply/testdata/service2-modified.yaml diff --git a/components/common/pkg/controller/apply/testdata/statefulset-patch.yaml b/pkg/controller/apply/testdata/statefulset-patch.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/statefulset-patch.yaml rename to pkg/controller/apply/testdata/statefulset-patch.yaml diff --git a/components/common/pkg/controller/apply/testdata/statefulset.yaml b/pkg/controller/apply/testdata/statefulset.yaml similarity index 100% rename from components/common/pkg/controller/apply/testdata/statefulset.yaml rename to pkg/controller/apply/testdata/statefulset.yaml diff --git a/components/common/pkg/controller/apply/util.go b/pkg/controller/apply/util.go similarity index 92% rename from components/common/pkg/controller/apply/util.go rename to pkg/controller/apply/util.go index 9ccb0be..63d0445 100644 --- a/components/common/pkg/controller/apply/util.go +++ b/pkg/controller/apply/util.go @@ -7,12 +7,12 @@ import ( v1 "k8s.io/api/core/v1" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - cruntime "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/runtime" + cruntime "github.com/RafaySystems/rcloud-base/pkg/controller/runtime" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" ) diff --git a/components/common/pkg/controller/apply/util_test.go b/pkg/controller/apply/util_test.go similarity index 67% rename from components/common/pkg/controller/apply/util_test.go rename to pkg/controller/apply/util_test.go index e55dd11..aebb3ec 100644 --- a/components/common/pkg/controller/apply/util_test.go +++ b/pkg/controller/apply/util_test.go @@ -3,7 +3,7 @@ package apply import ( "testing" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" ) func TestGetGVK(t *testing.T) { diff --git a/components/common/pkg/controller/client/client.go b/pkg/controller/client/client.go similarity index 87% rename from components/common/pkg/controller/client/client.go rename to pkg/controller/client/client.go index 1fc5994..1e85fb8 100644 --- a/components/common/pkg/controller/client/client.go +++ b/pkg/controller/client/client.go @@ -3,7 +3,7 @@ package client import ( "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" "sigs.k8s.io/controller-runtime/pkg/client" "sigs.k8s.io/controller-runtime/pkg/client/apiutil" "sigs.k8s.io/controller-runtime/pkg/client/config" diff --git a/components/common/pkg/controller/client/client_test.go b/pkg/controller/client/client_test.go similarity index 100% rename from components/common/pkg/controller/client/client_test.go rename to pkg/controller/client/client_test.go diff --git a/components/common/pkg/controller/runtime/object.go b/pkg/controller/runtime/object.go similarity index 95% rename from components/common/pkg/controller/runtime/object.go rename to pkg/controller/runtime/object.go index 7b8741e..047c411 100644 --- a/components/common/pkg/controller/runtime/object.go +++ b/pkg/controller/runtime/object.go @@ -4,8 +4,8 @@ import ( "bytes" "errors" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" - apiv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" + apiv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" rbacv1 "k8s.io/api/rbac/v1" apixv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" "k8s.io/apimachinery/pkg/runtime" @@ -14,7 +14,7 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/util" + "github.com/RafaySystems/rcloud-base/pkg/controller/util" ) var ( diff --git a/components/common/pkg/controller/runtime/object_test.go b/pkg/controller/runtime/object_test.go similarity index 97% rename from components/common/pkg/controller/runtime/object_test.go rename to pkg/controller/runtime/object_test.go index 89de760..4698ef3 100644 --- a/components/common/pkg/controller/runtime/object_test.go +++ b/pkg/controller/runtime/object_test.go @@ -7,7 +7,7 @@ import ( "reflect" "testing" - apiv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + apiv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" appsv1 "k8s.io/api/apps/v1" "sigs.k8s.io/yaml" ) diff --git a/components/common/pkg/controller/runtime/testdata/configmap.yaml b/pkg/controller/runtime/testdata/configmap.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/configmap.yaml rename to pkg/controller/runtime/testdata/configmap.yaml diff --git a/components/common/pkg/controller/runtime/testdata/crd.yaml b/pkg/controller/runtime/testdata/crd.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/crd.yaml rename to pkg/controller/runtime/testdata/crd.yaml diff --git a/components/common/pkg/controller/runtime/testdata/daemonset.yaml b/pkg/controller/runtime/testdata/daemonset.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/daemonset.yaml rename to pkg/controller/runtime/testdata/daemonset.yaml diff --git a/components/common/pkg/controller/runtime/testdata/deployment1.yaml b/pkg/controller/runtime/testdata/deployment1.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/deployment1.yaml rename to pkg/controller/runtime/testdata/deployment1.yaml diff --git a/components/common/pkg/controller/runtime/testdata/deployment2.yaml b/pkg/controller/runtime/testdata/deployment2.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/deployment2.yaml rename to pkg/controller/runtime/testdata/deployment2.yaml diff --git a/components/common/pkg/controller/runtime/testdata/etcd-patch.yaml b/pkg/controller/runtime/testdata/etcd-patch.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/etcd-patch.yaml rename to pkg/controller/runtime/testdata/etcd-patch.yaml diff --git a/components/common/pkg/controller/runtime/testdata/etcd.yaml b/pkg/controller/runtime/testdata/etcd.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/etcd.yaml rename to pkg/controller/runtime/testdata/etcd.yaml diff --git a/components/common/pkg/controller/runtime/testdata/job.yaml b/pkg/controller/runtime/testdata/job.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/job.yaml rename to pkg/controller/runtime/testdata/job.yaml diff --git a/components/common/pkg/controller/runtime/testdata/secret.yaml b/pkg/controller/runtime/testdata/secret.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/secret.yaml rename to pkg/controller/runtime/testdata/secret.yaml diff --git a/components/common/pkg/controller/runtime/testdata/statefulset-patch.yaml b/pkg/controller/runtime/testdata/statefulset-patch.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/statefulset-patch.yaml rename to pkg/controller/runtime/testdata/statefulset-patch.yaml diff --git a/components/common/pkg/controller/runtime/testdata/statefulset.yaml b/pkg/controller/runtime/testdata/statefulset.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/statefulset.yaml rename to pkg/controller/runtime/testdata/statefulset.yaml diff --git a/components/common/pkg/controller/runtime/testdata/unstructured1.yaml b/pkg/controller/runtime/testdata/unstructured1.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/unstructured1.yaml rename to pkg/controller/runtime/testdata/unstructured1.yaml diff --git a/components/common/pkg/controller/runtime/testdata/unstructured2.yaml b/pkg/controller/runtime/testdata/unstructured2.yaml similarity index 100% rename from components/common/pkg/controller/runtime/testdata/unstructured2.yaml rename to pkg/controller/runtime/testdata/unstructured2.yaml diff --git a/components/common/pkg/controller/scheme/scheme.go b/pkg/controller/scheme/scheme.go similarity index 91% rename from components/common/pkg/controller/scheme/scheme.go rename to pkg/controller/scheme/scheme.go index 525b1cd..b423a08 100644 --- a/components/common/pkg/controller/scheme/scheme.go +++ b/pkg/controller/scheme/scheme.go @@ -3,7 +3,7 @@ package scheme import ( "sync" - apiv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + apiv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" // DO NOT UPDATE // API Extensions v1 is not available in k8s v1.14.x apixv1beta1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" diff --git a/components/common/pkg/controller/step/state.go b/pkg/controller/step/state.go similarity index 98% rename from components/common/pkg/controller/step/state.go rename to pkg/controller/step/state.go index 0e51921..b40f076 100644 --- a/components/common/pkg/controller/step/state.go +++ b/pkg/controller/step/state.go @@ -3,7 +3,7 @@ package step import ( "fmt" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" appsv1 "k8s.io/api/apps/v1" batchv1 "k8s.io/api/batch/v1" corev1 "k8s.io/api/core/v1" diff --git a/components/common/pkg/controller/step/step.go b/pkg/controller/step/step.go similarity index 94% rename from components/common/pkg/controller/step/step.go rename to pkg/controller/step/step.go index 0dcd865..0d4bddb 100644 --- a/components/common/pkg/controller/step/step.go +++ b/pkg/controller/step/step.go @@ -3,12 +3,12 @@ package step import ( "context" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/apply" - cr "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/runtime" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/util" - hash "github.com/RafaySystems/rcloud-base/components/common/pkg/hasher" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + "github.com/RafaySystems/rcloud-base/pkg/controller/apply" + cr "github.com/RafaySystems/rcloud-base/pkg/controller/runtime" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" + "github.com/RafaySystems/rcloud-base/pkg/controller/util" + hash "github.com/RafaySystems/rcloud-base/pkg/hasher" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" corev1 "k8s.io/api/core/v1" apierrs "k8s.io/apimachinery/pkg/api/errors" "k8s.io/apimachinery/pkg/api/meta" diff --git a/components/common/pkg/controller/step/util.go b/pkg/controller/step/util.go similarity index 100% rename from components/common/pkg/controller/step/util.go rename to pkg/controller/step/util.go diff --git a/components/common/pkg/controller/strategicpatch/errors.go b/pkg/controller/strategicpatch/errors.go similarity index 100% rename from components/common/pkg/controller/strategicpatch/errors.go rename to pkg/controller/strategicpatch/errors.go diff --git a/components/common/pkg/controller/strategicpatch/meta.go b/pkg/controller/strategicpatch/meta.go similarity index 100% rename from components/common/pkg/controller/strategicpatch/meta.go rename to pkg/controller/strategicpatch/meta.go diff --git a/components/common/pkg/controller/strategicpatch/patch.go b/pkg/controller/strategicpatch/patch.go similarity index 100% rename from components/common/pkg/controller/strategicpatch/patch.go rename to pkg/controller/strategicpatch/patch.go diff --git a/components/common/pkg/controller/strategicpatch/types.go b/pkg/controller/strategicpatch/types.go similarity index 100% rename from components/common/pkg/controller/strategicpatch/types.go rename to pkg/controller/strategicpatch/types.go diff --git a/components/common/pkg/controller/util/gvk.go b/pkg/controller/util/gvk.go similarity index 100% rename from components/common/pkg/controller/util/gvk.go rename to pkg/controller/util/gvk.go diff --git a/components/common/pkg/controller/util/object.go b/pkg/controller/util/object.go similarity index 88% rename from components/common/pkg/controller/util/object.go rename to pkg/controller/util/object.go index cc1167a..d239154 100644 --- a/components/common/pkg/controller/util/object.go +++ b/pkg/controller/util/object.go @@ -1,7 +1,7 @@ package util import ( - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime/schema" "sigs.k8s.io/controller-runtime/pkg/client" diff --git a/components/common/pkg/controller/util/owner.go b/pkg/controller/util/owner.go similarity index 93% rename from components/common/pkg/controller/util/owner.go rename to pkg/controller/util/owner.go index 4657ee4..6e0b2f6 100644 --- a/components/common/pkg/controller/util/owner.go +++ b/pkg/controller/util/owner.go @@ -4,13 +4,13 @@ import ( "encoding/json" "fmt" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" "sigs.k8s.io/controller-runtime/pkg/client/apiutil" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" ctrlutil "sigs.k8s.io/controller-runtime/pkg/controller/controllerutil" ) diff --git a/components/common/pkg/controller/util/owner_test.go b/pkg/controller/util/owner_test.go similarity index 100% rename from components/common/pkg/controller/util/owner_test.go rename to pkg/controller/util/owner_test.go diff --git a/components/common/pkg/controller/util/patch.go b/pkg/controller/util/patch.go similarity index 94% rename from components/common/pkg/controller/util/patch.go rename to pkg/controller/util/patch.go index 6f13452..41acbd1 100644 --- a/components/common/pkg/controller/util/patch.go +++ b/pkg/controller/util/patch.go @@ -3,10 +3,10 @@ package util import ( "fmt" - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" apixv1 "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" jp "github.com/evanphx/json-patch" "k8s.io/apimachinery/pkg/runtime/schema" jmp "k8s.io/apimachinery/pkg/util/jsonmergepatch" diff --git a/components/common/pkg/controller/util/patch_test.go b/pkg/controller/util/patch_test.go similarity index 79% rename from components/common/pkg/controller/util/patch_test.go rename to pkg/controller/util/patch_test.go index 0702513..9fdd970 100644 --- a/components/common/pkg/controller/util/patch_test.go +++ b/pkg/controller/util/patch_test.go @@ -5,9 +5,9 @@ import ( "io/ioutil" "os" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/scheme" + "github.com/RafaySystems/rcloud-base/pkg/controller/scheme" - apiv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + apiv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime" "sigs.k8s.io/yaml" diff --git a/components/common/pkg/controller/util/step.go b/pkg/controller/util/step.go similarity index 91% rename from components/common/pkg/controller/util/step.go rename to pkg/controller/util/step.go index 4c74a51..47f6541 100644 --- a/components/common/pkg/controller/util/step.go +++ b/pkg/controller/util/step.go @@ -1,7 +1,7 @@ package util import ( - clusterv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + clusterv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" ) const ( diff --git a/components/common/pkg/controller/util/string.go b/pkg/controller/util/string.go similarity index 100% rename from components/common/pkg/controller/util/string.go rename to pkg/controller/util/string.go diff --git a/components/common/pkg/controller/util/testdata/kong.yaml b/pkg/controller/util/testdata/kong.yaml similarity index 100% rename from components/common/pkg/controller/util/testdata/kong.yaml rename to pkg/controller/util/testdata/kong.yaml diff --git a/components/common/pkg/controller/util/testdata/owner1.yaml b/pkg/controller/util/testdata/owner1.yaml similarity index 100% rename from components/common/pkg/controller/util/testdata/owner1.yaml rename to pkg/controller/util/testdata/owner1.yaml diff --git a/components/common/pkg/controller/util/testdata/owner2.yaml b/pkg/controller/util/testdata/owner2.yaml similarity index 100% rename from components/common/pkg/controller/util/testdata/owner2.yaml rename to pkg/controller/util/testdata/owner2.yaml diff --git a/components/common/pkg/controller/util/testdata/service_with_owner.yaml b/pkg/controller/util/testdata/service_with_owner.yaml similarity index 100% rename from components/common/pkg/controller/util/testdata/service_with_owner.yaml rename to pkg/controller/util/testdata/service_with_owner.yaml diff --git a/components/common/pkg/controller/util/testdata/service_without_owner.yaml b/pkg/controller/util/testdata/service_without_owner.yaml similarity index 100% rename from components/common/pkg/controller/util/testdata/service_without_owner.yaml rename to pkg/controller/util/testdata/service_without_owner.yaml diff --git a/components/common/pkg/converter/import.go b/pkg/converter/import.go similarity index 57% rename from components/common/pkg/converter/import.go rename to pkg/converter/import.go index 93cb4ff..8759d32 100644 --- a/components/common/pkg/converter/import.go +++ b/pkg/converter/import.go @@ -5,19 +5,16 @@ import ( "fmt" "strings" - runtimeutil "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/runtime" - "github.com/RafaySystems/rcloud-base/components/common/pkg/hasher" + runtimeutil "github.com/RafaySystems/rcloud-base/pkg/controller/runtime" + "github.com/RafaySystems/rcloud-base/pkg/hasher" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - typesv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/config" - controllerv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + "github.com/RafaySystems/rcloud-base/pkg/log" + controllerv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" corev1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" kjson "k8s.io/apimachinery/pkg/runtime/serializer/json" k8sapijson "sigs.k8s.io/kustomize/pseudo/k8s/apimachinery/pkg/runtime/serializer/json" - "sigs.k8s.io/yaml" ) const ( @@ -34,143 +31,6 @@ var ( var _log = log.GetLogger() -// FromJSON converts data in JSON format into namespace and taskset -func FromJSON(name, data string) (ns *typesv2.Namespace, placement *typesv2.Placement, err error) { - sresources := strings.Split(data, delimiter) - - var resources [][]byte - - for _, sresource := range sresources { - resources = append(resources, []byte(sresource)) - } - - return fromResources(name, resources) -} - -// FromYAML converts the data in YAML format into namespace and taskset -func FromYAML(name, data string) (ns *typesv2.Namespace, placement *typesv2.Placement, err error) { - resources, err := getResourcesArrayFromYAML(data) - if err != nil { - return - } - return fromResources(name, resources) -} - -func getResourcesArrayFromYAML(data string) ([][]byte, error) { - sresources := strings.Split(data, delimiter) - var resources [][]byte - for _, sresource := range sresources { - if strings.TrimSpace(sresource) == "" { - continue - } - var b []byte - b, err := yaml.YAMLToJSONStrict([]byte(sresource)) - if err != nil { - return nil, err - } - resources = append(resources, b) - } - return resources, nil -} - -func fromResources(name string, resources [][]byte) (ns *typesv2.Namespace, placement *typesv2.Placement, err error) { - var remaining [][]byte - - ns = &typesv2.Namespace{} - placement = &typesv2.Placement{} - - remaining, err = ToNamespace(resources, ns, "", "", "") - if err != nil { - return - } - - remaining, err = ToPlacement(resources, name, placement, "", "", "") - if err != nil { - return - } - - if len(remaining) > 0 { - } - - return -} - -// ToNamespace converts data to namespace -func ToNamespace(resources [][]byte, ns *typesv2.Namespace, orgID, partnerID, projectID string) (remaining [][]byte, err error) { - ns.ApiVersion = typesv2.ConfigGroup - ns.Kind = typesv2.NamespaceKind - - for _, resource := range resources { - gvk, err := dmf.Interpret(resource) - if err != nil { - return nil, err - } - - o, err := toRuntimeObject(*gvk, resource) - if err != nil { - return nil, err - } - - switch { - case IsNamespaceGVK(*gvk): - if mo, ok := o.(metav1.Object); ok { - ns.Metadata.Name = mo.GetName() - ns.Metadata.Labels = mo.GetLabels() - ns.Metadata.Annotations = mo.GetAnnotations() - } else { - return nil, ErrInvalidObject - } - ns.Spec.ObjectMeta.Name = ns.Metadata.Name - ns.Spec.ObjectMeta.Labels = ns.Metadata.Labels - ns.Spec.ObjectMeta.Annotations = ns.Metadata.Annotations - ns.Metadata.Organization = orgID - ns.Metadata.Partner = partnerID - ns.Metadata.Project = projectID - case IsNamespacePostCreate(*gvk): - var st controllerv2.StepTemplate - st, err = toStepTemplate(o) - if err != nil { - return nil, err - } - - ns.Spec.Spec.PostCreate = append(ns.Spec.Spec.PostCreate, &st) - - default: - remaining = append(remaining, resource) - } - - } - return -} - -// ToPlacement converts data to placement -func ToPlacement(resources [][]byte, name string, placement *typesv2.Placement, orgID, partnerID, projectID string) (remaining [][]byte, err error) { - for _, resource := range resources { - gvk, err := dmf.Interpret(resource) - if err != nil { - return nil, err - } - switch { - case IsPlacementGVK(*gvk): - json.Unmarshal(resource, placement) - if placement.Spec.ClusterSelector == "" || placement.Spec.PlacementType != typesv2.PlacementType_ClusterSelector { - return nil, fmt.Errorf("placement spec is missing type and selector") - } - if placement.Metadata.Name == "" { - placement.Metadata.Name = name - } - placement.ApiVersion = typesv2.ConfigGroup - placement.Kind = typesv2.PlacementKind - placement.Metadata.Organization = orgID - placement.Metadata.Partner = partnerID - placement.Metadata.Project = projectID - default: - remaining = append(remaining, resource) - } - } - return -} - func getIngressAnnotations(name string, orgID, partnerID string) map[string]string { orgHash, err := hasher.HashFromHex(orgID) if err != nil { @@ -200,13 +60,6 @@ func addIngressAnnotations(annotations map[string]string, name string, orgId, pa } } -func isLoggingEnabled(annotations map[string]string) bool { - if _, ok := annotations[typesv2.LogEndpoint]; ok { - return true - } - return false -} - func addDebugLabels(stepTemplate *controllerv2.StepTemplate, debugLabels []byte) error { if stepTemplate.Object != nil { @@ -241,17 +94,17 @@ func addDebugLabels(stepTemplate *controllerv2.StepTemplate, debugLabels []byte) func getDebugLabelsMap(orgID, partnerID, projectID string, name string, isSystemWorkload bool) (map[string]string, error) { orgHashID, err := hasher.HashFromHex(orgID) if err != nil { - err = fmt.Errorf("failed to convert Org ID %d %s", orgID, err.Error()) + err = fmt.Errorf("failed to convert org id %s %s", orgID, err.Error()) return nil, err } partnerHashID, err := hasher.HashFromHex(partnerID) if err != nil { - err = fmt.Errorf("failed to convert Partner ID %d %s", partnerID, err.Error()) + err = fmt.Errorf("failed to convert partner id %s %s", partnerID, err.Error()) return nil, err } projectHashID, err := hasher.HashFromHex(projectID) if err != nil { - err = fmt.Errorf("failed to convert ProjectID ID %d %s", orgID, err.Error()) + err = fmt.Errorf("failed to convert project id %s %s", orgID, err.Error()) return nil, err } diff --git a/components/common/pkg/converter/phase.go b/pkg/converter/phase.go similarity index 100% rename from components/common/pkg/converter/phase.go rename to pkg/converter/phase.go diff --git a/components/common/pkg/converter/util.go b/pkg/converter/util.go similarity index 92% rename from components/common/pkg/converter/util.go rename to pkg/converter/util.go index 8261ca8..5ecb6dc 100644 --- a/components/common/pkg/converter/util.go +++ b/pkg/converter/util.go @@ -3,7 +3,7 @@ package converter import ( gojson "encoding/json" - apiv2 "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" + apiv2 "github.com/RafaySystems/rcloud-base/proto/types/controller" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/schema" ) diff --git a/components/authz/pkg/enforcer/enforcer.go b/pkg/enforcer/enforcer.go similarity index 100% rename from components/authz/pkg/enforcer/enforcer.go rename to pkg/enforcer/enforcer.go diff --git a/components/common/pkg/event/event.go b/pkg/event/event.go similarity index 100% rename from components/common/pkg/event/event.go rename to pkg/event/event.go diff --git a/components/common/pkg/event/queue.go b/pkg/event/queue.go similarity index 97% rename from components/common/pkg/event/queue.go rename to pkg/event/queue.go index 5ff92d8..d5e50e6 100644 --- a/components/common/pkg/event/queue.go +++ b/pkg/event/queue.go @@ -3,7 +3,7 @@ package event import ( "sync" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/log" ) const ( diff --git a/components/common/pkg/event/queue_test.go b/pkg/event/queue_test.go similarity index 100% rename from components/common/pkg/event/queue_test.go rename to pkg/event/queue_test.go diff --git a/components/common/pkg/event/rate_limiting.go b/pkg/event/rate_limiting.go similarity index 100% rename from components/common/pkg/event/rate_limiting.go rename to pkg/event/rate_limiting.go diff --git a/components/common/pkg/event/rate_limiting_test.go b/pkg/event/rate_limiting_test.go similarity index 100% rename from components/common/pkg/event/rate_limiting_test.go rename to pkg/event/rate_limiting_test.go diff --git a/components/common/pkg/gateway/annotator.go b/pkg/gateway/annotator.go similarity index 100% rename from components/common/pkg/gateway/annotator.go rename to pkg/gateway/annotator.go diff --git a/components/common/pkg/gateway/error.go b/pkg/gateway/error.go similarity index 100% rename from components/common/pkg/gateway/error.go rename to pkg/gateway/error.go diff --git a/components/common/pkg/gateway/gateway.go b/pkg/gateway/gateway.go similarity index 100% rename from components/common/pkg/gateway/gateway.go rename to pkg/gateway/gateway.go diff --git a/components/common/pkg/gateway/httpbody.go b/pkg/gateway/httpbody.go similarity index 94% rename from components/common/pkg/gateway/httpbody.go rename to pkg/gateway/httpbody.go index 86df025..02a55e3 100644 --- a/components/common/pkg/gateway/httpbody.go +++ b/pkg/gateway/httpbody.go @@ -1,7 +1,7 @@ package gateway import ( - common "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + common "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" ) diff --git a/components/common/pkg/gateway/json.go b/pkg/gateway/json.go similarity index 100% rename from components/common/pkg/gateway/json.go rename to pkg/gateway/json.go diff --git a/components/common/pkg/gateway/json_test.go b/pkg/gateway/json_test.go similarity index 84% rename from components/common/pkg/gateway/json_test.go rename to pkg/gateway/json_test.go index 54fce47..a47296d 100644 --- a/components/common/pkg/gateway/json_test.go +++ b/pkg/gateway/json_test.go @@ -4,8 +4,8 @@ import ( "bytes" "testing" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway/testdata" + "github.com/RafaySystems/rcloud-base/pkg/gateway" + "github.com/RafaySystems/rcloud-base/pkg/gateway/testdata" "google.golang.org/protobuf/types/known/timestamppb" ) diff --git a/components/common/pkg/gateway/testdata/gateway_test.go b/pkg/gateway/testdata/gateway_test.go similarity index 91% rename from components/common/pkg/gateway/testdata/gateway_test.go rename to pkg/gateway/testdata/gateway_test.go index 374e807..8e4844b 100644 --- a/components/common/pkg/gateway/testdata/gateway_test.go +++ b/pkg/gateway/testdata/gateway_test.go @@ -9,8 +9,8 @@ import ( "net/http" "testing" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway" - "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" + "github.com/RafaySystems/rcloud-base/pkg/gateway" + "github.com/RafaySystems/rcloud-base/pkg/grpc" "github.com/grpc-ecosystem/grpc-gateway/runtime" ) diff --git a/components/common/pkg/gateway/testdata/test.pb.go b/pkg/gateway/testdata/test.pb.go similarity index 69% rename from components/common/pkg/gateway/testdata/test.pb.go rename to pkg/gateway/testdata/test.pb.go index 9c87904..58e1123 100644 --- a/components/common/pkg/gateway/testdata/test.pb.go +++ b/pkg/gateway/testdata/test.pb.go @@ -7,7 +7,6 @@ package testdata import ( - _ "github.com/gogo/protobuf/gogoproto" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -280,63 +279,57 @@ var file_pkg_gateway_testdata_test_proto_rawDesc = []byte{ 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x08, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, - 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, - 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x22, 0xcc, 0x01, 0x0a, 0x08, 0x54, 0x65, 0x73, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x12, 0x12, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x39, 0x0a, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0x92, 0x41, 0x02, - 0x40, 0x01, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x04, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x06, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, - 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x59, 0x41, 0x4d, 0x4c, - 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, - 0x22, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x53, 0x70, 0x65, 0x63, 0x22, 0x12, 0x0a, 0x10, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xcb, 0x01, 0x0a, 0x0a, 0x54, 0x65, - 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x47, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x74, 0x65, 0x73, - 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x42, 0x13, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x07, - 0x2c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x36, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x18, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, - 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x74, 0x65, 0x73, 0x74, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x70, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, - 0x68, 0x0a, 0x03, 0x47, 0x65, 0x74, 0x12, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x14, 0x2e, 0x74, - 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x33, 0x2f, - 0x74, 0x65, 0x73, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, - 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xb9, 0x01, 0x0a, 0x0c, 0x63, 0x6f, - 0x6d, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x54, 0x65, 0x73, 0x74, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, - 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x67, 0x61, 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, - 0x61, 0x74, 0x61, 0xa2, 0x02, 0x03, 0x54, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x54, 0x65, 0x73, 0x74, - 0x64, 0x61, 0x74, 0x61, 0xca, 0x02, 0x08, 0x54, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0xe2, - 0x02, 0x14, 0x54, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x08, 0x54, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, - 0x61, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, 0x01, 0xe0, 0xe2, 0x1e, 0x01, 0xc0, 0xe3, 0x1e, - 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, + 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x08, 0x54, + 0x65, 0x73, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, 0x92, 0x41, 0x02, 0x40, 0x01, 0x52, 0x04, 0x74, 0x69, + 0x6d, 0x65, 0x12, 0x36, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x03, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, + 0x73, 0x74, 0x59, 0x41, 0x4d, 0x4c, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, + 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, + 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0x22, 0x0a, 0x0c, 0x54, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x10, 0x0a, 0x0e, 0x54, 0x65, 0x73, + 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x22, 0x12, 0x0a, 0x10, 0x54, + 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, + 0xa2, 0x01, 0x0a, 0x0a, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, + 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x16, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x2c, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x18, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, + 0x12, 0x32, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x32, 0x70, 0x0a, 0x04, 0x54, 0x65, 0x73, 0x74, 0x12, 0x68, 0x0a, 0x03, + 0x47, 0x65, 0x74, 0x12, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x1a, 0x14, 0x2e, 0x74, 0x65, 0x73, 0x74, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, + 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x33, 0x2f, 0x74, 0x65, 0x73, + 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, + 0x7d, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0x93, 0x01, 0x0a, 0x0c, 0x63, 0x6f, 0x6d, 0x2e, 0x74, + 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x42, 0x09, 0x54, 0x65, 0x73, 0x74, 0x50, 0x72, 0x6f, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, + 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x67, 0x61, + 0x74, 0x65, 0x77, 0x61, 0x79, 0x2f, 0x74, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0xa2, 0x02, + 0x03, 0x54, 0x58, 0x58, 0xaa, 0x02, 0x08, 0x54, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0xca, + 0x02, 0x08, 0x54, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0xe2, 0x02, 0x14, 0x54, 0x65, 0x73, + 0x74, 0x64, 0x61, 0x74, 0x61, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x08, 0x54, 0x65, 0x73, 0x74, 0x64, 0x61, 0x74, 0x61, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/pkg/gateway/testdata/test.pb.gw.go b/pkg/gateway/testdata/test.pb.gw.go similarity index 100% rename from components/common/pkg/gateway/testdata/test.pb.gw.go rename to pkg/gateway/testdata/test.pb.gw.go diff --git a/pkg/gateway/testdata/test.proto b/pkg/gateway/testdata/test.proto new file mode 100644 index 0000000..5f89669 --- /dev/null +++ b/pkg/gateway/testdata/test.proto @@ -0,0 +1,39 @@ +syntax = "proto3"; + +package testdata; + +import "google/api/annotations.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; +import "google/protobuf/timestamp.proto"; + +message TestYAML { + string name = 1; + google.protobuf.Timestamp time = 2 [ + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + read_only : true + } + ]; + map labels = 3; +} + +message TestMetadata { + string name = 1; +} + +message TestObjectSpec {} + +message TestObjectStatus {} + +message TestObject { + TestMetadata metadata = 1; + TestObjectSpec spec = 2; + TestObjectStatus status = 3; +} + +service Test { + rpc Get(TestObject) returns (TestObject) { + option (google.api.http) = { + get : "/v3/test/{metadata.name}/test/{metadata.name}" + }; + } +} \ No newline at end of file diff --git a/components/common/pkg/gateway/testdata/test_grpc.pb.go b/pkg/gateway/testdata/test_grpc.pb.go similarity index 100% rename from components/common/pkg/gateway/testdata/test_grpc.pb.go rename to pkg/gateway/testdata/test_grpc.pb.go diff --git a/components/common/pkg/gateway/util.go b/pkg/gateway/util.go similarity index 100% rename from components/common/pkg/gateway/util.go rename to pkg/gateway/util.go diff --git a/components/common/pkg/gateway/yaml.go b/pkg/gateway/yaml.go similarity index 100% rename from components/common/pkg/gateway/yaml.go rename to pkg/gateway/yaml.go diff --git a/components/common/pkg/gateway/yaml_test.go b/pkg/gateway/yaml_test.go similarity index 84% rename from components/common/pkg/gateway/yaml_test.go rename to pkg/gateway/yaml_test.go index e036bb7..021f1c0 100644 --- a/components/common/pkg/gateway/yaml_test.go +++ b/pkg/gateway/yaml_test.go @@ -4,8 +4,8 @@ import ( "bytes" "testing" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway/testdata" + "github.com/RafaySystems/rcloud-base/pkg/gateway" + "github.com/RafaySystems/rcloud-base/pkg/gateway/testdata" "google.golang.org/protobuf/types/known/timestamppb" ) diff --git a/components/common/pkg/grpc/client.go b/pkg/grpc/client.go similarity index 100% rename from components/common/pkg/grpc/client.go rename to pkg/grpc/client.go diff --git a/components/common/pkg/grpc/server.go b/pkg/grpc/server.go similarity index 100% rename from components/common/pkg/grpc/server.go rename to pkg/grpc/server.go diff --git a/components/common/pkg/hasher/hash.go b/pkg/hasher/hash.go similarity index 100% rename from components/common/pkg/hasher/hash.go rename to pkg/hasher/hash.go diff --git a/components/common/pkg/hasher/test/hashid_test.go b/pkg/hasher/test/hashid_test.go similarity index 83% rename from components/common/pkg/hasher/test/hashid_test.go rename to pkg/hasher/test/hashid_test.go index 63e2d5d..3ec4060 100644 --- a/components/common/pkg/hasher/test/hashid_test.go +++ b/pkg/hasher/test/hashid_test.go @@ -4,7 +4,7 @@ import ( "fmt" "testing" - "github.com/RafaySystems/rcloud-base/components/common/pkg/hasher" + "github.com/RafaySystems/rcloud-base/pkg/hasher" ) func TestGetRSID(t *testing.T) { diff --git a/components/common/pkg/leaderelection/config.go b/pkg/leaderelection/config.go similarity index 100% rename from components/common/pkg/leaderelection/config.go rename to pkg/leaderelection/config.go diff --git a/components/common/pkg/leaderelection/const.go b/pkg/leaderelection/const.go similarity index 100% rename from components/common/pkg/leaderelection/const.go rename to pkg/leaderelection/const.go diff --git a/components/common/pkg/leaderelection/election.go b/pkg/leaderelection/election.go similarity index 95% rename from components/common/pkg/leaderelection/election.go rename to pkg/leaderelection/election.go index ccb7bbf..9d244c8 100644 --- a/components/common/pkg/leaderelection/election.go +++ b/pkg/leaderelection/election.go @@ -3,7 +3,7 @@ package leaderelection import ( "context" - log "github.com/RafaySystems/rcloud-base/components/common/pkg/log" + log "github.com/RafaySystems/rcloud-base/pkg/log" le "k8s.io/client-go/tools/leaderelection" rl "k8s.io/client-go/tools/leaderelection/resourcelock" ) diff --git a/components/common/pkg/leaderelection/election_test.go b/pkg/leaderelection/election_test.go similarity index 100% rename from components/common/pkg/leaderelection/election_test.go rename to pkg/leaderelection/election_test.go diff --git a/components/common/pkg/leaderelection/lock.go b/pkg/leaderelection/lock.go similarity index 100% rename from components/common/pkg/leaderelection/lock.go rename to pkg/leaderelection/lock.go diff --git a/components/common/pkg/log/log.go b/pkg/log/log.go similarity index 100% rename from components/common/pkg/log/log.go rename to pkg/log/log.go diff --git a/components/common/pkg/log/log_test.go b/pkg/log/log_test.go similarity index 100% rename from components/common/pkg/log/log_test.go rename to pkg/log/log_test.go diff --git a/components/common/pkg/match/match.go b/pkg/match/match.go similarity index 88% rename from components/common/pkg/match/match.go rename to pkg/match/match.go index 2e80f3d..a927fd6 100644 --- a/components/common/pkg/match/match.go +++ b/pkg/match/match.go @@ -1,8 +1,8 @@ package match import ( - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/pkg/query" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "k8s.io/apimachinery/pkg/labels" ) diff --git a/components/cluster-scheduler/pkg/notify/notify.go b/pkg/notify/notify.go similarity index 88% rename from components/cluster-scheduler/pkg/notify/notify.go rename to pkg/notify/notify.go index a79d066..f031d0d 100644 --- a/components/cluster-scheduler/pkg/notify/notify.go +++ b/pkg/notify/notify.go @@ -8,12 +8,12 @@ import ( "sync" "time" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/RafaySystems/rcloud-base/components/common/pkg/match" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/match" + "github.com/RafaySystems/rcloud-base/pkg/query" + "github.com/RafaySystems/rcloud-base/pkg/service" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" ) var ( diff --git a/components/cluster-scheduler/pkg/patch/status.go b/pkg/patch/status.go similarity index 89% rename from components/cluster-scheduler/pkg/patch/status.go rename to pkg/patch/status.go index 8eda9da..63df19b 100644 --- a/components/cluster-scheduler/pkg/patch/status.go +++ b/pkg/patch/status.go @@ -3,9 +3,9 @@ package patch import ( "encoding/json" - sp "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/strategicpatch" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/scheduler" + sp "github.com/RafaySystems/rcloud-base/pkg/controller/strategicpatch" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/scheduler" ) type clusterConditions struct { diff --git a/components/common/pkg/pool/pool.go b/pkg/pool/pool.go similarity index 100% rename from components/common/pkg/pool/pool.go rename to pkg/pool/pool.go diff --git a/components/common/pkg/query/options.go b/pkg/query/options.go similarity index 97% rename from components/common/pkg/query/options.go rename to pkg/query/options.go index 9cccfdd..eaa35bf 100644 --- a/components/common/pkg/query/options.go +++ b/pkg/query/options.go @@ -5,8 +5,8 @@ import ( "fmt" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/random" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/internal/random" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "github.com/uptrace/bun" ) diff --git a/components/common/pkg/query/selector.go b/pkg/query/selector.go similarity index 96% rename from components/common/pkg/query/selector.go rename to pkg/query/selector.go index 976a8bc..27cd5e9 100644 --- a/components/common/pkg/query/selector.go +++ b/pkg/query/selector.go @@ -1,7 +1,7 @@ package query import ( - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "github.com/uptrace/bun" "k8s.io/apimachinery/pkg/labels" "k8s.io/apimachinery/pkg/selection" diff --git a/components/cluster-scheduler/pkg/reconcile/cluster_conditions_reconciler.go b/pkg/reconcile/cluster_conditions_reconciler.go similarity index 91% rename from components/cluster-scheduler/pkg/reconcile/cluster_conditions_reconciler.go rename to pkg/reconcile/cluster_conditions_reconciler.go index 9cebcfb..6772c3a 100644 --- a/components/cluster-scheduler/pkg/reconcile/cluster_conditions_reconciler.go +++ b/pkg/reconcile/cluster_conditions_reconciler.go @@ -4,11 +4,11 @@ import ( "context" "fmt" - clstrutil "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/constants" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + clstrutil "github.com/RafaySystems/rcloud-base/internal/cluster" + "github.com/RafaySystems/rcloud-base/internal/cluster/constants" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/service" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" ) var _log = log.GetLogger() diff --git a/components/cluster-scheduler/pkg/reconcile/cluster_handler.go b/pkg/reconcile/cluster_handler.go similarity index 85% rename from components/cluster-scheduler/pkg/reconcile/cluster_handler.go rename to pkg/reconcile/cluster_handler.go index 1abc06e..a271f3b 100644 --- a/components/cluster-scheduler/pkg/reconcile/cluster_handler.go +++ b/pkg/reconcile/cluster_handler.go @@ -4,13 +4,11 @@ import ( "context" "time" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/event" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/pkg/event" + "github.com/RafaySystems/rcloud-base/pkg/query" + "github.com/RafaySystems/rcloud-base/pkg/service" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" "k8s.io/apimachinery/pkg/util/wait" "k8s.io/client-go/util/workqueue" ) @@ -39,8 +37,6 @@ type ClusterEventHandler interface { type clusterEventHandler struct { cs service.ClusterService - sp sentryrpc.SentryPool - cp configrpc.ConfigPool // cluster work queue cwq workqueue.RateLimitingInterface @@ -50,11 +46,9 @@ type clusterEventHandler struct { } // NewClusterEventHandler returns new cluster event handler -func NewClusterEventHandler(cs service.ClusterService, sp sentryrpc.SentryPool, cp configrpc.ConfigPool) ClusterEventHandler { +func NewClusterEventHandler(cs service.ClusterService) ClusterEventHandler { return &clusterEventHandler{ cs: cs, - sp: sp, - cp: cp, cwq: workqueue.NewRateLimitingQueue(workqueue.DefaultItemBasedRateLimiter()), wwq: workqueue.NewRateLimitingQueue(workqueue.DefaultItemBasedRateLimiter()), } @@ -167,7 +161,7 @@ func (h *clusterEventHandler) handleClusterEvent(ev event.Resource) { _log.Debugw("handling cluster reconcile", "cluster", cluster.Metadata, "event", ev, "cluster status", cluster.Spec.ClusterData.ClusterStatus) - reconciler := NewClusterReconciler(h.cs, h.sp, h.cp) + reconciler := NewClusterReconciler(h.cs) err = reconciler.Reconcile(ctx, cluster) if err != nil { _log.Infow("unable to reconcile cluster", "error", err, "event", "ev") diff --git a/components/cluster-scheduler/pkg/reconcile/cluster_reconciler.go b/pkg/reconcile/cluster_reconciler.go similarity index 81% rename from components/cluster-scheduler/pkg/reconcile/cluster_reconciler.go rename to pkg/reconcile/cluster_reconciler.go index 47aa6b3..1ed92b3 100644 --- a/components/cluster-scheduler/pkg/reconcile/cluster_reconciler.go +++ b/pkg/reconcile/cluster_reconciler.go @@ -5,15 +5,12 @@ import ( "fmt" "time" - clstrutil "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/constants" - bootstrapagent "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/bootstrapper/agent" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/service" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + clstrutil "github.com/RafaySystems/rcloud-base/internal/cluster" + "github.com/RafaySystems/rcloud-base/internal/cluster/constants" + "github.com/RafaySystems/rcloud-base/pkg/service" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" + "github.com/RafaySystems/rcloud-base/pkg/query" "github.com/pkg/errors" ) @@ -28,13 +25,11 @@ type ClusterReconciler interface { type clusterReconciler struct { cs service.ClusterService - sp sentryrpc.SentryPool - cp configrpc.ConfigPool } // NewClusterReconciler returns new cluster reconciler -func NewClusterReconciler(cs service.ClusterService, sp sentryrpc.SentryPool, cp configrpc.ConfigPool) ClusterReconciler { - return &clusterReconciler{cs: cs, sp: sp, cp: cp} +func NewClusterReconciler(cs service.ClusterService) ClusterReconciler { + return &clusterReconciler{cs: cs} } func (r *clusterReconciler) Reconcile(ctx context.Context, cluster *infrav3.Cluster) error { @@ -134,7 +129,7 @@ func (r *clusterReconciler) handleClusterDelete(ctx context.Context, cluster *in func (r *clusterReconciler) handleClusterBootstrapAgent(ctx context.Context, cluster *infrav3.Cluster) error { _log.Infow("handling cluster bootstrap agent", "cluster", cluster.Metadata) try := func() error { - err := bootstrapagent.CreateForCluster(ctx, r.sp, r.cp, cluster) + err := r.cs.CreateBootstrapAgentForCluster(ctx, cluster) return err } @@ -158,8 +153,6 @@ func (r *clusterReconciler) handleClusterBootstrapAgent(ctx context.Context, clu //update relays to annotations if err == nil { - fmt.Print("annotations in reconciler before update :: ", cluster.Metadata.Annotations) - fmt.Print("id in reconciler before update :: ", cluster.Metadata.Id) err = r.cs.UpdateClusterAnnotations(ctx, cluster) } return err diff --git a/components/cluster-scheduler/pkg/reconcile/utils.go b/pkg/reconcile/utils.go similarity index 78% rename from components/cluster-scheduler/pkg/reconcile/utils.go rename to pkg/reconcile/utils.go index ee226e8..7e59f13 100644 --- a/components/cluster-scheduler/pkg/reconcile/utils.go +++ b/pkg/reconcile/utils.go @@ -3,7 +3,7 @@ package reconcile import ( "encoding/json" - "github.com/RafaySystems/rcloud-base/components/common/pkg/event" + "github.com/RafaySystems/rcloud-base/pkg/event" ) func resourceToKey(r event.Resource) string { diff --git a/components/adminsrv/pkg/sentry/authz/authz.go b/pkg/sentry/authz/authz.go similarity index 96% rename from components/adminsrv/pkg/sentry/authz/authz.go rename to pkg/sentry/authz/authz.go index 26fe120..4fd8f66 100644 --- a/components/adminsrv/pkg/sentry/authz/authz.go +++ b/pkg/sentry/authz/authz.go @@ -7,17 +7,16 @@ import ( "strings" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/constants" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/sentry/kubeconfig" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/controller/runtime" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/constants" + "github.com/RafaySystems/rcloud-base/pkg/controller/runtime" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/query" + "github.com/RafaySystems/rcloud-base/pkg/sentry/kubeconfig" + "github.com/RafaySystems/rcloud-base/pkg/service" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/controller" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" corev1 "k8s.io/api/core/v1" rbacv1 "k8s.io/api/rbac/v1" ) @@ -334,7 +333,7 @@ func getProjectsFromLabels(labels map[string]string) ([]string, error) { // ENV_READ // - NO Access to cluster scoped resources // - Read Access to namespace scoped resources (only within the environment) -func GetAuthorization(ctx context.Context, req *sentryrpc.GetUserAuthorizationRequest, bs service.BootstrapService, aps service.AccountPermissionService, gps service.GroupPermissionService, krs service.KubeconfigRevocationService, kcs service.KubectlClusterSettingsService, kss service.KubeconfigSettingService, cPool configrpc.ConfigPool) (resp *sentryrpc.GetUserAuthorizationResponse, err error) { +func GetAuthorization(ctx context.Context, req *sentryrpc.GetUserAuthorizationRequest, bs service.BootstrapService, aps service.AccountPermissionService, gps service.GroupPermissionService, krs service.KubeconfigRevocationService, kcs service.KubectlClusterSettingsService, kss service.KubeconfigSettingService) (resp *sentryrpc.GetUserAuthorizationResponse, err error) { var userName string var groups []string var rolePrevilage int diff --git a/components/adminsrv/pkg/sentry/authz/data/cluster_role_cluster_read.yaml b/pkg/sentry/authz/data/cluster_role_cluster_read.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/cluster_role_cluster_read.yaml rename to pkg/sentry/authz/data/cluster_role_cluster_read.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/cluster_role_cluster_write.yaml b/pkg/sentry/authz/data/cluster_role_cluster_write.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/cluster_role_cluster_write.yaml rename to pkg/sentry/authz/data/cluster_role_cluster_write.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/cluster_role_full_access.yaml b/pkg/sentry/authz/data/cluster_role_full_access.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/cluster_role_full_access.yaml rename to pkg/sentry/authz/data/cluster_role_full_access.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/cluster_role_namespace_read.yaml b/pkg/sentry/authz/data/cluster_role_namespace_read.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/cluster_role_namespace_read.yaml rename to pkg/sentry/authz/data/cluster_role_namespace_read.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/cluster_role_namespace_write.yaml b/pkg/sentry/authz/data/cluster_role_namespace_write.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/cluster_role_namespace_write.yaml rename to pkg/sentry/authz/data/cluster_role_namespace_write.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/namespace.yaml b/pkg/sentry/authz/data/namespace.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/namespace.yaml rename to pkg/sentry/authz/data/namespace.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/relay_default_cluster_role.yaml b/pkg/sentry/authz/data/relay_default_cluster_role.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/relay_default_cluster_role.yaml rename to pkg/sentry/authz/data/relay_default_cluster_role.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/relay_default_role.yaml b/pkg/sentry/authz/data/relay_default_role.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/relay_default_role.yaml rename to pkg/sentry/authz/data/relay_default_role.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/role_read_access.yaml b/pkg/sentry/authz/data/role_read_access.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/role_read_access.yaml rename to pkg/sentry/authz/data/role_read_access.yaml diff --git a/components/adminsrv/pkg/sentry/authz/data/role_write_access.yaml b/pkg/sentry/authz/data/role_write_access.yaml similarity index 100% rename from components/adminsrv/pkg/sentry/authz/data/role_write_access.yaml rename to pkg/sentry/authz/data/role_write_access.yaml diff --git a/components/adminsrv/pkg/sentry/authz/defaults.go b/pkg/sentry/authz/defaults.go similarity index 100% rename from components/adminsrv/pkg/sentry/authz/defaults.go rename to pkg/sentry/authz/defaults.go diff --git a/components/adminsrv/pkg/sentry/authz/fix.go b/pkg/sentry/authz/fix.go similarity index 100% rename from components/adminsrv/pkg/sentry/authz/fix.go rename to pkg/sentry/authz/fix.go diff --git a/components/adminsrv/pkg/sentry/authz/generate/generate.go b/pkg/sentry/authz/generate/generate.go similarity index 100% rename from components/adminsrv/pkg/sentry/authz/generate/generate.go rename to pkg/sentry/authz/generate/generate.go diff --git a/components/adminsrv/pkg/sentry/authz/util.go b/pkg/sentry/authz/util.go similarity index 100% rename from components/adminsrv/pkg/sentry/authz/util.go rename to pkg/sentry/authz/util.go diff --git a/components/adminsrv/pkg/sentry/authz/util_test.go b/pkg/sentry/authz/util_test.go similarity index 100% rename from components/adminsrv/pkg/sentry/authz/util_test.go rename to pkg/sentry/authz/util_test.go diff --git a/components/common/pkg/sentry/cryptoutil/ca.go b/pkg/sentry/cryptoutil/ca.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/ca.go rename to pkg/sentry/cryptoutil/ca.go diff --git a/components/common/pkg/sentry/cryptoutil/ca_test.go b/pkg/sentry/cryptoutil/ca_test.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/ca_test.go rename to pkg/sentry/cryptoutil/ca_test.go diff --git a/components/common/pkg/sentry/cryptoutil/cert.go b/pkg/sentry/cryptoutil/cert.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/cert.go rename to pkg/sentry/cryptoutil/cert.go diff --git a/components/common/pkg/sentry/cryptoutil/cert_test.go b/pkg/sentry/cryptoutil/cert_test.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/cert_test.go rename to pkg/sentry/cryptoutil/cert_test.go diff --git a/components/common/pkg/sentry/cryptoutil/common.go b/pkg/sentry/cryptoutil/common.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/common.go rename to pkg/sentry/cryptoutil/common.go diff --git a/components/common/pkg/sentry/cryptoutil/csr.go b/pkg/sentry/cryptoutil/csr.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/csr.go rename to pkg/sentry/cryptoutil/csr.go diff --git a/components/common/pkg/sentry/cryptoutil/csr_test.go b/pkg/sentry/cryptoutil/csr_test.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/csr_test.go rename to pkg/sentry/cryptoutil/csr_test.go diff --git a/components/common/pkg/sentry/cryptoutil/key.go b/pkg/sentry/cryptoutil/key.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/key.go rename to pkg/sentry/cryptoutil/key.go diff --git a/components/common/pkg/sentry/cryptoutil/key_test.go b/pkg/sentry/cryptoutil/key_test.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/key_test.go rename to pkg/sentry/cryptoutil/key_test.go diff --git a/components/common/pkg/sentry/cryptoutil/signer.go b/pkg/sentry/cryptoutil/signer.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/signer.go rename to pkg/sentry/cryptoutil/signer.go diff --git a/components/common/pkg/sentry/cryptoutil/signer_test.go b/pkg/sentry/cryptoutil/signer_test.go similarity index 100% rename from components/common/pkg/sentry/cryptoutil/signer_test.go rename to pkg/sentry/cryptoutil/signer_test.go diff --git a/components/adminsrv/pkg/sentry/kubeconfig/cert_cn.go b/pkg/sentry/kubeconfig/cert_cn.go similarity index 100% rename from components/adminsrv/pkg/sentry/kubeconfig/cert_cn.go rename to pkg/sentry/kubeconfig/cert_cn.go diff --git a/components/adminsrv/pkg/sentry/kubeconfig/kubeconfig.go b/pkg/sentry/kubeconfig/kubeconfig.go similarity index 96% rename from components/adminsrv/pkg/sentry/kubeconfig/kubeconfig.go rename to pkg/sentry/kubeconfig/kubeconfig.go index 1588a28..6b956a4 100644 --- a/components/adminsrv/pkg/sentry/kubeconfig/kubeconfig.go +++ b/pkg/sentry/kubeconfig/kubeconfig.go @@ -9,19 +9,19 @@ import ( "strings" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - sentry "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/query" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + sentry "github.com/RafaySystems/rcloud-base/proto/types/sentry" clientcmdapiv1 "k8s.io/client-go/tools/clientcmd/api/v1" "sigs.k8s.io/yaml" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/constants" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/util" + "github.com/RafaySystems/rcloud-base/internal/constants" + "github.com/RafaySystems/rcloud-base/pkg/sentry/cryptoutil" + "github.com/RafaySystems/rcloud-base/pkg/sentry/util" + "github.com/RafaySystems/rcloud-base/pkg/service" ) const ( @@ -480,7 +480,6 @@ func GetConfigForCluster(ctx context.Context, bs service.BootstrapService, req * enforceSession = true } // {"account": "", "username": "", "partner": "", "org": "", "project":, "sso":, "enforceSession"} - // TODO: figure out how SSO works // CN=account=/partner=/orgid=/username= cnAttr := CNAttributes{ AccountID: opts.Account, diff --git a/components/common/pkg/sentry/peering/peering.go b/pkg/sentry/peering/peering.go similarity index 78% rename from components/common/pkg/sentry/peering/peering.go rename to pkg/sentry/peering/peering.go index 23edb86..20510b4 100644 --- a/components/common/pkg/sentry/peering/peering.go +++ b/pkg/sentry/peering/peering.go @@ -2,13 +2,23 @@ package peering import ( "context" + "crypto/ecdsa" + "crypto/x509/pkix" + "database/sql" + "fmt" "math/rand" "regexp" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/query" + "github.com/RafaySystems/rcloud-base/pkg/sentry/cryptoutil" + "github.com/RafaySystems/rcloud-base/pkg/sentry/register" + "github.com/RafaySystems/rcloud-base/pkg/service" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/dgraph-io/ristretto" + "github.com/rs/xid" ) var ( @@ -323,3 +333,78 @@ func ClientSurveyRPC(ctx context.Context, stream sentryrpc.RelayPeerService_Rela "stopping probeRPC routine", ) } + +// GetPeeringServerCreds returns peering cert, key, ca +func GetPeeringServerCreds(ctx context.Context, bs service.BootstrapService, rpcPort int, host string) (cert, key, ca []byte, err error) { + nctx, cancel := context.WithTimeout(ctx, time.Second*10) + defer cancel() + var template *sentry.BootstrapAgentTemplate + + template, err = bs.GetBootstrapAgentTemplate(nctx, "rafay-sentry-peering-server") + if err != nil { + return + } + + config := ®ister.Config{ + TemplateName: "rafay-sentry-peering-server", + Addr: fmt.Sprintf("localhost:%d", rpcPort), + Name: "rafay-sentry-peering-server", + Scheme: "grpc", + Mode: "server", + } + + var privKey *ecdsa.PrivateKey + + privKey, err = cryptoutil.GenerateECDSAPrivateKey() + if err != nil { + return + } + + config.PrivateKey, err = cryptoutil.EncodePrivateKey(privKey, cryptoutil.NoPassword) + if err != nil { + return + } + + var csr []byte + + csr, err = cryptoutil.CreateCSR(pkix.Name{ + CommonName: host, + Country: []string{"USA"}, + Organization: []string{"Rafay Systems Inc"}, + OrganizationalUnit: []string{"Rafay Sentry Peering Server"}, + Province: []string{"California"}, + Locality: []string{"Sunnyvale"}, + }, privKey) + if err != nil { + return + } + + config.CSR = csr + + var agent *sentry.BootstrapAgent + + agent, err = bs.GetBootstrapAgent(nctx, template.Metadata.Name, query.WithName("rafay-sentry-peering-server"), query.WithGlobalScope()) + + if err != nil { + if err != sql.ErrNoRows { + return + } + } + + if agent != nil { + config.ClientID = agent.Spec.Token + } else { + config.ClientID = xid.New().String() + } + + err = register.Register(nctx, config) + if err != nil { + return + } + + cert = config.Certificate + key = config.PrivateKey + ca = config.CACertificate + + return +} diff --git a/components/common/pkg/sentry/peering/util.go b/pkg/sentry/peering/util.go similarity index 100% rename from components/common/pkg/sentry/peering/util.go rename to pkg/sentry/peering/util.go diff --git a/components/common/pkg/sentry/register/register.go b/pkg/sentry/register/register.go similarity index 91% rename from components/common/pkg/sentry/register/register.go rename to pkg/sentry/register/register.go index 54d4e8c..01d7e16 100644 --- a/components/common/pkg/sentry/register/register.go +++ b/pkg/sentry/register/register.go @@ -10,18 +10,18 @@ import ( "os" "strings" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/pkg/sentry/cryptoutil" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/pkg/errors" "github.com/rs/xid" - bootstrapclientv2 "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/client" - bootstrapapiv2 "github.com/RafaySystems/rcloud-base/components/common/api/def/clients/sentry/client/bootstrap" + bootstrapclientv2 "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/client" + bootstrapapiv2 "github.com/RafaySystems/rcloud-base/api/def/clients/sentry/client/bootstrap" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/util" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/sentry/util" ) var ( diff --git a/components/common/pkg/sentry/register/register_test.go b/pkg/sentry/register/register_test.go similarity index 100% rename from components/common/pkg/sentry/register/register_test.go rename to pkg/sentry/register/register_test.go diff --git a/components/common/pkg/sentry/util/addr.go b/pkg/sentry/util/addr.go similarity index 100% rename from components/common/pkg/sentry/util/addr.go rename to pkg/sentry/util/addr.go diff --git a/components/common/pkg/sentry/util/util.go b/pkg/sentry/util/util.go similarity index 100% rename from components/common/pkg/sentry/util/util.go rename to pkg/sentry/util/util.go diff --git a/components/adminsrv/pkg/service/account_permission.go b/pkg/service/account_permission.go similarity index 96% rename from components/adminsrv/pkg/service/account_permission.go rename to pkg/service/account_permission.go index a90906b..fa746af 100644 --- a/components/adminsrv/pkg/service/account_permission.go +++ b/pkg/service/account_permission.go @@ -4,10 +4,10 @@ import ( "context" "encoding/json" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/dao" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" diff --git a/components/adminsrv/pkg/service/account_permissions_test.go b/pkg/service/account_permissions_test.go similarity index 100% rename from components/adminsrv/pkg/service/account_permissions_test.go rename to pkg/service/account_permissions_test.go diff --git a/components/authz/pkg/service/authz.go b/pkg/service/authz.go similarity index 96% rename from components/authz/pkg/service/authz.go rename to pkg/service/authz.go index a0321b2..24503f4 100644 --- a/components/authz/pkg/service/authz.go +++ b/pkg/service/authz.go @@ -2,10 +2,9 @@ package service import ( "context" - "errors" "fmt" - authzpbv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/types" + authzpbv1 "github.com/RafaySystems/rcloud-base/proto/types/authz" "github.com/casbin/casbin/v2" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -68,7 +67,7 @@ func (s *authzService) fromPolicies(policies *authzpbv1.Policies) ([][]string, e rule := []string{p.GetSub(), p.GetNs(), p.GetProj(), p.GetOrg(), p.GetObj(), p.GetAct()} for _, field := range rule { if field == "" { - return res, errors.New(fmt.Sprintf("index %d: policy elements do not meet definition", i)) + return res, fmt.Errorf(fmt.Sprintf("index %d: policy elements do not meet definition", i)) } } res = append(res, rule) @@ -100,7 +99,7 @@ func (s *authzService) fromUserGroups(ugs *authzpbv1.UserGroups) ([][]string, er rule := []string{p.GetUser(), p.GetGrp()} for _, field := range rule { if field == "" { - return res, errors.New(fmt.Sprintf("index %d: request elements do not meet definition", i)) + return res, fmt.Errorf(fmt.Sprintf("index %d: request elements do not meet definition", i)) } } res = append(res, rule) @@ -140,7 +139,7 @@ func (s *authzService) fromRolePermissionMappingList(r *authzpbv1.RolePermission rule := []string{permission, mapping.Role} for _, field := range rule { if field == "" { - return res, errors.New(fmt.Sprintf("index %d: mapping elements do not meet definition", i)) + return res, fmt.Errorf(fmt.Sprintf("index %d: mapping elements do not meet definition", i)) } } res = append(res, rule) diff --git a/components/adminsrv/pkg/service/bootstrap.go b/pkg/service/bootstrap.go similarity index 68% rename from components/adminsrv/pkg/service/bootstrap.go rename to pkg/service/bootstrap.go index 5b22cf4..2529903 100644 --- a/components/adminsrv/pkg/service/bootstrap.go +++ b/pkg/service/bootstrap.go @@ -2,32 +2,24 @@ package service import ( "context" - "crypto/x509" - "crypto/x509/pkix" "database/sql" "encoding/json" - "encoding/pem" "fmt" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/dao" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/converter" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" - schedulerrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/scheduler" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/pkg/converter" + "github.com/RafaySystems/rcloud-base/pkg/query" + "github.com/RafaySystems/rcloud-base/pkg/sentry/cryptoutil" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" - "github.com/pkg/errors" "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" ) -var _log = log.GetLogger() var KEKFunc cryptoutil.PasswordFunc // BootstrapService is the interface for bootstrap operations @@ -54,23 +46,20 @@ type BootstrapService interface { RegisterBootstrapAgent(ctx context.Context, token string) error DeleteBoostrapAgent(ctx context.Context, templateRef string, opts ...query.Option) error PatchBootstrapAgent(ctx context.Context, ba *sentry.BootstrapAgent, templateRef string, opts ...query.Option) error - UpdateClusterStatus(ctx context.Context, clusterID string) error } // bootstrapService implements BootstrapService type bootstrapService struct { dao pg.EntityDAO bdao dao.BootstrapDao - sp schedulerrpc.SchedulerPool } // NewBootstrapService return new bootstrap service -func NewBootstrapService(db *bun.DB, pool schedulerrpc.SchedulerPool) BootstrapService { +func NewBootstrapService(db *bun.DB) BootstrapService { edao := pg.NewEntityDAO(db) return &bootstrapService{ dao: edao, bdao: dao.NewBootstrapDao(edao), - sp: pool, } } @@ -428,142 +417,6 @@ func (s *bootstrapService) GetBootstrapAgentForClusterID(ctx context.Context, cl return prepareAgentResponse(ba), nil } -func getCertAndKey(providedCert, providedKey, password string) ([]byte, []byte, error) { - var cert, key []byte - - cert = []byte(providedCert) - key = []byte(providedKey) - - block, _ := pem.Decode([]byte(providedCert)) - if block == nil { - _log.Infow("failed in pem decode cert", "cert", providedCert) - return nil, nil, errors.New("failed to pem decode cert") - } - _, err := x509.ParseCertificate(block.Bytes) - - if err != nil { - _log.Infow("could not parse cert", "cert", providedCert) - return nil, nil, errors.Wrapf(err, "could not parse cert") - } - - if password != "" { - kekFunc := func() ([]byte, error) { - return []byte(password), nil - } - key, err = reEncryptKeyWithSystemKek([]byte(providedKey), kekFunc, KEKFunc) - if err != nil { - _log.Infow("could not encode privatekey with system kek", "error", err) - return nil, nil, errors.Wrapf(err, "could not encode privatekey with system kek") - } - } else { - key, err = reEncryptKeyWithSystemKek([]byte(providedKey), cryptoutil.NoPassword, KEKFunc) - if err != nil { - key, err = reEncryptKeyWithSystemKek([]byte(providedKey), KEKFunc, KEKFunc) - if err != nil { - _log.Infow("could not encode privatekey with system kek", "error", err) - return nil, nil, errors.Wrapf(err, "could not encode privatekey with system kek") - } - } - } - - return cert, key, nil -} - -func reEncryptKeyWithSystemKek(privKey []byte, f, f1 cryptoutil.PasswordFunc) ([]byte, error) { - pk, err := cryptoutil.DecodePrivateKey(privKey, f) - if err != nil { - _log.Infow("could not decode PEM block for provided key", "error", err) - return nil, err - } - - pk1, err := cryptoutil.EncodePrivateKey(pk, f1) - if err != nil { - _log.Infow("could not encode PEM block for provided key", "error", err) - return nil, err - } - - return pk1, nil -} - -func (s *bootstrapService) reconcileBootstrapInfra( - ctx context.Context, - infraRef, relayNetworkName, providedCert, providedKey, password string, - selfSigned bool, -) ([]byte, []byte, error) { - var updateInfra bool - existingBootstrapInfra, err := s.GetBootstrapInfra(ctx, infraRef) - if err != nil { - return nil, nil, errors.Wrapf(err, "could not fetch existing boostrap infra") - } - var cert, key []byte - if !selfSigned { - if providedCert == "" { - return cert, key, errors.New("provided certificate is empty") - } - - if providedKey == "" { - return cert, key, errors.New("provided key is empty") - } - cert, key, err = getCertAndKey(providedCert, providedKey, password) - if err != nil { - _log.Infow("could not parse cert and key", "error", err) - return cert, key, errors.Wrapf(err, "could not parse cert and key") - } - } else { - // Rafay selfsigned usecase - if existingBootstrapInfra.Spec.CaCert != "" { - // Check exisitng cert is rafay generated - parsedCert, err := x509.ParseCertificate([]byte(existingBootstrapInfra.Spec.CaCert)) - if err == nil { - if parsedCert.Issuer.CommonName == relayNetworkName && - parsedCert.Issuer.OrganizationalUnit[0] == "Rafay Sentry" && - parsedCert.Issuer.Organization[0] == "Rafay Systems Inc" && - parsedCert.Issuer.Locality[0] == "Sunnyvale" && - parsedCert.Issuer.Province[0] == "California" { - // cert is generated by rafay keep using it - cert = []byte(existingBootstrapInfra.Spec.CaCert) - key = []byte(existingBootstrapInfra.Spec.CaKey) - } - } - } - if len(cert) == 0 || len(key) == 0 { - // Generate new slefsigned key pair - cert, key, err = cryptoutil.GenerateCA(pkix.Name{ - CommonName: relayNetworkName, - Country: []string{"USA"}, - Organization: []string{"Rafay Systems Inc"}, - OrganizationalUnit: []string{"Rafay Sentry"}, - Province: []string{"California"}, - Locality: []string{"Sunnyvale"}, - }, KEKFunc) - - if err != nil { - _log.Infow("failed to generate infra CA for server", "error", err) - return cert, key, errors.Wrap(err, "failed to generate infra CA for server") - } - } - } - if existingBootstrapInfra.Spec.CaCert != string(cert) { - _log.Infof("reconciling boostrap infra %s ca cert", infraRef) - existingBootstrapInfra.Spec.CaCert = string(cert) - updateInfra = true - } - if existingBootstrapInfra.Spec.CaKey != string(key) { - _log.Infof("reconciling boostrap infra %s key", infraRef) - existingBootstrapInfra.Spec.CaKey = string(key) - updateInfra = true - } - - if updateInfra { - _log.Infow("reconcileBootstrapInfra", "update-existingBootstrapInfra", existingBootstrapInfra.Metadata.Name) - if err := s.PatchBootstrapInfra(ctx, existingBootstrapInfra); err != nil { - _log.Infow("reconcileBootstrapInfra", "could not patch boostrap infra error", err) - return cert, key, errors.Wrapf(err, "could not patch boostrap infra %s", infraRef) - } - } - return cert, key, nil -} - func (s *bootstrapService) GetRelayAgent(ctx context.Context, ClusterScope string, opts ...query.Option) (*sentry.BootstrapAgent, error) { queryOptions := &commonv3.QueryOptions{} for _, opt := range opts { @@ -602,41 +455,6 @@ func (s *bootstrapService) GetRelayAgent(ctx context.Context, ClusterScope strin return nil, fmt.Errorf("failed to get relay agent") } -func (s *bootstrapService) UpdateClusterStatus(ctx context.Context, clusterID string) error { - client, err := s.sp.NewClient(ctx) - if err != nil { - _log.Infow("unable to establish connection with scheduler") - return err - } - cluster := &infrav3.Cluster{ - Metadata: &commonv3.Metadata{ - Id: clusterID, - }, - Spec: &infrav3.ClusterSpec{ - ClusterData: &infrav3.ClusterData{ - ClusterStatus: &infrav3.ClusterStatus{ - Conditions: []*infrav3.ClusterCondition{ - { - Type: infrav3.ClusterConditionType_ClusterCheckIn, - Status: commonv3.RafayConditionStatus_Success, - LastUpdated: timestamppb.Now(), - Reason: "Relay agent established connection.", - }, - { - Type: infrav3.ClusterConditionType_ClusterRegister, - Status: commonv3.RafayConditionStatus_Success, - LastUpdated: timestamppb.Now(), - Reason: "Relay agent established connection.", - }, - }, - }, - }, - }, - } - _, err = client.UpdateClusterStatus(ctx, cluster) - return err -} - func (s *bootstrapService) Close() error { return s.dao.Close() } diff --git a/components/cluster-scheduler/pkg/service/cluster.go b/pkg/service/cluster.go similarity index 77% rename from components/cluster-scheduler/pkg/service/cluster.go rename to pkg/service/cluster.go index b718d71..df7f596 100644 --- a/components/cluster-scheduler/pkg/service/cluster.go +++ b/pkg/service/cluster.go @@ -11,25 +11,26 @@ import ( "sync" "time" - clstrutil "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/constants" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/dao" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/cluster/util" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/models" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/bootstrapper" - bootstrapagent "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/bootstrapper/agent" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/patch" - "github.com/RafaySystems/rcloud-base/components/common/pkg/event" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - cmodels "github.com/RafaySystems/rcloud-base/components/common/pkg/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/scheduler" + clstrutil "github.com/RafaySystems/rcloud-base/internal/cluster" + "github.com/RafaySystems/rcloud-base/internal/cluster/constants" + "github.com/RafaySystems/rcloud-base/internal/cluster/dao" + "github.com/RafaySystems/rcloud-base/internal/cluster/util" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/pkg/common" + "github.com/RafaySystems/rcloud-base/pkg/event" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/patch" + "github.com/RafaySystems/rcloud-base/pkg/query" + sentryutil "github.com/RafaySystems/rcloud-base/pkg/sentry/util" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/scheduler" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" "github.com/pkg/errors" + "github.com/rs/xid" + "github.com/spf13/viper" bun "github.com/uptrace/bun" "github.com/uptrace/bun/driver/pgdriver" "google.golang.org/protobuf/types/known/timestamppb" @@ -61,14 +62,18 @@ type ClusterService interface { UpdateClusterConditionStatus(ctx context.Context, current *infrav3.Cluster) error // update cluster annotations UpdateClusterAnnotations(ctx context.Context, cluster *infrav3.Cluster) error - //register cluster - Register(ctx context.Context, token string) (*infrav3.ClusterToken, error) //listen clusters ListenClusters(ctx context.Context, mChan chan<- commonv3.Metadata) //Get cluster projects GetClusterProjects(ctx context.Context, cluster *infrav3.Cluster) ([]models.ProjectCluster, error) //Validate and update cluster status UpdateStatus(ctx context.Context, current *infrav3.Cluster, opts ...query.Option) error + // Create bootstrap agent for cluster + CreateBootstrapAgentForCluster(ctx context.Context, cluster *infrav3.Cluster) error + // Get relay config for cluster + GetRelaysConfigForCluster(ctx context.Context, cluster *infrav3.Cluster) ([]common.Relay, error) + // Update projects for bootstrap agents for cluster + UpdateProjectsForBootstrapAgentForCluster(ctx context.Context, cluster *infrav3.Cluster) error // Get Namespaces for cluster and conditions GetNamespacesForConditions(ctx context.Context, conditions []scheduler.ClusterNamespaceCondition, clusterID string) (*scheduler.ClusterNamespaceList, error) // Get Namespaces for given cluster @@ -86,30 +91,28 @@ type ClusterService interface { // clusterService implements ClusterService type clusterService struct { dao pg.EntityDAO - adao pg.EntityDAO cdao dao.ClusterDao eobdao dao.ClusterOperatorBootstrapDao pcdao dao.ProjectClusterDao ctdao dao.ClusterTokenDao cndao dao.ClusterNamespacesDao - downloadData bootstrapper.DownloadData + downloadData common.DownloadData clusterHandlers []event.Handler - sentryPool sentryrpc.SentryPool + bs BootstrapService } // NewClusterService return new cluster service -func NewClusterService(db *bun.DB, adb *bun.DB, data *bootstrapper.DownloadData, sentrypool sentryrpc.SentryPool) ClusterService { +func NewClusterService(db *bun.DB, data *common.DownloadData, bs BootstrapService) ClusterService { entityDao := pg.NewEntityDAO(db) return &clusterService{ dao: entityDao, - adao: pg.NewEntityDAO(adb), cdao: dao.NewClusterDao(entityDao), eobdao: dao.NewClusterOperatorBootstrapDao(entityDao), pcdao: dao.NewProjectClusterDao(entityDao), ctdao: dao.NewClusterTokenDao(entityDao), cndao: dao.NewClusterNamespacesDao(entityDao), downloadData: *data, - sentryPool: sentrypool, + bs: bs, } } @@ -124,8 +127,8 @@ func (es *clusterService) Create(ctx context.Context, cluster *infrav3.Cluster) return cluster, fmt.Errorf("invalid cluster data, project is missing") } - var proj cmodels.Project - _, err := es.adao.GetByName(ctx, cluster.Metadata.Project, &proj) + var proj models.Project + _, err := es.dao.GetByName(ctx, cluster.Metadata.Project, &proj) if err != nil { cluster.Status = &commonv3.Status{ ConditionType: "Create", @@ -437,20 +440,20 @@ func (s *clusterService) Get(ctx context.Context, opts ...query.Option) (*infrav func (s *clusterService) prepareClusterResponse(ctx context.Context, clstr *infrav3.Cluster, c *models.Cluster, metro *models.Metro, projects []models.ProjectCluster, isExtended bool) *infrav3.Cluster { - var part cmodels.Partner - _, err := s.adao.GetNameById(ctx, c.PartnerId, &part) + var part models.Partner + _, err := s.dao.GetNameById(ctx, c.PartnerId, &part) if err != nil { _log.Infow("unable to fetch partner information, ", err.Error()) } - var org cmodels.Organization - _, err = s.adao.GetNameById(ctx, c.OrganizationId, &org) + var org models.Organization + _, err = s.dao.GetNameById(ctx, c.OrganizationId, &org) if err != nil { _log.Infow("unable to fetch organization information, ", err.Error()) } - var proj cmodels.Project - _, err = s.adao.GetNameById(ctx, c.ProjectId, &proj) + var proj models.Project + _, err = s.dao.GetNameById(ctx, c.ProjectId, &proj) if err != nil { _log.Infow("unable to fetch project information, ", err.Error()) } @@ -678,7 +681,7 @@ func (cs *clusterService) Delete(ctx context.Context, cluster *infrav3.Cluster) clusterId := cluster.Metadata.Id projectId := cluster.Metadata.Project - err = bootstrapagent.DeleteForCluster(ctx, cs.sentryPool, *cluster, query.WithMeta(cluster.Metadata)) + err = cs.deleteBootstrapAgentForCluster(ctx, cluster) if err != nil { return err } @@ -730,8 +733,8 @@ func (cs *clusterService) List(ctx context.Context, opts ...query.Option) (*infr opt(&queryOptions) } - var proj cmodels.Project - _, err := cs.adao.GetByName(ctx, queryOptions.Project, &proj) + var proj models.Project + _, err := cs.dao.GetByName(ctx, queryOptions.Project, &proj) if err != nil { return nil, err } @@ -779,70 +782,6 @@ func (cs *clusterService) List(ctx context.Context, opts ...query.Option) (*infr return &clusters, nil } -func (s *clusterService) Register(ctx context.Context, token string) (*infrav3.ClusterToken, error) { - - var clusterToken *infrav3.ClusterToken - - cluster := &infrav3.Cluster{ - ApiVersion: constants.ApiVersion, - Kind: constants.ClusterKind, - } - - s.dao.GetInstance().RunInTx(ctx, &sql.TxOptions{}, func(ctx context.Context, tx bun.Tx) error { - ct, err := s.ctdao.RegisterToken(ctx, token) - if err != nil { - _log.Infow("Token Not registered", "token", token, "error", err) - return err - } - cdb, err := s.cdao.GetClusterForToken(ctx, token) - if err != nil { - _log.Infow("Cluster not found for token", token, "error", err) - return err - } - cluster = &infrav3.Cluster{} - cluster = s.prepareClusterResponse(ctx, cluster, cdb, nil, nil, true) - cluster.Spec.ClusterData.ClusterStatus.Conditions = []*infrav3.ClusterCondition{ - clstrutil.NewClusterRegister(commonv3.RafayConditionStatus_Success, "registered"), - } - - err = s.UpdateClusterConditionStatus(ctx, cluster) - if err != nil { - _log.Infow("error updating cluster status", "error", err) - return err - } - - ev := event.Resource{ - PartnerID: cdb.PartnerId.String(), - OrganizationID: cdb.OrganizationId.String(), - ProjectID: cdb.ProjectId.String(), - Name: cdb.Name, - EventType: event.ResourceUpdateStatus, - ID: cdb.ID.String(), - } - - for _, h := range s.clusterHandlers { - h.OnChange(ev) - } - - tt, _ := strconv.Atoi(ct.TokenType) - clusterToken = &infrav3.ClusterToken{ - Spec: &infrav3.ClusterTokenSpec{ - TokenType: infrav3.ClusterTokenType(tt), - }, - Metadata: &commonv3.Metadata{ - Id: ct.ID.String(), - Project: ct.ProjectId.String(), - Organization: ct.OrganizationId.String(), - Partner: ct.PartnerId.String(), - }, - } - return nil - }) - - s.notifyCluster(ctx, cluster) - return clusterToken, nil -} - func (s *clusterService) UpdateClusterConditionStatus(ctx context.Context, current *infrav3.Cluster) error { existing, err := s.Get(ctx, func(qo *commonv3.QueryOptions) { @@ -988,6 +927,234 @@ func (s *clusterService) UpdateStatus(ctx context.Context, current *infrav3.Clus return nil } +// DeleteForCluster delete bootstrap agent +func (s *clusterService) deleteBootstrapAgentForCluster(ctx context.Context, cluster *infrav3.Cluster) error { + + resp, err := s.bs.SelectBootstrapAgentTemplates(ctx, query.WithOptions(&commonv3.QueryOptions{ + GlobalScope: true, + Selector: "rafay.dev/defaultRelay=true", + })) + if err != nil { + return err + } + + for _, bat := range resp.Items { + + agent := &sentry.BootstrapAgent{ + Metadata: &commonv3.Metadata{ + Id: cluster.Metadata.Id, + Name: cluster.Metadata.Name, + Partner: cluster.Metadata.Partner, + Organization: cluster.Metadata.Organization, + Project: cluster.Metadata.Project, + }, + Spec: &sentry.BootstrapAgentSpec{ + TemplateRef: fmt.Sprintf("template/%s", bat.Metadata.Name), + }, + } + + templateRef, err := sentryutil.GetTemplateScope(agent.Spec.TemplateRef) + if err != nil { + return err + } + + err = s.bs.DeleteBoostrapAgent(ctx, templateRef, query.WithMeta(agent.Metadata)) + if err != nil { + return err + } + } + + return nil +} + +// CreateForCluster creates bootstrap agent for cluster +func (s *clusterService) CreateBootstrapAgentForCluster(ctx context.Context, cluster *infrav3.Cluster) error { + var relays []common.Relay + + resp, err := s.bs.SelectBootstrapAgentTemplates(ctx, query.WithOptions(&commonv3.QueryOptions{ + GlobalScope: true, + Selector: "rafay.dev/defaultRelay=true", + })) + if err != nil { + err = errors.Wrap(err, "unable to get bootstrap agent template") + return err + } + + // create bootstrap agent + for _, bat := range resp.Items { + found := true + agent, err := s.bs.GetBootstrapAgent(ctx, bat.Metadata.Name, query.WithMeta(&commonv3.Metadata{ + Name: cluster.Metadata.Id, + })) + if err != nil { + if err == sql.ErrNoRows { + found = false + } else { + err = errors.Wrap(err, "unable to get bootstrap agent") + return err + } + + } + + if !found { + agent = &sentry.BootstrapAgent{ + Metadata: &commonv3.Metadata{ + Name: cluster.Metadata.Id, + Description: cluster.Metadata.Name, + Labels: map[string]string{ + "rafay.dev/clusterName": cluster.Metadata.Name, + }, + Partner: cluster.Metadata.Partner, + Organization: cluster.Metadata.Organization, + Project: cluster.Metadata.Project, + }, + Spec: &sentry.BootstrapAgentSpec{ + TemplateRef: bat.Metadata.Name, + Token: xid.New().String(), + }, + } + + for _, project := range cluster.Spec.ClusterData.Projects { + agent.Metadata.Labels[fmt.Sprintf("project/%s", project.ProjectID)] = "" + } + + err = s.bs.CreateBootstrapAgent(ctx, agent) + if err != nil { + _log.Infow("unable to create bootstrap agent", "error", err, "agent", *agent) + err = errors.Wrap(err, "unable to create bootstrap agent") + return err + } + } + endpoint := "" + for _, host := range bat.Spec.Hosts { + if host.Type == sentry.BootstrapTemplateHostType_HostTypeExternal { + endpoint = host.Host + } + } + + if endpoint == "" { + return fmt.Errorf("no external endpoint for bootstrap template %s", bat.Metadata.Name) + } + + relays = append(relays, common.Relay{ + Token: agent.Spec.Token, + Addr: getRelayBootstrapAddr(), + Endpoint: endpoint, + Name: bat.Metadata.Name, + TemplateToken: bat.Spec.Token, + }) + } + + relaysBytes, _ := json.Marshal(relays) + if cluster.Metadata.Annotations == nil { + cluster.Metadata.Annotations = make(map[string]string) + } + cluster.Metadata.Annotations["relays"] = string(relaysBytes) + + return nil +} + +// GetRelayAgentsForCluster creates bootstrap agent for cluster +func (s *clusterService) GetRelaysConfigForCluster(ctx context.Context, cluster *infrav3.Cluster) ([]common.Relay, error) { + var relays []common.Relay + + resp, err := s.bs.SelectBootstrapAgentTemplates(ctx, query.WithOptions(&commonv3.QueryOptions{ + GlobalScope: true, + Selector: "rafay.dev/defaultRelay=true", + })) + if err != nil { + err = errors.Wrap(err, "unable to get bootstrap agent template") + return nil, err + } + + for _, bat := range resp.Items { + agent, err := s.bs.GetBootstrapAgent(ctx, bat.Metadata.Name, query.WithMeta(&commonv3.Metadata{ + Id: cluster.Metadata.Id, + Name: cluster.Metadata.Name, + Partner: cluster.Metadata.Partner, + Organization: cluster.Metadata.Organization, + Project: cluster.Metadata.Project, + })) + if err != nil { + err = errors.Wrap(err, "unable to get bootstrap agent") + return nil, err + } + + endpoint := "" + for _, host := range bat.Spec.Hosts { + if host.Type == sentry.BootstrapTemplateHostType_HostTypeExternal { + endpoint = host.Host + } + } + + if endpoint == "" { + return nil, fmt.Errorf("no external endpoint for relay bootstrap template %s", bat.Metadata.Name) + } + + relays = append(relays, common.Relay{ + Token: agent.Spec.Token, + Addr: getRelayBootstrapAddr(), + Endpoint: endpoint, + Name: bat.Metadata.Name, + TemplateToken: bat.Spec.Token, + }) + } + + return relays, nil +} + +// UpdateProjectsForCluster updates projects for bootstrap agent for cluster +func (s *clusterService) UpdateProjectsForBootstrapAgentForCluster(ctx context.Context, cluster *infrav3.Cluster) error { + + resp, err := s.bs.SelectBootstrapAgentTemplates(ctx, query.WithOptions(&commonv3.QueryOptions{ + GlobalScope: true, + Selector: "rafay.dev/defaultRelay=true", + })) + if err != nil { + return err + } + + // create bootstrap agent + for _, bat := range resp.Items { + + agent := &sentry.BootstrapAgent{ + Metadata: &commonv3.Metadata{ + Id: cluster.Metadata.Id, + Name: cluster.Metadata.Name, + Partner: cluster.Metadata.Partner, + Organization: cluster.Metadata.Organization, + Project: cluster.Metadata.Project, + Labels: map[string]string{ + "rafay.dev/clusterName": cluster.Metadata.Name, + }, + }, + Spec: &sentry.BootstrapAgentSpec{ + TemplateRef: fmt.Sprintf("template/%s", bat.Metadata.Name), + }, + } + + for _, project := range cluster.Spec.ClusterData.Projects { + agent.Metadata.Labels[fmt.Sprintf("project/%s", project.ProjectID)] = "" + } + + templateRef, err := sentryutil.GetTemplateScope(agent.Spec.TemplateRef) + if err != nil { + return err + } + + err = s.bs.PatchBootstrapAgent(ctx, agent, templateRef, query.WithMeta(agent.Metadata)) + if err != nil { + return err + } + + } + return nil +} + +func getRelayBootstrapAddr() string { + return viper.GetString("SENTRY_BOOTSTRAP_ADDR") +} + func (s *clusterService) notifyCluster(ctx context.Context, c *infrav3.Cluster) { b, err := json.Marshal(c.Metadata) if err != nil { diff --git a/components/cluster-scheduler/pkg/service/cluster_test.go b/pkg/service/cluster_test.go similarity index 75% rename from components/cluster-scheduler/pkg/service/cluster_test.go rename to pkg/service/cluster_test.go index 32d7c4e..a636110 100644 --- a/components/cluster-scheduler/pkg/service/cluster_test.go +++ b/pkg/service/cluster_test.go @@ -5,34 +5,15 @@ import ( "fmt" "testing" - goruntime "runtime" - "github.com/DATA-DOG/go-sqlmock" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/bootstrapper" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/pkg/common" + "github.com/RafaySystems/rcloud-base/pkg/query" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" "github.com/google/uuid" - "github.com/uptrace/bun" - "github.com/uptrace/bun/dialect/pgdialect" - "github.com/uptrace/bun/extra/bundebug" ) -func getDB(t *testing.T) (*bun.DB, sqlmock.Sqlmock) { - sqldb, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherRegexp)) - if err != nil { - t.Fatal("unable to create sqlmock:", err) - } - db := bun.NewDB(sqldb, pgdialect.New()) - db.AddQueryHook(bundebug.NewQueryHook( - bundebug.WithVerbose(true), - bundebug.FromEnv("BUNDEBUG"), - )) - return db, mock -} - func performClusterBasicChecks(t *testing.T, cluster *infrav3.Cluster, puuid string) { if cluster.GetMetadata().GetName() != "cluster-"+puuid { t.Error("invalid name returned") @@ -43,15 +24,13 @@ func TestCreateCluster(t *testing.T) { db, mock := getDB(t) defer db.Close() - sentryPool := sentryrpc.NewSentryPool("localhost:10000", 5*goruntime.NumCPU()) - - downloadData := &bootstrapper.DownloadData{ + downloadData := &common.DownloadData{ ControlAddr: "localhost:5002", APIAddr: "localhost:8000", RelayAgentImage: "rafaysystems/relay:latest", } - ps := NewClusterService(db, db, downloadData, sentryPool) + ps := NewClusterService(db, downloadData, NewBootstrapService(db)) defer ps.Close() puuid := uuid.New().String() @@ -91,15 +70,13 @@ func TestUpdateCluster(t *testing.T) { db, mock := getDB(t) defer db.Close() - sentryPool := sentryrpc.NewSentryPool("localhost:10000", 5*goruntime.NumCPU()) - - downloadData := &bootstrapper.DownloadData{ + downloadData := &common.DownloadData{ ControlAddr: "localhost:5002", APIAddr: "localhost:8000", RelayAgentImage: "rafaysystems/relay:latest", } - ps := NewClusterService(db, db, downloadData, sentryPool) + ps := NewClusterService(db, downloadData, NewBootstrapService(db)) defer ps.Close() puuid := uuid.New().String() @@ -128,15 +105,13 @@ func TestSelectCluster(t *testing.T) { db, mock := getDB(t) defer db.Close() - sentryPool := sentryrpc.NewSentryPool("localhost:10000", 5*goruntime.NumCPU()) - - downloadData := &bootstrapper.DownloadData{ + downloadData := &common.DownloadData{ ControlAddr: "localhost:5002", APIAddr: "localhost:8000", RelayAgentImage: "rafaysystems/relay:latest", } - ps := NewClusterService(db, db, downloadData, sentryPool) + ps := NewClusterService(db, downloadData, NewBootstrapService(db)) defer ps.Close() puuid := uuid.New().String() @@ -165,15 +140,13 @@ func TestGetCluster(t *testing.T) { db, mock := getDB(t) defer db.Close() - sentryPool := sentryrpc.NewSentryPool("localhost:10000", 5*goruntime.NumCPU()) - - downloadData := &bootstrapper.DownloadData{ + downloadData := &common.DownloadData{ ControlAddr: "localhost:5002", APIAddr: "localhost:8000", RelayAgentImage: "rafaysystems/relay:latest", } - ps := NewClusterService(db, db, downloadData, sentryPool) + ps := NewClusterService(db, downloadData, NewBootstrapService(db)) defer ps.Close() puuid := uuid.New().String() @@ -201,15 +174,13 @@ func TestListCluster(t *testing.T) { db, mock := getDB(t) defer db.Close() - sentryPool := sentryrpc.NewSentryPool("localhost:10000", 5*goruntime.NumCPU()) - - downloadData := &bootstrapper.DownloadData{ + downloadData := &common.DownloadData{ ControlAddr: "localhost:5002", APIAddr: "localhost:8000", RelayAgentImage: "rafaysystems/relay:latest", } - ps := NewClusterService(db, db, downloadData, sentryPool) + ps := NewClusterService(db, downloadData, NewBootstrapService(db)) defer ps.Close() puuid := uuid.New().String() diff --git a/pkg/service/const.go b/pkg/service/const.go new file mode 100644 index 0000000..0be52d4 --- /dev/null +++ b/pkg/service/const.go @@ -0,0 +1,6 @@ +package service + +const ( + apiVersion = "system.k8smgmt.io/v3" + partnerKind = "Partner" +) diff --git a/components/usermgmt/pkg/service/group.go b/pkg/service/group.go similarity index 95% rename from components/usermgmt/pkg/service/group.go rename to pkg/service/group.go index 32f38fd..6452b98 100644 --- a/components/usermgmt/pkg/service/group.go +++ b/pkg/service/group.go @@ -6,14 +6,13 @@ import ( "strconv" "time" - authzrpcv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/rpc/v1" - authzv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/types" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/pkg/utils" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - userv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/group/dao" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/internal/utils" + authzv1 "github.com/RafaySystems/rcloud-base/proto/types/authz" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + userv3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" @@ -46,11 +45,11 @@ type groupService struct { dao pg.EntityDAO gdao dao.GroupDAO l utils.Lookup - azc authzrpcv1.AuthzClient + azc AuthzService } // NewGroupService return new group service -func NewGroupService(db *bun.DB, azc authzrpcv1.AuthzClient) GroupService { +func NewGroupService(db *bun.DB, azc AuthzService) GroupService { return &groupService{ dao: pg.NewEntityDAO(db), gdao: dao.NewGroupDAO(db), diff --git a/components/adminsrv/pkg/service/group_permission.go b/pkg/service/group_permission.go similarity index 92% rename from components/adminsrv/pkg/service/group_permission.go rename to pkg/service/group_permission.go index e77e74a..4708d54 100644 --- a/components/adminsrv/pkg/service/group_permission.go +++ b/pkg/service/group_permission.go @@ -4,10 +4,10 @@ import ( "context" "encoding/json" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/dao" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" "github.com/uptrace/bun" ) diff --git a/components/adminsrv/pkg/service/group_permission_test.go b/pkg/service/group_permission_test.go similarity index 100% rename from components/adminsrv/pkg/service/group_permission_test.go rename to pkg/service/group_permission_test.go diff --git a/components/usermgmt/pkg/service/group_test.go b/pkg/service/group_test.go similarity index 97% rename from components/usermgmt/pkg/service/group_test.go rename to pkg/service/group_test.go index ad38f10..e30323c 100644 --- a/components/usermgmt/pkg/service/group_test.go +++ b/pkg/service/group_test.go @@ -6,27 +6,11 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - userv3 "github.com/RafaySystems/rcloud-base/components/usermgmt/proto/types/userpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + userv3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "github.com/google/uuid" - bun "github.com/uptrace/bun" - "github.com/uptrace/bun/dialect/pgdialect" - "github.com/uptrace/bun/extra/bundebug" ) -func getDB(t *testing.T) (*bun.DB, sqlmock.Sqlmock) { - sqldb, mock, err := sqlmock.New(sqlmock.QueryMatcherOption(sqlmock.QueryMatcherRegexp)) - if err != nil { - t.Fatal("unable to create sqlmock:", err) - } - db := bun.NewDB(sqldb, pgdialect.New()) - db.AddQueryHook(bundebug.NewQueryHook( - bundebug.WithVerbose(true), - bundebug.FromEnv("BUNDEBUG"), - )) - return db, mock -} - func performGroupBasicChecks(t *testing.T, group *userv3.Group, guuid string) { _, err := uuid.Parse(group.GetMetadata().GetOrganization()) if err == nil { @@ -391,7 +375,7 @@ func TestUpdateGroupWithUsersWithRoles(t *testing.T) { roles []*userv3.ProjectNamespaceRole dbname string }{ - {"user role udpate", []string{"user-" + uuid.New().String()}, []*userv3.ProjectNamespaceRole{{Role: uuid.New().String()}}, "authsrv_grouprole"}, + {"user role update", []string{"user-" + uuid.New().String()}, []*userv3.ProjectNamespaceRole{{Role: uuid.New().String()}}, "authsrv_grouprole"}, } for _, tc := range tt { t.Run(tc.name, func(t *testing.T) { @@ -526,7 +510,7 @@ func TestGroupDeleteNonExist(t *testing.T) { } _, err := gs.Delete(context.Background(), group) if err == nil { - t.Fatal("deleted non existant group") + t.Fatal("deleted non existent group") } } diff --git a/components/usermgmt/pkg/service/idp.go b/pkg/service/idp.go similarity index 97% rename from components/usermgmt/pkg/service/idp.go rename to pkg/service/idp.go index 1b499dd..e798c3a 100644 --- a/components/usermgmt/pkg/service/idp.go +++ b/pkg/service/idp.go @@ -14,10 +14,10 @@ import ( "net/url" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - systemv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/google/uuid" "github.com/uptrace/bun" "google.golang.org/grpc/codes" diff --git a/components/adminsrv/pkg/service/kubeconfig_revocation.go b/pkg/service/kubeconfig_revocation.go similarity index 87% rename from components/adminsrv/pkg/service/kubeconfig_revocation.go rename to pkg/service/kubeconfig_revocation.go index eb81856..40063b5 100644 --- a/components/adminsrv/pkg/service/kubeconfig_revocation.go +++ b/pkg/service/kubeconfig_revocation.go @@ -5,11 +5,11 @@ import ( "database/sql" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/constants" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/dao" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/constants" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" diff --git a/components/adminsrv/pkg/service/kubeconfig_revocation_test.go b/pkg/service/kubeconfig_revocation_test.go similarity index 100% rename from components/adminsrv/pkg/service/kubeconfig_revocation_test.go rename to pkg/service/kubeconfig_revocation_test.go diff --git a/components/adminsrv/pkg/service/kubeconfig_settings.go b/pkg/service/kubeconfig_settings.go similarity index 91% rename from components/adminsrv/pkg/service/kubeconfig_settings.go rename to pkg/service/kubeconfig_settings.go index 554ec6c..3038f96 100644 --- a/components/adminsrv/pkg/service/kubeconfig_settings.go +++ b/pkg/service/kubeconfig_settings.go @@ -5,11 +5,11 @@ import ( "database/sql" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/constants" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/dao" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/constants" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" diff --git a/components/adminsrv/pkg/service/kubectl_cluster_setting.go b/pkg/service/kubectl_cluster_setting.go similarity index 88% rename from components/adminsrv/pkg/service/kubectl_cluster_setting.go rename to pkg/service/kubectl_cluster_setting.go index 70cf722..f4a024b 100644 --- a/components/adminsrv/pkg/service/kubectl_cluster_setting.go +++ b/pkg/service/kubectl_cluster_setting.go @@ -5,11 +5,11 @@ import ( "database/sql" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/constants" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/dao" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/constants" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/google/uuid" "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" diff --git a/components/adminsrv/pkg/service/kubectl_cluster_setting_test.go b/pkg/service/kubectl_cluster_setting_test.go similarity index 100% rename from components/adminsrv/pkg/service/kubectl_cluster_setting_test.go rename to pkg/service/kubectl_cluster_setting_test.go diff --git a/components/cluster-scheduler/pkg/service/metro.go b/pkg/service/metro.go similarity index 90% rename from components/cluster-scheduler/pkg/service/metro.go rename to pkg/service/metro.go index 27b289d..2dd63dc 100644 --- a/components/cluster-scheduler/pkg/service/metro.go +++ b/pkg/service/metro.go @@ -4,10 +4,10 @@ import ( "context" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" @@ -34,22 +34,20 @@ type MetroService interface { // metroService implements MetroService type metroService struct { - dao pg.EntityDAO - adao pg.EntityDAO + dao pg.EntityDAO } // NewProjectService return new project service -func NewMetroService(db *bun.DB, adb *bun.DB) MetroService { +func NewMetroService(db *bun.DB) MetroService { return &metroService{ - dao: pg.NewEntityDAO(db), - adao: pg.NewEntityDAO(adb), + dao: pg.NewEntityDAO(db), } } func (s *metroService) Create(ctx context.Context, metro *infrav3.Location) (*infrav3.Location, error) { var part models.Partner - _, err := s.adao.GetByName(ctx, metro.Metadata.Partner, &part) + _, err := s.dao.GetByName(ctx, metro.Metadata.Partner, &part) if err != nil { return nil, err } @@ -193,7 +191,7 @@ func (s *metroService) List(ctx context.Context, partner string) (*infrav3.Locat var metrodbs []models.Metro var part models.Partner - _, err := s.adao.GetByName(ctx, partner, &part) + _, err := s.dao.GetByName(ctx, partner, &part) if err != nil { return nil, err } diff --git a/components/cluster-scheduler/pkg/service/metro_test.go b/pkg/service/metro_test.go similarity index 91% rename from components/cluster-scheduler/pkg/service/metro_test.go rename to pkg/service/metro_test.go index 9b71565..683feee 100644 --- a/components/cluster-scheduler/pkg/service/metro_test.go +++ b/pkg/service/metro_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" "github.com/google/uuid" ) @@ -21,7 +21,7 @@ func TestCreateMetro(t *testing.T) { db, mock := getDB(t) defer db.Close() - ps := NewMetroService(db, db) + ps := NewMetroService(db) defer ps.Close() puuid := uuid.New().String() @@ -48,7 +48,7 @@ func TestCreateMetroDuplicate(t *testing.T) { db, mock := getDB(t) defer db.Close() - gs := NewMetroService(db, db) + gs := NewMetroService(db) defer gs.Close() muuid := uuid.New().String() @@ -71,7 +71,7 @@ func TestMetroDelete(t *testing.T) { db, mock := getDB(t) defer db.Close() - ps := NewMetroService(db, db) + ps := NewMetroService(db) defer ps.Close() puuid := uuid.New().String() @@ -96,7 +96,7 @@ func TestMetroDeleteNonExist(t *testing.T) { db, mock := getDB(t) defer db.Close() - ps := NewMetroService(db, db) + ps := NewMetroService(db) defer ps.Close() puuid := uuid.New().String() @@ -118,7 +118,7 @@ func TestMetroGetByName(t *testing.T) { db, mock := getDB(t) defer db.Close() - ps := NewMetroService(db, db) + ps := NewMetroService(db) defer ps.Close() muuid := uuid.New().String() @@ -141,7 +141,7 @@ func TestMetroUpdate(t *testing.T) { db, mock := getDB(t) defer db.Close() - ps := NewMetroService(db, db) + ps := NewMetroService(db) defer ps.Close() puuid := uuid.New().String() diff --git a/components/usermgmt/pkg/service/mocks.go b/pkg/service/mocks.go similarity index 71% rename from components/usermgmt/pkg/service/mocks.go rename to pkg/service/mocks.go index b6ac322..f46cb61 100644 --- a/components/usermgmt/pkg/service/mocks.go +++ b/pkg/service/mocks.go @@ -4,8 +4,7 @@ import ( "context" "strings" - types "github.com/RafaySystems/rcloud-base/components/authz/proto/types" - "google.golang.org/grpc" + types "github.com/RafaySystems/rcloud-base/proto/types/authz" ) type ApUpdate struct { @@ -45,39 +44,39 @@ type mockAuthzClient struct { drpm []*types.FilteredRolePermissionMapping } -func (c *mockAuthzClient) Enforce(ctx context.Context, in *types.EnforceRequest, opts ...grpc.CallOption) (*types.BoolReply, error) { +func (c *mockAuthzClient) Enforce(ctx context.Context, in *types.EnforceRequest) (*types.BoolReply, error) { return &types.BoolReply{Res: true}, nil } -func (c *mockAuthzClient) ListPolicies(ctx context.Context, in *types.Policy, opts ...grpc.CallOption) (*types.Policies, error) { +func (c *mockAuthzClient) ListPolicies(ctx context.Context, in *types.Policy) (*types.Policies, error) { return &types.Policies{}, nil } -func (c *mockAuthzClient) CreatePolicies(ctx context.Context, in *types.Policies, opts ...grpc.CallOption) (*types.BoolReply, error) { +func (c *mockAuthzClient) CreatePolicies(ctx context.Context, in *types.Policies) (*types.BoolReply, error) { c.cp = append(c.cp, in) return &types.BoolReply{Res: true}, nil } -func (c *mockAuthzClient) DeletePolicies(ctx context.Context, in *types.Policy, opts ...grpc.CallOption) (*types.BoolReply, error) { +func (c *mockAuthzClient) DeletePolicies(ctx context.Context, in *types.Policy) (*types.BoolReply, error) { c.dp = append(c.dp, in) return &types.BoolReply{Res: true}, nil } -func (c *mockAuthzClient) ListUserGroups(ctx context.Context, in *types.UserGroup, opts ...grpc.CallOption) (*types.UserGroups, error) { +func (c *mockAuthzClient) ListUserGroups(ctx context.Context, in *types.UserGroup) (*types.UserGroups, error) { return &types.UserGroups{}, nil } -func (c *mockAuthzClient) CreateUserGroups(ctx context.Context, in *types.UserGroups, opts ...grpc.CallOption) (*types.BoolReply, error) { +func (c *mockAuthzClient) CreateUserGroups(ctx context.Context, in *types.UserGroups) (*types.BoolReply, error) { c.cug = append(c.cug, in) return &types.BoolReply{Res: true}, nil } -func (c *mockAuthzClient) DeleteUserGroups(ctx context.Context, in *types.UserGroup, opts ...grpc.CallOption) (*types.BoolReply, error) { +func (c *mockAuthzClient) DeleteUserGroups(ctx context.Context, in *types.UserGroup) (*types.BoolReply, error) { c.dug = append(c.dug, in) return &types.BoolReply{Res: true}, nil } -func (c *mockAuthzClient) ListRolePermissionMappings(ctx context.Context, in *types.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*types.RolePermissionMappingList, error) { +func (c *mockAuthzClient) ListRolePermissionMappings(ctx context.Context, in *types.FilteredRolePermissionMapping) (*types.RolePermissionMappingList, error) { return &types.RolePermissionMappingList{}, nil } -func (c *mockAuthzClient) CreateRolePermissionMappings(ctx context.Context, in *types.RolePermissionMappingList, opts ...grpc.CallOption) (*types.BoolReply, error) { +func (c *mockAuthzClient) CreateRolePermissionMappings(ctx context.Context, in *types.RolePermissionMappingList) (*types.BoolReply, error) { c.crpm = append(c.crpm, in) return &types.BoolReply{Res: true}, nil } -func (c *mockAuthzClient) DeleteRolePermissionMappings(ctx context.Context, in *types.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*types.BoolReply, error) { +func (c *mockAuthzClient) DeleteRolePermissionMappings(ctx context.Context, in *types.FilteredRolePermissionMapping) (*types.BoolReply, error) { c.drpm = append(c.drpm, in) return &types.BoolReply{Res: true}, nil } diff --git a/components/cluster-scheduler/pkg/service/namespace.go b/pkg/service/namespace.go similarity index 86% rename from components/cluster-scheduler/pkg/service/namespace.go rename to pkg/service/namespace.go index 821c5d2..4b150d2 100644 --- a/components/cluster-scheduler/pkg/service/namespace.go +++ b/pkg/service/namespace.go @@ -5,14 +5,13 @@ import ( "encoding/json" "strconv" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/models" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/patch" - "github.com/RafaySystems/rcloud-base/components/common/pkg/converter" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/config" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/scheduler" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/pkg/converter" + "github.com/RafaySystems/rcloud-base/pkg/patch" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/controller" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/scheduler" "github.com/google/uuid" ) @@ -28,7 +27,7 @@ func (s *clusterService) GetNamespacesForConditions(ctx context.Context, conditi var items []*scheduler.ClusterNamespace for _, cn := range cns { - ns := &config.NamespaceTemplate{} + ns := &scheduler.NamespaceTemplate{} if err = json.Unmarshal(cn.Namespace, ns); err != nil { return nil, nil } @@ -75,7 +74,7 @@ func (s *clusterService) GetNamespaces(ctx context.Context, clusterID string) (* var items []*scheduler.ClusterNamespace for _, cn := range cns { - ns := &config.NamespaceTemplate{} + ns := &scheduler.NamespaceTemplate{} if err = json.Unmarshal(cn.Namespace, ns); err != nil { return nil, nil } @@ -119,7 +118,7 @@ func (s *clusterService) GetNamespace(ctx context.Context, namespace string, clu return nil, err } - ns := &config.NamespaceTemplate{} + ns := &scheduler.NamespaceTemplate{} if err = json.Unmarshal(cn.Namespace, ns); err != nil { return nil, nil } diff --git a/components/usermgmt/pkg/service/oidc_provider.go b/pkg/service/oidc_provider.go similarity index 97% rename from components/usermgmt/pkg/service/oidc_provider.go rename to pkg/service/oidc_provider.go index 6beb263..fc591ef 100644 --- a/components/usermgmt/pkg/service/oidc_provider.go +++ b/pkg/service/oidc_provider.go @@ -8,10 +8,10 @@ import ( "net/url" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - systemv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" "google.golang.org/grpc/codes" diff --git a/components/adminsrv/pkg/service/organization.go b/pkg/service/organization.go similarity index 97% rename from components/adminsrv/pkg/service/organization.go rename to pkg/service/organization.go index 987b1b5..a7f2e02 100644 --- a/components/adminsrv/pkg/service/organization.go +++ b/pkg/service/organization.go @@ -6,10 +6,10 @@ import ( "fmt" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - systemv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" diff --git a/components/adminsrv/pkg/service/organization_test.go b/pkg/service/organization_test.go similarity index 97% rename from components/adminsrv/pkg/service/organization_test.go rename to pkg/service/organization_test.go index bb046fe..6f74024 100644 --- a/components/adminsrv/pkg/service/organization_test.go +++ b/pkg/service/organization_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - systemv3 "github.com/RafaySystems/rcloud-base/components/adminsrv/proto/types/systempb/v3" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/google/uuid" ) diff --git a/components/adminsrv/pkg/service/partner.go b/pkg/service/partner.go similarity index 96% rename from components/adminsrv/pkg/service/partner.go rename to pkg/service/partner.go index 9b05833..50b5335 100644 --- a/components/adminsrv/pkg/service/partner.go +++ b/pkg/service/partner.go @@ -5,20 +5,15 @@ import ( "encoding/json" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - systemv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" ) -const ( - apiVersion = "system.k8smgmt.io/v3" - partnerKind = "Partner" -) - // PartnerService is the interface for partner operations type PartnerService interface { Close() error diff --git a/components/adminsrv/pkg/service/partner_test.go b/pkg/service/partner_test.go similarity index 96% rename from components/adminsrv/pkg/service/partner_test.go rename to pkg/service/partner_test.go index ca09716..a67a5e4 100644 --- a/components/adminsrv/pkg/service/partner_test.go +++ b/pkg/service/partner_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - systemv3 "github.com/RafaySystems/rcloud-base/components/adminsrv/proto/types/systempb/v3" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" "github.com/uptrace/bun/dialect/pgdialect" diff --git a/components/adminsrv/pkg/service/project.go b/pkg/service/project.go similarity index 96% rename from components/adminsrv/pkg/service/project.go rename to pkg/service/project.go index c1a8800..602e059 100644 --- a/components/adminsrv/pkg/service/project.go +++ b/pkg/service/project.go @@ -5,10 +5,10 @@ import ( "fmt" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/models" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - systemv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" diff --git a/components/adminsrv/pkg/service/project_test.go b/pkg/service/project_test.go similarity index 96% rename from components/adminsrv/pkg/service/project_test.go rename to pkg/service/project_test.go index 63a3926..01d2470 100644 --- a/components/adminsrv/pkg/service/project_test.go +++ b/pkg/service/project_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - systemv3 "github.com/RafaySystems/rcloud-base/components/adminsrv/proto/types/systempb/v3" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/google/uuid" ) diff --git a/components/usermgmt/pkg/service/role.go b/pkg/service/role.go similarity index 93% rename from components/usermgmt/pkg/service/role.go rename to pkg/service/role.go index e6ce0be..4d767ce 100644 --- a/components/usermgmt/pkg/service/role.go +++ b/pkg/service/role.go @@ -5,14 +5,13 @@ import ( "fmt" "time" - authzrpcv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/rpc/v1" - authzv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/types" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/pkg/utils" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - rolev3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/role/dao" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/internal/utils" + authzv1 "github.com/RafaySystems/rcloud-base/proto/types/authz" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + rolev3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" @@ -45,11 +44,11 @@ type roleService struct { dao pg.EntityDAO rdao dao.RoleDAO l utils.Lookup - azc authzrpcv1.AuthzClient + azc AuthzService } // NewRoleService return new role service -func NewRoleService(db *bun.DB, azc authzrpcv1.AuthzClient) RoleService { +func NewRoleService(db *bun.DB, azc AuthzService) RoleService { return &roleService{ dao: pg.NewEntityDAO(db), rdao: dao.NewRoleDAO(db), diff --git a/components/usermgmt/pkg/service/role_test.go b/pkg/service/role_test.go similarity index 90% rename from components/usermgmt/pkg/service/role_test.go rename to pkg/service/role_test.go index aa27b74..62f84a6 100644 --- a/components/usermgmt/pkg/service/role_test.go +++ b/pkg/service/role_test.go @@ -6,12 +6,12 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - userv3 "github.com/RafaySystems/rcloud-base/components/usermgmt/proto/types/userpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + rolev3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" "github.com/google/uuid" ) -func performRoleBasicChecks(t *testing.T, role *userv3.Role, ruuid string) { +func performRoleBasicChecks(t *testing.T, role *rolev3.Role, ruuid string) { _, err := uuid.Parse(role.GetMetadata().GetOrganization()) if err == nil { t.Error("org in metadata should be name not id") @@ -69,17 +69,15 @@ func TestCreateRole(t *testing.T) { mock.ExpectQuery(`INSERT INTO "authsrv_resourcerole"`). WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ruuid)) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid, Name: "role-" + ruuid}, - Spec: &userv3.RoleSpec{IsGlobal: true, Scope: "cluster"}, + Spec: &rolev3.RoleSpec{IsGlobal: true, Scope: "cluster"}, } role, err := rs.Create(context.Background(), role) if err != nil { t.Fatal("could not create group:", err) } performRoleBasicChecks(t, role, ruuid) - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 0, 0) - performRoleBasicAuthzChecks(t, mazc, ruuid) } func TestCreateRoleWithPermissions(t *testing.T) { @@ -107,17 +105,15 @@ func TestCreateRoleWithPermissions(t *testing.T) { mock.ExpectQuery(`INSERT INTO "authsrv_resourcerolepermission"`). WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(uuid.New().String())) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid, Name: "role-" + ruuid}, - Spec: &userv3.RoleSpec{IsGlobal: true, Scope: "cluster", Rolepermissions: []string{"ops_star.all"}}, + Spec: &rolev3.RoleSpec{IsGlobal: true, Scope: "cluster", Rolepermissions: []string{"ops_star.all"}}, } role, err := rs.Create(context.Background(), role) if err != nil { t.Fatal("could not create group:", err) } performRoleBasicChecks(t, role, ruuid) - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 1, 0) - performRoleBasicAuthzChecks(t, mazc, ruuid) } @@ -143,16 +139,14 @@ func TestCreateRoleDuplicate(t *testing.T) { mock.ExpectQuery(`INSERT INTO "authsrv_resourcerole"`). WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ruuid)) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid, Name: "role-" + ruuid}, - Spec: &userv3.RoleSpec{IsGlobal: true, Scope: "cluster"}, + Spec: &rolev3.RoleSpec{IsGlobal: true, Scope: "cluster"}, } _, err := rs.Create(context.Background(), role) if err == nil { t.Error("should not be able to recreate group with same name") } - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 0, 0) - performRoleBasicAuthzChecks(t, mazc,ruuid) } func TestUpdateRole(t *testing.T) { @@ -184,17 +178,15 @@ func TestUpdateRole(t *testing.T) { mock.ExpectQuery(`INSERT INTO "authsrv_resourcerolepermission"`). WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id"}).AddRow(ruuid)) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid, Name: "role-" + ruuid}, - Spec: &userv3.RoleSpec{IsGlobal: true, Scope: "cluster", Rolepermissions: []string{"ops_star.all"}}, + Spec: &rolev3.RoleSpec{IsGlobal: true, Scope: "cluster", Rolepermissions: []string{"ops_star.all"}}, } role, err := rs.Update(context.Background(), role) if err != nil { t.Fatal("could not update role:", err) } performRoleBasicChecks(t, role, ruuid) - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 1, 1) - performRoleBasicAuthzChecks(t, mazc, ruuid) } func TestRoleDelete(t *testing.T) { @@ -220,15 +212,13 @@ func TestRoleDelete(t *testing.T) { mock.ExpectExec(`DELETE FROM "authsrv_resourcerole" AS "resourcerole" WHERE .id = '` + ruuid + `'.`). WillReturnResult(sqlmock.NewResult(1, 1)) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid, Name: "role-" + ruuid}, } _, err := rs.Delete(context.Background(), role) if err != nil { t.Error("could not delete role:", err) } - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 0, 1) - performRoleBasicAuthzChecks(t, mazc, ruuid) } func TestRoleDeleteNonExist(t *testing.T) { @@ -246,7 +236,7 @@ func TestRoleDeleteNonExist(t *testing.T) { mock.ExpectQuery(`SELECT "resourcerole"."id", "resourcerole"."name", .* FROM "authsrv_resourcerole" AS "resourcerole" WHERE`). WithArgs().WillReturnError(fmt.Errorf("No data available")) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid, Name: "role-" + ruuid}, } _, err := rs.Delete(context.Background(), role) @@ -254,8 +244,6 @@ func TestRoleDeleteNonExist(t *testing.T) { t.Error("deleted non existant role") } - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 0, 0) - performRoleBasicAuthzChecks(t, mazc, ruuid) } func TestRoleGetByName(t *testing.T) { @@ -280,7 +268,7 @@ func TestRoleGetByName(t *testing.T) { mock.ExpectQuery(`SELECT authsrv_resourcepermission.name as name FROM "authsrv_resourcepermission" JOIN authsrv_resourcerolepermission ON authsrv_resourcerolepermission.resource_permission_id=authsrv_resourcepermission.id WHERE .authsrv_resourcerolepermission.resource_role_id = '` + ruuid + `'`). WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id", "name"}).AddRow(rruuid, "resourcerole-"+rruuid)) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid, Name: "role-" + ruuid}, } role, err := rs.GetByName(context.Background(), role) @@ -288,8 +276,6 @@ func TestRoleGetByName(t *testing.T) { t.Fatal("could not get role:", err) } performRoleBasicChecks(t, role, ruuid) - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 0, 0) - performRoleBasicAuthzChecks(t, mazc, ruuid) } func TestRoleGetById(t *testing.T) { @@ -310,7 +296,7 @@ func TestRoleGetById(t *testing.T) { mock.ExpectQuery(`SELECT authsrv_resourcepermission.name as name FROM "authsrv_resourcepermission" JOIN authsrv_resourcerolepermission ON authsrv_resourcerolepermission.resource_permission_id=authsrv_resourcepermission.id WHERE .authsrv_resourcerolepermission.resource_role_id = '` + ruuid + `'`). WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id", "name"}).AddRow(rruuid, "resourcerole-"+rruuid)) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid, Id: ruuid}, } role, err := rs.GetByID(context.Background(), role) @@ -318,8 +304,6 @@ func TestRoleGetById(t *testing.T) { t.Fatal("could not get role:", err) } performRoleBasicChecks(t, role, ruuid) - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 0, 0) - performRoleBasicAuthzChecks(t, mazc, ruuid) } func TestRoleList(t *testing.T) { @@ -349,7 +333,7 @@ func TestRoleList(t *testing.T) { WithArgs().WillReturnRows(sqlmock.NewRows([]string{"name"}). AddRow("ops_star.all")) - role := &userv3.Role{ + role := &rolev3.Role{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid}, } rolelist, err := rs.List(context.Background(), role) @@ -362,6 +346,4 @@ func TestRoleList(t *testing.T) { if rolelist.Items[0].Metadata.Name != "role-"+ruuid1 || rolelist.Items[1].Metadata.Name != "role-"+ruuid2 { t.Errorf("incorrect role names returned when listing") } - performBasicAuthzChecks(t, mazc, 0, 0, 0, 0, 0, 0) - performRoleBasicAuthzChecks(t, mazc, ruuid1) } diff --git a/components/usermgmt/pkg/service/rolepermission.go b/pkg/service/rolepermission.go similarity index 89% rename from components/usermgmt/pkg/service/rolepermission.go rename to pkg/service/rolepermission.go index b9bdba6..6a4c3dd 100644 --- a/components/usermgmt/pkg/service/rolepermission.go +++ b/pkg/service/rolepermission.go @@ -3,11 +3,11 @@ package service import ( "context" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/pkg/utils" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - rolev3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/internal/utils" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + rolev3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" "github.com/google/uuid" bun "github.com/uptrace/bun" ) diff --git a/components/usermgmt/pkg/service/rolepermission_test.go b/pkg/service/rolepermission_test.go similarity index 85% rename from components/usermgmt/pkg/service/rolepermission_test.go rename to pkg/service/rolepermission_test.go index 4adcfc5..df3beb6 100644 --- a/components/usermgmt/pkg/service/rolepermission_test.go +++ b/pkg/service/rolepermission_test.go @@ -5,12 +5,12 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - userv3 "github.com/RafaySystems/rcloud-base/components/usermgmt/proto/types/userpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + rolev3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" "github.com/google/uuid" ) -func performRolePermissionBasicChecks(t *testing.T, role *userv3.RolePermission, ruuid string) { +func performRolePermissionBasicChecks(t *testing.T, role *rolev3.RolePermission, ruuid string) { _, err := uuid.Parse(role.GetMetadata().GetOrganization()) if err == nil { t.Error("org in metadata should be name not id") @@ -40,7 +40,7 @@ func TestRolePermissionList(t *testing.T) { WithArgs().WillReturnRows(sqlmock.NewRows([]string{"id", "name"}). AddRow(ruuid1, "role-"+ruuid1).AddRow(ruuid2, "role-"+ruuid2)) - role := &userv3.RolePermission{ + role := &rolev3.RolePermission{ Metadata: &v3.Metadata{Partner: "partner-" + puuid, Organization: "org-" + ouuid}, } rolelist, err := rs.List(context.Background(), role) diff --git a/components/usermgmt/pkg/service/test_utils.go b/pkg/service/test_utils.go similarity index 100% rename from components/usermgmt/pkg/service/test_utils.go rename to pkg/service/test_utils.go diff --git a/components/usermgmt/pkg/service/user.go b/pkg/service/user.go similarity index 93% rename from components/usermgmt/pkg/service/user.go rename to pkg/service/user.go index 745165f..e2a989f 100644 --- a/components/usermgmt/pkg/service/user.go +++ b/pkg/service/user.go @@ -10,16 +10,15 @@ import ( bun "github.com/uptrace/bun" "google.golang.org/protobuf/types/known/timestamppb" - authzrpcv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/rpc/v1" - authzv1 "github.com/RafaySystems/rcloud-base/components/authz/proto/types" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/common/pkg/utils" - userrpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/user" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - userv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/user/dao" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/providers" + "github.com/RafaySystems/rcloud-base/internal/dao" + "github.com/RafaySystems/rcloud-base/internal/models" + providers "github.com/RafaySystems/rcloud-base/internal/persistence/provider/kratos" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" + "github.com/RafaySystems/rcloud-base/internal/utils" + userrpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/user" + authzv1 "github.com/RafaySystems/rcloud-base/proto/types/authz" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + userv3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" ) const ( @@ -49,7 +48,7 @@ type userService struct { dao pg.EntityDAO udao dao.UserDAO l utils.Lookup - azc authzrpcv1.AuthzClient + azc AuthzService } type userTraits struct { @@ -66,7 +65,7 @@ type parsedIds struct { Organization uuid.UUID } -func NewUserService(ap providers.AuthProvider, db *bun.DB, azc authzrpcv1.AuthzClient) UserService { +func NewUserService(ap providers.AuthProvider, db *bun.DB, azc AuthzService) UserService { return &userService{ap: ap, dao: pg.NewEntityDAO(db), udao: dao.NewUserDAO(db), l: utils.NewLookup(db), azc: azc} } diff --git a/components/usermgmt/pkg/service/user_test.go b/pkg/service/user_test.go similarity index 93% rename from components/usermgmt/pkg/service/user_test.go rename to pkg/service/user_test.go index 1627176..f20014d 100644 --- a/components/usermgmt/pkg/service/user_test.go +++ b/pkg/service/user_test.go @@ -6,8 +6,8 @@ import ( "testing" "github.com/DATA-DOG/go-sqlmock" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - userv3 "github.com/RafaySystems/rcloud-base/components/usermgmt/proto/types/userpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + userv3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "github.com/google/uuid" ) @@ -58,8 +58,8 @@ func TestCreateUser(t *testing.T) { defer db.Close() ap := &mockAuthProvider{} - mazc := &mockAuthzClient{} - us := NewUserService(ap, db, mazc) + mazc := mockAuthzClient{} + us := NewUserService(ap, db, &mazc) defer us.Close() uuuid := uuid.New().String() @@ -83,9 +83,7 @@ func TestCreateUser(t *testing.T) { if user.GetMetadata().GetName() != "user-"+uuuid { t.Errorf("expected name 'user-%v'; got '%v'", uuuid, user.GetMetadata().GetName()) } - performBasicAuthzChecks(t, *mazc, 0, 0, 0, 0, 0, 0) performBasicAuthProviderChecks(t, *ap, 1, 0, 1, 0) - performUserBasicAuthzChecks(t, *mazc, uuuid, []*userv3.ProjectNamespaceRole{}) } func TestCreateUserWithRole(t *testing.T) { @@ -114,8 +112,8 @@ func TestCreateUserWithRole(t *testing.T) { defer db.Close() ap := &mockAuthProvider{} - mazc := &mockAuthzClient{} - us := NewUserService(ap, db, mazc) + mazc := mockAuthzClient{} + us := NewUserService(ap, db, &mazc) defer us.Close() uuuid := uuid.New().String() @@ -157,9 +155,7 @@ func TestCreateUserWithRole(t *testing.T) { t.Errorf("expected name 'user-%v'; got '%v'", uuuid, user.GetMetadata().GetName()) } - performBasicAuthzChecks(t, *mazc, 1, 0, 0, 0, 0, 0) performBasicAuthProviderChecks(t, *ap, 1, 0, 1, 0) - performUserBasicAuthzChecks(t, *mazc, uuuid, tc.roles) }) } } @@ -169,8 +165,8 @@ func TestUpdateUser(t *testing.T) { defer db.Close() ap := &mockAuthProvider{} - mazc := &mockAuthzClient{} - us := NewUserService(ap, db, mazc) + mazc := mockAuthzClient{} + us := NewUserService(ap, db, &mazc) defer us.Close() uuuid := uuid.New().String() @@ -215,9 +211,7 @@ func TestUpdateUser(t *testing.T) { if user.GetMetadata().GetName() != "user-"+uuuid { t.Errorf("expected name 'user-%v'; got '%v'", uuuid, user.GetMetadata().GetName()) } - performBasicAuthzChecks(t, *mazc, 1, 1, 0, 0, 0, 0) performBasicAuthProviderChecks(t, *ap, 0, 1, 0, 0) - performUserBasicAuthzChecks(t, *mazc, uuuid, user.Spec.ProjectNamespaceRoles) } func TestUserGetByName(t *testing.T) { @@ -225,8 +219,8 @@ func TestUserGetByName(t *testing.T) { defer db.Close() ap := &mockAuthProvider{} - mazc := &mockAuthzClient{} - us := NewUserService(ap, db, mazc) + mazc := mockAuthzClient{} + us := NewUserService(ap, db, &mazc) defer us.Close() uuuid := uuid.New().String() @@ -268,9 +262,7 @@ func TestUserGetByName(t *testing.T) { if user.GetSpec().GetProjectNamespaceRoles()[2].GetNamespace() != 9 { t.Errorf("invalid namespace in role returned for user, expected 9; got '%v'", user.GetSpec().GetProjectNamespaceRoles()[2].Namespace) } - performBasicAuthzChecks(t, *mazc, 0, 0, 0, 0, 0, 0) performBasicAuthProviderChecks(t, *ap, 0, 0, 0, 0) - performUserBasicAuthzChecks(t, *mazc, uuuid, user.Spec.ProjectNamespaceRoles) } func TestUserGetById(t *testing.T) { @@ -278,8 +270,8 @@ func TestUserGetById(t *testing.T) { defer db.Close() ap := &mockAuthProvider{} - mazc := &mockAuthzClient{} - us := NewUserService(ap, db, mazc) + mazc := mockAuthzClient{} + us := NewUserService(ap, db, &mazc) defer us.Close() uuuid := uuid.New().String() @@ -319,9 +311,7 @@ func TestUserGetById(t *testing.T) { t.Errorf("invalid namespace in role returned for user, expected 9; got '%v'", user.GetSpec().GetProjectNamespaceRoles()[2].Namespace) } - performBasicAuthzChecks(t, *mazc, 0, 0, 0, 0, 0, 0) performBasicAuthProviderChecks(t, *ap, 0, 0, 0, 0) - performUserBasicAuthzChecks(t, *mazc, uuuid, user.Spec.ProjectNamespaceRoles) } func TestUserList(t *testing.T) { @@ -329,8 +319,8 @@ func TestUserList(t *testing.T) { defer db.Close() ap := &mockAuthProvider{} - mazc := &mockAuthzClient{} - us := NewUserService(ap, db, mazc) + mazc := mockAuthzClient{} + us := NewUserService(ap, db, &mazc) defer us.Close() uuuid1 := uuid.New().String() @@ -390,9 +380,7 @@ func TestUserList(t *testing.T) { t.Errorf("invalid namespace in role returned for user, expected 9; got '%v'", userlist.Items[0].GetSpec().GetProjectNamespaceRoles()[2].Namespace) } - performBasicAuthzChecks(t, *mazc, 0, 0, 0, 0, 0, 0) performBasicAuthProviderChecks(t, *ap, 0, 0, 0, 0) - performUserBasicAuthzChecks(t, *mazc, uuuid2, []*userv3.ProjectNamespaceRole{}) } func TestUserDelete(t *testing.T) { @@ -400,8 +388,8 @@ func TestUserDelete(t *testing.T) { defer db.Close() ap := &mockAuthProvider{} - mazc := &mockAuthzClient{} - us := NewUserService(ap, db, mazc) + mazc := mockAuthzClient{} + us := NewUserService(ap, db, &mazc) defer us.Close() uuuid := uuid.New().String() @@ -428,7 +416,5 @@ func TestUserDelete(t *testing.T) { t.Fatal("could not delete user:", err) } - performBasicAuthzChecks(t, *mazc, 0, 1, 0, 0, 0, 0) performBasicAuthProviderChecks(t, *ap, 0, 0, 0, 1) - performUserBasicAuthzChecks(t, *mazc, uuuid, []*userv3.ProjectNamespaceRole{}) } diff --git a/components/usermgmt/pkg/sso/saml/middleware.go b/pkg/sso/saml/middleware.go similarity index 98% rename from components/usermgmt/pkg/sso/saml/middleware.go rename to pkg/sso/saml/middleware.go index e7d5af5..d955e45 100644 --- a/components/usermgmt/pkg/sso/saml/middleware.go +++ b/pkg/sso/saml/middleware.go @@ -11,7 +11,7 @@ import ( "os" "strings" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" "github.com/crewjam/saml" "github.com/crewjam/saml/samlsp" ) diff --git a/components/usermgmt/pkg/sso/saml/saml.go b/pkg/sso/saml/saml.go similarity index 77% rename from components/usermgmt/pkg/sso/saml/saml.go rename to pkg/sso/saml/saml.go index d4aebf0..86d489c 100644 --- a/components/usermgmt/pkg/sso/saml/saml.go +++ b/pkg/sso/saml/saml.go @@ -1,7 +1,7 @@ package saml import ( - pg "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" + pg "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" "github.com/crewjam/saml/samlsp" "github.com/uptrace/bun" ) diff --git a/components/usermgmt/pkg/sso/saml/saml_test.go b/pkg/sso/saml/saml_test.go similarity index 100% rename from components/usermgmt/pkg/sso/saml/saml_test.go rename to pkg/sso/saml/saml_test.go diff --git a/proto/rpc/authz/authz.pb.go b/proto/rpc/authz/authz.pb.go new file mode 100644 index 0000000..8a57524 --- /dev/null +++ b/proto/rpc/authz/authz.pb.go @@ -0,0 +1,175 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc (unknown) +// source: proto/rpc/authz/authz.proto + +package authzv1 + +import ( + authz "github.com/RafaySystems/rcloud-base/proto/types/authz" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +var File_proto_rpc_authz_authz_proto protoreflect.FileDescriptor + +var file_proto_rpc_authz_authz_proto_rawDesc = []byte{ + 0x0a, 0x1b, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x61, 0x75, 0x74, + 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x1a, 0x1d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x32, 0x9e, 0x08, 0x0a, 0x05, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x12, 0x5a, + 0x0a, 0x07, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x12, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x56, 0x0a, 0x0c, 0x4c, 0x69, + 0x73, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x20, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, + 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0x22, 0x2e, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, + 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, + 0x22, 0x00, 0x12, 0x5b, 0x0a, 0x0e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, + 0x63, 0x69, 0x65, 0x73, 0x12, 0x22, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, + 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, + 0x59, 0x0a, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x12, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5d, 0x0a, 0x0e, 0x4c, 0x69, + 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x23, 0x2e, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, + 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, + 0x70, 0x1a, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, + 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x00, 0x12, 0x5f, 0x0a, 0x10, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x24, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x5e, 0x0a, 0x10, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x23, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, + 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x8c, 0x01, 0x0a, 0x1a, 0x4c, + 0x69, 0x73, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x37, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x6f, 0x6c, + 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, + 0x6e, 0x67, 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, + 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x00, 0x12, 0x7a, 0x0a, 0x1c, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x33, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x1a, 0x23, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x00, 0x12, 0x7e, 0x0a, 0x1c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, + 0x70, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x37, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, + 0x2e, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x1a, 0x23, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, + 0x70, 0x6c, 0x79, 0x22, 0x00, 0x42, 0xe2, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, + 0x50, 0x01, 0x5a, 0x3b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, + 0x63, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x31, 0xa2, + 0x02, 0x04, 0x52, 0x44, 0x52, 0x41, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, + 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x56, 0x31, 0xca, + 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, + 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1a, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, + 0x3a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, +} + +var file_proto_rpc_authz_authz_proto_goTypes = []interface{}{ + (*authz.EnforceRequest)(nil), // 0: rafay.dev.types.authz.v1.EnforceRequest + (*authz.Policy)(nil), // 1: rafay.dev.types.authz.v1.Policy + (*authz.Policies)(nil), // 2: rafay.dev.types.authz.v1.Policies + (*authz.UserGroup)(nil), // 3: rafay.dev.types.authz.v1.UserGroup + (*authz.UserGroups)(nil), // 4: rafay.dev.types.authz.v1.UserGroups + (*authz.FilteredRolePermissionMapping)(nil), // 5: rafay.dev.types.authz.v1.FilteredRolePermissionMapping + (*authz.RolePermissionMappingList)(nil), // 6: rafay.dev.types.authz.v1.RolePermissionMappingList + (*authz.BoolReply)(nil), // 7: rafay.dev.types.authz.v1.BoolReply +} +var file_proto_rpc_authz_authz_proto_depIdxs = []int32{ + 0, // 0: rafay.dev.rpc.authz.v1.Authz.Enforce:input_type -> rafay.dev.types.authz.v1.EnforceRequest + 1, // 1: rafay.dev.rpc.authz.v1.Authz.ListPolicies:input_type -> rafay.dev.types.authz.v1.Policy + 2, // 2: rafay.dev.rpc.authz.v1.Authz.CreatePolicies:input_type -> rafay.dev.types.authz.v1.Policies + 1, // 3: rafay.dev.rpc.authz.v1.Authz.DeletePolicies:input_type -> rafay.dev.types.authz.v1.Policy + 3, // 4: rafay.dev.rpc.authz.v1.Authz.ListUserGroups:input_type -> rafay.dev.types.authz.v1.UserGroup + 4, // 5: rafay.dev.rpc.authz.v1.Authz.CreateUserGroups:input_type -> rafay.dev.types.authz.v1.UserGroups + 3, // 6: rafay.dev.rpc.authz.v1.Authz.DeleteUserGroups:input_type -> rafay.dev.types.authz.v1.UserGroup + 5, // 7: rafay.dev.rpc.authz.v1.Authz.ListRolePermissionMappings:input_type -> rafay.dev.types.authz.v1.FilteredRolePermissionMapping + 6, // 8: rafay.dev.rpc.authz.v1.Authz.CreateRolePermissionMappings:input_type -> rafay.dev.types.authz.v1.RolePermissionMappingList + 5, // 9: rafay.dev.rpc.authz.v1.Authz.DeleteRolePermissionMappings:input_type -> rafay.dev.types.authz.v1.FilteredRolePermissionMapping + 7, // 10: rafay.dev.rpc.authz.v1.Authz.Enforce:output_type -> rafay.dev.types.authz.v1.BoolReply + 2, // 11: rafay.dev.rpc.authz.v1.Authz.ListPolicies:output_type -> rafay.dev.types.authz.v1.Policies + 7, // 12: rafay.dev.rpc.authz.v1.Authz.CreatePolicies:output_type -> rafay.dev.types.authz.v1.BoolReply + 7, // 13: rafay.dev.rpc.authz.v1.Authz.DeletePolicies:output_type -> rafay.dev.types.authz.v1.BoolReply + 4, // 14: rafay.dev.rpc.authz.v1.Authz.ListUserGroups:output_type -> rafay.dev.types.authz.v1.UserGroups + 7, // 15: rafay.dev.rpc.authz.v1.Authz.CreateUserGroups:output_type -> rafay.dev.types.authz.v1.BoolReply + 7, // 16: rafay.dev.rpc.authz.v1.Authz.DeleteUserGroups:output_type -> rafay.dev.types.authz.v1.BoolReply + 6, // 17: rafay.dev.rpc.authz.v1.Authz.ListRolePermissionMappings:output_type -> rafay.dev.types.authz.v1.RolePermissionMappingList + 7, // 18: rafay.dev.rpc.authz.v1.Authz.CreateRolePermissionMappings:output_type -> rafay.dev.types.authz.v1.BoolReply + 7, // 19: rafay.dev.rpc.authz.v1.Authz.DeleteRolePermissionMappings:output_type -> rafay.dev.types.authz.v1.BoolReply + 10, // [10:20] is the sub-list for method output_type + 0, // [0:10] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name +} + +func init() { file_proto_rpc_authz_authz_proto_init() } +func file_proto_rpc_authz_authz_proto_init() { + if File_proto_rpc_authz_authz_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_rpc_authz_authz_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 1, + }, + GoTypes: file_proto_rpc_authz_authz_proto_goTypes, + DependencyIndexes: file_proto_rpc_authz_authz_proto_depIdxs, + }.Build() + File_proto_rpc_authz_authz_proto = out.File + file_proto_rpc_authz_authz_proto_rawDesc = nil + file_proto_rpc_authz_authz_proto_goTypes = nil + file_proto_rpc_authz_authz_proto_depIdxs = nil +} diff --git a/components/authz/proto/rpc/v1/authz.proto b/proto/rpc/authz/authz.proto similarity index 78% rename from components/authz/proto/rpc/v1/authz.proto rename to proto/rpc/authz/authz.proto index 80acc3a..63392ba 100644 --- a/components/authz/proto/rpc/v1/authz.proto +++ b/proto/rpc/authz/authz.proto @@ -1,19 +1,7 @@ syntax = "proto3"; package rafay.dev.rpc.authz.v1; -import "proto/types/authz.proto"; -import "gogoproto/gogo.proto"; - -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; +import "proto/types/authz/authz.proto"; service Authz { rpc Enforce (rafay.dev.types.authz.v1.EnforceRequest) diff --git a/components/authz/proto/rpc/v1/authz_grpc.pb.go b/proto/rpc/authz/authz_grpc.pb.go similarity index 72% rename from components/authz/proto/rpc/v1/authz_grpc.pb.go rename to proto/rpc/authz/authz_grpc.pb.go index c5016d2..e0e5296 100644 --- a/components/authz/proto/rpc/v1/authz_grpc.pb.go +++ b/proto/rpc/authz/authz_grpc.pb.go @@ -2,13 +2,13 @@ // versions: // - protoc-gen-go-grpc v1.2.0 // - protoc (unknown) -// source: proto/rpc/v1/authz.proto +// source: proto/rpc/authz/authz.proto package authzv1 import ( context "context" - types "github.com/RafaySystems/rcloud-base/components/authz/proto/types" + authz "github.com/RafaySystems/rcloud-base/proto/types/authz" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -23,7 +23,7 @@ const _ = grpc.SupportPackageIsVersion7 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type AuthzClient interface { - Enforce(ctx context.Context, in *types.EnforceRequest, opts ...grpc.CallOption) (*types.BoolReply, error) + Enforce(ctx context.Context, in *authz.EnforceRequest, opts ...grpc.CallOption) (*authz.BoolReply, error) // List Policies accpets Policy whose fileds are used for filtering // Filtering is done per field for the policy // For Example: @@ -35,15 +35,15 @@ type AuthzClient interface { // obj => "" // act => "" // Returns policies related to project1 and org1 (Empty string matches all) - ListPolicies(ctx context.Context, in *types.Policy, opts ...grpc.CallOption) (*types.Policies, error) - CreatePolicies(ctx context.Context, in *types.Policies, opts ...grpc.CallOption) (*types.BoolReply, error) - DeletePolicies(ctx context.Context, in *types.Policy, opts ...grpc.CallOption) (*types.BoolReply, error) - ListUserGroups(ctx context.Context, in *types.UserGroup, opts ...grpc.CallOption) (*types.UserGroups, error) - CreateUserGroups(ctx context.Context, in *types.UserGroups, opts ...grpc.CallOption) (*types.BoolReply, error) - DeleteUserGroups(ctx context.Context, in *types.UserGroup, opts ...grpc.CallOption) (*types.BoolReply, error) - ListRolePermissionMappings(ctx context.Context, in *types.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*types.RolePermissionMappingList, error) - CreateRolePermissionMappings(ctx context.Context, in *types.RolePermissionMappingList, opts ...grpc.CallOption) (*types.BoolReply, error) - DeleteRolePermissionMappings(ctx context.Context, in *types.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*types.BoolReply, error) + ListPolicies(ctx context.Context, in *authz.Policy, opts ...grpc.CallOption) (*authz.Policies, error) + CreatePolicies(ctx context.Context, in *authz.Policies, opts ...grpc.CallOption) (*authz.BoolReply, error) + DeletePolicies(ctx context.Context, in *authz.Policy, opts ...grpc.CallOption) (*authz.BoolReply, error) + ListUserGroups(ctx context.Context, in *authz.UserGroup, opts ...grpc.CallOption) (*authz.UserGroups, error) + CreateUserGroups(ctx context.Context, in *authz.UserGroups, opts ...grpc.CallOption) (*authz.BoolReply, error) + DeleteUserGroups(ctx context.Context, in *authz.UserGroup, opts ...grpc.CallOption) (*authz.BoolReply, error) + ListRolePermissionMappings(ctx context.Context, in *authz.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*authz.RolePermissionMappingList, error) + CreateRolePermissionMappings(ctx context.Context, in *authz.RolePermissionMappingList, opts ...grpc.CallOption) (*authz.BoolReply, error) + DeleteRolePermissionMappings(ctx context.Context, in *authz.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*authz.BoolReply, error) } type authzClient struct { @@ -54,8 +54,8 @@ func NewAuthzClient(cc grpc.ClientConnInterface) AuthzClient { return &authzClient{cc} } -func (c *authzClient) Enforce(ctx context.Context, in *types.EnforceRequest, opts ...grpc.CallOption) (*types.BoolReply, error) { - out := new(types.BoolReply) +func (c *authzClient) Enforce(ctx context.Context, in *authz.EnforceRequest, opts ...grpc.CallOption) (*authz.BoolReply, error) { + out := new(authz.BoolReply) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/Enforce", in, out, opts...) if err != nil { return nil, err @@ -63,8 +63,8 @@ func (c *authzClient) Enforce(ctx context.Context, in *types.EnforceRequest, opt return out, nil } -func (c *authzClient) ListPolicies(ctx context.Context, in *types.Policy, opts ...grpc.CallOption) (*types.Policies, error) { - out := new(types.Policies) +func (c *authzClient) ListPolicies(ctx context.Context, in *authz.Policy, opts ...grpc.CallOption) (*authz.Policies, error) { + out := new(authz.Policies) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/ListPolicies", in, out, opts...) if err != nil { return nil, err @@ -72,8 +72,8 @@ func (c *authzClient) ListPolicies(ctx context.Context, in *types.Policy, opts . return out, nil } -func (c *authzClient) CreatePolicies(ctx context.Context, in *types.Policies, opts ...grpc.CallOption) (*types.BoolReply, error) { - out := new(types.BoolReply) +func (c *authzClient) CreatePolicies(ctx context.Context, in *authz.Policies, opts ...grpc.CallOption) (*authz.BoolReply, error) { + out := new(authz.BoolReply) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/CreatePolicies", in, out, opts...) if err != nil { return nil, err @@ -81,8 +81,8 @@ func (c *authzClient) CreatePolicies(ctx context.Context, in *types.Policies, op return out, nil } -func (c *authzClient) DeletePolicies(ctx context.Context, in *types.Policy, opts ...grpc.CallOption) (*types.BoolReply, error) { - out := new(types.BoolReply) +func (c *authzClient) DeletePolicies(ctx context.Context, in *authz.Policy, opts ...grpc.CallOption) (*authz.BoolReply, error) { + out := new(authz.BoolReply) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/DeletePolicies", in, out, opts...) if err != nil { return nil, err @@ -90,8 +90,8 @@ func (c *authzClient) DeletePolicies(ctx context.Context, in *types.Policy, opts return out, nil } -func (c *authzClient) ListUserGroups(ctx context.Context, in *types.UserGroup, opts ...grpc.CallOption) (*types.UserGroups, error) { - out := new(types.UserGroups) +func (c *authzClient) ListUserGroups(ctx context.Context, in *authz.UserGroup, opts ...grpc.CallOption) (*authz.UserGroups, error) { + out := new(authz.UserGroups) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/ListUserGroups", in, out, opts...) if err != nil { return nil, err @@ -99,8 +99,8 @@ func (c *authzClient) ListUserGroups(ctx context.Context, in *types.UserGroup, o return out, nil } -func (c *authzClient) CreateUserGroups(ctx context.Context, in *types.UserGroups, opts ...grpc.CallOption) (*types.BoolReply, error) { - out := new(types.BoolReply) +func (c *authzClient) CreateUserGroups(ctx context.Context, in *authz.UserGroups, opts ...grpc.CallOption) (*authz.BoolReply, error) { + out := new(authz.BoolReply) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/CreateUserGroups", in, out, opts...) if err != nil { return nil, err @@ -108,8 +108,8 @@ func (c *authzClient) CreateUserGroups(ctx context.Context, in *types.UserGroups return out, nil } -func (c *authzClient) DeleteUserGroups(ctx context.Context, in *types.UserGroup, opts ...grpc.CallOption) (*types.BoolReply, error) { - out := new(types.BoolReply) +func (c *authzClient) DeleteUserGroups(ctx context.Context, in *authz.UserGroup, opts ...grpc.CallOption) (*authz.BoolReply, error) { + out := new(authz.BoolReply) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/DeleteUserGroups", in, out, opts...) if err != nil { return nil, err @@ -117,8 +117,8 @@ func (c *authzClient) DeleteUserGroups(ctx context.Context, in *types.UserGroup, return out, nil } -func (c *authzClient) ListRolePermissionMappings(ctx context.Context, in *types.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*types.RolePermissionMappingList, error) { - out := new(types.RolePermissionMappingList) +func (c *authzClient) ListRolePermissionMappings(ctx context.Context, in *authz.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*authz.RolePermissionMappingList, error) { + out := new(authz.RolePermissionMappingList) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/ListRolePermissionMappings", in, out, opts...) if err != nil { return nil, err @@ -126,8 +126,8 @@ func (c *authzClient) ListRolePermissionMappings(ctx context.Context, in *types. return out, nil } -func (c *authzClient) CreateRolePermissionMappings(ctx context.Context, in *types.RolePermissionMappingList, opts ...grpc.CallOption) (*types.BoolReply, error) { - out := new(types.BoolReply) +func (c *authzClient) CreateRolePermissionMappings(ctx context.Context, in *authz.RolePermissionMappingList, opts ...grpc.CallOption) (*authz.BoolReply, error) { + out := new(authz.BoolReply) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/CreateRolePermissionMappings", in, out, opts...) if err != nil { return nil, err @@ -135,8 +135,8 @@ func (c *authzClient) CreateRolePermissionMappings(ctx context.Context, in *type return out, nil } -func (c *authzClient) DeleteRolePermissionMappings(ctx context.Context, in *types.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*types.BoolReply, error) { - out := new(types.BoolReply) +func (c *authzClient) DeleteRolePermissionMappings(ctx context.Context, in *authz.FilteredRolePermissionMapping, opts ...grpc.CallOption) (*authz.BoolReply, error) { + out := new(authz.BoolReply) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.authz.v1.Authz/DeleteRolePermissionMappings", in, out, opts...) if err != nil { return nil, err @@ -148,7 +148,7 @@ func (c *authzClient) DeleteRolePermissionMappings(ctx context.Context, in *type // All implementations should embed UnimplementedAuthzServer // for forward compatibility type AuthzServer interface { - Enforce(context.Context, *types.EnforceRequest) (*types.BoolReply, error) + Enforce(context.Context, *authz.EnforceRequest) (*authz.BoolReply, error) // List Policies accpets Policy whose fileds are used for filtering // Filtering is done per field for the policy // For Example: @@ -160,49 +160,49 @@ type AuthzServer interface { // obj => "" // act => "" // Returns policies related to project1 and org1 (Empty string matches all) - ListPolicies(context.Context, *types.Policy) (*types.Policies, error) - CreatePolicies(context.Context, *types.Policies) (*types.BoolReply, error) - DeletePolicies(context.Context, *types.Policy) (*types.BoolReply, error) - ListUserGroups(context.Context, *types.UserGroup) (*types.UserGroups, error) - CreateUserGroups(context.Context, *types.UserGroups) (*types.BoolReply, error) - DeleteUserGroups(context.Context, *types.UserGroup) (*types.BoolReply, error) - ListRolePermissionMappings(context.Context, *types.FilteredRolePermissionMapping) (*types.RolePermissionMappingList, error) - CreateRolePermissionMappings(context.Context, *types.RolePermissionMappingList) (*types.BoolReply, error) - DeleteRolePermissionMappings(context.Context, *types.FilteredRolePermissionMapping) (*types.BoolReply, error) + ListPolicies(context.Context, *authz.Policy) (*authz.Policies, error) + CreatePolicies(context.Context, *authz.Policies) (*authz.BoolReply, error) + DeletePolicies(context.Context, *authz.Policy) (*authz.BoolReply, error) + ListUserGroups(context.Context, *authz.UserGroup) (*authz.UserGroups, error) + CreateUserGroups(context.Context, *authz.UserGroups) (*authz.BoolReply, error) + DeleteUserGroups(context.Context, *authz.UserGroup) (*authz.BoolReply, error) + ListRolePermissionMappings(context.Context, *authz.FilteredRolePermissionMapping) (*authz.RolePermissionMappingList, error) + CreateRolePermissionMappings(context.Context, *authz.RolePermissionMappingList) (*authz.BoolReply, error) + DeleteRolePermissionMappings(context.Context, *authz.FilteredRolePermissionMapping) (*authz.BoolReply, error) } // UnimplementedAuthzServer should be embedded to have forward compatible implementations. type UnimplementedAuthzServer struct { } -func (UnimplementedAuthzServer) Enforce(context.Context, *types.EnforceRequest) (*types.BoolReply, error) { +func (UnimplementedAuthzServer) Enforce(context.Context, *authz.EnforceRequest) (*authz.BoolReply, error) { return nil, status.Errorf(codes.Unimplemented, "method Enforce not implemented") } -func (UnimplementedAuthzServer) ListPolicies(context.Context, *types.Policy) (*types.Policies, error) { +func (UnimplementedAuthzServer) ListPolicies(context.Context, *authz.Policy) (*authz.Policies, error) { return nil, status.Errorf(codes.Unimplemented, "method ListPolicies not implemented") } -func (UnimplementedAuthzServer) CreatePolicies(context.Context, *types.Policies) (*types.BoolReply, error) { +func (UnimplementedAuthzServer) CreatePolicies(context.Context, *authz.Policies) (*authz.BoolReply, error) { return nil, status.Errorf(codes.Unimplemented, "method CreatePolicies not implemented") } -func (UnimplementedAuthzServer) DeletePolicies(context.Context, *types.Policy) (*types.BoolReply, error) { +func (UnimplementedAuthzServer) DeletePolicies(context.Context, *authz.Policy) (*authz.BoolReply, error) { return nil, status.Errorf(codes.Unimplemented, "method DeletePolicies not implemented") } -func (UnimplementedAuthzServer) ListUserGroups(context.Context, *types.UserGroup) (*types.UserGroups, error) { +func (UnimplementedAuthzServer) ListUserGroups(context.Context, *authz.UserGroup) (*authz.UserGroups, error) { return nil, status.Errorf(codes.Unimplemented, "method ListUserGroups not implemented") } -func (UnimplementedAuthzServer) CreateUserGroups(context.Context, *types.UserGroups) (*types.BoolReply, error) { +func (UnimplementedAuthzServer) CreateUserGroups(context.Context, *authz.UserGroups) (*authz.BoolReply, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateUserGroups not implemented") } -func (UnimplementedAuthzServer) DeleteUserGroups(context.Context, *types.UserGroup) (*types.BoolReply, error) { +func (UnimplementedAuthzServer) DeleteUserGroups(context.Context, *authz.UserGroup) (*authz.BoolReply, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteUserGroups not implemented") } -func (UnimplementedAuthzServer) ListRolePermissionMappings(context.Context, *types.FilteredRolePermissionMapping) (*types.RolePermissionMappingList, error) { +func (UnimplementedAuthzServer) ListRolePermissionMappings(context.Context, *authz.FilteredRolePermissionMapping) (*authz.RolePermissionMappingList, error) { return nil, status.Errorf(codes.Unimplemented, "method ListRolePermissionMappings not implemented") } -func (UnimplementedAuthzServer) CreateRolePermissionMappings(context.Context, *types.RolePermissionMappingList) (*types.BoolReply, error) { +func (UnimplementedAuthzServer) CreateRolePermissionMappings(context.Context, *authz.RolePermissionMappingList) (*authz.BoolReply, error) { return nil, status.Errorf(codes.Unimplemented, "method CreateRolePermissionMappings not implemented") } -func (UnimplementedAuthzServer) DeleteRolePermissionMappings(context.Context, *types.FilteredRolePermissionMapping) (*types.BoolReply, error) { +func (UnimplementedAuthzServer) DeleteRolePermissionMappings(context.Context, *authz.FilteredRolePermissionMapping) (*authz.BoolReply, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteRolePermissionMappings not implemented") } @@ -218,7 +218,7 @@ func RegisterAuthzServer(s grpc.ServiceRegistrar, srv AuthzServer) { } func _Authz_Enforce_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.EnforceRequest) + in := new(authz.EnforceRequest) if err := dec(in); err != nil { return nil, err } @@ -230,13 +230,13 @@ func _Authz_Enforce_Handler(srv interface{}, ctx context.Context, dec func(inter FullMethod: "/rafay.dev.rpc.authz.v1.Authz/Enforce", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).Enforce(ctx, req.(*types.EnforceRequest)) + return srv.(AuthzServer).Enforce(ctx, req.(*authz.EnforceRequest)) } return interceptor(ctx, in, info, handler) } func _Authz_ListPolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.Policy) + in := new(authz.Policy) if err := dec(in); err != nil { return nil, err } @@ -248,13 +248,13 @@ func _Authz_ListPolicies_Handler(srv interface{}, ctx context.Context, dec func( FullMethod: "/rafay.dev.rpc.authz.v1.Authz/ListPolicies", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).ListPolicies(ctx, req.(*types.Policy)) + return srv.(AuthzServer).ListPolicies(ctx, req.(*authz.Policy)) } return interceptor(ctx, in, info, handler) } func _Authz_CreatePolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.Policies) + in := new(authz.Policies) if err := dec(in); err != nil { return nil, err } @@ -266,13 +266,13 @@ func _Authz_CreatePolicies_Handler(srv interface{}, ctx context.Context, dec fun FullMethod: "/rafay.dev.rpc.authz.v1.Authz/CreatePolicies", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).CreatePolicies(ctx, req.(*types.Policies)) + return srv.(AuthzServer).CreatePolicies(ctx, req.(*authz.Policies)) } return interceptor(ctx, in, info, handler) } func _Authz_DeletePolicies_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.Policy) + in := new(authz.Policy) if err := dec(in); err != nil { return nil, err } @@ -284,13 +284,13 @@ func _Authz_DeletePolicies_Handler(srv interface{}, ctx context.Context, dec fun FullMethod: "/rafay.dev.rpc.authz.v1.Authz/DeletePolicies", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).DeletePolicies(ctx, req.(*types.Policy)) + return srv.(AuthzServer).DeletePolicies(ctx, req.(*authz.Policy)) } return interceptor(ctx, in, info, handler) } func _Authz_ListUserGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.UserGroup) + in := new(authz.UserGroup) if err := dec(in); err != nil { return nil, err } @@ -302,13 +302,13 @@ func _Authz_ListUserGroups_Handler(srv interface{}, ctx context.Context, dec fun FullMethod: "/rafay.dev.rpc.authz.v1.Authz/ListUserGroups", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).ListUserGroups(ctx, req.(*types.UserGroup)) + return srv.(AuthzServer).ListUserGroups(ctx, req.(*authz.UserGroup)) } return interceptor(ctx, in, info, handler) } func _Authz_CreateUserGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.UserGroups) + in := new(authz.UserGroups) if err := dec(in); err != nil { return nil, err } @@ -320,13 +320,13 @@ func _Authz_CreateUserGroups_Handler(srv interface{}, ctx context.Context, dec f FullMethod: "/rafay.dev.rpc.authz.v1.Authz/CreateUserGroups", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).CreateUserGroups(ctx, req.(*types.UserGroups)) + return srv.(AuthzServer).CreateUserGroups(ctx, req.(*authz.UserGroups)) } return interceptor(ctx, in, info, handler) } func _Authz_DeleteUserGroups_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.UserGroup) + in := new(authz.UserGroup) if err := dec(in); err != nil { return nil, err } @@ -338,13 +338,13 @@ func _Authz_DeleteUserGroups_Handler(srv interface{}, ctx context.Context, dec f FullMethod: "/rafay.dev.rpc.authz.v1.Authz/DeleteUserGroups", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).DeleteUserGroups(ctx, req.(*types.UserGroup)) + return srv.(AuthzServer).DeleteUserGroups(ctx, req.(*authz.UserGroup)) } return interceptor(ctx, in, info, handler) } func _Authz_ListRolePermissionMappings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.FilteredRolePermissionMapping) + in := new(authz.FilteredRolePermissionMapping) if err := dec(in); err != nil { return nil, err } @@ -356,13 +356,13 @@ func _Authz_ListRolePermissionMappings_Handler(srv interface{}, ctx context.Cont FullMethod: "/rafay.dev.rpc.authz.v1.Authz/ListRolePermissionMappings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).ListRolePermissionMappings(ctx, req.(*types.FilteredRolePermissionMapping)) + return srv.(AuthzServer).ListRolePermissionMappings(ctx, req.(*authz.FilteredRolePermissionMapping)) } return interceptor(ctx, in, info, handler) } func _Authz_CreateRolePermissionMappings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.RolePermissionMappingList) + in := new(authz.RolePermissionMappingList) if err := dec(in); err != nil { return nil, err } @@ -374,13 +374,13 @@ func _Authz_CreateRolePermissionMappings_Handler(srv interface{}, ctx context.Co FullMethod: "/rafay.dev.rpc.authz.v1.Authz/CreateRolePermissionMappings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).CreateRolePermissionMappings(ctx, req.(*types.RolePermissionMappingList)) + return srv.(AuthzServer).CreateRolePermissionMappings(ctx, req.(*authz.RolePermissionMappingList)) } return interceptor(ctx, in, info, handler) } func _Authz_DeleteRolePermissionMappings_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(types.FilteredRolePermissionMapping) + in := new(authz.FilteredRolePermissionMapping) if err := dec(in); err != nil { return nil, err } @@ -392,7 +392,7 @@ func _Authz_DeleteRolePermissionMappings_Handler(srv interface{}, ctx context.Co FullMethod: "/rafay.dev.rpc.authz.v1.Authz/DeleteRolePermissionMappings", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(AuthzServer).DeleteRolePermissionMappings(ctx, req.(*types.FilteredRolePermissionMapping)) + return srv.(AuthzServer).DeleteRolePermissionMappings(ctx, req.(*authz.FilteredRolePermissionMapping)) } return interceptor(ctx, in, info, handler) } @@ -446,5 +446,5 @@ var Authz_ServiceDesc = grpc.ServiceDesc{ }, }, Streams: []grpc.StreamDesc{}, - Metadata: "proto/rpc/v1/authz.proto", + Metadata: "proto/rpc/authz/authz.proto", } diff --git a/components/common/proto/rpc/role/role.pb.go b/proto/rpc/role/role.pb.go similarity index 77% rename from components/common/proto/rpc/role/role.pb.go rename to proto/rpc/role/role.pb.go index 8394917..ae88904 100644 --- a/components/common/proto/rpc/role/role.pb.go +++ b/proto/rpc/role/role.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -97,43 +97,42 @@ var file_proto_rpc_role_role_proto_rawDesc = []byte{ 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, - 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xb6, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, + 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xa4, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x09, - 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, + 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x6f, 0x6c, - 0x65, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, - 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, - 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, - 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, - 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xe2, 0x02, 0x12, 0x2b, 0x0a, 0x17, - 0x52, 0x6f, 0x6c, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, - 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, - 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x3b, + 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, + 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, + 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, + 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, + 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xe2, 0x02, 0x12, 0x2b, 0x0a, 0x17, 0x52, 0x6f, + 0x6c, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, + 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, + 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, + 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x6f, 0x6c, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, + 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, - 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, - 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, - 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, - 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, - 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, - 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, - 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, - 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, - 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, + 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, + 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, + 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, + 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, + 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, + 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_role_role_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/role/role.pb.gw.go b/proto/rpc/role/role.pb.gw.go similarity index 99% rename from components/common/proto/rpc/role/role.pb.gw.go rename to proto/rpc/role/role.pb.gw.go index 85b60f1..e3df960 100644 --- a/components/common/proto/rpc/role/role.pb.gw.go +++ b/proto/rpc/role/role.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/role/role.proto b/proto/rpc/role/role.proto similarity index 100% rename from components/common/proto/rpc/role/role.proto rename to proto/rpc/role/role.proto diff --git a/components/common/proto/rpc/role/role_grpc.pb.go b/proto/rpc/role/role_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/role/role_grpc.pb.go rename to proto/rpc/role/role_grpc.pb.go index e1898d2..406f7c1 100644 --- a/components/common/proto/rpc/role/role_grpc.pb.go +++ b/proto/rpc/role/role_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/role/rolepermission.pb.go b/proto/rpc/role/rolepermission.pb.go similarity index 59% rename from components/common/proto/rpc/role/rolepermission.pb.go rename to proto/rpc/role/rolepermission.pb.go index 8c9014e..024b6ba 100644 --- a/components/common/proto/rpc/role/rolepermission.pb.go +++ b/proto/rpc/role/rolepermission.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -46,45 +46,43 @@ var file_proto_rpc_role_rolepermission_proto_rawDesc = []byte{ 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x20, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x12, 0x18, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x42, 0xd4, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x6f, 0x6e, 0x73, 0x42, 0xc2, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x52, 0x6f, 0x6c, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, - 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, - 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, - 0x92, 0x41, 0xf6, 0x02, 0x12, 0x35, 0x0a, 0x21, 0x52, 0x6f, 0x6c, 0x65, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, - 0x74, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, - 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, - 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x5a, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x53, 0x0a, - 0x51, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, - 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, - 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, - 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, - 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, - 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, - 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, - 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, + 0x70, 0x63, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, + 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, + 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, + 0xf6, 0x02, 0x12, 0x35, 0x0a, 0x21, 0x52, 0x6f, 0x6c, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, + 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, + 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, + 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x5a, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x53, 0x0a, 0x51, 0x52, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, + 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, + 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, + 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, + 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_role_rolepermission_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/role/rolepermission.pb.gw.go b/proto/rpc/role/rolepermission.pb.gw.go similarity index 98% rename from components/common/proto/rpc/role/rolepermission.pb.gw.go rename to proto/rpc/role/rolepermission.pb.gw.go index d81aa92..0cfa766 100644 --- a/components/common/proto/rpc/role/rolepermission.pb.gw.go +++ b/proto/rpc/role/rolepermission.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/role/rolepermission.proto b/proto/rpc/role/rolepermission.proto similarity index 100% rename from components/common/proto/rpc/role/rolepermission.proto rename to proto/rpc/role/rolepermission.proto diff --git a/components/common/proto/rpc/role/rolepermission_grpc.pb.go b/proto/rpc/role/rolepermission_grpc.pb.go similarity index 97% rename from components/common/proto/rpc/role/rolepermission_grpc.pb.go rename to proto/rpc/role/rolepermission_grpc.pb.go index cb39814..8c0305b 100644 --- a/components/common/proto/rpc/role/rolepermission_grpc.pb.go +++ b/proto/rpc/role/rolepermission_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/scheduler/cluster.pb.go b/proto/rpc/scheduler/cluster.pb.go similarity index 69% rename from components/common/proto/rpc/scheduler/cluster.pb.go rename to proto/rpc/scheduler/cluster.pb.go index f540e03..8e37ca5 100644 --- a/components/common/proto/rpc/scheduler/cluster.pb.go +++ b/proto/rpc/scheduler/cluster.pb.go @@ -7,8 +7,8 @@ package rpcv3 import ( - v31 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + v31 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -201,7 +201,7 @@ var file_proto_rpc_scheduler_cluster_proto_rawDesc = []byte{ 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x32, 0xf0, 0x0a, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, + 0x6e, 0x73, 0x65, 0x32, 0xa8, 0x08, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0xc7, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, @@ -257,74 +257,52 @@ var file_proto_rpc_scheduler_cluster_proto_rawDesc = []byte{ 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, - 0x6d, 0x65, 0x7d, 0x12, 0x97, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, - 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2f, 0x82, 0xd3, - 0xe4, 0x93, 0x02, 0x29, 0x22, 0x24, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x76, 0x33, 0x2f, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x12, 0xa8, 0x01, - 0x0a, 0x0f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x12, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, - 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x47, 0x12, 0x45, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, - 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, - 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0xab, 0x01, 0x0a, 0x13, 0x55, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x1a, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x22, 0x4e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x48, 0x1a, 0x43, - 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x3a, 0x01, 0x2a, 0x42, 0xb6, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, - 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x4f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, - 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, - 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, - 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, - 0x33, 0x92, 0x41, 0xda, 0x02, 0x12, 0x23, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, - 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, - 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, - 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, - 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, - 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, - 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, - 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, - 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, - 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, - 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, - 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x65, 0x7d, 0x12, 0xa8, 0x01, 0x0a, 0x0f, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, + 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, + 0x4d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x47, 0x12, 0x45, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, + 0x76, 0x33, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, + 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0xa4, + 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, + 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, + 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, + 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, + 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, + 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xda, 0x02, 0x12, 0x23, 0x0a, 0x0f, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, + 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, + 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, + 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, + 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, + 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, + 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, + 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, + 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, + 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -355,19 +333,15 @@ var file_proto_rpc_scheduler_cluster_proto_depIdxs = []int32{ 3, // 2: rafay.dev.rpc.v3.Cluster.GetCluster:input_type -> rafay.dev.types.infra.v3.Cluster 3, // 3: rafay.dev.rpc.v3.Cluster.UpdateCluster:input_type -> rafay.dev.types.infra.v3.Cluster 3, // 4: rafay.dev.rpc.v3.Cluster.DeleteCluster:input_type -> rafay.dev.types.infra.v3.Cluster - 0, // 5: rafay.dev.rpc.v3.Cluster.RegisterCluster:input_type -> rafay.dev.rpc.v3.RegisterClusterRequest - 3, // 6: rafay.dev.rpc.v3.Cluster.DownloadCluster:input_type -> rafay.dev.types.infra.v3.Cluster - 3, // 7: rafay.dev.rpc.v3.Cluster.UpdateClusterStatus:input_type -> rafay.dev.types.infra.v3.Cluster - 3, // 8: rafay.dev.rpc.v3.Cluster.CreateCluster:output_type -> rafay.dev.types.infra.v3.Cluster - 5, // 9: rafay.dev.rpc.v3.Cluster.GetClusters:output_type -> rafay.dev.types.infra.v3.ClusterList - 3, // 10: rafay.dev.rpc.v3.Cluster.GetCluster:output_type -> rafay.dev.types.infra.v3.Cluster - 3, // 11: rafay.dev.rpc.v3.Cluster.UpdateCluster:output_type -> rafay.dev.types.infra.v3.Cluster - 2, // 12: rafay.dev.rpc.v3.Cluster.DeleteCluster:output_type -> rafay.dev.rpc.v3.DeleteClusterResponse - 1, // 13: rafay.dev.rpc.v3.Cluster.RegisterCluster:output_type -> rafay.dev.rpc.v3.RegisterClusterResponse - 6, // 14: rafay.dev.rpc.v3.Cluster.DownloadCluster:output_type -> rafay.dev.types.common.v3.HttpBody - 3, // 15: rafay.dev.rpc.v3.Cluster.UpdateClusterStatus:output_type -> rafay.dev.types.infra.v3.Cluster - 8, // [8:16] is the sub-list for method output_type - 0, // [0:8] is the sub-list for method input_type + 3, // 5: rafay.dev.rpc.v3.Cluster.DownloadCluster:input_type -> rafay.dev.types.infra.v3.Cluster + 3, // 6: rafay.dev.rpc.v3.Cluster.CreateCluster:output_type -> rafay.dev.types.infra.v3.Cluster + 5, // 7: rafay.dev.rpc.v3.Cluster.GetClusters:output_type -> rafay.dev.types.infra.v3.ClusterList + 3, // 8: rafay.dev.rpc.v3.Cluster.GetCluster:output_type -> rafay.dev.types.infra.v3.Cluster + 3, // 9: rafay.dev.rpc.v3.Cluster.UpdateCluster:output_type -> rafay.dev.types.infra.v3.Cluster + 2, // 10: rafay.dev.rpc.v3.Cluster.DeleteCluster:output_type -> rafay.dev.rpc.v3.DeleteClusterResponse + 6, // 11: rafay.dev.rpc.v3.Cluster.DownloadCluster:output_type -> rafay.dev.types.common.v3.HttpBody + 6, // [6:12] is the sub-list for method output_type + 0, // [0:6] is the sub-list for method input_type 0, // [0:0] is the sub-list for extension type_name 0, // [0:0] is the sub-list for extension extendee 0, // [0:0] is the sub-list for field type_name diff --git a/components/common/proto/rpc/scheduler/cluster.pb.gw.go b/proto/rpc/scheduler/cluster.pb.gw.go similarity index 78% rename from components/common/proto/rpc/scheduler/cluster.pb.gw.go rename to proto/rpc/scheduler/cluster.pb.gw.go index 14a4af9..f31d5a2 100644 --- a/components/common/proto/rpc/scheduler/cluster.pb.gw.go +++ b/proto/rpc/scheduler/cluster.pb.gw.go @@ -13,8 +13,8 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" @@ -439,40 +439,6 @@ func local_request_Cluster_DeleteCluster_0(ctx context.Context, marshaler runtim } -func request_Cluster_RegisterCluster_0(ctx context.Context, marshaler runtime.Marshaler, client ClusterClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq RegisterClusterRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := client.RegisterCluster(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Cluster_RegisterCluster_0(ctx context.Context, marshaler runtime.Marshaler, server ClusterServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq RegisterClusterRequest - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - msg, err := server.RegisterCluster(ctx, &protoReq) - return msg, metadata, err - -} - var ( filter_Cluster_DownloadCluster_0 = &utilities.DoubleArray{Encoding: map[string]int{"metadata": 0, "project": 1, "name": 2}, Base: []int{1, 1, 1, 2, 0, 0}, Check: []int{0, 1, 2, 2, 3, 4}} ) @@ -563,94 +529,6 @@ func local_request_Cluster_DownloadCluster_0(ctx context.Context, marshaler runt } -func request_Cluster_UpdateClusterStatus_0(ctx context.Context, marshaler runtime.Marshaler, client ClusterClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq infrav3.Cluster - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - val, ok = pathParams["metadata.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.name", err) - } - - msg, err := client.UpdateClusterStatus(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD)) - return msg, metadata, err - -} - -func local_request_Cluster_UpdateClusterStatus_0(ctx context.Context, marshaler runtime.Marshaler, server ClusterServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq infrav3.Cluster - var metadata runtime.ServerMetadata - - newReader, berr := utilities.IOReaderFactory(req.Body) - if berr != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", berr) - } - if err := marshaler.NewDecoder(newReader()).Decode(&protoReq); err != nil && err != io.EOF { - return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err) - } - - var ( - val string - ok bool - err error - _ = err - ) - - val, ok = pathParams["metadata.project"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.project") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.project", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.project", err) - } - - val, ok = pathParams["metadata.name"] - if !ok { - return nil, metadata, status.Errorf(codes.InvalidArgument, "missing parameter %s", "metadata.name") - } - - err = runtime.PopulateFieldFromPath(&protoReq, "metadata.name", val) - if err != nil { - return nil, metadata, status.Errorf(codes.InvalidArgument, "type mismatch, parameter: %s, error: %v", "metadata.name", err) - } - - msg, err := server.UpdateClusterStatus(ctx, &protoReq) - return msg, metadata, err - -} - // RegisterClusterHandlerServer registers the http handlers for service Cluster to "mux". // UnaryRPC :call ClusterServer directly. // StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906. @@ -772,29 +650,6 @@ func RegisterClusterHandlerServer(ctx context.Context, mux *runtime.ServeMux, se }) - mux.Handle("POST", pattern_Cluster_RegisterCluster_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.rpc.v3.Cluster/RegisterCluster", runtime.WithHTTPPathPattern("/infra/v3/scheduler/cluster/register")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Cluster_RegisterCluster_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Cluster_RegisterCluster_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Cluster_DownloadCluster_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -818,29 +673,6 @@ func RegisterClusterHandlerServer(ctx context.Context, mux *runtime.ServeMux, se }) - mux.Handle("PUT", pattern_Cluster_UpdateClusterStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - var stream runtime.ServerTransportStream - ctx = grpc.NewContextWithServerTransportStream(ctx, &stream) - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/rafay.dev.rpc.v3.Cluster/UpdateClusterStatus", runtime.WithHTTPPathPattern("/infra/v3/project/{metadata.project}/cluster/{metadata.name}/status")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := local_request_Cluster_UpdateClusterStatus_0(rctx, inboundMarshaler, server, req, pathParams) - md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer()) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Cluster_UpdateClusterStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - return nil } @@ -982,26 +814,6 @@ func RegisterClusterHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl }) - mux.Handle("POST", pattern_Cluster_RegisterCluster_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.rpc.v3.Cluster/RegisterCluster", runtime.WithHTTPPathPattern("/infra/v3/scheduler/cluster/register")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Cluster_RegisterCluster_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Cluster_RegisterCluster_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - mux.Handle("GET", pattern_Cluster_DownloadCluster_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { ctx, cancel := context.WithCancel(req.Context()) defer cancel() @@ -1022,26 +834,6 @@ func RegisterClusterHandlerClient(ctx context.Context, mux *runtime.ServeMux, cl }) - mux.Handle("PUT", pattern_Cluster_UpdateClusterStatus_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) { - ctx, cancel := context.WithCancel(req.Context()) - defer cancel() - inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req) - rctx, err := runtime.AnnotateContext(ctx, mux, req, "/rafay.dev.rpc.v3.Cluster/UpdateClusterStatus", runtime.WithHTTPPathPattern("/infra/v3/project/{metadata.project}/cluster/{metadata.name}/status")) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - resp, md, err := request_Cluster_UpdateClusterStatus_0(rctx, inboundMarshaler, client, req, pathParams) - ctx = runtime.NewServerMetadataContext(ctx, md) - if err != nil { - runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err) - return - } - - forward_Cluster_UpdateClusterStatus_0(ctx, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...) - - }) - return nil } @@ -1056,11 +848,7 @@ var ( pattern_Cluster_DeleteCluster_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5}, []string{"infra", "v3", "project", "metadata.project", "cluster", "metadata.name"}, "")) - pattern_Cluster_RegisterCluster_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 2, 3, 2, 4}, []string{"infra", "v3", "scheduler", "cluster", "register"}, "")) - pattern_Cluster_DownloadCluster_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"infra", "v3", "project", "metadata.project", "cluster", "metadata.name", "download"}, "")) - - pattern_Cluster_UpdateClusterStatus_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2, 1, 0, 4, 1, 5, 3, 2, 4, 1, 0, 4, 1, 5, 5, 2, 6}, []string{"infra", "v3", "project", "metadata.project", "cluster", "metadata.name", "status"}, "")) ) var ( @@ -1074,9 +862,5 @@ var ( forward_Cluster_DeleteCluster_0 = runtime.ForwardResponseMessage - forward_Cluster_RegisterCluster_0 = runtime.ForwardResponseMessage - forward_Cluster_DownloadCluster_0 = runtime.ForwardResponseMessage - - forward_Cluster_UpdateClusterStatus_0 = runtime.ForwardResponseMessage ) diff --git a/components/common/proto/rpc/scheduler/cluster.proto b/proto/rpc/scheduler/cluster.proto similarity index 87% rename from components/common/proto/rpc/scheduler/cluster.proto rename to proto/rpc/scheduler/cluster.proto index 6b4cb06..a8cb560 100644 --- a/components/common/proto/rpc/scheduler/cluster.proto +++ b/proto/rpc/scheduler/cluster.proto @@ -121,27 +121,11 @@ service Cluster { }; }; - rpc RegisterCluster(RegisterClusterRequest) - returns (RegisterClusterResponse) { - option (google.api.http) = { - post : "/infra/v3/scheduler/cluster/register" - body : "*" - }; - }; - rpc DownloadCluster(rafay.dev.types.infra.v3.Cluster) returns (rafay.dev.types.common.v3.HttpBody) { option (google.api.http) = { get : "/infra/v3/project/{metadata.project}/cluster/{metadata.name}/download" }; }; - - rpc UpdateClusterStatus(rafay.dev.types.infra.v3.Cluster) - returns (rafay.dev.types.infra.v3.Cluster) { - option (google.api.http) = { - put : "/infra/v3/project/{metadata.project}/cluster/{metadata.name}/status" - body : "*" - }; - }; } \ No newline at end of file diff --git a/components/common/proto/rpc/scheduler/cluster_grpc.pb.go b/proto/rpc/scheduler/cluster_grpc.pb.go similarity index 76% rename from components/common/proto/rpc/scheduler/cluster_grpc.pb.go rename to proto/rpc/scheduler/cluster_grpc.pb.go index 00f4804..08f43df 100644 --- a/components/common/proto/rpc/scheduler/cluster_grpc.pb.go +++ b/proto/rpc/scheduler/cluster_grpc.pb.go @@ -8,8 +8,8 @@ package rpcv3 import ( context "context" - v31 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + v31 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" @@ -29,9 +29,7 @@ type ClusterClient interface { GetCluster(ctx context.Context, in *v3.Cluster, opts ...grpc.CallOption) (*v3.Cluster, error) UpdateCluster(ctx context.Context, in *v3.Cluster, opts ...grpc.CallOption) (*v3.Cluster, error) DeleteCluster(ctx context.Context, in *v3.Cluster, opts ...grpc.CallOption) (*DeleteClusterResponse, error) - RegisterCluster(ctx context.Context, in *RegisterClusterRequest, opts ...grpc.CallOption) (*RegisterClusterResponse, error) DownloadCluster(ctx context.Context, in *v3.Cluster, opts ...grpc.CallOption) (*v31.HttpBody, error) - UpdateClusterStatus(ctx context.Context, in *v3.Cluster, opts ...grpc.CallOption) (*v3.Cluster, error) } type clusterClient struct { @@ -87,15 +85,6 @@ func (c *clusterClient) DeleteCluster(ctx context.Context, in *v3.Cluster, opts return out, nil } -func (c *clusterClient) RegisterCluster(ctx context.Context, in *RegisterClusterRequest, opts ...grpc.CallOption) (*RegisterClusterResponse, error) { - out := new(RegisterClusterResponse) - err := c.cc.Invoke(ctx, "/rafay.dev.rpc.v3.Cluster/RegisterCluster", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - func (c *clusterClient) DownloadCluster(ctx context.Context, in *v3.Cluster, opts ...grpc.CallOption) (*v31.HttpBody, error) { out := new(v31.HttpBody) err := c.cc.Invoke(ctx, "/rafay.dev.rpc.v3.Cluster/DownloadCluster", in, out, opts...) @@ -105,15 +94,6 @@ func (c *clusterClient) DownloadCluster(ctx context.Context, in *v3.Cluster, opt return out, nil } -func (c *clusterClient) UpdateClusterStatus(ctx context.Context, in *v3.Cluster, opts ...grpc.CallOption) (*v3.Cluster, error) { - out := new(v3.Cluster) - err := c.cc.Invoke(ctx, "/rafay.dev.rpc.v3.Cluster/UpdateClusterStatus", in, out, opts...) - if err != nil { - return nil, err - } - return out, nil -} - // ClusterServer is the server API for Cluster service. // All implementations should embed UnimplementedClusterServer // for forward compatibility @@ -123,9 +103,7 @@ type ClusterServer interface { GetCluster(context.Context, *v3.Cluster) (*v3.Cluster, error) UpdateCluster(context.Context, *v3.Cluster) (*v3.Cluster, error) DeleteCluster(context.Context, *v3.Cluster) (*DeleteClusterResponse, error) - RegisterCluster(context.Context, *RegisterClusterRequest) (*RegisterClusterResponse, error) DownloadCluster(context.Context, *v3.Cluster) (*v31.HttpBody, error) - UpdateClusterStatus(context.Context, *v3.Cluster) (*v3.Cluster, error) } // UnimplementedClusterServer should be embedded to have forward compatible implementations. @@ -147,15 +125,9 @@ func (UnimplementedClusterServer) UpdateCluster(context.Context, *v3.Cluster) (* func (UnimplementedClusterServer) DeleteCluster(context.Context, *v3.Cluster) (*DeleteClusterResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method DeleteCluster not implemented") } -func (UnimplementedClusterServer) RegisterCluster(context.Context, *RegisterClusterRequest) (*RegisterClusterResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method RegisterCluster not implemented") -} func (UnimplementedClusterServer) DownloadCluster(context.Context, *v3.Cluster) (*v31.HttpBody, error) { return nil, status.Errorf(codes.Unimplemented, "method DownloadCluster not implemented") } -func (UnimplementedClusterServer) UpdateClusterStatus(context.Context, *v3.Cluster) (*v3.Cluster, error) { - return nil, status.Errorf(codes.Unimplemented, "method UpdateClusterStatus not implemented") -} // UnsafeClusterServer may be embedded to opt out of forward compatibility for this service. // Use of this interface is not recommended, as added methods to ClusterServer will @@ -258,24 +230,6 @@ func _Cluster_DeleteCluster_Handler(srv interface{}, ctx context.Context, dec fu return interceptor(ctx, in, info, handler) } -func _Cluster_RegisterCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(RegisterClusterRequest) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ClusterServer).RegisterCluster(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.rpc.v3.Cluster/RegisterCluster", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ClusterServer).RegisterCluster(ctx, req.(*RegisterClusterRequest)) - } - return interceptor(ctx, in, info, handler) -} - func _Cluster_DownloadCluster_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { in := new(v3.Cluster) if err := dec(in); err != nil { @@ -294,24 +248,6 @@ func _Cluster_DownloadCluster_Handler(srv interface{}, ctx context.Context, dec return interceptor(ctx, in, info, handler) } -func _Cluster_UpdateClusterStatus_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(v3.Cluster) - if err := dec(in); err != nil { - return nil, err - } - if interceptor == nil { - return srv.(ClusterServer).UpdateClusterStatus(ctx, in) - } - info := &grpc.UnaryServerInfo{ - Server: srv, - FullMethod: "/rafay.dev.rpc.v3.Cluster/UpdateClusterStatus", - } - handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(ClusterServer).UpdateClusterStatus(ctx, req.(*v3.Cluster)) - } - return interceptor(ctx, in, info, handler) -} - // Cluster_ServiceDesc is the grpc.ServiceDesc for Cluster service. // It's only intended for direct use with grpc.RegisterService, // and not to be introspected or modified (even as a copy) @@ -339,18 +275,10 @@ var Cluster_ServiceDesc = grpc.ServiceDesc{ MethodName: "DeleteCluster", Handler: _Cluster_DeleteCluster_Handler, }, - { - MethodName: "RegisterCluster", - Handler: _Cluster_RegisterCluster_Handler, - }, { MethodName: "DownloadCluster", Handler: _Cluster_DownloadCluster_Handler, }, - { - MethodName: "UpdateClusterStatus", - Handler: _Cluster_UpdateClusterStatus_Handler, - }, }, Streams: []grpc.StreamDesc{}, Metadata: "proto/rpc/scheduler/cluster.proto", diff --git a/components/common/proto/rpc/scheduler/internal.go b/proto/rpc/scheduler/internal.go similarity index 94% rename from components/common/proto/rpc/scheduler/internal.go rename to proto/rpc/scheduler/internal.go index 792f11c..1fe0eaa 100644 --- a/components/common/proto/rpc/scheduler/internal.go +++ b/proto/rpc/scheduler/internal.go @@ -3,7 +3,7 @@ package rpcv3 import ( "context" - "github.com/RafaySystems/rcloud-base/components/common/pkg/pool" + "github.com/RafaySystems/rcloud-base/pkg/pool" grpcpool "github.com/processout/grpc-go-pool" ) diff --git a/components/common/proto/rpc/sentry/audit_info.pb.go b/proto/rpc/sentry/audit_info.pb.go similarity index 83% rename from components/common/proto/rpc/sentry/audit_info.pb.go rename to proto/rpc/sentry/audit_info.pb.go index 146811a..628c310 100644 --- a/components/common/proto/rpc/sentry/audit_info.pb.go +++ b/proto/rpc/sentry/audit_info.pb.go @@ -7,8 +7,8 @@ package sentry import ( - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + _ "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + _ "github.com/RafaySystems/rcloud-base/proto/types/sentry" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -318,45 +318,44 @@ var file_proto_rpc_sentry_audit_info_proto_rawDesc = []byte{ 0x2e, 0x4c, 0x6f, 0x6f, 0x6b, 0x75, 0x70, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x24, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x12, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xd5, 0x04, 0x0a, + 0x49, 0x6e, 0x66, 0x6f, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0xc3, 0x04, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x0e, 0x41, 0x75, 0x64, 0x69, 0x74, - 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, + 0x49, 0x6e, 0x66, 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, 0x70, - 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0x5c, - 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, 0xeb, 0x02, 0x12, 0x34, 0x0a, 0x20, 0x53, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x20, 0x41, 0x75, 0x64, 0x69, 0x74, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, - 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, - 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, - 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, - 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, - 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, - 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, - 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, - 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, - 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, - 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, - 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, - 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, - 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, - 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, 0x70, 0x63, 0xca, + 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x47, 0x50, + 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x3a, + 0x52, 0x70, 0x63, 0x92, 0x41, 0xeb, 0x02, 0x12, 0x34, 0x0a, 0x20, 0x53, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x20, 0x41, 0x75, 0x64, 0x69, 0x74, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, + 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, + 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, + 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, + 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, + 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, + 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, + 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, + 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, + 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, + 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/rpc/sentry/audit_info.pb.gw.go b/proto/rpc/sentry/audit_info.pb.gw.go similarity index 100% rename from components/common/proto/rpc/sentry/audit_info.pb.gw.go rename to proto/rpc/sentry/audit_info.pb.gw.go diff --git a/components/common/proto/rpc/sentry/audit_info.proto b/proto/rpc/sentry/audit_info.proto similarity index 100% rename from components/common/proto/rpc/sentry/audit_info.proto rename to proto/rpc/sentry/audit_info.proto diff --git a/components/common/proto/rpc/sentry/audit_info_grpc.pb.go b/proto/rpc/sentry/audit_info_grpc.pb.go similarity index 100% rename from components/common/proto/rpc/sentry/audit_info_grpc.pb.go rename to proto/rpc/sentry/audit_info_grpc.pb.go diff --git a/components/common/proto/rpc/sentry/bootstrap.pb.go b/proto/rpc/sentry/bootstrap.pb.go similarity index 56% rename from components/common/proto/rpc/sentry/bootstrap.pb.go rename to proto/rpc/sentry/bootstrap.pb.go index 277ad80..33301c1 100644 --- a/components/common/proto/rpc/sentry/bootstrap.pb.go +++ b/proto/rpc/sentry/bootstrap.pb.go @@ -7,9 +7,8 @@ package sentry import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - sentry "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" - _ "github.com/gogo/protobuf/gogoproto" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + sentry "github.com/RafaySystems/rcloud-base/proto/types/sentry" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -408,240 +407,234 @@ var file_proto_rpc_sentry_bootstrap_proto_rawDesc = []byte{ 0x74, 0x6f, 0x12, 0x14, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, - 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, - 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, - 0x63, 0x73, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x03, 0x63, 0x73, 0x72, 0x12, 0x1c, - 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x5f, 0x0a, 0x15, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, - 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, - 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x0d, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x22, 0x88, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, - 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x45, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, - 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x1e, 0x0a, 0x1c, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x0a, 0x1a, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, - 0x72, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x60, 0x0a, 0x17, 0x47, 0x65, - 0x74, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, - 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xc8, 0xde, - 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xb1, 0x01, 0x0a, - 0x19, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x44, 0x6f, 0x77, 0x6e, 0x6c, - 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x2f, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, - 0x1f, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x32, 0xef, 0x10, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x9c, - 0x01, 0x0a, 0x13, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, - 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x1a, 0x26, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x1a, 0x2a, - 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, - 0x74, 0x72, 0x61, 0x70, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x97, 0x01, - 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, + 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x01, + 0x0a, 0x14, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x22, 0x0a, 0x0c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4e, 0x61, 0x6d, 0x65, + 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x63, 0x73, 0x72, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0c, 0x52, 0x03, 0x63, 0x73, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, + 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, + 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x15, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x65, 0x12, 0x24, 0x0a, 0x0d, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0d, 0x63, 0x61, + 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x22, 0x7e, 0x0a, 0x19, 0x47, + 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, + 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, + 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x24, 0x0a, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x1c, 0x0a, 0x1a, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, + 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x56, 0x0a, 0x17, 0x47, 0x65, 0x74, + 0x52, 0x65, 0x6c, 0x61, 0x79, 0x4e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x73, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, + 0x73, 0x22, 0xa9, 0x01, 0x0a, 0x19, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, + 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x22, 0x0a, 0x0c, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x32, 0xef, 0x10, + 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x9c, 0x01, 0x0a, 0x13, + 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x1a, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, - 0x66, 0x72, 0x61, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x32, + 0x66, 0x72, 0x61, 0x22, 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x1a, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xb7, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x63, - 0x68, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x1a, - 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, - 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x7b, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x01, - 0x2a, 0x12, 0xb2, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, - 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, - 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, - 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, - 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, - 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, - 0x35, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xa0, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x32, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, - 0x73, 0x74, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x32, 0x2f, - 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x16, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x12, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3d, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x3a, - 0x01, 0x2a, 0x12, 0xbf, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x57, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x51, 0x12, 0x4f, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, - 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x70, 0x65, 0x63, 0x2e, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x3d, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x12, 0xab, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x70, 0x65, - 0x63, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x3d, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x3a, - 0x01, 0x2a, 0x12, 0xb5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x1a, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, + 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0x97, 0x01, 0x0a, 0x11, 0x47, + 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, + 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, - 0x12, 0x48, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, + 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x1a, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, + 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x69, + 0x6e, 0x66, 0x72, 0x61, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, + 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xb7, 0x01, 0x0a, 0x1b, 0x50, 0x61, 0x74, 0x63, 0x68, 0x42, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x22, 0x38, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x32, 0x1a, 0x2d, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x7b, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x01, 0x2a, 0x12, 0xb2, + 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x2e, 0x2e, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x1a, 0x2e, 0x2e, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x35, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x2f, 0x12, 0x2d, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, + 0x6d, 0x65, 0x7d, 0x12, 0xa0, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, + 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x73, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, + 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x32, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x22, + 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x74, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x16, 0x52, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x65, 0x72, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x12, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, + 0x72, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x3d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x3a, 0x01, 0x2a, 0x12, + 0xbf, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x26, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, + 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x57, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x51, + 0x12, 0x4f, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x3d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x12, 0x47, - 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x73, 0x12, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, - 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x12, 0xab, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, - 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x3d, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x74, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0xc4, 0x01, - 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, - 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x1a, 0x32, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, - 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x76, 0x32, 0x2f, - 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x2f, 0x7b, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x66, 0x3d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, - 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, - 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x43, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3d, 0x22, 0x38, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x3d, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x12, + 0xb5, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x53, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x4d, 0x1a, 0x48, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x70, 0x65, - 0x63, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x3d, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, - 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, - 0x01, 0x2a, 0x42, 0x86, 0x05, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x42, - 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, - 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, - 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, - 0x70, 0x63, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x53, 0x52, - 0xaa, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x52, 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, - 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, - 0x20, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, - 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, 0x88, 0x03, 0x12, - 0x2c, 0x0a, 0x18, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, - 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, - 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, - 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, - 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x33, 0x0a, 0x03, 0x34, 0x30, - 0x34, 0x12, 0x2c, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, - 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, - 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x52, - 0x2b, 0x0a, 0x03, 0x35, 0x30, 0x30, 0x12, 0x24, 0x0a, 0x22, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, - 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5a, 0x38, 0x0a, 0x25, - 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, - 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, - 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, - 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, - 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, - 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, 0x01, 0xe0, - 0xe2, 0x1e, 0x01, 0xc0, 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x12, 0x48, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, + 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x66, 0x3d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x2a, + 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x42, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x2f, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x3d, 0x82, 0xd3, 0xe4, + 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, + 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x12, 0xc4, 0x01, 0x0a, 0x14, 0x44, + 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, + 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, + 0x70, 0x63, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x50, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x4a, 0x2a, 0x48, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x2f, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x73, + 0x70, 0x65, 0x63, 0x2e, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x3d, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, + 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, + 0x7d, 0x12, 0xbb, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x26, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x1a, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x53, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x4d, 0x1a, 0x48, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x62, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x2f, 0x7b, 0x73, 0x70, 0x65, 0x63, 0x2e, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x3d, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x2f, 0x2a, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x7b, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x3a, 0x01, 0x2a, 0x42, + 0xe0, 0x04, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x0e, 0x42, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, + 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, + 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, 0x88, 0x03, 0x12, 0x2c, 0x0a, 0x18, 0x53, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x20, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x20, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, + 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, + 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, + 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, + 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, + 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x33, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x2c, 0x0a, 0x2a, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, + 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x52, 0x2b, 0x0a, 0x03, 0x35, 0x30, + 0x30, 0x12, 0x24, 0x0a, 0x22, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, + 0x72, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, + 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, + 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, + 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, + 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/rpc/sentry/bootstrap.pb.gw.go b/proto/rpc/sentry/bootstrap.pb.gw.go similarity index 98% rename from components/common/proto/rpc/sentry/bootstrap.pb.gw.go rename to proto/rpc/sentry/bootstrap.pb.gw.go index f181613..8c843b2 100644 --- a/components/common/proto/rpc/sentry/bootstrap.pb.gw.go +++ b/proto/rpc/sentry/bootstrap.pb.gw.go @@ -13,8 +13,8 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + sentry_0 "github.com/RafaySystems/rcloud-base/proto/types/sentry" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" @@ -34,7 +34,7 @@ var _ = utilities.NewDoubleArray var _ = metadata.Join func request_Bootstrap_PatchBootstrapInfra_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapInfra + var protoReq sentry_0.BootstrapInfra var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -68,7 +68,7 @@ func request_Bootstrap_PatchBootstrapInfra_0(ctx context.Context, marshaler runt } func local_request_Bootstrap_PatchBootstrapInfra_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapInfra + var protoReq sentry_0.BootstrapInfra var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -106,7 +106,7 @@ var ( ) func request_Bootstrap_GetBootstrapInfra_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapInfra + var protoReq sentry_0.BootstrapInfra var metadata runtime.ServerMetadata var ( @@ -139,7 +139,7 @@ func request_Bootstrap_GetBootstrapInfra_0(ctx context.Context, marshaler runtim } func local_request_Bootstrap_GetBootstrapInfra_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapInfra + var protoReq sentry_0.BootstrapInfra var metadata runtime.ServerMetadata var ( @@ -172,7 +172,7 @@ func local_request_Bootstrap_GetBootstrapInfra_0(ctx context.Context, marshaler } func request_Bootstrap_PatchBootstrapAgentTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgentTemplate + var protoReq sentry_0.BootstrapAgentTemplate var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -206,7 +206,7 @@ func request_Bootstrap_PatchBootstrapAgentTemplate_0(ctx context.Context, marsha } func local_request_Bootstrap_PatchBootstrapAgentTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgentTemplate + var protoReq sentry_0.BootstrapAgentTemplate var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -244,7 +244,7 @@ var ( ) func request_Bootstrap_GetBootstrapAgentTemplate_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgentTemplate + var protoReq sentry_0.BootstrapAgentTemplate var metadata runtime.ServerMetadata var ( @@ -277,7 +277,7 @@ func request_Bootstrap_GetBootstrapAgentTemplate_0(ctx context.Context, marshale } func local_request_Bootstrap_GetBootstrapAgentTemplate_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgentTemplate + var protoReq sentry_0.BootstrapAgentTemplate var metadata runtime.ServerMetadata var ( @@ -418,7 +418,7 @@ var ( ) func request_Bootstrap_GetBootstrapAgentConfig_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata var ( @@ -461,7 +461,7 @@ func request_Bootstrap_GetBootstrapAgentConfig_0(ctx context.Context, marshaler } func local_request_Bootstrap_GetBootstrapAgentConfig_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata var ( @@ -504,7 +504,7 @@ func local_request_Bootstrap_GetBootstrapAgentConfig_0(ctx context.Context, mars } func request_Bootstrap_CreateBootstrapAgent_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -538,7 +538,7 @@ func request_Bootstrap_CreateBootstrapAgent_0(ctx context.Context, marshaler run } func local_request_Bootstrap_CreateBootstrapAgent_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -576,7 +576,7 @@ var ( ) func request_Bootstrap_GetBootstrapAgent_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata var ( @@ -619,7 +619,7 @@ func request_Bootstrap_GetBootstrapAgent_0(ctx context.Context, marshaler runtim } func local_request_Bootstrap_GetBootstrapAgent_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata var ( @@ -736,7 +736,7 @@ var ( ) func request_Bootstrap_DeleteBootstrapAgent_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata var ( @@ -779,7 +779,7 @@ func request_Bootstrap_DeleteBootstrapAgent_0(ctx context.Context, marshaler run } func local_request_Bootstrap_DeleteBootstrapAgent_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata var ( @@ -822,7 +822,7 @@ func local_request_Bootstrap_DeleteBootstrapAgent_0(ctx context.Context, marshal } func request_Bootstrap_UpdateBootstrapAgent_0(ctx context.Context, marshaler runtime.Marshaler, client BootstrapClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) @@ -866,7 +866,7 @@ func request_Bootstrap_UpdateBootstrapAgent_0(ctx context.Context, marshaler run } func local_request_Bootstrap_UpdateBootstrapAgent_0(ctx context.Context, marshaler runtime.Marshaler, server BootstrapServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) { - var protoReq sentry.BootstrapAgent + var protoReq sentry_0.BootstrapAgent var metadata runtime.ServerMetadata newReader, berr := utilities.IOReaderFactory(req.Body) diff --git a/components/common/proto/rpc/sentry/bootstrap.proto b/proto/rpc/sentry/bootstrap.proto similarity index 86% rename from components/common/proto/rpc/sentry/bootstrap.proto rename to proto/rpc/sentry/bootstrap.proto index 4813b5d..7ee7b63 100644 --- a/components/common/proto/rpc/sentry/bootstrap.proto +++ b/proto/rpc/sentry/bootstrap.proto @@ -2,22 +2,10 @@ syntax = "proto3"; package rafay.dev.sentry.rpc; import "google/api/annotations.proto"; -import "gogoproto/gogo.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "proto/types/commonpb/v3/common.proto"; import "proto/types/sentry/sentry.proto"; -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { info : { title : "Sentry Bootstrap Service" @@ -81,16 +69,14 @@ message RegisterAgentResponse { } message GetBootstrapAgentsRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; string templateScope = 2; } message DeleteBootstrapAgentResponse {} message DeleteRelayNetworkResponse {} message GetRelayNetworksRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; } message RelayAgentDownloadRequest { @@ -98,8 +84,7 @@ message RelayAgentDownloadRequest { [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { title : "Metadata", description : "Metadata of the resource" - }, - (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + }]; string clusterScope = 2; } diff --git a/components/common/proto/rpc/sentry/bootstrap_grpc.pb.go b/proto/rpc/sentry/bootstrap_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/sentry/bootstrap_grpc.pb.go rename to proto/rpc/sentry/bootstrap_grpc.pb.go index 23d2309..b9b999c 100644 --- a/components/common/proto/rpc/sentry/bootstrap_grpc.pb.go +++ b/proto/rpc/sentry/bootstrap_grpc.pb.go @@ -8,8 +8,8 @@ package sentry import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - sentry "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + sentry "github.com/RafaySystems/rcloud-base/proto/types/sentry" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/sentry/cluster_authz.pb.go b/proto/rpc/sentry/cluster_authz.pb.go similarity index 53% rename from components/common/proto/rpc/sentry/cluster_authz.pb.go rename to proto/rpc/sentry/cluster_authz.pb.go index 45702e9..33488cc 100644 --- a/components/common/proto/rpc/sentry/cluster_authz.pb.go +++ b/proto/rpc/sentry/cluster_authz.pb.go @@ -7,10 +7,9 @@ package sentry import ( - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - controller "github.com/RafaySystems/rcloud-base/components/common/proto/types/controller" - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" - _ "github.com/gogo/protobuf/gogoproto" + _ "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + controller "github.com/RafaySystems/rcloud-base/proto/types/controller" + _ "github.com/RafaySystems/rcloud-base/proto/types/sentry" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -240,133 +239,129 @@ var file_proto_rpc_sentry_cluster_authz_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xde, 0x06, 0x0a, 0x1c, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, - 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4e, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, - 0x73, 0x12, 0x58, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, - 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x05, 0x72, - 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0c, 0x72, 0x6f, 0x6c, - 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, - 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0c, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, - 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x64, 0x0a, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, + 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, + 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xde, 0x06, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x12, + 0x4e, 0x0a, 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x0e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x4a, 0x0a, 0x0c, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0c, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x73, 0x12, 0x58, 0x0a, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, - 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x67, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x56, 0x0a, 0x12, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, - 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x46, 0x0a, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, - 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, - 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, - 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, - 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, - 0x48, 0x0a, 0x1f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, - 0x69, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, - 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x4f, - 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, - 0x73, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x7f, 0x0a, 0x1b, 0x47, 0x65, 0x74, - 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, - 0x43, 0x4e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x43, 0x4e, - 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, - 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, - 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x49, 0x73, - 0x73, 0x75, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x32, 0xbd, 0x01, 0x0a, 0x14, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0xa4, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x32, - 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x42, 0xf0, 0x04, 0x0a, 0x18, 0x63, - 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x11, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, - 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, - 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, 0xef, 0x02, 0x12, 0x38, 0x0a, 0x24, 0x53, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x20, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, - 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, - 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, - 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, - 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, - 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, - 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, - 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, - 0x01, 0xe0, 0xe2, 0x1e, 0x01, 0xc0, 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x52, 0x13, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x3c, 0x0a, 0x05, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x05, 0x72, 0x6f, + 0x6c, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0c, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x0c, 0x72, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, + 0x64, 0x0a, 0x19, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x07, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, + 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x19, 0x64, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, + 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x56, 0x0a, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, + 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, + 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x12, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x52, 0x6f, 0x6c, 0x65, 0x42, 0x69, 0x6e, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x46, 0x0a, + 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, + 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0a, 0x6e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x72, 0x6f, 0x6c, 0x65, 0x4e, 0x61, 0x6d, + 0x65, 0x12, 0x16, 0x0a, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x06, 0x69, 0x73, 0x52, 0x65, 0x61, 0x64, 0x12, 0x48, 0x0a, 0x1f, 0x65, 0x6e, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, + 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0c, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x1f, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x4f, 0x6e, 0x6c, 0x79, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x69, 0x73, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, + 0x6e, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x69, 0x73, 0x4f, 0x72, 0x67, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x22, 0x7f, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, + 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x75, 0x73, 0x65, 0x72, 0x43, 0x4e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x43, 0x4e, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2a, 0x0a, 0x10, 0x63, 0x65, 0x72, 0x74, + 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x10, 0x63, 0x65, 0x72, 0x74, 0x49, 0x73, 0x73, 0x75, 0x65, 0x53, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x73, 0x32, 0xbd, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0xa4, 0x01, + 0x0a, 0x14, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, + 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x25, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x12, 0x1d, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x75, 0x73, 0x65, 0x72, 0x42, 0xca, 0x04, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, + 0x63, 0x42, 0x11, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, + 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, + 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, + 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, + 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, + 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, + 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, + 0xef, 0x02, 0x12, 0x38, 0x0a, 0x24, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, + 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, + 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, + 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, + 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, + 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, + 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, + 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, + 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, + 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/rpc/sentry/cluster_authz.pb.gw.go b/proto/rpc/sentry/cluster_authz.pb.gw.go similarity index 100% rename from components/common/proto/rpc/sentry/cluster_authz.pb.gw.go rename to proto/rpc/sentry/cluster_authz.pb.gw.go diff --git a/components/common/proto/rpc/sentry/cluster_authz.proto b/proto/rpc/sentry/cluster_authz.proto similarity index 82% rename from components/common/proto/rpc/sentry/cluster_authz.proto rename to proto/rpc/sentry/cluster_authz.proto index ecf9ab1..6eb7be1 100644 --- a/components/common/proto/rpc/sentry/cluster_authz.proto +++ b/proto/rpc/sentry/cluster_authz.proto @@ -2,23 +2,11 @@ syntax = "proto3"; package rafay.dev.sentry.rpc; import "google/api/annotations.proto"; -import "gogoproto/gogo.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "proto/types/commonpb/v3/common.proto"; import "proto/types/sentry/sentry.proto"; import "proto/types/controller/cluster_controller.proto"; -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { info : { title : "Sentry Cluster Authorization Service" diff --git a/components/common/proto/rpc/sentry/cluster_authz_grpc.pb.go b/proto/rpc/sentry/cluster_authz_grpc.pb.go similarity index 100% rename from components/common/proto/rpc/sentry/cluster_authz_grpc.pb.go rename to proto/rpc/sentry/cluster_authz_grpc.pb.go diff --git a/components/common/proto/rpc/sentry/internal.go b/proto/rpc/sentry/internal.go similarity index 96% rename from components/common/proto/rpc/sentry/internal.go rename to proto/rpc/sentry/internal.go index 63d82c1..7a91993 100644 --- a/components/common/proto/rpc/sentry/internal.go +++ b/proto/rpc/sentry/internal.go @@ -4,8 +4,8 @@ import ( "context" "fmt" - grpctools "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - "github.com/RafaySystems/rcloud-base/components/common/pkg/pool" + grpctools "github.com/RafaySystems/rcloud-base/pkg/grpc" + "github.com/RafaySystems/rcloud-base/pkg/pool" grpcpool "github.com/processout/grpc-go-pool" "google.golang.org/grpc/credentials" ) diff --git a/components/common/proto/rpc/sentry/kubeconfig.pb.go b/proto/rpc/sentry/kubeconfig.pb.go similarity index 57% rename from components/common/proto/rpc/sentry/kubeconfig.pb.go rename to proto/rpc/sentry/kubeconfig.pb.go index dc328e8..36573bd 100644 --- a/components/common/proto/rpc/sentry/kubeconfig.pb.go +++ b/proto/rpc/sentry/kubeconfig.pb.go @@ -7,9 +7,8 @@ package sentry import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" - _ "github.com/gogo/protobuf/gogoproto" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + _ "github.com/RafaySystems/rcloud-base/proto/types/sentry" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -503,264 +502,247 @@ var file_proto_rpc_sentry_kubeconfig_proto_rawDesc = []byte{ 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, - 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, - 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9b, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, - 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, + 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x91, + 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x55, 0x73, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0a, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x55, 0x73, - 0x65, 0x72, 0x22, 0x78, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, + 0x65, 0x72, 0x22, 0x6e, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, - 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x1c, - 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x22, 0x60, 0x0a, 0x17, - 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, - 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0x1a, - 0x0a, 0x18, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8f, 0x03, 0x0a, 0x1e, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, 0x0a, + 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, + 0x6f, 0x70, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x22, 0x56, 0x0a, 0x17, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4b, 0x75, 0x62, 0x65, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, - 0x6f, 0x70, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, - 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x76, - 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2e, - 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2e, - 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, - 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, - 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x40, - 0x0a, 0x1b, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, - 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, - 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, - 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, - 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x12, 0x2c, - 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, - 0x63, 0x74, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x22, 0x21, 0x0a, 0x1f, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, - 0x64, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x45, - 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, - 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xda, 0x03, 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3d, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, - 0x74, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x42, - 0x13, 0xea, 0xde, 0x1f, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x73, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, 0x65, - 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x46, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, - 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x08, 0x42, 0x16, 0xea, 0xde, 0x1f, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x46, 0x0a, - 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x16, 0xea, 0xde, 0x1f, 0x12, 0x65, - 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x61, 0x0a, 0x1b, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x1f, 0xea, 0xde, 0x1f, 0x1b, - 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, - 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x1b, 0x65, 0x6e, 0x66, - 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, - 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x43, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x08, 0x42, 0x15, 0xea, 0xde, 0x1f, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, - 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x12, 0x43, 0x0a, - 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, - 0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x15, 0xea, 0xde, 0x1f, 0x11, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x52, - 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, - 0x74, 0x6c, 0x32, 0xff, 0x0e, 0x0a, 0x0a, 0x4b, 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x12, 0x9b, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, 0x2f, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x77, 0x65, 0x62, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0xa1, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2a, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, 0x22, - 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x65, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0xb7, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x55, 0x73, - 0x65, 0x72, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, - 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, 0x64, 0x79, - 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x1a, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x75, 0x73, 0x65, 0x72, 0x5a, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, - 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x75, 0x73, 0x65, - 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0xd4, 0x01, - 0x0a, 0x10, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, - 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4b, - 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x22, 0x1c, 0x2f, 0x76, 0x32, 0x2f, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x2f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x38, 0x22, 0x33, 0x2f, 0x76, - 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, - 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, - 0x70, 0x65, 0x3d, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xc5, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3e, 0x12, 0x3c, - 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0xb5, 0x01, 0x0a, - 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, - 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, - 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x36, 0x12, 0x34, - 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, - 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x12, 0xbb, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x53, 0x4f, 0x55, - 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x31, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0x1a, 0x0a, 0x18, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x85, 0x03, 0x0a, 0x1e, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6f, 0x70, 0x74, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, + 0x74, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, + 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, + 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, + 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, + 0x12, 0x40, 0x0a, 0x1b, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, + 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, + 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, + 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, + 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, + 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x22, 0x21, + 0x0a, 0x1f, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, 0x76, 0x32, 0x2f, 0x73, + 0x65, 0x22, 0x5a, 0x0a, 0x1b, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x3b, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xc6, 0x02, + 0x0a, 0x1c, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x28, + 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, + 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, + 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, + 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x40, 0x0a, 0x1b, 0x65, 0x6e, 0x66, 0x6f, + 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, + 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, + 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, + 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, + 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, + 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, + 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, + 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x32, 0xff, 0x0e, 0x0a, 0x0a, 0x4b, 0x75, 0x62, 0x65, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x9b, 0x01, 0x0a, 0x17, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x57, 0x65, 0x62, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x12, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, 0x6f, + 0x64, 0x79, 0x22, 0x2f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x12, 0x27, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x77, 0x65, 0x62, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0xa1, 0x01, 0x0a, 0x1a, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x53, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x12, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x46, 0x6f, 0x72, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, 0x42, + 0x6f, 0x64, 0x79, 0x22, 0x32, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x12, 0x2a, 0x2f, 0x76, 0x32, + 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0xb7, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x46, + 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x12, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x46, 0x6f, 0x72, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x74, 0x74, 0x70, + 0x42, 0x6f, 0x64, 0x79, 0x22, 0x5b, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x55, 0x12, 0x1a, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x5a, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, + 0x3d, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, + 0x64, 0x12, 0xd4, 0x01, 0x0a, 0x10, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x4b, 0x75, 0x62, 0x65, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, + 0x76, 0x6f, 0x6b, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x52, 0x65, 0x76, + 0x6f, 0x6b, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x61, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x5b, 0x22, 0x1c, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x5a, 0x38, + 0x22, 0x33, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, + 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, + 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x72, + 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x3a, 0x01, 0x2a, 0x12, 0xc5, 0x01, 0x0a, 0x16, 0x47, 0x65, 0x74, + 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, + 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x44, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x3e, 0x12, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, + 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, + 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x12, 0xb5, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x12, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, + 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, + 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, + 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3c, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x36, 0x12, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, + 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, + 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, + 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0xbb, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x31, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x12, 0x37, 0x2f, + 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, + 0x6f, 0x70, 0x65, 0x3d, 0x73, 0x73, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0xd1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, + 0x74, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, + 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x47, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x1a, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, - 0x73, 0x73, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x12, 0xd1, 0x01, 0x0a, 0x19, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x72, 0x67, - 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x2a, 0x7d, 0x2f, + 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0xc1, 0x01, 0x0a, 0x11, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x47, 0x82, - 0xd3, 0xe4, 0x93, 0x02, 0x41, 0x1a, 0x3c, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x39, 0x1a, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, - 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x6f, 0x72, 0x67, 0x61, - 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0xc1, 0x01, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, - 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3f, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x39, 0x1a, 0x34, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, - 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, - 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, - 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0xc7, 0x01, 0x0a, 0x14, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, - 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x1a, 0x37, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, - 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x73, - 0x73, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x3a, 0x01, 0x2a, 0x42, 0xe3, 0x04, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, - 0x63, 0x42, 0x0f, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, - 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, - 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, - 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, - 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, - 0xe4, 0x02, 0x12, 0x2d, 0x0a, 0x19, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x4b, 0x75, 0x62, - 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, - 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, - 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, - 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, - 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, - 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, - 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, - 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, - 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, - 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, - 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, - 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, 0x01, 0xe0, 0xe2, - 0x1e, 0x01, 0xc0, 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x75, 0x73, 0x65, 0x72, + 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x12, 0xc7, + 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x34, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, + 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3c, 0x1a, 0x37, 0x2f, 0x76, + 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, + 0x70, 0x65, 0x3d, 0x73, 0x73, 0x6f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x3a, 0x01, 0x2a, 0x42, 0xbd, 0x04, 0x0a, 0x18, 0x63, 0x6f, 0x6d, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x0f, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, + 0x04, 0x52, 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, + 0x76, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, + 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, + 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, + 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, + 0x92, 0x41, 0xe4, 0x02, 0x12, 0x2d, 0x0a, 0x19, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x4b, + 0x75, 0x62, 0x65, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, + 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, + 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, + 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, + 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, + 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, + 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, + 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/rpc/sentry/kubeconfig.pb.gw.go b/proto/rpc/sentry/kubeconfig.pb.gw.go similarity index 100% rename from components/common/proto/rpc/sentry/kubeconfig.pb.gw.go rename to proto/rpc/sentry/kubeconfig.pb.gw.go diff --git a/components/common/proto/rpc/sentry/kubeconfig.proto b/proto/rpc/sentry/kubeconfig.proto similarity index 72% rename from components/common/proto/rpc/sentry/kubeconfig.proto rename to proto/rpc/sentry/kubeconfig.proto index 93bfd51..3cf7b66 100644 --- a/components/common/proto/rpc/sentry/kubeconfig.proto +++ b/proto/rpc/sentry/kubeconfig.proto @@ -2,22 +2,10 @@ syntax = "proto3"; package rafay.dev.sentry.rpc; import "google/api/annotations.proto"; -import "gogoproto/gogo.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "proto/types/commonpb/v3/common.proto"; import "proto/types/sentry/sentry.proto"; -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { info : { title : "Sentry KubeConfig Service" @@ -66,28 +54,24 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { }; message GetForClusterRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; string namespace = 2; bool systemUser = 3; } message GetForUserRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; string namespace = 2; } message RevokeKubeconfigRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; } message RevokeKubeconfigResponse {} message UpdateKubeconfigSettingRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; int64 validitySeconds = 2; bool enableSessionCheck = 3; bool enablePrivateRelay = 4; @@ -99,31 +83,16 @@ message UpdateKubeconfigSettingRequest { message UpdateKubeconfigSettingResponse {} message GetKubeconfigSettingRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; } message GetKubeconfigSettingResponse { - int64 validitySeconds = 1 [ - (gogoproto.jsontag) = "validitySeconds" - ]; - - bool enableSessionCheck = 2 [ - (gogoproto.jsontag) = "enableSessionCheck" - ]; - - bool enablePrivateRelay = 3 - [ (gogoproto.jsontag) = "enablePrivateRelay" ]; - - bool enforceOrgAdminSecretAccess = 4 - [ (gogoproto.jsontag) = "enforceOrgAdminSecretAccess" ]; - - bool disableWebKubectl = 5 - [ (gogoproto.jsontag) = "disableWebKubectl" ]; - - bool disableCLIKubectl = 6 - [ (gogoproto.jsontag) = "disableCLIKubectl" ]; - + int64 validitySeconds = 1; + bool enableSessionCheck = 2; + bool enablePrivateRelay = 3; + bool enforceOrgAdminSecretAccess = 4; + bool disableWebKubectl = 5; + bool disableCLIKubectl = 6; } service KubeConfig { diff --git a/components/common/proto/rpc/sentry/kubeconfig_grpc.pb.go b/proto/rpc/sentry/kubeconfig_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/sentry/kubeconfig_grpc.pb.go rename to proto/rpc/sentry/kubeconfig_grpc.pb.go index 18e0b8e..51e7e56 100644 --- a/components/common/proto/rpc/sentry/kubeconfig_grpc.pb.go +++ b/proto/rpc/sentry/kubeconfig_grpc.pb.go @@ -8,7 +8,7 @@ package sentry import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/sentry/kubectl_cluster.pb.go b/proto/rpc/sentry/kubectl_cluster.pb.go similarity index 61% rename from components/common/proto/rpc/sentry/kubectl_cluster.pb.go rename to proto/rpc/sentry/kubectl_cluster.pb.go index 96007ce..e441082 100644 --- a/components/common/proto/rpc/sentry/kubectl_cluster.pb.go +++ b/proto/rpc/sentry/kubectl_cluster.pb.go @@ -7,9 +7,8 @@ package sentry import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" - _ "github.com/gogo/protobuf/gogoproto" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + _ "github.com/RafaySystems/rcloud-base/proto/types/sentry" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -236,23 +235,21 @@ var file_proto_rpc_sentry_kubectl_cluster_proto_rawDesc = []byte{ 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x14, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, - 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, - 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc8, 0x01, 0x0a, 0x23, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x45, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, - 0x1f, 0x01, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, + 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x1a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xbe, 0x01, 0x0a, 0x23, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, + 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3b, 0x0a, 0x04, 0x6f, + 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x4f, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, @@ -260,93 +257,87 @@ var file_proto_rpc_sentry_kubectl_cluster_proto_rawDesc = []byte{ 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x22, 0x26, 0x0a, 0x24, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, - 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x69, 0x0a, 0x20, + 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x20, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x45, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, + 0x12, 0x3b, 0x0a, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, - 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, - 0x01, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0xad, 0x01, 0x0a, 0x21, 0x47, 0x65, 0x74, 0x4b, - 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, - 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x43, 0x0a, - 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, - 0x74, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x42, 0x15, 0xea, 0xde, 0x1f, 0x11, 0x64, 0x69, - 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x52, - 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, - 0x74, 0x6c, 0x12, 0x43, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, - 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x42, 0x15, 0xea, - 0xde, 0x1f, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, - 0x65, 0x63, 0x74, 0x6c, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, - 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x32, 0xc0, 0x03, 0x0a, 0x16, 0x4b, 0x75, 0x62, 0x65, - 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x1c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, - 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x12, 0x39, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, - 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, - 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, - 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x3a, 0x1a, 0x35, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, - 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, - 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x2a, 0x7d, - 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x3a, 0x01, 0x2a, 0x12, 0xcb, 0x01, 0x0a, - 0x19, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x36, 0x2e, 0x72, 0x61, 0x66, + 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x04, 0x6f, 0x70, 0x74, 0x73, 0x22, 0x7f, 0x0a, + 0x21, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, + 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, + 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, + 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x32, 0xc0, + 0x03, 0x0a, 0x16, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0xd7, 0x01, 0x0a, 0x1c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x39, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, - 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, - 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, - 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, - 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, - 0x6b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x2f, 0x7b, 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, - 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x2a, - 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x42, 0xf3, 0x04, 0x0a, 0x18, 0x63, - 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x13, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, - 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, - 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x2e, 0x52, 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, - 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, - 0x70, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, 0xf0, 0x02, 0x12, 0x39, 0x0a, 0x25, - 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x53, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, - 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, - 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, - 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, - 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, - 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, - 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, - 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, - 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, - 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, - 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, - 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, - 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, - 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0xc8, 0xe2, 0x1e, 0x01, - 0xd0, 0xe2, 0x1e, 0x01, 0xe0, 0xe2, 0x1e, 0x01, 0xc0, 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x40, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x3a, 0x1a, 0x35, 0x2f, 0x76, 0x32, 0x2f, 0x73, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x2f, 0x7b, 0x6f, + 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, + 0x3a, 0x01, 0x2a, 0x12, 0xcb, 0x01, 0x0a, 0x19, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, + 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x12, 0x36, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, + 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, + 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x37, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, + 0x2e, 0x47, 0x65, 0x74, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x3d, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x37, 0x12, 0x35, 0x2f, 0x76, 0x32, 0x2f, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x2f, 0x7b, + 0x6f, 0x70, 0x74, 0x73, 0x2e, 0x75, 0x72, 0x6c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x3d, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x2f, 0x2a, 0x7d, 0x2f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, + 0x73, 0x42, 0xcd, 0x04, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x13, + 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x50, 0x72, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, + 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, + 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, + 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x92, 0x41, 0xf0, + 0x02, 0x12, 0x39, 0x0a, 0x25, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x4b, 0x75, 0x62, 0x65, + 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, + 0x67, 0x73, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, + 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, + 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, + 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, + 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, + 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, + 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, + 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, + 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, + 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/rpc/sentry/kubectl_cluster.pb.gw.go b/proto/rpc/sentry/kubectl_cluster.pb.gw.go similarity index 100% rename from components/common/proto/rpc/sentry/kubectl_cluster.pb.gw.go rename to proto/rpc/sentry/kubectl_cluster.pb.gw.go diff --git a/components/common/proto/rpc/sentry/kubectl_cluster.proto b/proto/rpc/sentry/kubectl_cluster.proto similarity index 69% rename from components/common/proto/rpc/sentry/kubectl_cluster.proto rename to proto/rpc/sentry/kubectl_cluster.proto index 1798de2..8bb93a7 100644 --- a/components/common/proto/rpc/sentry/kubectl_cluster.proto +++ b/proto/rpc/sentry/kubectl_cluster.proto @@ -2,22 +2,10 @@ syntax = "proto3"; package rafay.dev.sentry.rpc; import "google/api/annotations.proto"; -import "gogoproto/gogo.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "proto/types/commonpb/v3/common.proto"; import "proto/types/sentry/sentry.proto"; -// Enable custom Marshal method. -option (gogoproto.marshaler_all) = true; -// Enable custom Unmarshal method. -option (gogoproto.unmarshaler_all) = true; -// Enable custom Size method (Required by Marshal and Unmarshal). -option (gogoproto.sizer_all) = true; -// Enable registration with golang/protobuf for the grpc-gateway. -option (gogoproto.goproto_registration) = true; -// Enable generation of XXX_MessageName methods for grpc-go/status. -option (gogoproto.messagename_all) = true; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { info : { title : "Sentry KubectlClusterSettings Service" @@ -67,10 +55,7 @@ option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { message UpdateKubectlClusterSettingsRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 [ - (gogoproto.nullable) = false, - (gogoproto.embed) = true - ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; bool disableWebKubectl = 2; bool disableCLIKubectl = 3; } @@ -78,18 +63,12 @@ message UpdateKubectlClusterSettingsRequest { message UpdateKubectlClusterSettingsResponse {} message GetKubectlClusterSettingsRequest { - rafay.dev.types.common.v3.QueryOptions opts = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.QueryOptions opts = 1; } message GetKubectlClusterSettingsResponse { - bool disableWebKubectl = 1 [ - (gogoproto.jsontag) = "disableWebKubectl" - ]; - - bool disableCLIKubectl = 2 [ - (gogoproto.jsontag) = "disableCLIKubectl" - ]; + bool disableWebKubectl = 1; + bool disableCLIKubectl = 2; } service KubectlClusterSettings { diff --git a/components/common/proto/rpc/sentry/kubectl_cluster_grpc.pb.go b/proto/rpc/sentry/kubectl_cluster_grpc.pb.go similarity index 100% rename from components/common/proto/rpc/sentry/kubectl_cluster_grpc.pb.go rename to proto/rpc/sentry/kubectl_cluster_grpc.pb.go diff --git a/components/common/proto/rpc/sentry/relaypeer.pb.go b/proto/rpc/sentry/relaypeer.pb.go similarity index 95% rename from components/common/proto/rpc/sentry/relaypeer.pb.go rename to proto/rpc/sentry/relaypeer.pb.go index dad7f32..89c9f55 100644 --- a/components/common/proto/rpc/sentry/relaypeer.pb.go +++ b/proto/rpc/sentry/relaypeer.pb.go @@ -477,22 +477,21 @@ var file_proto_rpc_sentry_relaypeer_proto_rawDesc = []byte{ 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x1a, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x50, 0x65, 0x65, 0x72, 0x53, 0x75, 0x72, 0x76, 0x65, 0x79, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0xe6, 0x01, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x42, 0xd4, 0x01, 0x0a, 0x18, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x72, 0x70, 0x63, 0x42, 0x0e, 0x52, 0x65, 0x6c, 0x61, - 0x79, 0x70, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x46, 0x67, 0x69, + 0x79, 0x70, 0x65, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x34, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, - 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, - 0x70, 0x63, 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x53, 0x52, 0xaa, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x52, 0x70, 0x63, + 0xca, 0x02, 0x14, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, + 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0xe2, 0x02, 0x20, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, + 0x44, 0x65, 0x76, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x17, 0x52, 0x61, 0x66, + 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x3a, + 0x3a, 0x52, 0x70, 0x63, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/rpc/sentry/relaypeer.proto b/proto/rpc/sentry/relaypeer.proto similarity index 100% rename from components/common/proto/rpc/sentry/relaypeer.proto rename to proto/rpc/sentry/relaypeer.proto diff --git a/components/common/proto/rpc/sentry/relaypeer_grpc.pb.go b/proto/rpc/sentry/relaypeer_grpc.pb.go similarity index 100% rename from components/common/proto/rpc/sentry/relaypeer_grpc.pb.go rename to proto/rpc/sentry/relaypeer_grpc.pb.go diff --git a/components/common/proto/rpc/system/idp.pb.go b/proto/rpc/system/idp.pb.go similarity index 72% rename from components/common/proto/rpc/system/idp.pb.go rename to proto/rpc/system/idp.pb.go index faeedd7..1ae0f89 100644 --- a/components/common/proto/rpc/system/idp.pb.go +++ b/proto/rpc/system/idp.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -80,43 +80,42 @@ var file_proto_rpc_system_idp_proto_rawDesc = []byte{ 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x2a, 0x20, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x73, 0x6f, 0x2f, 0x69, 0x64, 0x70, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, - 0xbf, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0xad, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x08, 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, 0x70, 0x63, - 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, - 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, - 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, - 0x3a, 0x56, 0x33, 0x92, 0x41, 0xea, 0x02, 0x12, 0x33, 0x0a, 0x1f, 0x49, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x74, 0x79, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x28, 0x49, 0x64, - 0x50, 0x29, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, - 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, - 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, - 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, - 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, - 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, - 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, - 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, - 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, - 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, - 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, - 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, - 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, - 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, - 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, + 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, + 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, + 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, + 0x33, 0x92, 0x41, 0xea, 0x02, 0x12, 0x33, 0x0a, 0x1f, 0x49, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x28, 0x49, 0x64, 0x50, 0x29, + 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, + 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, + 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, + 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, + 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, + 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, + 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, + 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, + 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, + 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, + 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, + 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, + 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, + 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_system_idp_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/system/idp.pb.gw.go b/proto/rpc/system/idp.pb.gw.go similarity index 99% rename from components/common/proto/rpc/system/idp.pb.gw.go rename to proto/rpc/system/idp.pb.gw.go index 88d202b..46797ff 100644 --- a/components/common/proto/rpc/system/idp.pb.gw.go +++ b/proto/rpc/system/idp.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/system/idp.proto b/proto/rpc/system/idp.proto similarity index 100% rename from components/common/proto/rpc/system/idp.proto rename to proto/rpc/system/idp.proto diff --git a/components/common/proto/rpc/system/idp_grpc.pb.go b/proto/rpc/system/idp_grpc.pb.go similarity index 98% rename from components/common/proto/rpc/system/idp_grpc.pb.go rename to proto/rpc/system/idp_grpc.pb.go index e713959..8d9bdce 100644 --- a/components/common/proto/rpc/system/idp_grpc.pb.go +++ b/proto/rpc/system/idp_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/system/metro.pb.go b/proto/rpc/system/metro.pb.go similarity index 76% rename from components/common/proto/rpc/system/metro.pb.go rename to proto/rpc/system/metro.pb.go index d512f88..8acf993 100644 --- a/components/common/proto/rpc/system/metro.pb.go +++ b/proto/rpc/system/metro.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -91,42 +91,41 @@ var file_proto_rpc_system_metro_proto_rawDesc = []byte{ 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, - 0x7d, 0x42, 0xb2, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x7d, 0x42, 0xa0, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x4d, 0x65, 0x74, 0x72, - 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x6f, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, - 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, - 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, - 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, - 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xdb, 0x02, 0x12, 0x24, 0x0a, 0x10, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, - 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, - 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, - 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, - 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, - 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, - 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, - 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, - 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, - 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, - 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, - 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, + 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, + 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, + 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, + 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xdb, 0x02, 0x12, 0x24, 0x0a, 0x10, 0x4c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, + 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, + 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, + 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, + 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, + 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, + 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, + 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, + 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_system_metro_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/system/metro.pb.gw.go b/proto/rpc/system/metro.pb.gw.go similarity index 99% rename from components/common/proto/rpc/system/metro.pb.gw.go rename to proto/rpc/system/metro.pb.gw.go index 987a588..a21641d 100644 --- a/components/common/proto/rpc/system/metro.pb.gw.go +++ b/proto/rpc/system/metro.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/system/metro.proto b/proto/rpc/system/metro.proto similarity index 100% rename from components/common/proto/rpc/system/metro.proto rename to proto/rpc/system/metro.proto diff --git a/components/common/proto/rpc/system/metro_grpc.pb.go b/proto/rpc/system/metro_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/system/metro_grpc.pb.go rename to proto/rpc/system/metro_grpc.pb.go index d49feb0..bd5da0e 100644 --- a/components/common/proto/rpc/system/metro_grpc.pb.go +++ b/proto/rpc/system/metro_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/system/oidc_provider.pb.go b/proto/rpc/system/oidc_provider.pb.go similarity index 77% rename from components/common/proto/rpc/system/oidc_provider.pb.go rename to proto/rpc/system/oidc_provider.pb.go index c314779..4811cf3 100644 --- a/components/common/proto/rpc/system/oidc_provider.pb.go +++ b/proto/rpc/system/oidc_provider.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -93,44 +93,42 @@ var file_proto_rpc_system_oidc_provider_proto_rawDesc = []byte{ 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x2a, 0x2a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x73, 0x73, 0x6f, 0x2f, 0x6f, 0x69, 0x64, 0x63, 0x2f, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xbe, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, + 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xac, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x4f, 0x69, 0x64, 0x63, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, - 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, - 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, - 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, - 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, - 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xe0, 0x02, 0x12, 0x29, 0x0a, 0x15, 0x4f, 0x49, 0x64, - 0x43, 0x20, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, - 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, - 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, - 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, - 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, - 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, - 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, - 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, - 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, - 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, - 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, 0x70, 0x63, + 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, + 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, + 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, + 0x3a, 0x56, 0x33, 0x92, 0x41, 0xe0, 0x02, 0x12, 0x29, 0x0a, 0x15, 0x4f, 0x49, 0x64, 0x43, 0x20, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, + 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, + 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, + 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, + 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, + 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, + 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, + 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, + 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_system_oidc_provider_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/system/oidc_provider.pb.gw.go b/proto/rpc/system/oidc_provider.pb.gw.go similarity index 99% rename from components/common/proto/rpc/system/oidc_provider.pb.gw.go rename to proto/rpc/system/oidc_provider.pb.gw.go index aabf477..7fb50a4 100644 --- a/components/common/proto/rpc/system/oidc_provider.pb.gw.go +++ b/proto/rpc/system/oidc_provider.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/system/oidc_provider.proto b/proto/rpc/system/oidc_provider.proto similarity index 100% rename from components/common/proto/rpc/system/oidc_provider.proto rename to proto/rpc/system/oidc_provider.proto diff --git a/components/common/proto/rpc/system/oidc_provider_grpc.pb.go b/proto/rpc/system/oidc_provider_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/system/oidc_provider_grpc.pb.go rename to proto/rpc/system/oidc_provider_grpc.pb.go index 1555375..bfabf7d 100644 --- a/components/common/proto/rpc/system/oidc_provider_grpc.pb.go +++ b/proto/rpc/system/oidc_provider_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/system/organization.pb.go b/proto/rpc/system/organization.pb.go similarity index 77% rename from components/common/proto/rpc/system/organization.pb.go rename to proto/rpc/system/organization.pb.go index 2b97484..9c45d80 100644 --- a/components/common/proto/rpc/system/organization.pb.go +++ b/proto/rpc/system/organization.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -99,44 +99,42 @@ var file_proto_rpc_system_organization_proto_rawDesc = []byte{ 0x76, 0x33, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x7d, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xbd, 0x04, 0x0a, 0x14, 0x63, + 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xab, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, - 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, - 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, - 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, - 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xdf, 0x02, 0x12, 0x28, 0x0a, 0x14, 0x4f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, - 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, - 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, - 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, - 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, - 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, - 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, - 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, - 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, - 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, - 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, - 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, - 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, - 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, + 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, + 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, + 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, + 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, + 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xdf, 0x02, 0x12, 0x28, 0x0a, 0x14, 0x4f, 0x72, 0x67, + 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, + 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, + 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, + 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, + 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, + 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, + 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, + 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, + 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_system_organization_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/system/organization.pb.gw.go b/proto/rpc/system/organization.pb.gw.go similarity index 99% rename from components/common/proto/rpc/system/organization.pb.gw.go rename to proto/rpc/system/organization.pb.gw.go index db1c5d4..9008c52 100644 --- a/components/common/proto/rpc/system/organization.pb.gw.go +++ b/proto/rpc/system/organization.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/system/organization.proto b/proto/rpc/system/organization.proto similarity index 100% rename from components/common/proto/rpc/system/organization.proto rename to proto/rpc/system/organization.proto diff --git a/components/common/proto/rpc/system/organization_grpc.pb.go b/proto/rpc/system/organization_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/system/organization_grpc.pb.go rename to proto/rpc/system/organization_grpc.pb.go index 3e30921..8a289ec 100644 --- a/components/common/proto/rpc/system/organization_grpc.pb.go +++ b/proto/rpc/system/organization_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/system/partner.pb.go b/proto/rpc/system/partner.pb.go similarity index 72% rename from components/common/proto/rpc/system/partner.pb.go rename to proto/rpc/system/partner.pb.go index 26ae680..72f67dc 100644 --- a/components/common/proto/rpc/system/partner.pb.go +++ b/proto/rpc/system/partner.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -75,43 +75,42 @@ var file_proto_rpc_system_partner_proto_rawDesc = []byte{ 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x2a, 0x20, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x2f, 0x7b, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xb3, 0x04, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xa1, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, - 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, - 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, - 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, - 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, - 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, - 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xda, 0x02, 0x12, 0x23, 0x0a, 0x0f, 0x50, 0x61, 0x72, - 0x74, 0x6e, 0x65, 0x72, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, - 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, - 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, - 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, - 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, - 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, - 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, - 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, - 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, - 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, - 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, - 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, - 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, - 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, - 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, 0x70, 0x63, + 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, + 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, + 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, + 0x3a, 0x56, 0x33, 0x92, 0x41, 0xda, 0x02, 0x12, 0x23, 0x0a, 0x0f, 0x50, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, + 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, + 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, + 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, + 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, + 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, + 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, + 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, + 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, + 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, + 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, + 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_system_partner_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/system/partner.pb.gw.go b/proto/rpc/system/partner.pb.gw.go similarity index 99% rename from components/common/proto/rpc/system/partner.pb.gw.go rename to proto/rpc/system/partner.pb.gw.go index 98d2714..5749c8a 100644 --- a/components/common/proto/rpc/system/partner.pb.gw.go +++ b/proto/rpc/system/partner.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/system/partner.proto b/proto/rpc/system/partner.proto similarity index 100% rename from components/common/proto/rpc/system/partner.proto rename to proto/rpc/system/partner.proto diff --git a/components/common/proto/rpc/system/partner_grpc.pb.go b/proto/rpc/system/partner_grpc.pb.go similarity index 98% rename from components/common/proto/rpc/system/partner_grpc.pb.go rename to proto/rpc/system/partner_grpc.pb.go index ae2e011..ba00cdf 100644 --- a/components/common/proto/rpc/system/partner_grpc.pb.go +++ b/proto/rpc/system/partner_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/system/project.pb.go b/proto/rpc/system/project.pb.go similarity index 78% rename from components/common/proto/rpc/system/project.pb.go rename to proto/rpc/system/project.pb.go index 8eb5a74..4896e9e 100644 --- a/components/common/proto/rpc/system/project.pb.go +++ b/proto/rpc/system/project.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -103,43 +103,42 @@ var file_proto_rpc_system_project_proto_rawDesc = []byte{ 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xb3, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, + 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xa1, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, + 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, - 0x63, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, - 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, - 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, - 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, - 0x41, 0xda, 0x02, 0x12, 0x23, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x53, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, - 0x44, 0x65, 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, - 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, - 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, - 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, + 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, + 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, + 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, + 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, + 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, + 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, 0xda, + 0x02, 0x12, 0x23, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x53, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, + 0x76, 0x32, 0x03, 0x33, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, + 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, + 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, + 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, - 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, - 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, - 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, - 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, - 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, - 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, - 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, - 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, - 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, - 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, + 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, + 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, + 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, + 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, + 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var file_proto_rpc_system_project_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/system/project.pb.gw.go b/proto/rpc/system/project.pb.gw.go similarity index 99% rename from components/common/proto/rpc/system/project.pb.gw.go rename to proto/rpc/system/project.pb.gw.go index fb871bc..cad4c2a 100644 --- a/components/common/proto/rpc/system/project.pb.gw.go +++ b/proto/rpc/system/project.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/system/project.proto b/proto/rpc/system/project.proto similarity index 100% rename from components/common/proto/rpc/system/project.proto rename to proto/rpc/system/project.proto diff --git a/components/common/proto/rpc/system/project_grpc.pb.go b/proto/rpc/system/project_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/system/project_grpc.pb.go rename to proto/rpc/system/project_grpc.pb.go index 4608fbd..e125107 100644 --- a/components/common/proto/rpc/system/project_grpc.pb.go +++ b/proto/rpc/system/project_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/user/group.pb.go b/proto/rpc/user/group.pb.go similarity index 77% rename from components/common/proto/rpc/user/group.pb.go rename to proto/rpc/user/group.pb.go index b694d2c..fafa26b 100644 --- a/components/common/proto/rpc/user/group.pb.go +++ b/proto/rpc/user/group.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -98,44 +98,42 @@ var file_proto_rpc_user_group_proto_rawDesc = []byte{ 0x65, 0x72, 0x7d, 0x2f, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x7b, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x2f, 0x7b, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xb9, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xa7, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x72, 0x70, 0x63, 0x76, - 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, - 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, - 0x56, 0x33, 0x92, 0x41, 0xe4, 0x02, 0x12, 0x2c, 0x0a, 0x18, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, - 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, - 0x03, 0x32, 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, - 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, - 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, - 0x51, 0x0a, 0x03, 0x34, 0x30, 0x33, 0x12, 0x4a, 0x0a, 0x48, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, - 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, - 0x70, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, - 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, - 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, - 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, - 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, - 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, - 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, - 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, - 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, - 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, + 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, + 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, + 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, + 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, + 0x92, 0x41, 0xe4, 0x02, 0x12, 0x2c, 0x0a, 0x18, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x22, 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, + 0x2e, 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x51, 0x0a, + 0x03, 0x34, 0x30, 0x33, 0x12, 0x4a, 0x0a, 0x48, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, + 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, + 0x52, 0x3b, 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, + 0x78, 0x69, 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, + 0x25, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, + 0x02, 0x1a, 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, + 0x45, 0x59, 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, + 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, + 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_user_group_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/user/group.pb.gw.go b/proto/rpc/user/group.pb.gw.go similarity index 99% rename from components/common/proto/rpc/user/group.pb.gw.go rename to proto/rpc/user/group.pb.gw.go index 9a2248d..d128f89 100644 --- a/components/common/proto/rpc/user/group.pb.gw.go +++ b/proto/rpc/user/group.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/user/group.proto b/proto/rpc/user/group.proto similarity index 100% rename from components/common/proto/rpc/user/group.proto rename to proto/rpc/user/group.proto diff --git a/components/common/proto/rpc/user/group_grpc.pb.go b/proto/rpc/user/group_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/user/group_grpc.pb.go rename to proto/rpc/user/group_grpc.pb.go index aa6f3e4..fbb646e 100644 --- a/components/common/proto/rpc/user/group_grpc.pb.go +++ b/proto/rpc/user/group_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/user/user.pb.go b/proto/rpc/user/user.pb.go similarity index 77% rename from components/common/proto/rpc/user/user.pb.go rename to proto/rpc/user/user.pb.go index 55c4941..9a8aac2 100644 --- a/components/common/proto/rpc/user/user.pb.go +++ b/proto/rpc/user/user.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -117,43 +117,42 @@ var file_proto_rpc_user_user_proto_rawDesc = []byte{ 0x69, 0x73, 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x2a, 0x1d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x76, 0x33, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x2f, 0x7b, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xb6, 0x04, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x6e, 0x61, 0x6d, 0x65, 0x7d, 0x42, 0xa4, 0x04, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x4a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, - 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, - 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, - 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, - 0x92, 0x41, 0xe2, 0x02, 0x12, 0x2b, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x20, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, - 0x0b, 0x0a, 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, - 0x30, 0x2a, 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, - 0x34, 0x30, 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, - 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, - 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, - 0x0a, 0x03, 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, - 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, - 0x73, 0x74, 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, - 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, - 0x11, 0x58, 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, - 0x49, 0x44, 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, - 0x68, 0x12, 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, - 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, - 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, + 0x70, 0x63, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x3b, 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, + 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, + 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x92, 0x41, + 0xe2, 0x02, 0x12, 0x2b, 0x0a, 0x17, 0x55, 0x73, 0x65, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, + 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x0b, 0x0a, + 0x09, 0x52, 0x61, 0x66, 0x61, 0x79, 0x20, 0x44, 0x65, 0x76, 0x32, 0x03, 0x32, 0x2e, 0x30, 0x2a, + 0x01, 0x02, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, + 0x6a, 0x73, 0x6f, 0x6e, 0x32, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x79, 0x61, 0x6d, 0x6c, 0x52, 0x50, 0x0a, 0x03, 0x34, 0x30, + 0x33, 0x12, 0x49, 0x0a, 0x47, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, + 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x64, 0x6f, 0x65, 0x73, + 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, + 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x52, 0x3b, 0x0a, 0x03, + 0x34, 0x30, 0x34, 0x12, 0x34, 0x0a, 0x2a, 0x52, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, + 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x2e, 0x12, 0x06, 0x0a, 0x04, 0x9a, 0x02, 0x01, 0x07, 0x5a, 0x38, 0x0a, 0x25, 0x0a, 0x0a, 0x41, + 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x17, 0x08, 0x02, 0x1a, 0x11, 0x58, + 0x2d, 0x52, 0x41, 0x46, 0x41, 0x59, 0x2d, 0x41, 0x50, 0x49, 0x2d, 0x4b, 0x45, 0x59, 0x49, 0x44, + 0x20, 0x02, 0x0a, 0x0f, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, 0x74, 0x68, 0x12, + 0x02, 0x08, 0x01, 0x62, 0x1f, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x00, 0x0a, 0x0d, 0x0a, 0x09, 0x42, 0x61, 0x73, 0x69, 0x63, 0x41, 0x75, + 0x74, 0x68, 0x12, 0x00, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/rpc/user/user.pb.gw.go b/proto/rpc/user/user.pb.gw.go similarity index 99% rename from components/common/proto/rpc/user/user.pb.gw.go rename to proto/rpc/user/user.pb.gw.go index 4cb9a6a..ce4beaa 100644 --- a/components/common/proto/rpc/user/user.pb.gw.go +++ b/proto/rpc/user/user.pb.gw.go @@ -13,7 +13,7 @@ import ( "io" "net/http" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "github.com/grpc-ecosystem/grpc-gateway/v2/runtime" "github.com/grpc-ecosystem/grpc-gateway/v2/utilities" "google.golang.org/grpc" diff --git a/components/common/proto/rpc/user/user.proto b/proto/rpc/user/user.proto similarity index 100% rename from components/common/proto/rpc/user/user.proto rename to proto/rpc/user/user.proto diff --git a/components/common/proto/rpc/user/user_grpc.pb.go b/proto/rpc/user/user_grpc.pb.go similarity index 99% rename from components/common/proto/rpc/user/user_grpc.pb.go rename to proto/rpc/user/user_grpc.pb.go index badc3ab..4305b06 100644 --- a/components/common/proto/rpc/user/user_grpc.pb.go +++ b/proto/rpc/user/user_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/common/proto/rpc/v3/auth.pb.go b/proto/rpc/v3/auth.pb.go similarity index 78% rename from components/common/proto/rpc/v3/auth.pb.go rename to proto/rpc/v3/auth.pb.go index e59f4fb..3b941ff 100644 --- a/components/common/proto/rpc/v3/auth.pb.go +++ b/proto/rpc/v3/auth.pb.go @@ -7,7 +7,7 @@ package rpcv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" reflect "reflect" @@ -36,20 +36,19 @@ var file_proto_rpc_v3_auth_proto_rawDesc = []byte{ 0x1a, 0x33, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x49, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xce, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xbc, 0x01, 0x0a, 0x14, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x72, 0x70, 0x63, 0x2e, 0x76, 0x33, 0x42, 0x09, - 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, + 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x33, 0x3b, - 0x72, 0x70, 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, - 0x10, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, - 0x33, 0xe2, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, - 0x63, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xea, 0x02, 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, - 0x70, 0x63, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x72, 0x70, 0x63, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x70, + 0x63, 0x76, 0x33, 0xa2, 0x02, 0x03, 0x52, 0x44, 0x52, 0xaa, 0x02, 0x10, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x52, 0x70, 0x63, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x10, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, 0x56, 0x33, 0xe2, + 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x52, 0x70, 0x63, 0x5c, + 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, + 0x13, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x52, 0x70, 0x63, + 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var file_proto_rpc_v3_auth_proto_goTypes = []interface{}{ diff --git a/components/common/proto/rpc/v3/auth.proto b/proto/rpc/v3/auth.proto similarity index 100% rename from components/common/proto/rpc/v3/auth.proto rename to proto/rpc/v3/auth.proto diff --git a/components/common/proto/rpc/v3/auth_grpc.pb.go b/proto/rpc/v3/auth_grpc.pb.go similarity index 97% rename from components/common/proto/rpc/v3/auth_grpc.pb.go rename to proto/rpc/v3/auth_grpc.pb.go index a59b3dc..5addfae 100644 --- a/components/common/proto/rpc/v3/auth_grpc.pb.go +++ b/proto/rpc/v3/auth_grpc.pb.go @@ -8,7 +8,7 @@ package rpcv3 import ( context "context" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" grpc "google.golang.org/grpc" codes "google.golang.org/grpc/codes" status "google.golang.org/grpc/status" diff --git a/components/authz/proto/types/authz.pb.go b/proto/types/authz/authz.pb.go similarity index 61% rename from components/authz/proto/types/authz.pb.go rename to proto/types/authz/authz.pb.go index ed99085..00619ec 100644 --- a/components/authz/proto/types/authz.pb.go +++ b/proto/types/authz/authz.pb.go @@ -2,7 +2,7 @@ // versions: // protoc-gen-go v1.27.1 // protoc (unknown) -// source: proto/types/authz.proto +// source: proto/types/authz/authz.proto package authzv1 @@ -31,7 +31,7 @@ type EnforceRequest struct { func (x *EnforceRequest) Reset() { *x = EnforceRequest{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[0] + mi := &file_proto_types_authz_authz_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -44,7 +44,7 @@ func (x *EnforceRequest) String() string { func (*EnforceRequest) ProtoMessage() {} func (x *EnforceRequest) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[0] + mi := &file_proto_types_authz_authz_proto_msgTypes[0] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -57,7 +57,7 @@ func (x *EnforceRequest) ProtoReflect() protoreflect.Message { // Deprecated: Use EnforceRequest.ProtoReflect.Descriptor instead. func (*EnforceRequest) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{0} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{0} } func (x *EnforceRequest) GetParams() []string { @@ -89,7 +89,7 @@ type Policy struct { func (x *Policy) Reset() { *x = Policy{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[1] + mi := &file_proto_types_authz_authz_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -102,7 +102,7 @@ func (x *Policy) String() string { func (*Policy) ProtoMessage() {} func (x *Policy) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[1] + mi := &file_proto_types_authz_authz_proto_msgTypes[1] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -115,7 +115,7 @@ func (x *Policy) ProtoReflect() protoreflect.Message { // Deprecated: Use Policy.ProtoReflect.Descriptor instead. func (*Policy) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{1} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{1} } func (x *Policy) GetSub() string { @@ -171,7 +171,7 @@ type Policies struct { func (x *Policies) Reset() { *x = Policies{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[2] + mi := &file_proto_types_authz_authz_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -184,7 +184,7 @@ func (x *Policies) String() string { func (*Policies) ProtoMessage() {} func (x *Policies) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[2] + mi := &file_proto_types_authz_authz_proto_msgTypes[2] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -197,7 +197,7 @@ func (x *Policies) ProtoReflect() protoreflect.Message { // Deprecated: Use Policies.ProtoReflect.Descriptor instead. func (*Policies) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{2} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{2} } func (x *Policies) GetPolicies() []*Policy { @@ -219,7 +219,7 @@ type UserGroup struct { func (x *UserGroup) Reset() { *x = UserGroup{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[3] + mi := &file_proto_types_authz_authz_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -232,7 +232,7 @@ func (x *UserGroup) String() string { func (*UserGroup) ProtoMessage() {} func (x *UserGroup) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[3] + mi := &file_proto_types_authz_authz_proto_msgTypes[3] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -245,7 +245,7 @@ func (x *UserGroup) ProtoReflect() protoreflect.Message { // Deprecated: Use UserGroup.ProtoReflect.Descriptor instead. func (*UserGroup) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{3} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{3} } func (x *UserGroup) GetUser() string { @@ -273,7 +273,7 @@ type UserGroups struct { func (x *UserGroups) Reset() { *x = UserGroups{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[4] + mi := &file_proto_types_authz_authz_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -286,7 +286,7 @@ func (x *UserGroups) String() string { func (*UserGroups) ProtoMessage() {} func (x *UserGroups) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[4] + mi := &file_proto_types_authz_authz_proto_msgTypes[4] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -299,7 +299,7 @@ func (x *UserGroups) ProtoReflect() protoreflect.Message { // Deprecated: Use UserGroups.ProtoReflect.Descriptor instead. func (*UserGroups) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{4} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{4} } func (x *UserGroups) GetUserGroups() []*UserGroup { @@ -321,7 +321,7 @@ type RolePermissionMapping struct { func (x *RolePermissionMapping) Reset() { *x = RolePermissionMapping{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[5] + mi := &file_proto_types_authz_authz_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -334,7 +334,7 @@ func (x *RolePermissionMapping) String() string { func (*RolePermissionMapping) ProtoMessage() {} func (x *RolePermissionMapping) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[5] + mi := &file_proto_types_authz_authz_proto_msgTypes[5] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -347,7 +347,7 @@ func (x *RolePermissionMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use RolePermissionMapping.ProtoReflect.Descriptor instead. func (*RolePermissionMapping) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{5} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{5} } func (x *RolePermissionMapping) GetRole() string { @@ -375,7 +375,7 @@ type RolePermissionMappingList struct { func (x *RolePermissionMappingList) Reset() { *x = RolePermissionMappingList{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[6] + mi := &file_proto_types_authz_authz_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -388,7 +388,7 @@ func (x *RolePermissionMappingList) String() string { func (*RolePermissionMappingList) ProtoMessage() {} func (x *RolePermissionMappingList) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[6] + mi := &file_proto_types_authz_authz_proto_msgTypes[6] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -401,7 +401,7 @@ func (x *RolePermissionMappingList) ProtoReflect() protoreflect.Message { // Deprecated: Use RolePermissionMappingList.ProtoReflect.Descriptor instead. func (*RolePermissionMappingList) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{6} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{6} } func (x *RolePermissionMappingList) GetRolePermissionMappingList() []*RolePermissionMapping { @@ -422,7 +422,7 @@ type FilteredRolePermissionMapping struct { func (x *FilteredRolePermissionMapping) Reset() { *x = FilteredRolePermissionMapping{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[7] + mi := &file_proto_types_authz_authz_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -435,7 +435,7 @@ func (x *FilteredRolePermissionMapping) String() string { func (*FilteredRolePermissionMapping) ProtoMessage() {} func (x *FilteredRolePermissionMapping) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[7] + mi := &file_proto_types_authz_authz_proto_msgTypes[7] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -448,7 +448,7 @@ func (x *FilteredRolePermissionMapping) ProtoReflect() protoreflect.Message { // Deprecated: Use FilteredRolePermissionMapping.ProtoReflect.Descriptor instead. func (*FilteredRolePermissionMapping) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{7} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{7} } func (x *FilteredRolePermissionMapping) GetRole() string { @@ -469,7 +469,7 @@ type BoolReply struct { func (x *BoolReply) Reset() { *x = BoolReply{} if protoimpl.UnsafeEnabled { - mi := &file_proto_types_authz_proto_msgTypes[8] + mi := &file_proto_types_authz_authz_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -482,7 +482,7 @@ func (x *BoolReply) String() string { func (*BoolReply) ProtoMessage() {} func (x *BoolReply) ProtoReflect() protoreflect.Message { - mi := &file_proto_types_authz_proto_msgTypes[8] + mi := &file_proto_types_authz_authz_proto_msgTypes[8] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -495,7 +495,7 @@ func (x *BoolReply) ProtoReflect() protoreflect.Message { // Deprecated: Use BoolReply.ProtoReflect.Descriptor instead. func (*BoolReply) Descriptor() ([]byte, []int) { - return file_proto_types_authz_proto_rawDescGZIP(), []int{8} + return file_proto_types_authz_authz_proto_rawDescGZIP(), []int{8} } func (x *BoolReply) GetRes() bool { @@ -505,87 +505,87 @@ func (x *BoolReply) GetRes() bool { return false } -var File_proto_types_authz_proto protoreflect.FileDescriptor +var File_proto_types_authz_authz_proto protoreflect.FileDescriptor -var file_proto_types_authz_proto_rawDesc = []byte{ - 0x0a, 0x17, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x61, 0x75, - 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x18, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, - 0x2e, 0x76, 0x31, 0x22, 0x28, 0x0a, 0x0e, 0x45, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x74, 0x0a, - 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x73, 0x75, 0x62, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, 0x0e, 0x0a, 0x02, 0x6e, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6e, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, - 0x6a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, 0x72, 0x6f, 0x6a, 0x12, 0x10, 0x0a, - 0x03, 0x6f, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, - 0x10, 0x0a, 0x03, 0x6f, 0x62, 0x6a, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x62, - 0x6a, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x63, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x61, 0x63, 0x74, 0x22, 0x48, 0x0a, 0x08, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, - 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x22, 0x31, 0x0a, - 0x09, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, - 0x0a, 0x03, 0x67, 0x72, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x67, 0x72, 0x70, - 0x22, 0x52, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x12, 0x44, - 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, - 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, - 0x6f, 0x75, 0x70, 0x73, 0x22, 0x4b, 0x0a, 0x15, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, - 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x19, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, - 0x70, 0x0a, 0x1c, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, - 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, - 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x19, 0x72, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, - 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, - 0x74, 0x22, 0x33, 0x0a, 0x1d, 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x65, 0x64, 0x52, 0x6f, 0x6c, - 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x1d, 0x0a, 0x09, 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, - 0x70, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x03, 0x72, 0x65, 0x73, 0x42, 0xf9, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, +var file_proto_types_authz_authz_proto_rawDesc = []byte{ + 0x0a, 0x1d, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x7a, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x18, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x22, 0x28, 0x0a, 0x0e, 0x45, 0x6e, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x22, 0x74, 0x0a, 0x06, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x73, 0x75, 0x62, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x73, 0x75, 0x62, 0x12, + 0x0e, 0x0a, 0x02, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x6e, 0x73, 0x12, + 0x12, 0x0a, 0x04, 0x70, 0x72, 0x6f, 0x6a, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x70, + 0x72, 0x6f, 0x6a, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x72, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x03, 0x6f, 0x72, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x62, 0x6a, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x03, 0x6f, 0x62, 0x6a, 0x12, 0x10, 0x0a, 0x03, 0x61, 0x63, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x61, 0x63, 0x74, 0x22, 0x48, 0x0a, 0x08, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x69, 0x65, 0x73, 0x12, 0x3c, 0x0a, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, + 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x08, 0x70, 0x6f, 0x6c, 0x69, 0x63, + 0x69, 0x65, 0x73, 0x22, 0x31, 0x0a, 0x09, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, + 0x12, 0x12, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x75, 0x73, 0x65, 0x72, 0x12, 0x10, 0x0a, 0x03, 0x67, 0x72, 0x70, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x03, 0x67, 0x72, 0x70, 0x22, 0x52, 0x0a, 0x0a, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x12, 0x44, 0x0a, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x0a, + 0x75, 0x73, 0x65, 0x72, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x4b, 0x0a, 0x15, 0x52, 0x6f, + 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x70, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0a, 0x70, 0x65, 0x72, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x22, 0x8d, 0x01, 0x0a, 0x19, 0x52, 0x6f, 0x6c, 0x65, + 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, + 0x67, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x70, 0x0a, 0x1c, 0x72, 0x6f, 0x6c, 0x65, 0x5f, 0x70, 0x65, + 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, - 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, - 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, - 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, - 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x31, 0xa2, 0x02, - 0x04, 0x52, 0x44, 0x54, 0x41, 0xaa, 0x02, 0x18, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, - 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x56, 0x31, - 0xca, 0x02, 0x18, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x24, 0x52, 0x61, + 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x52, 0x19, 0x72, 0x6f, + 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x4c, 0x69, 0x73, 0x74, 0x22, 0x33, 0x0a, 0x1d, 0x46, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x65, 0x64, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x22, 0x1d, 0x0a, 0x09, + 0x42, 0x6f, 0x6f, 0x6c, 0x52, 0x65, 0x70, 0x6c, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x65, 0x73, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x03, 0x72, 0x65, 0x73, 0x42, 0xee, 0x01, 0x0a, 0x1c, + 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x41, 0x75, + 0x74, 0x68, 0x7a, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, + 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x61, 0x75, 0x74, 0x68, + 0x7a, 0x3b, 0x61, 0x75, 0x74, 0x68, 0x7a, 0x76, 0x31, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x41, + 0xaa, 0x02, 0x18, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x18, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x41, 0x75, - 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, - 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x3a, 0x3a, 0x56, - 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x68, 0x7a, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x24, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x5c, 0x56, + 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x3a, 0x3a, 0x41, 0x75, 0x74, 0x68, 0x7a, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( - file_proto_types_authz_proto_rawDescOnce sync.Once - file_proto_types_authz_proto_rawDescData = file_proto_types_authz_proto_rawDesc + file_proto_types_authz_authz_proto_rawDescOnce sync.Once + file_proto_types_authz_authz_proto_rawDescData = file_proto_types_authz_authz_proto_rawDesc ) -func file_proto_types_authz_proto_rawDescGZIP() []byte { - file_proto_types_authz_proto_rawDescOnce.Do(func() { - file_proto_types_authz_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_authz_proto_rawDescData) +func file_proto_types_authz_authz_proto_rawDescGZIP() []byte { + file_proto_types_authz_authz_proto_rawDescOnce.Do(func() { + file_proto_types_authz_authz_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_authz_authz_proto_rawDescData) }) - return file_proto_types_authz_proto_rawDescData + return file_proto_types_authz_authz_proto_rawDescData } -var file_proto_types_authz_proto_msgTypes = make([]protoimpl.MessageInfo, 9) -var file_proto_types_authz_proto_goTypes = []interface{}{ +var file_proto_types_authz_authz_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_proto_types_authz_authz_proto_goTypes = []interface{}{ (*EnforceRequest)(nil), // 0: rafay.dev.types.authz.v1.EnforceRequest (*Policy)(nil), // 1: rafay.dev.types.authz.v1.Policy (*Policies)(nil), // 2: rafay.dev.types.authz.v1.Policies @@ -596,7 +596,7 @@ var file_proto_types_authz_proto_goTypes = []interface{}{ (*FilteredRolePermissionMapping)(nil), // 7: rafay.dev.types.authz.v1.FilteredRolePermissionMapping (*BoolReply)(nil), // 8: rafay.dev.types.authz.v1.BoolReply } -var file_proto_types_authz_proto_depIdxs = []int32{ +var file_proto_types_authz_authz_proto_depIdxs = []int32{ 1, // 0: rafay.dev.types.authz.v1.Policies.policies:type_name -> rafay.dev.types.authz.v1.Policy 3, // 1: rafay.dev.types.authz.v1.UserGroups.user_groups:type_name -> rafay.dev.types.authz.v1.UserGroup 5, // 2: rafay.dev.types.authz.v1.RolePermissionMappingList.role_permission_mapping_list:type_name -> rafay.dev.types.authz.v1.RolePermissionMapping @@ -607,13 +607,13 @@ var file_proto_types_authz_proto_depIdxs = []int32{ 0, // [0:3] is the sub-list for field type_name } -func init() { file_proto_types_authz_proto_init() } -func file_proto_types_authz_proto_init() { - if File_proto_types_authz_proto != nil { +func init() { file_proto_types_authz_authz_proto_init() } +func file_proto_types_authz_authz_proto_init() { + if File_proto_types_authz_authz_proto != nil { return } if !protoimpl.UnsafeEnabled { - file_proto_types_authz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*EnforceRequest); i { case 0: return &v.state @@ -625,7 +625,7 @@ func file_proto_types_authz_proto_init() { return nil } } - file_proto_types_authz_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policy); i { case 0: return &v.state @@ -637,7 +637,7 @@ func file_proto_types_authz_proto_init() { return nil } } - file_proto_types_authz_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Policies); i { case 0: return &v.state @@ -649,7 +649,7 @@ func file_proto_types_authz_proto_init() { return nil } } - file_proto_types_authz_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGroup); i { case 0: return &v.state @@ -661,7 +661,7 @@ func file_proto_types_authz_proto_init() { return nil } } - file_proto_types_authz_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*UserGroups); i { case 0: return &v.state @@ -673,7 +673,7 @@ func file_proto_types_authz_proto_init() { return nil } } - file_proto_types_authz_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RolePermissionMapping); i { case 0: return &v.state @@ -685,7 +685,7 @@ func file_proto_types_authz_proto_init() { return nil } } - file_proto_types_authz_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*RolePermissionMappingList); i { case 0: return &v.state @@ -697,7 +697,7 @@ func file_proto_types_authz_proto_init() { return nil } } - file_proto_types_authz_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*FilteredRolePermissionMapping); i { case 0: return &v.state @@ -709,7 +709,7 @@ func file_proto_types_authz_proto_init() { return nil } } - file_proto_types_authz_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + file_proto_types_authz_authz_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BoolReply); i { case 0: return &v.state @@ -726,18 +726,18 @@ func file_proto_types_authz_proto_init() { out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_proto_types_authz_proto_rawDesc, + RawDescriptor: file_proto_types_authz_authz_proto_rawDesc, NumEnums: 0, NumMessages: 9, NumExtensions: 0, NumServices: 0, }, - GoTypes: file_proto_types_authz_proto_goTypes, - DependencyIndexes: file_proto_types_authz_proto_depIdxs, - MessageInfos: file_proto_types_authz_proto_msgTypes, + GoTypes: file_proto_types_authz_authz_proto_goTypes, + DependencyIndexes: file_proto_types_authz_authz_proto_depIdxs, + MessageInfos: file_proto_types_authz_authz_proto_msgTypes, }.Build() - File_proto_types_authz_proto = out.File - file_proto_types_authz_proto_rawDesc = nil - file_proto_types_authz_proto_goTypes = nil - file_proto_types_authz_proto_depIdxs = nil + File_proto_types_authz_authz_proto = out.File + file_proto_types_authz_authz_proto_rawDesc = nil + file_proto_types_authz_authz_proto_goTypes = nil + file_proto_types_authz_authz_proto_depIdxs = nil } diff --git a/components/authz/proto/types/authz.proto b/proto/types/authz/authz.proto similarity index 100% rename from components/authz/proto/types/authz.proto rename to proto/types/authz/authz.proto diff --git a/components/common/proto/types/commonpb/v3/artifacts.pb.go b/proto/types/commonpb/v3/artifacts.pb.go similarity index 98% rename from components/common/proto/types/commonpb/v3/artifacts.pb.go rename to proto/types/commonpb/v3/artifacts.pb.go index fabf574..1401e0f 100644 --- a/components/common/proto/types/commonpb/v3/artifacts.pb.go +++ b/proto/types/commonpb/v3/artifacts.pb.go @@ -1273,24 +1273,23 @@ var file_proto_types_commonpb_v3_artifacts_proto_rawDesc = []byte{ 0x32, 0x31, 0x7b, 0x22, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x22, 0x3a, 0x20, 0x66, 0x61, 0x6c, 0x73, 0x65, 0x2c, 0x22, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x4f, 0x70, 0x65, 0x6e, 0x41, 0x50, 0x49, 0x56, 0x61, 0x6c, 0x69, 0x64, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3a, 0x20, 0x74, 0x72, - 0x75, 0x65, 0x7d, 0x42, 0x90, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x75, 0x65, 0x7d, 0x42, 0xfe, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0e, 0x41, 0x72, 0x74, 0x69, 0x66, 0x61, 0x63, 0x74, 0x73, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, - 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x33, 0xa2, - 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, - 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, - 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0xe2, 0x02, - 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, - 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, + 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x33, 0xa2, 0x02, 0x04, + 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x33, + 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, + 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/commonpb/v3/artifacts.proto b/proto/types/commonpb/v3/artifacts.proto similarity index 100% rename from components/common/proto/types/commonpb/v3/artifacts.proto rename to proto/types/commonpb/v3/artifacts.proto diff --git a/components/common/proto/types/commonpb/v3/auth.pb.go b/proto/types/commonpb/v3/auth.pb.go similarity index 96% rename from components/common/proto/types/commonpb/v3/auth.pb.go rename to proto/types/commonpb/v3/auth.pb.go index 8d9437e..9360e7b 100644 --- a/components/common/proto/types/commonpb/v3/auth.pb.go +++ b/proto/types/commonpb/v3/auth.pb.go @@ -860,24 +860,23 @@ var file_proto_types_commonpb_v3_auth_proto_rawDesc = []byte{ 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x0b, 0x0a, 0x07, 0x42, 0x52, 0x4f, 0x57, 0x53, 0x45, 0x52, 0x10, 0x01, 0x12, 0x07, 0x0a, 0x03, 0x43, - 0x4c, 0x49, 0x10, 0x02, 0x42, 0x8b, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, + 0x4c, 0x49, 0x10, 0x02, 0x42, 0xf9, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x41, 0x75, 0x74, 0x68, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, - 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, - 0x54, 0x43, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x33, 0xca, 0x02, - 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, - 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, - 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, + 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, + 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, 0x3a, 0x56, 0x33, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/commonpb/v3/auth.proto b/proto/types/commonpb/v3/auth.proto similarity index 100% rename from components/common/proto/types/commonpb/v3/auth.proto rename to proto/types/commonpb/v3/auth.proto diff --git a/components/common/proto/types/commonpb/v3/common.pb.go b/proto/types/commonpb/v3/common.pb.go similarity index 98% rename from components/common/proto/types/commonpb/v3/common.pb.go rename to proto/types/commonpb/v3/common.pb.go index efa53ee..683821d 100644 --- a/components/common/proto/types/commonpb/v3/common.pb.go +++ b/proto/types/commonpb/v3/common.pb.go @@ -1350,24 +1350,23 @@ var file_proto_types_commonpb_v3_common_proto_rawDesc = []byte{ 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x65, 0x64, 0x10, 0x07, 0x12, 0x0b, 0x0a, 0x07, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x64, 0x10, 0x08, 0x12, 0x0c, 0x0a, 0x08, 0x53, 0x74, 0x6f, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x10, 0x09, 0x12, 0x0d, 0x0a, 0x09, 0x53, 0x75, 0x62, 0x6d, 0x69, 0x74, - 0x74, 0x65, 0x64, 0x10, 0x0a, 0x42, 0x8d, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, + 0x74, 0x65, 0x64, 0x10, 0x0a, 0x42, 0xfb, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x42, 0x0b, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, - 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x33, 0xa2, 0x02, - 0x04, 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, - 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, - 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, - 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, - 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, + 0x2f, 0x76, 0x33, 0x3b, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, + 0x44, 0x54, 0x43, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x56, 0x33, 0xca, + 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x5c, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, + 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x3a, + 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/commonpb/v3/common.proto b/proto/types/commonpb/v3/common.proto similarity index 100% rename from components/common/proto/types/commonpb/v3/common.proto rename to proto/types/commonpb/v3/common.proto diff --git a/components/common/proto/types/controller/accessor.go b/proto/types/controller/accessor.go similarity index 100% rename from components/common/proto/types/controller/accessor.go rename to proto/types/controller/accessor.go diff --git a/components/common/proto/types/controller/accessor_test.go b/proto/types/controller/accessor_test.go similarity index 100% rename from components/common/proto/types/controller/accessor_test.go rename to proto/types/controller/accessor_test.go diff --git a/components/common/proto/types/controller/cluster_controller.pb.go b/proto/types/controller/cluster_controller.pb.go similarity index 61% rename from components/common/proto/types/controller/cluster_controller.pb.go rename to proto/types/controller/cluster_controller.pb.go index 2be7fe7..8e6abd5 100644 --- a/components/common/proto/types/controller/cluster_controller.pb.go +++ b/proto/types/controller/cluster_controller.pb.go @@ -7,7 +7,6 @@ package controller import ( - _ "github.com/gogo/protobuf/gogoproto" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" v1beta1 "k8s.io/api/batch/v1beta1" @@ -1374,507 +1373,353 @@ var file_proto_types_controller_cluster_controller_proto_rawDesc = []byte{ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x1a, 0x14, 0x67, - 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, - 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, - 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x6b, 0x38, 0x73, 0x2e, 0x69, - 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2f, 0x70, - 0x6b, 0x67, 0x2f, 0x72, 0x75, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6b, 0x38, 0x73, 0x2e, - 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, - 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfa, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x65, - 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x54, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, - 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, - 0xde, 0x1f, 0x01, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x70, 0x0a, + 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x1a, 0x34, 0x6b, + 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, + 0x72, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x61, + 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2f, 0x70, 0x6b, 0x67, 0x2f, 0x72, 0x75, 0x6e, + 0x74, 0x69, 0x6d, 0x65, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x28, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2f, 0x76, 0x31, 0x62, 0x65, 0x74, + 0x61, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x22, 0xd0, 0x01, 0x0a, 0x0a, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, + 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, - 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, + 0x65, 0x74, 0x61, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x61, 0x77, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, - 0x52, 0x03, 0x72, 0x61, 0x77, 0x22, 0xdd, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, + 0x52, 0x03, 0x72, 0x61, 0x77, 0x22, 0xcb, 0x01, 0x0a, 0x0c, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x08, 0x6f, 0x6e, - 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x10, 0xfa, 0xde, - 0x1f, 0x0c, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x52, 0x08, - 0x6f, 0x6e, 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x54, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, - 0x2e, 0x76, 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0xf2, 0x03, 0x0a, 0x0a, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6b, 0x38, - 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x52, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x12, 0x44, 0x0a, 0x0b, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x22, 0xea, 0xde, 0x1f, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0xfa, 0xde, 0x1f, 0x0f, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, - 0x74, 0x61, 0x74, 0x65, 0x52, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, - 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x38, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0xea, 0xde, 0x1f, 0x08, 0x6a, 0x6f, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x65, 0xfa, 0xde, 0x1f, 0x0c, 0x53, 0x74, 0x65, 0x70, 0x4a, 0x6f, 0x62, - 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x1c, 0x0a, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x09, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, - 0x06, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, - 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x06, 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x66, 0x12, 0x2c, 0x0a, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, 0xea, 0xde, 0x1f, 0x05, 0x73, - 0x74, 0x61, 0x74, 0x65, 0xfa, 0xde, 0x1f, 0x09, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, - 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x48, 0x61, - 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x53, - 0x70, 0x65, 0x63, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x6a, - 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x48, 0x61, 0x73, 0x68, 0x22, 0xce, 0x04, 0x0a, 0x0b, 0x54, - 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x82, 0x01, 0x0a, 0x04, 0x69, - 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x42, 0x44, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x0e, 0x69, 0x6e, 0x69, - 0x74, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, - 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, - 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, - 0x8b, 0x01, 0x0a, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, - 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x47, 0xc8, 0xde, 0x1f, - 0x00, 0xea, 0xde, 0x1f, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x2c, 0x6f, 0x6d, 0x69, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, - 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x52, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x97, 0x01, - 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x4b, 0xc8, - 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x15, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, - 0x6c, 0x6c, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, - 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0b, 0x70, 0x6f, 0x73, 0x74, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x91, 0x01, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x49, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x13, 0x70, - 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xe7, 0x01, 0x0a, 0x10, - 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x34, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x20, - 0xea, 0xde, 0x1f, 0x04, 0x74, 0x79, 0x70, 0x65, 0xfa, 0xde, 0x1f, 0x14, 0x54, 0x61, 0x73, 0x6b, - 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xfa, 0xde, 0x1f, 0x0f, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x58, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x38, - 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, - 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, - 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x6c, - 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, - 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, - 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x93, 0x06, 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, - 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x98, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x6f, 0x6e, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6f, 0x6e, + 0x46, 0x61, 0x69, 0x6c, 0x65, 0x64, 0x12, 0x3e, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x4b, 0x0a, 0x0b, 0x6a, 0x6f, 0x62, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x6b, 0x38, + 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x62, 0x61, 0x74, 0x63, 0x68, 0x2e, 0x76, + 0x31, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4a, 0x6f, 0x62, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x54, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x22, 0x98, 0x03, 0x0a, 0x0a, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x41, 0x0a, 0x09, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6b, 0x38, 0x73, 0x2e, + 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x09, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x12, 0x20, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x22, 0x0a, 0x0c, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, + 0x1a, 0x0a, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x08, 0x6a, 0x6f, 0x62, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6a, + 0x6f, 0x62, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x06, 0x6a, 0x6f, 0x62, + 0x52, 0x65, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6b, 0x38, 0x73, 0x2e, + 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x06, + 0x6a, 0x6f, 0x62, 0x52, 0x65, 0x66, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x16, 0x0a, 0x06, + 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, + 0x61, 0x73, 0x6f, 0x6e, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x48, 0x61, 0x73, 0x68, 0x12, 0x20, 0x0a, 0x0b, + 0x6a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x48, 0x61, 0x73, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x0b, 0x6a, 0x6f, 0x62, 0x53, 0x70, 0x65, 0x63, 0x48, 0x61, 0x73, 0x68, 0x22, 0xa3, + 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3c, + 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, - 0x74, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x4a, 0xc8, 0xde, 0x1f, 0x00, - 0xea, 0xde, 0x1f, 0x14, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x6f, - 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, - 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, - 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, - 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x44, 0xc8, 0xde, 0x1f, 0x00, 0xea, - 0xde, 0x1f, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, - 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x89, 0x01, 0x0a, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x47, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x11, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, - 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, - 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x12, 0x95, 0x01, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, - 0x6c, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x4b, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x15, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x73, - 0x74, 0x61, 0x6c, 0x6c, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, - 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, - 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, - 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0b, 0x70, 0x6f, - 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x8f, 0x01, 0x0a, 0x09, 0x70, 0x72, - 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x42, 0x0a, 0x07, + 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x49, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x13, 0x70, - 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, - 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, - 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xe8, 0x02, 0x0a, 0x07, - 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x12, 0x5f, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, - 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, - 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x13, 0xc8, 0xde, 0x1f, 0x00, 0xd0, - 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x07, 0x2c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, - 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x70, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, - 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, - 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x53, 0x70, 0x65, - 0x63, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x47, 0x0a, - 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x6c, - 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9b, 0x02, 0x0a, 0x0b, 0x54, 0x61, 0x73, 0x6b, 0x6c, - 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, - 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, - 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x13, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, - 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x07, 0x2c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x74, - 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x6a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, - 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, 0x1f, 0x00, 0xd0, - 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2c, - 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x12, 0x3f, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, - 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x22, 0xc6, 0x01, 0x0a, 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x70, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, - 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, - 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x53, 0x70, 0x65, - 0x63, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0xf0, 0x02, - 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x82, 0x01, 0x0a, 0x04, 0x69, - 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x42, 0x44, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x0e, 0x69, 0x6e, 0x69, - 0x74, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, - 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, - 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, - 0x4b, 0x0a, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, - 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x04, 0xc8, - 0xde, 0x1f, 0x00, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x12, 0x91, 0x01, 0x0a, - 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, - 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x49, 0xc8, 0xde, 0x1f, 0x00, - 0xea, 0xde, 0x1f, 0x13, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x2c, 0x6f, 0x6d, - 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, - 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x22, 0xe1, 0x01, 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x1d, 0xea, 0xde, 0x1f, 0x04, 0x74, 0x79, 0x70, 0x65, 0xfa, 0xde, 0x1f, 0x11, 0x54, 0x61, - 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xfa, 0xde, 0x1f, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x12, 0x58, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x38, 0x73, - 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x6c, 0x61, - 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, - 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, - 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xae, 0x04, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, + 0x12, 0x4a, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x46, 0x0a, 0x09, + 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, + 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x22, 0xaa, 0x01, 0x0a, 0x10, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, + 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, + 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, + 0x6e, 0x22, 0x9b, 0x03, 0x0a, 0x0d, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x95, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x42, 0x4a, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x14, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, - 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, - 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, - 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x04, - 0x69, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x42, 0x44, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x0e, 0x69, 0x6e, 0x69, 0x74, - 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, - 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x43, - 0x0a, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, - 0x52, 0x65, 0x66, 0x12, 0x8f, 0x01, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x49, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x13, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, - 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x85, 0x03, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x5f, - 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, - 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, - 0x42, 0x13, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x07, 0x2c, 0x69, - 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, - 0x70, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, - 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, - 0x61, 0x12, 0x50, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, - 0x6b, 0x53, 0x70, 0x65, 0x63, 0x42, 0x16, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x0e, 0x73, - 0x70, 0x65, 0x63, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x04, 0x73, - 0x70, 0x65, 0x63, 0x12, 0x58, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x18, 0xc8, 0xde, 0x1f, - 0x00, 0xea, 0xde, 0x1f, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x95, 0x02, - 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x5f, 0x0a, 0x08, 0x74, 0x79, - 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, - 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, - 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, - 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x13, 0xc8, 0xde, - 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x07, 0x2c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, - 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x6a, 0x0a, 0x08, 0x6c, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, + 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x3a, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x40, 0x0a, + 0x07, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x07, 0x69, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, + 0x48, 0x0a, 0x0b, 0x70, 0x6f, 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x18, 0x05, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0b, 0x70, 0x6f, + 0x73, 0x74, 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x12, 0x44, 0x0a, 0x09, 0x70, 0x72, 0x65, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, + 0xa7, 0x02, 0x0a, 0x07, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x74, + 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, - 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, - 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x08, 0x6c, - 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x74, + 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, + 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, + 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x04, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, + 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x41, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x9d, 0x04, 0x0a, 0x0d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x82, 0x01, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, - 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x42, 0x44, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x2c, 0x6f, - 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, - 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, - 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, - 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x5c, 0x0a, 0x0d, - 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0d, 0x6e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x94, 0x01, 0x0a, 0x0a, 0x70, - 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, - 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, 0x4a, 0xc8, 0xde, 0x1f, 0x00, 0xea, - 0xde, 0x1f, 0x14, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x2c, 0x6f, 0x6d, - 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, - 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, - 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x12, 0x91, 0x01, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, - 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x42, - 0x49, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x13, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, - 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, - 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, - 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xeb, 0x01, 0x0a, 0x12, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x36, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0xea, 0xde, 0x1f, 0x04, - 0x74, 0x79, 0x70, 0x65, 0xfa, 0xde, 0x1f, 0x16, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x12, 0x2b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, 0xfa, 0xde, 0x1f, 0x0f, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x12, 0x58, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, - 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x38, 0x73, 0x2e, - 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, - 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0e, 0x6c, 0x61, 0x73, + 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x0b, 0x54, 0x61, + 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x74, 0x79, 0x70, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, + 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, + 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x74, 0x79, 0x70, + 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x4a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, + 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, + 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x12, 0x39, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, + 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xa0, 0x01, 0x0a, + 0x0f, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x12, 0x50, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, + 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, + 0xd7, 0x01, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x04, + 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x45, 0x0a, 0x07, 0x74, 0x61, + 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x07, 0x74, 0x61, 0x73, 0x6b, 0x6c, 0x65, + 0x74, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x03, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x09, + 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xa7, 0x01, 0x0a, 0x0d, 0x54, 0x61, + 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, + 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, + 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x52, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2a, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, - 0x73, 0x6f, 0x6e, 0x22, 0xd1, 0x05, 0x0a, 0x0f, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, - 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x9a, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x4a, 0xc8, 0xde, - 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x14, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, - 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, - 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, - 0x79, 0x3a, 0x22, 0x74, 0x79, 0x70, 0x65, 0x22, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x44, 0xc8, 0xde, 0x1f, - 0x00, 0xea, 0xde, 0x1f, 0x0e, 0x69, 0x6e, 0x69, 0x74, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, - 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, - 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x73, - 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, + 0x73, 0x6f, 0x6e, 0x22, 0xce, 0x02, 0x0a, 0x0a, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x2e, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x12, + 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x49, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3a, 0x0a, + 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x43, 0x0a, 0x0a, 0x74, 0x61, 0x73, + 0x6b, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x66, - 0x12, 0x92, 0x01, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, - 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x4a, 0xc8, - 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x14, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, 0x1f, 0x2a, 0x70, - 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, 0x22, 0x6d, 0x65, - 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, 0x67, 0x65, 0x4b, - 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x8f, 0x01, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x63, 0x65, 0x52, 0x0a, 0x74, 0x61, 0x73, 0x6b, 0x6c, 0x65, 0x74, 0x52, 0x65, 0x66, 0x12, 0x44, + 0x0a, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, + 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x22, 0x9e, 0x02, 0x0a, 0x04, 0x54, 0x61, 0x73, 0x6b, 0x12, 0x4a, 0x0a, + 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, + 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, + 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, + 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, + 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, + 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, + 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, + 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x38, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x42, 0x49, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x13, 0x70, 0x72, 0x65, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0xf2, 0xde, - 0x1f, 0x2a, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, 0x79, 0x3a, - 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, 0x65, 0x72, - 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x52, 0x09, 0x70, 0x72, - 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0x94, 0x03, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x5f, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x70, 0x65, 0x63, 0x52, + 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x3e, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xda, 0x01, 0x0a, 0x08, 0x54, 0x61, 0x73, 0x6b, 0x4c, 0x69, + 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, + 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, + 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x4a, + 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x36, 0x0a, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x54, 0x61, 0x73, 0x6b, 0x52, 0x05, 0x69, 0x74, 0x65, + 0x6d, 0x73, 0x22, 0xb7, 0x02, 0x0a, 0x0d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x53, 0x70, 0x65, 0x63, 0x12, 0x3c, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, + 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x04, 0x69, 0x6e, + 0x69, 0x74, 0x12, 0x56, 0x0a, 0x0d, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, + 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, + 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, + 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, + 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0d, 0x6e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x48, 0x0a, 0x0a, 0x70, 0x6f, + 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x12, 0x46, 0x0a, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x22, 0xac, 0x01, 0x0a, + 0x12, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x52, 0x0a, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, + 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x13, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, - 0x01, 0xea, 0xde, 0x1f, 0x07, 0x2c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x74, 0x79, - 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x70, 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, - 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, - 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, - 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, - 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x0a, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x55, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, - 0x63, 0x42, 0x16, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x0e, 0x73, 0x70, 0x65, 0x63, 0x2c, - 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, - 0x5d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, 0x6d, - 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x18, 0xc8, 0xde, - 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x10, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2c, 0x6f, 0x6d, 0x69, - 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9f, - 0x02, 0x0a, 0x0d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x12, 0x5f, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x69, 0x6d, 0x65, 0x52, 0x0e, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0xa4, 0x03, 0x0a, 0x0f, + 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x2e, 0x0a, 0x12, 0x6f, 0x62, 0x73, 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x12, 0x6f, 0x62, 0x73, + 0x65, 0x72, 0x76, 0x65, 0x64, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x4e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, + 0x3a, 0x0a, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x04, 0x69, 0x6e, 0x69, 0x74, 0x12, 0x47, 0x0a, 0x0c, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, 0x65, 0x66, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, + 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x52, 0x0c, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x65, 0x66, 0x12, 0x46, 0x0a, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x0a, 0x70, 0x6f, 0x73, 0x74, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x09, + 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x18, 0x06, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x53, 0x74, 0x65, + 0x70, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x09, 0x70, 0x72, 0x65, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x22, 0xad, 0x02, 0x0a, 0x09, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x12, 0x4a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x4d, 0x65, - 0x74, 0x61, 0x42, 0x13, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, 0x07, - 0x2c, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, - 0x61, 0x12, 0x6a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, - 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x42, 0x1e, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0xea, 0xde, 0x1f, - 0x12, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x41, 0x0a, - 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, + 0x74, 0x61, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x0a, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, + 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x3d, + 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, - 0x61, 0x63, 0x65, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x42, 0xa6, 0x02, 0x0a, 0x1e, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x42, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x4c, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, - 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xa2, 0x02, 0x04, 0x52, 0x44, - 0x54, 0x43, 0xaa, 0x02, 0x1a, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xca, - 0x02, 0x1a, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xe2, 0x02, 0x26, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, - 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xc8, 0xe2, 0x1e, 0x01, 0xd0, 0xe2, 0x1e, 0x01, 0xe0, 0xe2, 0x1e, - 0x01, 0xc0, 0xe3, 0x1e, 0x01, 0xc8, 0xe3, 0x1e, 0x01, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x43, 0x0a, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0xe4, 0x01, 0x0a, 0x0d, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x4a, 0x0a, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, + 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, + 0x2e, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x52, 0x08, 0x74, 0x79, 0x70, 0x65, 0x4d, 0x65, 0x74, 0x61, + 0x12, 0x4a, 0x0a, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x52, 0x08, 0x6c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x12, 0x3b, 0x0a, 0x05, + 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x42, 0x80, 0x02, 0x0a, 0x1e, 0x63, 0x6f, + 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x42, 0x16, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3a, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, + 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x43, 0xaa, 0x02, 0x1a, 0x52, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0xca, 0x02, 0x1a, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0xe2, 0x02, 0x26, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x3a, 0x3a, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/proto/types/controller/cluster_controller.proto b/proto/types/controller/cluster_controller.proto new file mode 100644 index 0000000..252bb9f --- /dev/null +++ b/proto/types/controller/cluster_controller.proto @@ -0,0 +1,201 @@ +syntax = "proto3"; +package rafay.dev.types.controller; + +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; +import "k8s.io/apimachinery/pkg/runtime/generated.proto"; + +import "k8s.io/api/core/v1/generated.proto"; +import "k8s.io/api/batch/v1beta1/generated.proto"; + +// +kubebuilder:object:generate=true +// StepObject can represent any kubernetes object +message StepObject { + k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1; + k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 2; + string name = 3; + bytes raw = 4; +} + +// +kubebuilder:object:generate=true +// StepTemplate is the description of a step +message StepTemplate { + string name = 1; + string onFailed = 2; + StepObject object = 3; + k8s.io.api.batch.v1beta1.JobTemplateSpec jobTemplate = 4; +} + +// +kubebuilder:object:generate=true +// StepStatus is the status of the step +message StepStatus { + string name = 1; + k8s.io.api.core.v1.ObjectReference objectRef = 2; + string objectState = 3; + string objectReason = 4; + string jobState = 5; + string jobReason = 6; + k8s.io.api.core.v1.ObjectReference jobRef = 7; + string state = 8; + string reason = 9; + string objectSpecHash = 10; + string jobSpecHash = 11; +} + +// +kubebuilder:object:generate=true +// TaskletSpec is the spec of the tasklet +message TaskletSpec { + repeated StepTemplate init = 1; + repeated StepTemplate install = 2; + repeated StepTemplate postInstall = 3; + repeated StepTemplate preDelete = 4; +} + +// +kubebuilder:object:generate=true +// TaskletCondition is the condition of the tasklet +message TaskletCondition { + string type = 1; + string status = 2; + k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3; + string reason = 4; +} + +// +kubebuilder:object:generate=true +// TaskletStatus is the status of the tasklet +message TaskletStatus { + sint64 observedGeneration = 1; + repeated TaskletCondition conditions = 2; + repeated StepStatus init = 3; + repeated StepStatus install = 4; + repeated StepStatus postInstall = 5; + repeated StepStatus preDelete = 6; +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:shortName=rtl +// Tasklet is the schema of tasklet +message Tasklet { + k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1; + k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 2; + + TaskletSpec spec = 3; + TaskletStatus status = 4; +} + +// +kubebuilder:object:root=true +// TaskletList contains a list of tasklets +message TaskletList { + k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1; + + k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta listMeta = 2; + + repeated Tasklet items = 3; +} + +// +kubebuilder:object:generate=true +// TaskletTemplate is the template for creating a tasklet +message TaskletTemplate { + k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 1; + + TaskletSpec spec = 2; +} + +// +kubebuilder:object:generate=true +// TaskSpec is the spec of the task +message TaskSpec { + repeated StepTemplate init = 1; + + TaskletTemplate tasklet = 2; + repeated StepTemplate preDelete = 3; +} + +// +kubebuilder:object:generate=true +// TaskCondition is the condition of the tasklet +message TaskCondition { + string type = 1; + string status = 2; + k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3; + string reason = 4; +} + +// +kubebuilder:object:generate=true +// TaskStatus is the status of the task +message TaskStatus { + sint64 observedGeneration = 1; + repeated TaskCondition conditions = 2; + repeated StepStatus init = 3; + k8s.io.api.core.v1.ObjectReference taskletRef = 4; + repeated StepStatus preDelete = 5; +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:shortName=rt +// Tasklet is the schema of task +message Task { + k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1; + k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 2; + + TaskSpec spec = 3; + TaskStatus status = 4; +} + +// +kubebuilder:object:root=true +// TaskList contains a list of tasks +message TaskList { + k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1; + + k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta listMeta = 2; + + repeated Task items = 3; +} + +// +kubebuilder:object:generate=true +// NamespaceSpec is the spec of the namespace +message NamespaceSpec { + repeated StepTemplate init = 1; + k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta namespaceMeta = 2; + repeated StepTemplate postCreate = 3; + repeated StepTemplate preDelete = 4; +} + +// +kubebuilder:object:generate=true +message NamespaceCondition { + string type = 1; + string status = 2; + k8s.io.apimachinery.pkg.apis.meta.v1.Time lastUpdateTime = 3; + string reason = 4; +} + +// +kubebuilder:object:generate=true +// NamespaceStatus is the status of namespace +message NamespaceStatus { + sint64 observedGeneration = 1; + repeated NamespaceCondition conditions = 2; + repeated StepStatus init = 3; + k8s.io.api.core.v1.ObjectReference namespaceRef = 4; + repeated StepStatus postCreate = 5; + repeated StepStatus preDelete = 6; +} + +// +kubebuilder:object:root=true +// +kubebuilder:subresource:status +// +kubebuilder:resource:shortName=rns +// Namespace is the schema of namespace +message Namespace { + k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1; + k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 2; + + NamespaceSpec spec = 3; + NamespaceStatus status = 4; +} + +// +kubebuilder:object:root=true +// TaskletList contains a list of tasklets +message NamespaceList { + k8s.io.apimachinery.pkg.apis.meta.v1.TypeMeta typeMeta = 1; + + k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta listMeta = 2; + + repeated Namespace items = 3; +} \ No newline at end of file diff --git a/components/common/proto/types/controller/conditions.go b/proto/types/controller/conditions.go similarity index 100% rename from components/common/proto/types/controller/conditions.go rename to proto/types/controller/conditions.go diff --git a/components/common/proto/types/controller/conditions_util.go b/proto/types/controller/conditions_util.go similarity index 100% rename from components/common/proto/types/controller/conditions_util.go rename to proto/types/controller/conditions_util.go diff --git a/components/common/proto/types/controller/conditions_util_test.go b/proto/types/controller/conditions_util_test.go similarity index 100% rename from components/common/proto/types/controller/conditions_util_test.go rename to proto/types/controller/conditions_util_test.go diff --git a/components/common/proto/types/controller/const.go b/proto/types/controller/const.go similarity index 100% rename from components/common/proto/types/controller/const.go rename to proto/types/controller/const.go diff --git a/components/common/proto/types/controller/groupversion_info.go b/proto/types/controller/groupversion_info.go similarity index 100% rename from components/common/proto/types/controller/groupversion_info.go rename to proto/types/controller/groupversion_info.go diff --git a/components/common/proto/types/controller/init.go b/proto/types/controller/init.go similarity index 100% rename from components/common/proto/types/controller/init.go rename to proto/types/controller/init.go diff --git a/components/common/proto/types/controller/stage.go b/proto/types/controller/stage.go similarity index 100% rename from components/common/proto/types/controller/stage.go rename to proto/types/controller/stage.go diff --git a/components/common/proto/types/controller/step.go b/proto/types/controller/step.go similarity index 100% rename from components/common/proto/types/controller/step.go rename to proto/types/controller/step.go diff --git a/components/common/proto/types/controller/step_test.go b/proto/types/controller/step_test.go similarity index 100% rename from components/common/proto/types/controller/step_test.go rename to proto/types/controller/step_test.go diff --git a/components/common/proto/types/controller/zz_generated.deepcopy.go b/proto/types/controller/zz_generated.deepcopy.go similarity index 100% rename from components/common/proto/types/controller/zz_generated.deepcopy.go rename to proto/types/controller/zz_generated.deepcopy.go diff --git a/components/common/proto/types/infrapb/v3/cluster.pb.go b/proto/types/infrapb/v3/cluster.pb.go similarity index 61% rename from components/common/proto/types/infrapb/v3/cluster.pb.go rename to proto/types/infrapb/v3/cluster.pb.go index 2978845..da0d14f 100644 --- a/components/common/proto/types/infrapb/v3/cluster.pb.go +++ b/proto/types/infrapb/v3/cluster.pb.go @@ -7,8 +7,7 @@ package infrav3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/gogo/protobuf/gogoproto" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -1967,615 +1966,603 @@ var file_proto_types_infrapb_v3_cluster_proto_rawDesc = []byte{ 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6b, - 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, - 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x96, 0x04, 0x0a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x64, 0x0a, - 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, - 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x2a, 0x92, 0x41, 0x27, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, - 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x3a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, - 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, - 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, - 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, - 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, - 0x65, 0x63, 0x42, 0x1f, 0x92, 0x41, 0x1c, 0x2a, 0x04, 0x53, 0x70, 0x65, 0x63, 0x32, 0x14, 0x53, - 0x70, 0x65, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x25, 0x92, 0x41, - 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, - 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3d, 0x92, 0x41, 0x3a, - 0x0a, 0x38, 0x2a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x32, 0x07, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0xd2, 0x01, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, - 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x98, 0x03, 0x0a, 0x0b, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x0a, 0x61, 0x70, - 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, - 0x92, 0x41, 0x46, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, - 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, - 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x47, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x33, 0x92, 0x41, 0x30, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, - 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, - 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, - 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, - 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, - 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x23, 0x92, 0x41, 0x20, 0x2a, 0x05, - 0x49, 0x74, 0x65, 0x6d, 0x73, 0x32, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, 0x52, 0x05, - 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xb5, 0x06, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0x92, 0x41, 0x3b, 0x2a, - 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x54, 0x79, 0x70, 0x65, 0x32, 0x21, 0x54, - 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x3a, 0x08, 0x49, 0x6d, 0x70, 0x6f, 0x72, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x5d, 0x0a, 0x05, 0x6d, 0x65, 0x74, 0x72, 0x6f, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, - 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x6f, 0x42, 0x26, 0x92, 0x41, 0x23, 0x2a, 0x08, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x17, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, - 0x05, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x12, 0x64, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x38, 0x92, 0x41, 0x35, 0x2a, 0x11, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, - 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x75, 0x0a, 0x06, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, - 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x10, 0x50, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x32, 0x1b, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, - 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x82, 0x01, 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, - 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, - 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x42, 0x38, 0x92, 0x41, 0x35, 0x2a, 0x11, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x20, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x20, 0x4f, 0x76, 0x65, - 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x73, - 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x7b, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, - 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, - 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x85, 0x01, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, - 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, - 0x74, 0x61, 0x42, 0x3c, 0x92, 0x41, 0x39, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, - 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, - 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0xbc, 0x07, - 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, - 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x19, 0x92, 0x41, 0x16, 0x2a, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x32, 0x08, - 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x40, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x64, 0x65, 0x72, 0x12, 0x4c, 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, - 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x29, 0x2a, 0x0a, 0x50, - 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x32, 0x19, 0x70, 0x61, 0x73, 0x73, 0x70, - 0x68, 0x72, 0x61, 0x73, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, - 0x73, 0x65, 0x12, 0x38, 0x0a, 0x05, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x22, 0x92, 0x41, 0x1f, 0x2a, 0x05, 0x43, 0x4e, 0x41, 0x4d, 0x45, 0x32, 0x14, 0x63, - 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, 0x05, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x07, - 0x61, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, - 0x41, 0x28, 0x2a, 0x0c, 0x44, 0x4e, 0x53, 0x20, 0x41, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, - 0x32, 0x16, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x44, 0x4e, 0x53, 0x20, - 0x41, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x40, 0x01, 0x52, 0x07, 0x61, 0x72, 0x65, 0x63, - 0x6f, 0x72, 0x64, 0x12, 0x44, 0x0a, 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0x92, 0x41, 0x1e, 0x2a, 0x0c, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0x0c, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x40, 0x01, 0x52, 0x0b, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x68, 0x65, 0x61, - 0x6c, 0x74, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, - 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x15, 0x92, 0x41, 0x12, - 0x2a, 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x32, 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, - 0x40, 0x01, 0x52, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0c, 0x6d, 0x61, - 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x21, 0x92, 0x41, 0x1e, 0x2a, 0x0c, 0x4d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, - 0x72, 0x65, 0x72, 0x32, 0x0c, 0x4d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x72, 0x40, 0x01, 0x52, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, - 0x72, 0x12, 0x57, 0x0a, 0x11, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x75, - 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, - 0x27, 0x2a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, - 0x69, 0x6e, 0x74, 0x32, 0x11, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x42, 0x6c, 0x75, - 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x40, 0x01, 0x52, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x77, 0x0a, 0x05, 0x6e, 0x6f, - 0x64, 0x65, 0x73, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, - 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, - 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x05, 0x6e, 0x6f, - 0x64, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, - 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, - 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, - 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, - 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x74, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x24, 0x92, 0x41, 0x21, 0x2a, 0x0d, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x0e, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x20, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x40, 0x01, 0x52, 0x0d, 0x63, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x8e, 0x05, 0x0a, - 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, - 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, - 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, - 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, - 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6e, - 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x50, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, - 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x6a, 0x0a, 0x12, 0x70, 0x75, 0x62, - 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, - 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x6c, 0x75, 0x65, - 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x0f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, - 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x42, 0x3a, - 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, - 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, - 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x0f, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x12, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, - 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, - 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x6a, 0x0a, 0x12, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, - 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x42, 0x3a, 0x92, - 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, - 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x12, 0x61, 0x75, 0x78, 0x69, 0x6c, - 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xad, 0x01, - 0x0a, 0x09, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, - 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x63, - 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x70, 0x68, 0x65, 0x6d, - 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x42, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x12, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x42, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x4b, 0x42, 0x18, 0x03, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, - 0x79, 0x4b, 0x42, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x6f, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x52, 0x09, 0x70, 0x6f, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x12, 0x52, 0x08, 0x67, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xbe, 0x01, - 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x55, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x37, 0x92, 0x41, 0x34, 0x2a, 0x0a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x20, 0x49, 0x44, 0x32, 0x26, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x49, 0x44, - 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x12, 0x55, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0x92, 0x41, 0x34, 0x2a, - 0x0a, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x44, 0x32, 0x26, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x44, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0xf0, - 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x49, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, - 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x47, 0x0a, 0x04, 0x73, 0x70, 0x65, - 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, - 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x70, - 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, - 0x65, 0x63, 0x12, 0x4d, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, - 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x22, 0x84, 0x01, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, - 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x6e, 0x73, 0x63, 0x68, 0x65, 0x64, - 0x75, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x6e, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x06, 0x74, - 0x61, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6b, 0x38, - 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x54, 0x61, 0x69, 0x6e, 0x74, 0x42, 0x18, 0xc8, 0xde, 0x1f, 0x00, 0xea, 0xde, 0x1f, 0x10, - 0x74, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x2c, 0x6f, 0x6d, 0x69, 0x74, 0x65, 0x6d, 0x70, 0x74, 0x79, - 0x52, 0x06, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x22, 0x9d, 0x04, 0x0a, 0x11, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x40, - 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, - 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, - 0x12, 0x47, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x02, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, - 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x0a, 0x63, - 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x6e, 0x6f, 0x64, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6b, 0x38, - 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, - 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, - 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x08, 0x63, 0x61, 0x70, - 0x61, 0x63, 0x69, 0x74, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, - 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, - 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x52, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x6c, - 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x52, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x12, 0x41, 0x0a, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, - 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x65, 0x64, 0x12, 0x72, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, - 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x42, 0x37, 0xc8, 0xde, 0x1f, 0x00, - 0xf2, 0xde, 0x1f, 0x2f, 0x70, 0x61, 0x74, 0x63, 0x68, 0x53, 0x74, 0x72, 0x61, 0x74, 0x65, 0x67, - 0x79, 0x3a, 0x22, 0x6d, 0x65, 0x72, 0x67, 0x65, 0x22, 0x20, 0x70, 0x61, 0x74, 0x63, 0x68, 0x4d, - 0x65, 0x72, 0x67, 0x65, 0x4b, 0x65, 0x79, 0x3a, 0x22, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x49, 0x50, 0x22, 0x52, 0x03, 0x69, 0x70, 0x73, 0x22, 0x58, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x12, 0x2b, 0x0a, 0x09, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x49, 0x50, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0d, 0xea, 0xde, - 0x1f, 0x09, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x50, 0x52, 0x09, 0x70, 0x72, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x49, 0x50, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, - 0x49, 0x50, 0x22, 0xf5, 0x03, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7e, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, - 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, - 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, - 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, - 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x66, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x3c, 0x92, 0x41, 0x39, 0x2a, 0x18, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x20, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x1d, 0x43, 0x75, 0x72, 0x72, 0x65, 0x6e, - 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x81, 0x01, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x43, 0x92, 0x41, 0x40, 0x2a, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x32, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, - 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x61, 0x73, 0x74, 0x20, 0x75, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x3d, 0x92, 0x41, 0x3a, 0x2a, 0x1b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x20, 0x6f, 0x66, - 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x94, 0x04, 0x0a, 0x08, 0x4c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, + 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x96, 0x04, 0x0a, 0x07, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, - 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3f, 0x0a, - 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x28, + 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x27, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x08, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, - 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, - 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x6f, 0x42, 0x1f, 0x92, 0x41, 0x1c, 0x2a, 0x04, 0x53, 0x70, - 0x65, 0x63, 0x32, 0x14, 0x53, 0x70, 0x65, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x60, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x42, 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x16, - 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x3a, 0x3f, 0x92, 0x41, 0x3c, 0x0a, 0x3a, 0x2a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x32, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x0a, 0x61, 0x70, - 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, - 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, - 0x63, 0x22, 0xa8, 0x05, 0x0a, 0x05, 0x4d, 0x65, 0x74, 0x72, 0x6f, 0x12, 0x3f, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0x92, 0x41, 0x2c, 0x2a, 0x0e, 0x49, 0x44, - 0x20, 0x6f, 0x66, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x1a, 0x49, 0x44, - 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x02, 0x69, 0x64, 0x12, 0x3a, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0x92, 0x41, 0x23, 0x2a, - 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x17, 0x4c, 0x6f, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x63, 0x69, 0x74, 0x79, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0x92, 0x41, 0x1e, 0x2a, 0x04, 0x43, 0x69, 0x74, - 0x79, 0x32, 0x14, 0x43, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x04, 0x63, 0x69, 0x74, 0x79, 0x12, - 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x23, - 0x92, 0x41, 0x20, 0x2a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x32, 0x15, 0x53, 0x74, 0x61, 0x74, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x40, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, 0x07, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, 0x92, 0x41, 0x24, - 0x2a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x32, 0x17, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x3d, 0x0a, - 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0x92, - 0x41, 0x22, 0x2a, 0x06, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x32, 0x16, 0x6c, 0x6f, 0x63, 0x61, - 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, 0x45, 0x0a, 0x08, - 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, - 0x92, 0x41, 0x26, 0x2a, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x32, 0x18, 0x4c, - 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, - 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, - 0x75, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x2a, 0x09, 0x4c, 0x6f, 0x6e, - 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x32, 0x19, 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, - 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x40, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x51, - 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x2f, 0x92, 0x41, 0x2c, 0x2a, 0x0b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, - 0x79, 0x43, 0x6f, 0x64, 0x65, 0x32, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, - 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, - 0x65, 0x12, 0x49, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x2a, 0x09, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x43, 0x6f, 0x64, 0x65, 0x32, 0x19, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, - 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x98, 0x03, 0x0a, - 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x69, 0x0a, - 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, - 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, - 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0x92, 0x41, 0x31, 0x2a, 0x04, 0x4b, 0x69, 0x6e, - 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, - 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x0c, 0x4c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, - 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, - 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x05, 0x69, - 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, - 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x6f, 0x42, 0x23, 0x92, 0x41, 0x20, - 0x2a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x32, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, - 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xa0, 0x04, 0x0a, 0x0f, 0x50, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x6f, 0x0a, 0x13, 0x65, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3d, 0x92, 0x41, 0x3a, 0x2a, 0x13, 0x45, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x32, 0x23, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x20, - 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x13, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, - 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x5c, 0x0a, 0x12, - 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, - 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x29, 0x2a, 0x12, 0x4b, - 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, - 0x72, 0x32, 0x13, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x20, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, - 0x65, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x64, 0x0a, 0x14, 0x70, 0x72, - 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, - 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0x92, 0x41, 0x2d, 0x2a, 0x14, 0x50, - 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, - 0x65, 0x6e, 0x74, 0x32, 0x15, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x65, - 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, - 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, - 0x12, 0x65, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x63, - 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, - 0x92, 0x41, 0x2e, 0x2a, 0x14, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, - 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x32, 0x16, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x20, 0x74, 0x79, 0x70, - 0x65, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x63, 0x6b, - 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, - 0x92, 0x41, 0x1f, 0x2a, 0x0d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, - 0x70, 0x65, 0x32, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x79, - 0x70, 0x65, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, - 0x65, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x11, 0x92, 0x41, 0x0e, 0x2a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x32, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xef, 0x03, 0x0a, 0x0b, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, 0x09, 0x68, 0x74, - 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0x92, - 0x41, 0x17, 0x2a, 0x09, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x32, 0x0a, 0x68, - 0x74, 0x74, 0x70, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x09, 0x68, 0x74, 0x74, 0x70, 0x50, - 0x72, 0x6f, 0x78, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0x92, 0x41, 0x19, 0x2a, 0x0a, 0x48, - 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x32, 0x0b, 0x68, 0x74, 0x74, 0x70, 0x73, - 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6e, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x03, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x15, 0x92, 0x41, 0x12, 0x2a, 0x07, 0x6e, 0x6f, 0x70, 0x72, 0x6f, 0x78, - 0x79, 0x32, 0x07, 0x6e, 0x6f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x07, 0x6e, 0x6f, 0x50, 0x72, - 0x6f, 0x78, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x75, 0x74, 0x68, - 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0x92, 0x41, 0x17, 0x2a, 0x09, 0x50, 0x72, 0x6f, - 0x78, 0x79, 0x41, 0x75, 0x74, 0x68, 0x32, 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x61, 0x75, - 0x74, 0x68, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x6d, 0x0a, - 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x35, 0x92, - 0x41, 0x32, 0x2a, 0x16, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, - 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x32, 0x18, 0x41, 0x6c, 0x6c, 0x6f, - 0x77, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x62, 0x6f, 0x6f, 0x74, 0x73, - 0x74, 0x72, 0x61, 0x70, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, - 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, 0x2f, 0x0a, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x42, 0x15, 0x92, - 0x41, 0x12, 0x2a, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x32, 0x07, 0x65, 0x6e, 0x61, - 0x62, 0x6c, 0x65, 0x64, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x5d, 0x0a, - 0x0b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x41, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x3b, 0x92, 0x41, 0x38, 0x2a, 0x0b, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, - 0x61, 0x70, 0x43, 0x41, 0x32, 0x29, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x62, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x52, - 0x0b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x41, 0x22, 0x5c, 0x0a, 0x10, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x70, 0x65, 0x63, - 0x12, 0x48, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, - 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x57, 0x0a, 0x12, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, - 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, - 0x61, 0x74, 0x65, 0x22, 0xb5, 0x04, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, - 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, - 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, - 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, - 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x04, 0x6b, 0x69, - 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x27, 0x2a, 0x04, 0x4b, - 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, - 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x70, 0x65, 0x63, 0x42, 0x1f, - 0x92, 0x41, 0x1c, 0x2a, 0x04, 0x53, 0x70, 0x65, 0x63, 0x32, 0x14, 0x53, 0x70, 0x65, 0x63, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, - 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x6b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x07, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, - 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x42, 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, - 0x32, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, - 0x75, 0x73, 0x3a, 0x47, 0x92, 0x41, 0x44, 0x0a, 0x42, 0x2a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0xd2, 0x01, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x4e, 0x0a, 0x08, 0x4e, - 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x68, - 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, 0x73, 0x68, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x2a, 0x5f, 0x0a, 0x10, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, - 0x16, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x01, - 0x12, 0x14, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x52, - 0x65, 0x61, 0x64, 0x79, 0x10, 0x02, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x80, 0x02, 0x0a, - 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, - 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x00, 0x12, - 0x12, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, - 0x65, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x49, 0x6e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, - 0x04, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, - 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x06, 0x12, 0x1c, 0x0a, - 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, - 0x79, 0x54, 0x61, 0x73, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x10, 0x09, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, - 0x49, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, - 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x68, - 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, - 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, - 0x4f, 0x4d, 0x10, 0x02, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x56, 0x0a, 0x06, 0x48, 0x65, - 0x61, 0x6c, 0x74, 0x68, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x49, 0x47, 0x4e, - 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x48, 0x45, - 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x44, 0x47, 0x45, 0x5f, - 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, 0x45, - 0x44, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, 0x44, - 0x10, 0x03, 0x2a, 0x2d, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, - 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x10, - 0x00, 0x2a, 0x34, 0x0a, 0x11, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x4e, - 0x6f, 0x74, 0x55, 0x73, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x55, 0x73, 0x65, 0x64, 0x10, 0x01, 0x42, 0x87, 0x02, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x2e, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x42, 0x1f, 0x92, 0x41, + 0x1c, 0x2a, 0x04, 0x53, 0x70, 0x65, 0x63, 0x32, 0x14, 0x53, 0x70, 0x65, 0x63, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x12, 0x60, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x32, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x3d, 0x92, 0x41, 0x3a, 0x0a, 0x38, 0x2a, 0x07, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x32, 0x07, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0xd2, 0x01, + 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x22, 0x98, 0x03, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x2a, 0x0b, 0x41, + 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, + 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, + 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x47, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0x92, + 0x41, 0x30, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x3a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, + 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x5c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x42, 0x23, 0x92, 0x41, 0x20, 0x2a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x32, + 0x15, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, + 0xb5, 0x06, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x60, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x3e, 0x92, 0x41, 0x3b, 0x2a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x54, 0x79, 0x70, 0x65, 0x32, 0x21, 0x54, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x62, 0x65, 0x69, + 0x6e, 0x67, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x3a, 0x08, 0x49, 0x6d, 0x70, 0x6f, + 0x72, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, + 0x65, 0x12, 0x5d, 0x0a, 0x05, 0x6d, 0x65, 0x74, 0x72, 0x6f, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, + 0x6f, 0x42, 0x26, 0x92, 0x41, 0x23, 0x2a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x32, 0x17, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x05, 0x6d, 0x65, 0x74, 0x72, 0x6f, + 0x12, 0x64, 0x0a, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x38, 0x92, 0x41, 0x35, 0x2a, + 0x11, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x10, 0x6f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x53, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x12, 0x75, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, + 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, + 0x73, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x10, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x32, 0x1b, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x20, 0x70, + 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x06, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x82, 0x01, + 0x0a, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0e, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x42, 0x38, 0x92, + 0x41, 0x35, 0x2a, 0x11, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x53, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, + 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x73, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, + 0x64, 0x65, 0x12, 0x7b, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, + 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x42, 0x32, + 0x92, 0x41, 0x2f, 0x2a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, + 0x85, 0x01, 0x0a, 0x0b, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x42, 0x3c, 0x92, 0x41, + 0x39, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, + 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, 0x0b, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x22, 0xbc, 0x07, 0x0a, 0x0b, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x44, 0x61, 0x74, 0x61, 0x12, 0x35, 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, + 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x19, 0x92, 0x41, 0x16, 0x2a, 0x08, + 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x32, 0x08, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x72, 0x40, 0x01, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x4c, + 0x0a, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x29, 0x2a, 0x0a, 0x50, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, + 0x61, 0x73, 0x65, 0x32, 0x19, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, + 0x52, 0x0a, 0x70, 0x61, 0x73, 0x73, 0x70, 0x68, 0x72, 0x61, 0x73, 0x65, 0x12, 0x38, 0x0a, 0x05, + 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x22, 0x92, 0x41, 0x1f, + 0x2a, 0x05, 0x43, 0x4e, 0x41, 0x4d, 0x45, 0x32, 0x14, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, + 0x05, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x45, 0x0a, 0x07, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x72, + 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x2a, 0x0c, 0x44, 0x4e, + 0x53, 0x20, 0x41, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x32, 0x16, 0x45, 0x6e, 0x74, 0x72, + 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x44, 0x4e, 0x53, 0x20, 0x41, 0x20, 0x52, 0x65, 0x63, 0x6f, + 0x72, 0x64, 0x40, 0x01, 0x52, 0x07, 0x61, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x12, 0x44, 0x0a, + 0x0c, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x21, 0x92, 0x41, 0x1e, 0x2a, 0x0c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x32, 0x0c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x20, + 0x4e, 0x61, 0x6d, 0x65, 0x40, 0x01, 0x52, 0x0b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, + 0x61, 0x6d, 0x65, 0x12, 0x4f, 0x0a, 0x06, 0x68, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x0e, 0x32, 0x20, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x42, 0x15, 0x92, 0x41, 0x12, 0x2a, 0x06, 0x48, 0x65, 0x61, 0x6c, + 0x74, 0x68, 0x32, 0x06, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x40, 0x01, 0x52, 0x06, 0x68, 0x65, + 0x61, 0x6c, 0x74, 0x68, 0x12, 0x45, 0x0a, 0x0c, 0x6d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x72, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0x92, 0x41, 0x1e, 0x2a, + 0x0c, 0x4d, 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x32, 0x0c, 0x4d, + 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x40, 0x01, 0x52, 0x0c, 0x6d, + 0x61, 0x6e, 0x75, 0x66, 0x61, 0x63, 0x74, 0x75, 0x72, 0x65, 0x72, 0x12, 0x57, 0x0a, 0x11, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x62, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x27, 0x2a, 0x10, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x32, 0x11, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, + 0x40, 0x01, 0x52, 0x10, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6c, 0x75, 0x65, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x12, 0x77, 0x0a, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x18, 0x09, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, + 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x05, 0x6e, 0x6f, 0x64, 0x65, 0x73, 0x12, 0x80, 0x01, + 0x0a, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, + 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, + 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, + 0x12, 0x74, 0x0a, 0x0e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x42, 0x24, 0x92, 0x41, 0x21, 0x2a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x40, 0x01, 0x52, 0x0d, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x8e, 0x05, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x86, 0x01, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x54, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x72, - 0x61, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x76, 0x33, 0xa2, 0x02, - 0x04, 0x52, 0x44, 0x54, 0x49, 0xaa, 0x02, 0x18, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, - 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x56, 0x33, - 0xca, 0x02, 0x18, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x5c, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x24, 0x52, 0x61, - 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x49, 0x6e, - 0x66, 0x72, 0x61, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, - 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x3a, 0x3a, 0x56, - 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, + 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x50, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, + 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, + 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x6a, 0x0a, 0x12, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, + 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, + 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, + 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x12, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x73, 0x68, 0x65, 0x64, 0x42, 0x6c, 0x75, 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x12, + 0x64, 0x0a, 0x0f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x54, 0x61, 0x73, 0x6b, + 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x0f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, + 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x42, 0x3a, + 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, + 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, + 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x0f, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x6a, 0x0a, 0x12, 0x61, + 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x12, 0x61, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, + 0x73, 0x6b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xad, 0x01, 0x0a, 0x09, 0x52, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x63, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x63, 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, + 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, 0x42, 0x18, 0x02, 0x20, 0x01, 0x28, 0x12, 0x52, 0x12, 0x65, + 0x70, 0x68, 0x65, 0x6d, 0x65, 0x72, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x4b, + 0x42, 0x12, 0x1a, 0x0a, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x42, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x12, 0x52, 0x08, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4b, 0x42, 0x12, 0x1c, 0x0a, + 0x09, 0x70, 0x6f, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x12, + 0x52, 0x09, 0x70, 0x6f, 0x64, 0x73, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x67, + 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x12, 0x52, 0x08, 0x67, + 0x70, 0x75, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0xbe, 0x01, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x12, 0x55, 0x0a, 0x09, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, 0x44, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0x92, + 0x41, 0x34, 0x2a, 0x0a, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x49, 0x44, 0x32, 0x26, + 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x49, 0x44, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, + 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x49, + 0x44, 0x12, 0x55, 0x0a, 0x09, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x37, 0x92, 0x41, 0x34, 0x2a, 0x0a, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x49, 0x44, 0x32, 0x26, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, + 0x44, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, + 0x68, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x09, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0xd2, 0x01, 0x0a, 0x0b, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x70, 0x65, + 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, + 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x6a, 0x0a, + 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x70, 0x65, 0x63, + 0x12, 0x24, 0x0a, 0x0d, 0x75, 0x6e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x75, 0x6e, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x31, 0x0a, 0x06, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x73, + 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x69, 0x6e, + 0x74, 0x52, 0x06, 0x74, 0x61, 0x69, 0x6e, 0x74, 0x73, 0x22, 0xde, 0x03, 0x0a, 0x11, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, + 0x40, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, + 0x65, 0x12, 0x41, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3e, 0x0a, 0x08, 0x6e, 0x6f, 0x64, 0x65, 0x49, 0x6e, 0x66, 0x6f, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x63, 0x6f, 0x72, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4e, 0x6f, 0x64, 0x65, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x08, 0x6e, 0x6f, 0x64, 0x65, + 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x3f, 0x0a, 0x08, 0x63, 0x61, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, + 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, 0x08, 0x63, 0x61, 0x70, + 0x61, 0x63, 0x69, 0x74, 0x79, 0x12, 0x45, 0x0a, 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, + 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, + 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x52, + 0x0b, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x12, 0x41, 0x0a, 0x09, + 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x52, 0x09, 0x61, 0x6c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x65, 0x64, 0x12, + 0x39, 0x0a, 0x03, 0x69, 0x70, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, + 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, + 0x6f, 0x64, 0x65, 0x49, 0x50, 0x52, 0x03, 0x69, 0x70, 0x73, 0x22, 0x49, 0x0a, 0x0d, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x49, 0x50, 0x12, 0x1c, 0x0a, 0x09, 0x70, + 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x50, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, + 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x50, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x49, 0x50, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, + 0x6c, 0x69, 0x63, 0x49, 0x50, 0x22, 0xf5, 0x03, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7e, 0x0a, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x13, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x49, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x32, 0x20, 0x4f, 0x76, 0x65, 0x72, 0x72, 0x69, 0x64, 0x65, 0x20, 0x73, 0x65, 0x6c, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x85, 0x01, 0x0a, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x52, 0x61, 0x66, 0x61, 0x79, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x3c, 0x92, 0x41, + 0x39, 0x2a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x32, 0x1d, 0x43, 0x75, 0x72, + 0x72, 0x65, 0x6e, 0x74, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x12, 0x81, 0x01, 0x0a, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x43, 0x92, 0x41, 0x40, 0x2a, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x61, 0x73, + 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x32, 0x1e, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x61, 0x73, + 0x74, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x52, 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x55, 0x0a, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3d, 0x92, 0x41, 0x3a, 0x2a, 0x1b, 0x52, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x63, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x52, 0x65, 0x61, 0x73, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x20, 0x63, 0x6f, 0x6e, 0x64, + 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x72, 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x22, 0x94, 0x04, + 0x0a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, + 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, + 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, + 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, + 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x3f, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, + 0x92, 0x41, 0x28, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, + 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x54, 0x0a, 0x04, 0x73, + 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, + 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x6f, 0x42, 0x1f, 0x92, 0x41, 0x1c, 0x2a, + 0x04, 0x53, 0x70, 0x65, 0x63, 0x32, 0x14, 0x53, 0x70, 0x65, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x04, 0x73, 0x70, 0x65, + 0x63, 0x12, 0x60, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x21, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x53, 0x74, + 0x61, 0x74, 0x75, 0x73, 0x42, 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x32, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x3a, 0x3f, 0x92, 0x41, 0x3c, 0x0a, 0x3a, 0x2a, 0x08, 0x4c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0xd2, 0x01, + 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x22, 0xa8, 0x05, 0x0a, 0x05, 0x4d, 0x65, 0x74, 0x72, 0x6f, 0x12, 0x3f, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0x92, 0x41, 0x2c, 0x2a, + 0x0e, 0x49, 0x44, 0x20, 0x6f, 0x66, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, + 0x1a, 0x49, 0x44, 0x20, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x3a, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0x92, + 0x41, 0x23, 0x2a, 0x08, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x17, 0x4c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x35, 0x0a, 0x04, 0x63, + 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x21, 0x92, 0x41, 0x1e, 0x2a, 0x04, + 0x43, 0x69, 0x74, 0x79, 0x32, 0x14, 0x43, 0x69, 0x74, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x04, 0x63, 0x69, + 0x74, 0x79, 0x12, 0x39, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x23, 0x92, 0x41, 0x20, 0x2a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x32, 0x15, 0x53, + 0x74, 0x61, 0x74, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x41, 0x0a, + 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x27, + 0x92, 0x41, 0x24, 0x2a, 0x07, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x32, 0x17, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x72, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x07, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x4c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x32, 0x16, 0x6c, + 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x06, 0x6c, 0x6f, 0x63, 0x61, 0x6c, 0x65, 0x12, + 0x45, 0x0a, 0x08, 0x6c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x29, 0x92, 0x41, 0x26, 0x2a, 0x08, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, + 0x32, 0x18, 0x4c, 0x61, 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x08, 0x6c, 0x61, + 0x74, 0x69, 0x74, 0x75, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, + 0x75, 0x64, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x2a, 0x09, + 0x4c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, 0x65, 0x32, 0x19, 0x4c, 0x6f, 0x6e, 0x67, 0x69, + 0x74, 0x75, 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x09, 0x6c, 0x6f, 0x6e, 0x67, 0x69, 0x74, 0x75, 0x64, + 0x65, 0x12, 0x51, 0x0a, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, + 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2f, 0x92, 0x41, 0x2c, 0x2a, 0x0b, 0x43, 0x6f, 0x75, + 0x6e, 0x74, 0x72, 0x79, 0x43, 0x6f, 0x64, 0x65, 0x32, 0x1b, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x72, + 0x79, 0x43, 0x6f, 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x0b, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x72, 0x79, + 0x43, 0x6f, 0x64, 0x65, 0x12, 0x49, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0x92, 0x41, 0x28, 0x2a, 0x09, 0x53, 0x74, + 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x32, 0x19, 0x53, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, + 0x64, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x40, 0x01, 0x52, 0x09, 0x73, 0x74, 0x61, 0x74, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, + 0x98, 0x03, 0x0a, 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, + 0x12, 0x69, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, + 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, + 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x48, 0x0a, 0x04, 0x6b, + 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x34, 0x92, 0x41, 0x31, 0x2a, 0x04, + 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, + 0x0c, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5a, + 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x72, 0x6f, 0x42, 0x23, + 0x92, 0x41, 0x20, 0x2a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x32, 0x15, 0x4c, 0x69, 0x73, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xa0, 0x04, 0x0a, 0x0f, 0x50, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x6f, + 0x0a, 0x13, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3d, 0x92, 0x41, 0x3a, + 0x2a, 0x13, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x32, 0x23, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, + 0x6e, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x52, 0x13, 0x65, 0x6e, 0x76, 0x69, + 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, + 0x5c, 0x0a, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2c, 0x92, 0x41, 0x29, + 0x2a, 0x12, 0x4b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x72, 0x32, 0x13, 0x6b, 0x75, 0x62, 0x65, 0x72, 0x6e, 0x65, 0x74, 0x65, 0x73, + 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x52, 0x12, 0x6b, 0x75, 0x62, 0x65, 0x72, + 0x6e, 0x65, 0x74, 0x65, 0x73, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x12, 0x64, 0x0a, + 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, + 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30, 0x92, 0x41, 0x2d, + 0x2a, 0x14, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, + 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x32, 0x15, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x14, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, + 0x65, 0x6e, 0x74, 0x12, 0x65, 0x0a, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x31, 0x92, 0x41, 0x2e, 0x2a, 0x14, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x50, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x32, 0x16, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x70, 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x52, 0x14, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x50, + 0x61, 0x63, 0x6b, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x48, 0x0a, 0x0d, 0x70, 0x72, + 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x22, 0x92, 0x41, 0x1f, 0x2a, 0x0d, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, + 0x6e, 0x54, 0x79, 0x70, 0x65, 0x32, 0x0e, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x74, 0x79, 0x70, 0x65, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x73, 0x69, 0x6f, 0x6e, + 0x54, 0x79, 0x70, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x06, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x11, 0x92, 0x41, 0x0e, 0x2a, 0x05, 0x53, 0x74, 0x61, 0x74, 0x65, 0x32, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xef, 0x03, + 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x38, 0x0a, + 0x09, 0x68, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x1a, 0x92, 0x41, 0x17, 0x2a, 0x09, 0x48, 0x74, 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x32, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x09, 0x68, 0x74, + 0x74, 0x70, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x3c, 0x0a, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1c, 0x92, 0x41, 0x19, + 0x2a, 0x0a, 0x48, 0x74, 0x74, 0x70, 0x73, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x32, 0x0b, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x0a, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x2f, 0x0a, 0x07, 0x6e, 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x15, 0x92, 0x41, 0x12, 0x2a, 0x07, 0x6e, 0x6f, 0x70, + 0x72, 0x6f, 0x78, 0x79, 0x32, 0x07, 0x6e, 0x6f, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x52, 0x07, 0x6e, + 0x6f, 0x50, 0x72, 0x6f, 0x78, 0x79, 0x12, 0x38, 0x0a, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x41, + 0x75, 0x74, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x1a, 0x92, 0x41, 0x17, 0x2a, 0x09, + 0x50, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x75, 0x74, 0x68, 0x32, 0x0a, 0x70, 0x72, 0x6f, 0x78, 0x79, + 0x20, 0x61, 0x75, 0x74, 0x68, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x41, 0x75, 0x74, 0x68, + 0x12, 0x6d, 0x0a, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, + 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x35, 0x92, 0x41, 0x32, 0x2a, 0x16, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, 0x73, 0x65, + 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x32, 0x18, 0x41, + 0x6c, 0x6c, 0x6f, 0x77, 0x20, 0x69, 0x6e, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x62, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x52, 0x16, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x49, 0x6e, + 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x12, + 0x2f, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x15, 0x92, 0x41, 0x12, 0x2a, 0x07, 0x45, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x32, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, + 0x12, 0x5d, 0x0a, 0x0b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x41, 0x18, + 0x07, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3b, 0x92, 0x41, 0x38, 0x2a, 0x0b, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x41, 0x32, 0x29, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x20, 0x6f, + 0x66, 0x20, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x65, 0x72, 0x52, 0x0b, 0x62, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x43, 0x41, 0x22, + 0x5c, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x48, 0x0a, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, + 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x52, 0x09, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x22, 0x57, 0x0a, + 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x12, 0x41, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x22, 0xb5, 0x04, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, + 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, + 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, + 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, + 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0x92, 0x41, 0x27, + 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x07, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x5f, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x70, 0x65, + 0x63, 0x42, 0x1f, 0x92, 0x41, 0x1c, 0x2a, 0x04, 0x53, 0x70, 0x65, 0x63, 0x32, 0x14, 0x53, 0x70, + 0x65, 0x63, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x6b, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x2e, 0x76, 0x33, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x25, 0x92, 0x41, 0x22, 0x2a, 0x06, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x32, 0x16, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x3a, 0x47, 0x92, 0x41, 0x44, 0x0a, 0x42, 0x2a, 0x0c, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x0c, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0xd2, 0x01, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, 0x63, 0x22, 0x4e, + 0x0a, 0x08, 0x4e, 0x61, 0x6d, 0x65, 0x48, 0x61, 0x73, 0x68, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, + 0x0a, 0x04, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x61, + 0x73, 0x68, 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x2a, 0x59, + 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, + 0x65, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x10, 0x00, 0x12, 0x17, 0x0a, 0x13, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, 0x64, 0x65, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x61, 0x64, + 0x79, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x6f, + 0x64, 0x65, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x02, 0x2a, 0xfa, 0x01, 0x0a, 0x14, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, + 0x70, 0x65, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6c, 0x75, + 0x65, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x00, 0x12, 0x12, 0x0a, 0x0e, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x10, 0x01, + 0x12, 0x12, 0x0a, 0x0e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x49, 0x6e, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, + 0x6f, 0x64, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x03, 0x12, 0x13, 0x0a, 0x0f, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x10, 0x04, 0x12, 0x18, + 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x05, 0x12, 0x10, 0x0a, 0x0c, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x52, 0x65, 0x61, 0x64, 0x79, 0x10, 0x06, 0x12, 0x1c, 0x0a, 0x18, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x41, 0x75, 0x78, 0x69, 0x6c, 0x69, 0x61, 0x72, 0x79, 0x54, 0x61, + 0x73, 0x6b, 0x53, 0x79, 0x6e, 0x63, 0x10, 0x07, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, + 0x74, 0x10, 0x08, 0x12, 0x11, 0x0a, 0x0d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x10, 0x09, 0x2a, 0x43, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x68, 0x61, 0x72, 0x65, 0x4d, 0x6f, 0x64, 0x65, 0x4e, 0x6f, + 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 0x41, 0x4c, 0x4c, 0x10, 0x01, 0x12, + 0x0a, 0x0a, 0x06, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x10, 0x02, 0x2a, 0x56, 0x0a, 0x06, 0x48, + 0x65, 0x61, 0x6c, 0x74, 0x68, 0x12, 0x0f, 0x0a, 0x0b, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x49, 0x47, + 0x4e, 0x4f, 0x52, 0x45, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x45, 0x44, 0x47, 0x45, 0x5f, 0x48, + 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x01, 0x12, 0x12, 0x0a, 0x0e, 0x45, 0x44, 0x47, 0x45, + 0x5f, 0x55, 0x4e, 0x48, 0x45, 0x41, 0x4c, 0x54, 0x48, 0x59, 0x10, 0x02, 0x12, 0x15, 0x0a, 0x11, + 0x45, 0x44, 0x47, 0x45, 0x5f, 0x44, 0x49, 0x53, 0x43, 0x4f, 0x4e, 0x4e, 0x45, 0x43, 0x54, 0x45, + 0x44, 0x10, 0x03, 0x2a, 0x2d, 0x0a, 0x10, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, + 0x6b, 0x65, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x10, 0x00, 0x2a, 0x34, 0x0a, 0x11, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x10, 0x0a, 0x0c, 0x54, 0x6f, 0x6b, 0x65, 0x6e, + 0x4e, 0x6f, 0x74, 0x55, 0x73, 0x65, 0x64, 0x10, 0x00, 0x12, 0x0d, 0x0a, 0x09, 0x54, 0x6f, 0x6b, + 0x65, 0x6e, 0x55, 0x73, 0x65, 0x64, 0x10, 0x01, 0x42, 0xf5, 0x01, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x43, 0x6c, 0x75, 0x73, 0x74, + 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x42, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x69, 0x6e, 0x66, 0x72, 0x61, + 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x76, 0x33, 0xa2, 0x02, 0x04, + 0x52, 0x44, 0x54, 0x49, 0xaa, 0x02, 0x18, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x56, 0x33, 0xca, + 0x02, 0x18, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x5c, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x24, 0x52, 0x61, 0x66, + 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x49, 0x6e, 0x66, + 0x72, 0x61, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x3a, 0x3a, 0x56, 0x33, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/infrapb/v3/cluster.proto b/proto/types/infrapb/v3/cluster.proto similarity index 94% rename from components/common/proto/types/infrapb/v3/cluster.proto rename to proto/types/infrapb/v3/cluster.proto index 300b56d..1a7e7f1 100644 --- a/components/common/proto/types/infrapb/v3/cluster.proto +++ b/proto/types/infrapb/v3/cluster.proto @@ -4,7 +4,6 @@ package rafay.dev.types.infra.v3; import "google/protobuf/timestamp.proto"; import "proto/types/commonpb/v3/common.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; -import "gogoproto/gogo.proto"; import "k8s.io/api/core/v1/generated.proto"; message Cluster { @@ -238,46 +237,32 @@ message ProjectCluster { } message ClusterNode { - rafay.dev.types.common.v3.Metadata metadata = 1 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - ClusterNodeSpec spec = 2 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - ClusterNodeStatus status = 3 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + rafay.dev.types.common.v3.Metadata metadata = 1; + ClusterNodeSpec spec = 2; + ClusterNodeStatus status = 3; } message ClusterNodeSpec { bool unschedulable = 1; - repeated k8s.io.api.core.v1.Taint taints = 2 [ - (gogoproto.nullable) = false, - (gogoproto.jsontag) = "taints,omitempty" - ]; + repeated k8s.io.api.core.v1.Taint taints = 2; } message ClusterNodeStatus { ClusterNodeState state = 1; - repeated k8s.io.api.core.v1.NodeCondition conditions = 2 [ - (gogoproto.nullable) = false - ]; + repeated k8s.io.api.core.v1.NodeCondition conditions = 2; k8s.io.api.core.v1.NodeSystemInfo nodeInfo = 3; Resources capacity = 4; Resources allocatable = 5; Resources allocated = 6; - repeated ClusterNodeIP ips = 7 [ - (gogoproto.nullable) = false, - (gogoproto.moretags) = - "patchStrategy:\"merge\" patchMergeKey:\"privateIP\"" - ]; + repeated ClusterNodeIP ips = 7; } message ClusterNodeIP { - string privateIP = 1 [ (gogoproto.jsontag) = "privateIP" ]; + string privateIP = 1; string publicIP = 2; } enum ClusterNodeState { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; ClusterNodeCreated = 0; ClusterNodeNotReady = 1; ClusterNodeReady = 2; @@ -307,9 +292,6 @@ message ClusterCondition { } enum ClusterConditionType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - ClusterBlueprintSync = 0; ClusterApprove = 1; ClusterCheckIn = 2; @@ -323,9 +305,6 @@ enum ClusterConditionType { } enum ClusterShareMode { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - ClusterShareModeNotSet = 0; ALL = 1; CUSTOM = 2; diff --git a/components/common/proto/types/infrapb/v3/clusterconditiontype.enum.go b/proto/types/infrapb/v3/clusterconditiontype.enum.go similarity index 100% rename from components/common/proto/types/infrapb/v3/clusterconditiontype.enum.go rename to proto/types/infrapb/v3/clusterconditiontype.enum.go diff --git a/components/common/proto/types/infrapb/v3/clusternodestate.enum.go b/proto/types/infrapb/v3/clusternodestate.enum.go similarity index 100% rename from components/common/proto/types/infrapb/v3/clusternodestate.enum.go rename to proto/types/infrapb/v3/clusternodestate.enum.go diff --git a/components/common/proto/types/infrapb/v3/clustersharemode.enum.go b/proto/types/infrapb/v3/clustersharemode.enum.go similarity index 100% rename from components/common/proto/types/infrapb/v3/clustersharemode.enum.go rename to proto/types/infrapb/v3/clustersharemode.enum.go diff --git a/components/common/proto/types/infrapb/v3/clustertokenstate.enum.go b/proto/types/infrapb/v3/clustertokenstate.enum.go similarity index 100% rename from components/common/proto/types/infrapb/v3/clustertokenstate.enum.go rename to proto/types/infrapb/v3/clustertokenstate.enum.go diff --git a/components/common/proto/types/infrapb/v3/clustertokentype.enum.go b/proto/types/infrapb/v3/clustertokentype.enum.go similarity index 100% rename from components/common/proto/types/infrapb/v3/clustertokentype.enum.go rename to proto/types/infrapb/v3/clustertokentype.enum.go diff --git a/components/common/proto/types/rolepb/v3/role.pb.go b/proto/types/rolepb/v3/role.pb.go similarity index 93% rename from components/common/proto/types/rolepb/v3/role.pb.go rename to proto/types/rolepb/v3/role.pb.go index 58193e1..77fc7a1 100644 --- a/components/common/proto/types/rolepb/v3/role.pb.go +++ b/proto/types/rolepb/v3/role.pb.go @@ -7,7 +7,7 @@ package rolev3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -326,24 +326,23 @@ var file_proto_types_rolepb_v3_role_proto_rawDesc = []byte{ 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x1c, 0x92, 0x41, 0x19, 0x0a, 0x17, 0x2a, 0x08, 0x52, 0x6f, 0x6c, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x09, - 0x52, 0x6f, 0x6c, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0xfd, 0x01, 0x0a, 0x1b, + 0x52, 0x6f, 0x6c, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0xeb, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x52, 0x6f, 0x6c, - 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, - 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x6c, 0x65, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, - 0x44, 0x54, 0x52, 0xaa, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x17, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, - 0x52, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x23, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, - 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x52, 0x6f, 0x6c, 0x65, 0x5c, 0x56, - 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x70, 0x62, + 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x6c, 0x65, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, + 0x52, 0xaa, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x17, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x52, 0x6f, + 0x6c, 0x65, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x23, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, + 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x52, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x33, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, + 0x3a, 0x52, 0x6f, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x33, } var ( diff --git a/components/common/proto/types/rolepb/v3/role.proto b/proto/types/rolepb/v3/role.proto similarity index 100% rename from components/common/proto/types/rolepb/v3/role.proto rename to proto/types/rolepb/v3/role.proto diff --git a/components/common/proto/types/rolepb/v3/rolepermission.pb.go b/proto/types/rolepb/v3/rolepermission.pb.go similarity index 93% rename from components/common/proto/types/rolepb/v3/rolepermission.pb.go rename to proto/types/rolepb/v3/rolepermission.pb.go index 5b50358..a0e3707 100644 --- a/components/common/proto/types/rolepb/v3/rolepermission.pb.go +++ b/proto/types/rolepb/v3/rolepermission.pb.go @@ -7,7 +7,7 @@ package rolev3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -313,24 +313,23 @@ var file_proto_types_rolepb_v3_rolepermission_proto_rawDesc = []byte{ 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x2c, 0x92, 0x41, 0x29, 0x0a, 0x27, 0x2a, 0x12, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x0f, 0x52, 0x6f, 0x6c, 0x65, 0x50, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0x87, 0x02, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, + 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0xf5, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x2e, 0x76, 0x33, 0x42, 0x13, 0x52, 0x6f, 0x6c, 0x65, 0x70, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, + 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, - 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, - 0x73, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x6c, 0x65, - 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x52, 0xaa, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, - 0x2e, 0x56, 0x33, 0xca, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x52, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x23, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, - 0x52, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, - 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x6c, 0x65, 0x3a, 0x3a, 0x56, - 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, + 0x72, 0x6f, 0x6c, 0x65, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x72, 0x6f, 0x6c, 0x65, 0x76, 0x33, + 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x52, 0xaa, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x56, + 0x33, 0xca, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x5c, 0x52, 0x6f, 0x6c, 0x65, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x23, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x52, 0x6f, + 0x6c, 0x65, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0xea, 0x02, 0x1b, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x52, 0x6f, 0x6c, 0x65, 0x3a, 0x3a, 0x56, 0x33, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/rolepb/v3/rolepermission.proto b/proto/types/rolepb/v3/rolepermission.proto similarity index 100% rename from components/common/proto/types/rolepb/v3/rolepermission.proto rename to proto/types/rolepb/v3/rolepermission.proto diff --git a/proto/types/scheduler/namespace.pb.go b/proto/types/scheduler/namespace.pb.go new file mode 100644 index 0000000..d1efd23 --- /dev/null +++ b/proto/types/scheduler/namespace.pb.go @@ -0,0 +1,1204 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.27.1 +// protoc (unknown) +// source: proto/types/scheduler/namespace.proto + +package scheduler + +import ( + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + controller "github.com/RafaySystems/rcloud-base/proto/types/controller" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + timestamppb "google.golang.org/protobuf/types/known/timestamppb" + v1 "k8s.io/apimachinery/pkg/apis/meta/v1" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type ClusterNamespaceConditionType int32 + +const ( + ClusterNamespaceConditionType_ClusterNamespaceAssigned ClusterNamespaceConditionType = 0 + ClusterNamespaceConditionType_ClusterNamespaceConverged ClusterNamespaceConditionType = 1 + ClusterNamespaceConditionType_ClusterNamespaceReady ClusterNamespaceConditionType = 2 + ClusterNamespaceConditionType_ClusterNamespaceDelete ClusterNamespaceConditionType = 3 +) + +// Enum value maps for ClusterNamespaceConditionType. +var ( + ClusterNamespaceConditionType_name = map[int32]string{ + 0: "ClusterNamespaceAssigned", + 1: "ClusterNamespaceConverged", + 2: "ClusterNamespaceReady", + 3: "ClusterNamespaceDelete", + } + ClusterNamespaceConditionType_value = map[string]int32{ + "ClusterNamespaceAssigned": 0, + "ClusterNamespaceConverged": 1, + "ClusterNamespaceReady": 2, + "ClusterNamespaceDelete": 3, + } +) + +func (x ClusterNamespaceConditionType) Enum() *ClusterNamespaceConditionType { + p := new(ClusterNamespaceConditionType) + *p = x + return p +} + +func (x ClusterNamespaceConditionType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ClusterNamespaceConditionType) Descriptor() protoreflect.EnumDescriptor { + return file_proto_types_scheduler_namespace_proto_enumTypes[0].Descriptor() +} + +func (ClusterNamespaceConditionType) Type() protoreflect.EnumType { + return &file_proto_types_scheduler_namespace_proto_enumTypes[0] +} + +func (x ClusterNamespaceConditionType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ClusterNamespaceConditionType.Descriptor instead. +func (ClusterNamespaceConditionType) EnumDescriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{0} +} + +type ClusterNamespaceType int32 + +const ( + ClusterNamespaceType_ClusterNamespaceSystem ClusterNamespaceType = 0 + ClusterNamespaceType_ClusterNamespaceCustom ClusterNamespaceType = 1 +) + +// Enum value maps for ClusterNamespaceType. +var ( + ClusterNamespaceType_name = map[int32]string{ + 0: "ClusterNamespaceSystem", + 1: "ClusterNamespaceCustom", + } + ClusterNamespaceType_value = map[string]int32{ + "ClusterNamespaceSystem": 0, + "ClusterNamespaceCustom": 1, + } +) + +func (x ClusterNamespaceType) Enum() *ClusterNamespaceType { + p := new(ClusterNamespaceType) + *p = x + return p +} + +func (x ClusterNamespaceType) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (ClusterNamespaceType) Descriptor() protoreflect.EnumDescriptor { + return file_proto_types_scheduler_namespace_proto_enumTypes[1].Descriptor() +} + +func (ClusterNamespaceType) Type() protoreflect.EnumType { + return &file_proto_types_scheduler_namespace_proto_enumTypes[1] +} + +func (x ClusterNamespaceType) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use ClusterNamespaceType.Descriptor instead. +func (ClusterNamespaceType) EnumDescriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{1} +} + +type ClusterNamespaceSpec struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type ClusterNamespaceType `protobuf:"varint,1,opt,name=type,proto3,enum=rafay.dev.types.scheduler.ClusterNamespaceType" json:"type,omitempty"` + Namespace *NamespaceTemplate `protobuf:"bytes,2,opt,name=namespace,proto3" json:"namespace,omitempty"` + ClusterID string `protobuf:"bytes,3,opt,name=clusterID,proto3" json:"clusterID,omitempty"` +} + +func (x *ClusterNamespaceSpec) Reset() { + *x = ClusterNamespaceSpec{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterNamespaceSpec) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterNamespaceSpec) ProtoMessage() {} + +func (x *ClusterNamespaceSpec) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterNamespaceSpec.ProtoReflect.Descriptor instead. +func (*ClusterNamespaceSpec) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{0} +} + +func (x *ClusterNamespaceSpec) GetType() ClusterNamespaceType { + if x != nil { + return x.Type + } + return ClusterNamespaceType_ClusterNamespaceSystem +} + +func (x *ClusterNamespaceSpec) GetNamespace() *NamespaceTemplate { + if x != nil { + return x.Namespace + } + return nil +} + +func (x *ClusterNamespaceSpec) GetClusterID() string { + if x != nil { + return x.ClusterID + } + return "" +} + +type ClusterNamespaceCondition struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Type ClusterNamespaceConditionType `protobuf:"varint,1,opt,name=type,proto3,enum=rafay.dev.types.scheduler.ClusterNamespaceConditionType" json:"type,omitempty"` + Status v3.RafayConditionStatus `protobuf:"varint,2,opt,name=status,proto3,enum=rafay.dev.types.common.v3.RafayConditionStatus" json:"status,omitempty"` + LastUpdated *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=lastUpdated,proto3" json:"lastUpdated,omitempty"` + Reason string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"` +} + +func (x *ClusterNamespaceCondition) Reset() { + *x = ClusterNamespaceCondition{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterNamespaceCondition) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterNamespaceCondition) ProtoMessage() {} + +func (x *ClusterNamespaceCondition) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterNamespaceCondition.ProtoReflect.Descriptor instead. +func (*ClusterNamespaceCondition) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{1} +} + +func (x *ClusterNamespaceCondition) GetType() ClusterNamespaceConditionType { + if x != nil { + return x.Type + } + return ClusterNamespaceConditionType_ClusterNamespaceAssigned +} + +func (x *ClusterNamespaceCondition) GetStatus() v3.RafayConditionStatus { + if x != nil { + return x.Status + } + return v3.RafayConditionStatus(0) +} + +func (x *ClusterNamespaceCondition) GetLastUpdated() *timestamppb.Timestamp { + if x != nil { + return x.LastUpdated + } + return nil +} + +func (x *ClusterNamespaceCondition) GetReason() string { + if x != nil { + return x.Reason + } + return "" +} + +type ClusterNamespaceStatus struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Conditions []*ClusterNamespaceCondition `protobuf:"bytes,1,rep,name=conditions,proto3" json:"conditions,omitempty"` + Status *controller.NamespaceStatus `protobuf:"bytes,2,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *ClusterNamespaceStatus) Reset() { + *x = ClusterNamespaceStatus{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterNamespaceStatus) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterNamespaceStatus) ProtoMessage() {} + +func (x *ClusterNamespaceStatus) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterNamespaceStatus.ProtoReflect.Descriptor instead. +func (*ClusterNamespaceStatus) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{2} +} + +func (x *ClusterNamespaceStatus) GetConditions() []*ClusterNamespaceCondition { + if x != nil { + return x.Conditions + } + return nil +} + +func (x *ClusterNamespaceStatus) GetStatus() *controller.NamespaceStatus { + if x != nil { + return x.Status + } + return nil +} + +type ClusterNamespace struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + Metadata *v3.Metadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + Spec *ClusterNamespaceSpec `protobuf:"bytes,4,opt,name=spec,proto3" json:"spec,omitempty"` + Status *ClusterNamespaceStatus `protobuf:"bytes,5,opt,name=status,proto3" json:"status,omitempty"` +} + +func (x *ClusterNamespace) Reset() { + *x = ClusterNamespace{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterNamespace) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterNamespace) ProtoMessage() {} + +func (x *ClusterNamespace) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterNamespace.ProtoReflect.Descriptor instead. +func (*ClusterNamespace) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{3} +} + +func (x *ClusterNamespace) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +func (x *ClusterNamespace) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *ClusterNamespace) GetMetadata() *v3.Metadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ClusterNamespace) GetSpec() *ClusterNamespaceSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *ClusterNamespace) GetStatus() *ClusterNamespaceStatus { + if x != nil { + return x.Status + } + return nil +} + +type ClusterNamespaceList struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ApiVersion string `protobuf:"bytes,1,opt,name=apiVersion,proto3" json:"apiVersion,omitempty"` + Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"` + Metadata *v3.ListMetadata `protobuf:"bytes,3,opt,name=metadata,proto3" json:"metadata,omitempty"` + Items []*ClusterNamespace `protobuf:"bytes,4,rep,name=items,proto3" json:"items,omitempty"` +} + +func (x *ClusterNamespaceList) Reset() { + *x = ClusterNamespaceList{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ClusterNamespaceList) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ClusterNamespaceList) ProtoMessage() {} + +func (x *ClusterNamespaceList) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ClusterNamespaceList.ProtoReflect.Descriptor instead. +func (*ClusterNamespaceList) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{4} +} + +func (x *ClusterNamespaceList) GetApiVersion() string { + if x != nil { + return x.ApiVersion + } + return "" +} + +func (x *ClusterNamespaceList) GetKind() string { + if x != nil { + return x.Kind + } + return "" +} + +func (x *ClusterNamespaceList) GetMetadata() *v3.ListMetadata { + if x != nil { + return x.Metadata + } + return nil +} + +func (x *ClusterNamespaceList) GetItems() []*ClusterNamespace { + if x != nil { + return x.Items + } + return nil +} + +// NamespaceTemplate is the template for creating namespace +type NamespaceTemplate struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + ObjectMeta *v1.ObjectMeta `protobuf:"bytes,1,opt,name=objectMeta,proto3" json:"objectMeta,omitempty"` + Spec *controller.NamespaceSpec `protobuf:"bytes,2,opt,name=spec,proto3" json:"spec,omitempty"` + ResourceQuota *ResourceQuota `protobuf:"bytes,3,opt,name=resourceQuota,proto3" json:"resourceQuota,omitempty"` + LimitRange *LimitRange `protobuf:"bytes,4,opt,name=limitRange,proto3" json:"limitRange,omitempty"` + Type string `protobuf:"bytes,5,opt,name=type,proto3" json:"type,omitempty"` + NamespaceFromFile string `protobuf:"bytes,6,opt,name=namespaceFromFile,proto3" json:"namespaceFromFile,omitempty"` + RepoRef string `protobuf:"bytes,7,opt,name=repoRef,proto3" json:"repoRef,omitempty"` + NamespaceFromRepo string `protobuf:"bytes,8,opt,name=namespaceFromRepo,proto3" json:"namespaceFromRepo,omitempty"` +} + +func (x *NamespaceTemplate) Reset() { + *x = NamespaceTemplate{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[5] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *NamespaceTemplate) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*NamespaceTemplate) ProtoMessage() {} + +func (x *NamespaceTemplate) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[5] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use NamespaceTemplate.ProtoReflect.Descriptor instead. +func (*NamespaceTemplate) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{5} +} + +func (x *NamespaceTemplate) GetObjectMeta() *v1.ObjectMeta { + if x != nil { + return x.ObjectMeta + } + return nil +} + +func (x *NamespaceTemplate) GetSpec() *controller.NamespaceSpec { + if x != nil { + return x.Spec + } + return nil +} + +func (x *NamespaceTemplate) GetResourceQuota() *ResourceQuota { + if x != nil { + return x.ResourceQuota + } + return nil +} + +func (x *NamespaceTemplate) GetLimitRange() *LimitRange { + if x != nil { + return x.LimitRange + } + return nil +} + +func (x *NamespaceTemplate) GetType() string { + if x != nil { + return x.Type + } + return "" +} + +func (x *NamespaceTemplate) GetNamespaceFromFile() string { + if x != nil { + return x.NamespaceFromFile + } + return "" +} + +func (x *NamespaceTemplate) GetRepoRef() string { + if x != nil { + return x.RepoRef + } + return "" +} + +func (x *NamespaceTemplate) GetNamespaceFromRepo() string { + if x != nil { + return x.NamespaceFromRepo + } + return "" +} + +type LimitRange struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + PodLimits *LimitRangeItem `protobuf:"bytes,1,opt,name=podLimits,proto3" json:"podLimits,omitempty"` + ContainerLimits *LimitRangeItem `protobuf:"bytes,2,opt,name=containerLimits,proto3" json:"containerLimits,omitempty"` +} + +func (x *LimitRange) Reset() { + *x = LimitRange{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[6] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LimitRange) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LimitRange) ProtoMessage() {} + +func (x *LimitRange) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[6] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LimitRange.ProtoReflect.Descriptor instead. +func (*LimitRange) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{6} +} + +func (x *LimitRange) GetPodLimits() *LimitRangeItem { + if x != nil { + return x.PodLimits + } + return nil +} + +func (x *LimitRange) GetContainerLimits() *LimitRangeItem { + if x != nil { + return x.ContainerLimits + } + return nil +} + +type ResourceQuota struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + CpuRequests float32 `protobuf:"fixed32,1,opt,name=cpuRequests,proto3" json:"cpuRequests,omitempty"` + MemoryRequests float32 `protobuf:"fixed32,2,opt,name=memoryRequests,proto3" json:"memoryRequests,omitempty"` + CpuLimits float32 `protobuf:"fixed32,3,opt,name=cpuLimits,proto3" json:"cpuLimits,omitempty"` + MemoryLimits float32 `protobuf:"fixed32,4,opt,name=memoryLimits,proto3" json:"memoryLimits,omitempty"` +} + +func (x *ResourceQuota) Reset() { + *x = ResourceQuota{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[7] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *ResourceQuota) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*ResourceQuota) ProtoMessage() {} + +func (x *ResourceQuota) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[7] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use ResourceQuota.ProtoReflect.Descriptor instead. +func (*ResourceQuota) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{7} +} + +func (x *ResourceQuota) GetCpuRequests() float32 { + if x != nil { + return x.CpuRequests + } + return 0 +} + +func (x *ResourceQuota) GetMemoryRequests() float32 { + if x != nil { + return x.MemoryRequests + } + return 0 +} + +func (x *ResourceQuota) GetCpuLimits() float32 { + if x != nil { + return x.CpuLimits + } + return 0 +} + +func (x *ResourceQuota) GetMemoryLimits() float32 { + if x != nil { + return x.MemoryLimits + } + return 0 +} + +type LimitRangeItem struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + MaxCpu float32 `protobuf:"fixed32,1,opt,name=maxCpu,proto3" json:"maxCpu,omitempty"` + MaxMemory float32 `protobuf:"fixed32,2,opt,name=maxMemory,proto3" json:"maxMemory,omitempty"` + MinCpu float32 `protobuf:"fixed32,3,opt,name=minCpu,proto3" json:"minCpu,omitempty"` + MinMemory float32 `protobuf:"fixed32,4,opt,name=minMemory,proto3" json:"minMemory,omitempty"` + DefaultCpu float32 `protobuf:"fixed32,5,opt,name=defaultCpu,proto3" json:"defaultCpu,omitempty"` + DefaultMemory float32 `protobuf:"fixed32,6,opt,name=defaultMemory,proto3" json:"defaultMemory,omitempty"` + DefaultRequestCpu float32 `protobuf:"fixed32,7,opt,name=defaultRequestCpu,proto3" json:"defaultRequestCpu,omitempty"` + DefaultRequestMemory float32 `protobuf:"fixed32,8,opt,name=defaultRequestMemory,proto3" json:"defaultRequestMemory,omitempty"` + MaxLimitRequestRatioCpu float32 `protobuf:"fixed32,9,opt,name=maxLimitRequestRatioCpu,proto3" json:"maxLimitRequestRatioCpu,omitempty"` + MaxLimitRequestRatioMemory float32 `protobuf:"fixed32,10,opt,name=maxLimitRequestRatioMemory,proto3" json:"maxLimitRequestRatioMemory,omitempty"` +} + +func (x *LimitRangeItem) Reset() { + *x = LimitRangeItem{} + if protoimpl.UnsafeEnabled { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[8] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *LimitRangeItem) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*LimitRangeItem) ProtoMessage() {} + +func (x *LimitRangeItem) ProtoReflect() protoreflect.Message { + mi := &file_proto_types_scheduler_namespace_proto_msgTypes[8] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use LimitRangeItem.ProtoReflect.Descriptor instead. +func (*LimitRangeItem) Descriptor() ([]byte, []int) { + return file_proto_types_scheduler_namespace_proto_rawDescGZIP(), []int{8} +} + +func (x *LimitRangeItem) GetMaxCpu() float32 { + if x != nil { + return x.MaxCpu + } + return 0 +} + +func (x *LimitRangeItem) GetMaxMemory() float32 { + if x != nil { + return x.MaxMemory + } + return 0 +} + +func (x *LimitRangeItem) GetMinCpu() float32 { + if x != nil { + return x.MinCpu + } + return 0 +} + +func (x *LimitRangeItem) GetMinMemory() float32 { + if x != nil { + return x.MinMemory + } + return 0 +} + +func (x *LimitRangeItem) GetDefaultCpu() float32 { + if x != nil { + return x.DefaultCpu + } + return 0 +} + +func (x *LimitRangeItem) GetDefaultMemory() float32 { + if x != nil { + return x.DefaultMemory + } + return 0 +} + +func (x *LimitRangeItem) GetDefaultRequestCpu() float32 { + if x != nil { + return x.DefaultRequestCpu + } + return 0 +} + +func (x *LimitRangeItem) GetDefaultRequestMemory() float32 { + if x != nil { + return x.DefaultRequestMemory + } + return 0 +} + +func (x *LimitRangeItem) GetMaxLimitRequestRatioCpu() float32 { + if x != nil { + return x.MaxLimitRequestRatioCpu + } + return 0 +} + +func (x *LimitRangeItem) GetMaxLimitRequestRatioMemory() float32 { + if x != nil { + return x.MaxLimitRequestRatioMemory + } + return 0 +} + +var File_proto_types_scheduler_namespace_proto protoreflect.FileDescriptor + +var file_proto_types_scheduler_namespace_proto_rawDesc = []byte{ + 0x0a, 0x25, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x19, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x2f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x34, 0x6b, 0x38, 0x73, 0x2e, + 0x69, 0x6f, 0x2f, 0x61, 0x70, 0x69, 0x6d, 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2f, + 0x70, 0x6b, 0x67, 0x2f, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x2f, 0x76, 0x31, + 0x2f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xc5, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x43, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, + 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4a, + 0x0a, 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x09, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x49, 0x44, 0x22, 0x88, 0x02, 0x0a, 0x19, 0x43, 0x6c, 0x75, + 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4c, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x38, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, + 0x2e, 0x52, 0x61, 0x66, 0x61, 0x79, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x3c, 0x0a, + 0x0b, 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0b, + 0x6c, 0x61, 0x73, 0x74, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x72, + 0x65, 0x61, 0x73, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x72, 0x65, 0x61, + 0x73, 0x6f, 0x6e, 0x22, 0xb3, 0x01, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x54, + 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, + 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x43, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x97, 0x02, 0x0a, 0x10, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x12, 0x1e, + 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, + 0x6e, 0x64, 0x12, 0x3f, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, + 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x43, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2f, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x49, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x22, 0xd2, 0x01, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x1e, 0x0a, 0x0a, + 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, + 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, + 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x41, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0x2e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0xc5, 0x03, 0x0a, 0x11, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x50, + 0x0a, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x6b, 0x38, 0x73, 0x2e, 0x69, 0x6f, 0x2e, 0x61, 0x70, 0x69, 0x6d, + 0x61, 0x63, 0x68, 0x69, 0x6e, 0x65, 0x72, 0x79, 0x2e, 0x70, 0x6b, 0x67, 0x2e, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x6d, 0x65, 0x74, 0x61, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x12, 0x3d, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, + 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x4e, 0x61, 0x6d, 0x65, + 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, + 0x4e, 0x0a, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, + 0x65, 0x72, 0x2e, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, + 0x52, 0x0d, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, + 0x45, 0x0a, 0x0a, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0a, 0x6c, 0x69, 0x6d, 0x69, + 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x46, 0x72, 0x6f, 0x6d, 0x46, 0x69, 0x6c, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x72, 0x65, 0x70, 0x6f, + 0x52, 0x65, 0x66, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x72, 0x65, 0x70, 0x6f, 0x52, + 0x65, 0x66, 0x12, 0x2c, 0x0a, 0x11, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, + 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x6e, + 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x46, 0x72, 0x6f, 0x6d, 0x52, 0x65, 0x70, 0x6f, + 0x22, 0xaa, 0x01, 0x0a, 0x0a, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, + 0x47, 0x0a, 0x09, 0x70, 0x6f, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x4c, + 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x09, 0x70, + 0x6f, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x53, 0x0a, 0x0f, 0x63, 0x6f, 0x6e, 0x74, + 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x29, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x2e, 0x4c, 0x69, + 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x52, 0x0f, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x9b, 0x01, + 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x51, 0x75, 0x6f, 0x74, 0x61, 0x12, + 0x20, 0x0a, 0x0b, 0x63, 0x70, 0x75, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x0b, 0x63, 0x70, 0x75, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x73, 0x12, 0x26, 0x0a, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0e, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x73, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x70, 0x75, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x63, 0x70, + 0x75, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x12, 0x22, 0x0a, 0x0c, 0x6d, 0x65, 0x6d, 0x6f, 0x72, + 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0c, 0x6d, + 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x73, 0x22, 0x9e, 0x03, 0x0a, 0x0e, + 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x49, 0x74, 0x65, 0x6d, 0x12, 0x16, + 0x0a, 0x06, 0x6d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x18, 0x01, 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, + 0x6d, 0x61, 0x78, 0x43, 0x70, 0x75, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 0x78, 0x4d, 0x65, 0x6d, + 0x6f, 0x72, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 0x61, 0x78, 0x4d, 0x65, + 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x02, 0x52, 0x06, 0x6d, 0x69, 0x6e, 0x43, 0x70, 0x75, 0x12, 0x1c, 0x0a, 0x09, + 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, + 0x09, 0x6d, 0x69, 0x6e, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x12, 0x1e, 0x0a, 0x0a, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x70, 0x75, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, + 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x43, 0x70, 0x75, 0x12, 0x24, 0x0a, 0x0d, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, + 0x02, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, + 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x43, 0x70, 0x75, 0x18, 0x07, 0x20, 0x01, 0x28, 0x02, 0x52, 0x11, 0x64, 0x65, 0x66, + 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x70, 0x75, 0x12, 0x32, + 0x0a, 0x14, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x08, 0x20, 0x01, 0x28, 0x02, 0x52, 0x14, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x4d, 0x65, 0x6d, 0x6f, + 0x72, 0x79, 0x12, 0x38, 0x0a, 0x17, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x43, 0x70, 0x75, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x02, 0x52, 0x17, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x43, 0x70, 0x75, 0x12, 0x3e, 0x0a, 0x1a, + 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x52, + 0x61, 0x74, 0x69, 0x6f, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x02, + 0x52, 0x1a, 0x6d, 0x61, 0x78, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x52, 0x61, 0x74, 0x69, 0x6f, 0x4d, 0x65, 0x6d, 0x6f, 0x72, 0x79, 0x2a, 0x93, 0x01, 0x0a, + 0x1d, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, + 0x65, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, + 0x0a, 0x18, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, + 0x63, 0x65, 0x41, 0x73, 0x73, 0x69, 0x67, 0x6e, 0x65, 0x64, 0x10, 0x00, 0x12, 0x1d, 0x0a, 0x19, + 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, + 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x67, 0x65, 0x64, 0x10, 0x01, 0x12, 0x19, 0x0a, 0x15, 0x43, + 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x52, + 0x65, 0x61, 0x64, 0x79, 0x10, 0x02, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x10, 0x03, 0x2a, 0x4e, 0x0a, 0x14, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, + 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6c, + 0x75, 0x73, 0x74, 0x65, 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x53, 0x79, + 0x73, 0x74, 0x65, 0x6d, 0x10, 0x00, 0x12, 0x1a, 0x0a, 0x16, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x10, 0x01, 0x42, 0xf2, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0x42, 0x0e, 0x4e, 0x61, 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x50, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x39, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, + 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, + 0x72, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x65, 0x72, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, + 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, + 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x5c, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x5c, 0x47, 0x50, 0x42, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1c, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x63, + 0x68, 0x65, 0x64, 0x75, 0x6c, 0x65, 0x72, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_proto_types_scheduler_namespace_proto_rawDescOnce sync.Once + file_proto_types_scheduler_namespace_proto_rawDescData = file_proto_types_scheduler_namespace_proto_rawDesc +) + +func file_proto_types_scheduler_namespace_proto_rawDescGZIP() []byte { + file_proto_types_scheduler_namespace_proto_rawDescOnce.Do(func() { + file_proto_types_scheduler_namespace_proto_rawDescData = protoimpl.X.CompressGZIP(file_proto_types_scheduler_namespace_proto_rawDescData) + }) + return file_proto_types_scheduler_namespace_proto_rawDescData +} + +var file_proto_types_scheduler_namespace_proto_enumTypes = make([]protoimpl.EnumInfo, 2) +var file_proto_types_scheduler_namespace_proto_msgTypes = make([]protoimpl.MessageInfo, 9) +var file_proto_types_scheduler_namespace_proto_goTypes = []interface{}{ + (ClusterNamespaceConditionType)(0), // 0: rafay.dev.types.scheduler.ClusterNamespaceConditionType + (ClusterNamespaceType)(0), // 1: rafay.dev.types.scheduler.ClusterNamespaceType + (*ClusterNamespaceSpec)(nil), // 2: rafay.dev.types.scheduler.ClusterNamespaceSpec + (*ClusterNamespaceCondition)(nil), // 3: rafay.dev.types.scheduler.ClusterNamespaceCondition + (*ClusterNamespaceStatus)(nil), // 4: rafay.dev.types.scheduler.ClusterNamespaceStatus + (*ClusterNamespace)(nil), // 5: rafay.dev.types.scheduler.ClusterNamespace + (*ClusterNamespaceList)(nil), // 6: rafay.dev.types.scheduler.ClusterNamespaceList + (*NamespaceTemplate)(nil), // 7: rafay.dev.types.scheduler.NamespaceTemplate + (*LimitRange)(nil), // 8: rafay.dev.types.scheduler.LimitRange + (*ResourceQuota)(nil), // 9: rafay.dev.types.scheduler.ResourceQuota + (*LimitRangeItem)(nil), // 10: rafay.dev.types.scheduler.LimitRangeItem + (v3.RafayConditionStatus)(0), // 11: rafay.dev.types.common.v3.RafayConditionStatus + (*timestamppb.Timestamp)(nil), // 12: google.protobuf.Timestamp + (*controller.NamespaceStatus)(nil), // 13: rafay.dev.types.controller.NamespaceStatus + (*v3.Metadata)(nil), // 14: rafay.dev.types.common.v3.Metadata + (*v3.ListMetadata)(nil), // 15: rafay.dev.types.common.v3.ListMetadata + (*v1.ObjectMeta)(nil), // 16: k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta + (*controller.NamespaceSpec)(nil), // 17: rafay.dev.types.controller.NamespaceSpec +} +var file_proto_types_scheduler_namespace_proto_depIdxs = []int32{ + 1, // 0: rafay.dev.types.scheduler.ClusterNamespaceSpec.type:type_name -> rafay.dev.types.scheduler.ClusterNamespaceType + 7, // 1: rafay.dev.types.scheduler.ClusterNamespaceSpec.namespace:type_name -> rafay.dev.types.scheduler.NamespaceTemplate + 0, // 2: rafay.dev.types.scheduler.ClusterNamespaceCondition.type:type_name -> rafay.dev.types.scheduler.ClusterNamespaceConditionType + 11, // 3: rafay.dev.types.scheduler.ClusterNamespaceCondition.status:type_name -> rafay.dev.types.common.v3.RafayConditionStatus + 12, // 4: rafay.dev.types.scheduler.ClusterNamespaceCondition.lastUpdated:type_name -> google.protobuf.Timestamp + 3, // 5: rafay.dev.types.scheduler.ClusterNamespaceStatus.conditions:type_name -> rafay.dev.types.scheduler.ClusterNamespaceCondition + 13, // 6: rafay.dev.types.scheduler.ClusterNamespaceStatus.status:type_name -> rafay.dev.types.controller.NamespaceStatus + 14, // 7: rafay.dev.types.scheduler.ClusterNamespace.metadata:type_name -> rafay.dev.types.common.v3.Metadata + 2, // 8: rafay.dev.types.scheduler.ClusterNamespace.spec:type_name -> rafay.dev.types.scheduler.ClusterNamespaceSpec + 4, // 9: rafay.dev.types.scheduler.ClusterNamespace.status:type_name -> rafay.dev.types.scheduler.ClusterNamespaceStatus + 15, // 10: rafay.dev.types.scheduler.ClusterNamespaceList.metadata:type_name -> rafay.dev.types.common.v3.ListMetadata + 5, // 11: rafay.dev.types.scheduler.ClusterNamespaceList.items:type_name -> rafay.dev.types.scheduler.ClusterNamespace + 16, // 12: rafay.dev.types.scheduler.NamespaceTemplate.objectMeta:type_name -> k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta + 17, // 13: rafay.dev.types.scheduler.NamespaceTemplate.spec:type_name -> rafay.dev.types.controller.NamespaceSpec + 9, // 14: rafay.dev.types.scheduler.NamespaceTemplate.resourceQuota:type_name -> rafay.dev.types.scheduler.ResourceQuota + 8, // 15: rafay.dev.types.scheduler.NamespaceTemplate.limitRange:type_name -> rafay.dev.types.scheduler.LimitRange + 10, // 16: rafay.dev.types.scheduler.LimitRange.podLimits:type_name -> rafay.dev.types.scheduler.LimitRangeItem + 10, // 17: rafay.dev.types.scheduler.LimitRange.containerLimits:type_name -> rafay.dev.types.scheduler.LimitRangeItem + 18, // [18:18] is the sub-list for method output_type + 18, // [18:18] is the sub-list for method input_type + 18, // [18:18] is the sub-list for extension type_name + 18, // [18:18] is the sub-list for extension extendee + 0, // [0:18] is the sub-list for field type_name +} + +func init() { file_proto_types_scheduler_namespace_proto_init() } +func file_proto_types_scheduler_namespace_proto_init() { + if File_proto_types_scheduler_namespace_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_proto_types_scheduler_namespace_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterNamespaceSpec); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_types_scheduler_namespace_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterNamespaceCondition); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_types_scheduler_namespace_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterNamespaceStatus); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_types_scheduler_namespace_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterNamespace); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_types_scheduler_namespace_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ClusterNamespaceList); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_types_scheduler_namespace_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*NamespaceTemplate); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_types_scheduler_namespace_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LimitRange); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_types_scheduler_namespace_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*ResourceQuota); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_proto_types_scheduler_namespace_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*LimitRangeItem); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_proto_types_scheduler_namespace_proto_rawDesc, + NumEnums: 2, + NumMessages: 9, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_proto_types_scheduler_namespace_proto_goTypes, + DependencyIndexes: file_proto_types_scheduler_namespace_proto_depIdxs, + EnumInfos: file_proto_types_scheduler_namespace_proto_enumTypes, + MessageInfos: file_proto_types_scheduler_namespace_proto_msgTypes, + }.Build() + File_proto_types_scheduler_namespace_proto = out.File + file_proto_types_scheduler_namespace_proto_rawDesc = nil + file_proto_types_scheduler_namespace_proto_goTypes = nil + file_proto_types_scheduler_namespace_proto_depIdxs = nil +} diff --git a/proto/types/scheduler/namespace.proto b/proto/types/scheduler/namespace.proto new file mode 100644 index 0000000..e7309d6 --- /dev/null +++ b/proto/types/scheduler/namespace.proto @@ -0,0 +1,90 @@ +syntax = "proto3"; +package rafay.dev.types.scheduler; + +import "google/protobuf/timestamp.proto"; +import "proto/types/commonpb/v3/common.proto"; +import "proto/types/controller/cluster_controller.proto"; +import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; + +message ClusterNamespaceSpec { + ClusterNamespaceType type = 1; + NamespaceTemplate namespace = 2; + string clusterID = 3; +} + +enum ClusterNamespaceConditionType { + ClusterNamespaceAssigned = 0; + ClusterNamespaceConverged = 1; + ClusterNamespaceReady = 2; + ClusterNamespaceDelete = 3; +} + +message ClusterNamespaceCondition { + ClusterNamespaceConditionType type = 1; + rafay.dev.types.common.v3.RafayConditionStatus status = 2; + google.protobuf.Timestamp lastUpdated = 3; + string reason = 4; +} + +message ClusterNamespaceStatus { + repeated ClusterNamespaceCondition conditions = 1; + rafay.dev.types.controller.NamespaceStatus status = 2; +} + +enum ClusterNamespaceType { + ClusterNamespaceSystem = 0; + ClusterNamespaceCustom = 1; +} + +message ClusterNamespace { + string apiVersion = 1; + string kind = 2; + rafay.dev.types.common.v3.Metadata metadata = 3; + ClusterNamespaceSpec spec = 4; + ClusterNamespaceStatus status = 5; +} + +message ClusterNamespaceList { + string apiVersion = 1; + string kind = 2; + rafay.dev.types.common.v3.ListMetadata metadata = 3; + repeated ClusterNamespace items = 4; +} + +// NamespaceTemplate is the template for creating namespace +message NamespaceTemplate { + k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta objectMeta = 1; + rafay.dev.types.controller.NamespaceSpec spec = 2; + + ResourceQuota resourceQuota = 3; + LimitRange limitRange = 4; + string type = 5; + string namespaceFromFile = 6; + string repoRef = 7; + string namespaceFromRepo = 8; +} + +message LimitRange { + LimitRangeItem podLimits = 1; + LimitRangeItem containerLimits = 2; +} + +message ResourceQuota { + float cpuRequests = 1; + float memoryRequests = 2; + float cpuLimits = 3; + float memoryLimits = 4; +} + +message LimitRangeItem { + float maxCpu = 1; + float maxMemory = 2; + float minCpu = 3; + float minMemory = 4; + float defaultCpu = 5; + float defaultMemory = 6; + float defaultRequestCpu = 7; + float defaultRequestMemory = 8; + float maxLimitRequestRatioCpu = 9; + float maxLimitRequestRatioMemory = 10; +} \ No newline at end of file diff --git a/components/common/proto/types/sentry/account_permission.pb.go b/proto/types/sentry/account_permission.pb.go similarity index 95% rename from components/common/proto/types/sentry/account_permission.pb.go rename to proto/types/sentry/account_permission.pb.go index af02172..0c576f3 100644 --- a/components/common/proto/types/sentry/account_permission.pb.go +++ b/proto/types/sentry/account_permission.pb.go @@ -443,24 +443,22 @@ var file_proto_types_sentry_account_permission_proto_rawDesc = []byte{ 0x65, 0x12, 0x3a, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x42, 0xfa, 0x01, + 0x70, 0x52, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x6f, 0x75, 0x74, 0x42, 0xe8, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x16, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, - 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, - 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, - 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, - 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, + 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, + 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, 0x02, + 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, + 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/sentry/account_permission.proto b/proto/types/sentry/account_permission.proto similarity index 100% rename from components/common/proto/types/sentry/account_permission.proto rename to proto/types/sentry/account_permission.proto diff --git a/components/common/proto/types/sentry/bootstrapagentmode.enum.go b/proto/types/sentry/bootstrapagentmode.enum.go similarity index 100% rename from components/common/proto/types/sentry/bootstrapagentmode.enum.go rename to proto/types/sentry/bootstrapagentmode.enum.go diff --git a/components/common/proto/types/sentry/bootstrapagentstate.enum.go b/proto/types/sentry/bootstrapagentstate.enum.go similarity index 100% rename from components/common/proto/types/sentry/bootstrapagentstate.enum.go rename to proto/types/sentry/bootstrapagentstate.enum.go diff --git a/components/common/proto/types/sentry/bootstrapagenttemplatetype.enum.go b/proto/types/sentry/bootstrapagenttemplatetype.enum.go similarity index 100% rename from components/common/proto/types/sentry/bootstrapagenttemplatetype.enum.go rename to proto/types/sentry/bootstrapagenttemplatetype.enum.go diff --git a/components/common/proto/types/sentry/bootstrapagenttype.enum.go b/proto/types/sentry/bootstrapagenttype.enum.go similarity index 100% rename from components/common/proto/types/sentry/bootstrapagenttype.enum.go rename to proto/types/sentry/bootstrapagenttype.enum.go diff --git a/components/common/proto/types/sentry/bootstrapinfratype.enum.go b/proto/types/sentry/bootstrapinfratype.enum.go similarity index 100% rename from components/common/proto/types/sentry/bootstrapinfratype.enum.go rename to proto/types/sentry/bootstrapinfratype.enum.go diff --git a/components/common/proto/types/sentry/bootstraptemplatehosttype.enum.go b/proto/types/sentry/bootstraptemplatehosttype.enum.go similarity index 100% rename from components/common/proto/types/sentry/bootstraptemplatehosttype.enum.go rename to proto/types/sentry/bootstraptemplatehosttype.enum.go diff --git a/components/common/proto/types/sentry/constants.go b/proto/types/sentry/constants.go similarity index 100% rename from components/common/proto/types/sentry/constants.go rename to proto/types/sentry/constants.go diff --git a/components/common/proto/types/sentry/group_permission.pb.go b/proto/types/sentry/group_permission.pb.go similarity index 90% rename from components/common/proto/types/sentry/group_permission.pb.go rename to proto/types/sentry/group_permission.pb.go index 6e56571..9c47d24 100644 --- a/components/common/proto/types/sentry/group_permission.pb.go +++ b/proto/types/sentry/group_permission.pb.go @@ -193,24 +193,22 @@ var file_proto_types_sentry_group_permission_proto_rawDesc = []byte{ 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x55, 0x52, 0x4c, 0x52, 0x04, 0x75, 0x72, 0x6c, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0xf8, + 0x09, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x42, 0xe6, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x14, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, - 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, - 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, - 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, - 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, - 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, - 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, - 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, + 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, 0x02, 0x16, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, + 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, + 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, + 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, + 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/sentry/group_permission.proto b/proto/types/sentry/group_permission.proto similarity index 100% rename from components/common/proto/types/sentry/group_permission.proto rename to proto/types/sentry/group_permission.proto diff --git a/components/common/proto/types/sentry/kubeconfig_setting.pb.go b/proto/types/sentry/kubeconfig_setting.pb.go similarity index 66% rename from components/common/proto/types/sentry/kubeconfig_setting.pb.go rename to proto/types/sentry/kubeconfig_setting.pb.go index 35c2e1a..9403542 100644 --- a/components/common/proto/types/sentry/kubeconfig_setting.pb.go +++ b/proto/types/sentry/kubeconfig_setting.pb.go @@ -7,7 +7,6 @@ package sentry import ( - _ "github.com/gogo/protobuf/gogoproto" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -284,32 +283,30 @@ var file_proto_types_sentry_kubeconfig_setting_proto_rawDesc = []byte{ 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, - 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xad, 0x02, 0x0a, - 0x14, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x76, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, - 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, - 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, - 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, - 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, - 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x3e, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x6f, 0x6b, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x04, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x09, 0x72, 0x65, - 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0x92, 0x41, 0x02, 0x40, 0x01, 0x90, 0xdf, 0x1f, - 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xb4, 0x05, 0x0a, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, + 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa3, 0x02, 0x0a, 0x14, 0x4b, 0x75, 0x62, 0x65, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x65, 0x76, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, + 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, + 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x49, 0x44, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, + 0x72, 0x12, 0x38, 0x0a, 0x09, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x52, 0x09, 0x72, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, 0x92, 0x41, 0x02, 0x40, + 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0xa8, 0x05, 0x0a, 0x11, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, @@ -322,54 +319,52 @@ var file_proto_types_sentry_kubeconfig_setting_proto_rawDesc = []byte{ 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x12, 0x52, 0x0f, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x69, 0x74, 0x79, 0x53, - 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x12, 0x3f, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0x92, 0x41, 0x02, 0x40, 0x01, 0x90, 0xdf, 0x1f, 0x01, - 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x45, 0x0a, 0x0a, 0x6d, - 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0x92, 0x41, 0x02, - 0x40, 0x01, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, - 0x41, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, - 0x70, 0x42, 0x09, 0x92, 0x41, 0x02, 0x40, 0x01, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x09, 0x64, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, - 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x73, 0x53, 0x53, 0x4f, - 0x55, 0x73, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x53, 0x53, - 0x4f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, - 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x18, 0x0c, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x40, 0x0a, 0x1b, 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, - 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, 0x65, 0x6e, 0x66, 0x6f, - 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, 0x65, - 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, - 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, - 0x62, 0x65, 0x63, 0x74, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, - 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x08, - 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, - 0x63, 0x74, 0x6c, 0x42, 0xfa, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x42, 0x16, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x53, 0x65, - 0x74, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, - 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, - 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x16, - 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, - 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, - 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xe2, - 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, - 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, - 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, 0x92, 0x41, 0x02, 0x40, 0x01, 0x52, 0x09, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x41, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, + 0x69, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, 0x92, 0x41, 0x02, 0x40, 0x01, 0x52, 0x0a, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x3f, 0x0a, 0x09, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, 0x92, 0x41, 0x02, 0x40, 0x01, + 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x2e, 0x0a, 0x12, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x53, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1c, 0x0a, 0x09, 0x69, + 0x73, 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, + 0x69, 0x73, 0x53, 0x53, 0x4f, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2e, 0x0a, 0x12, 0x65, 0x6e, 0x61, + 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x18, + 0x0c, 0x20, 0x01, 0x28, 0x08, 0x52, 0x12, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x50, 0x72, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x52, 0x65, 0x6c, 0x61, 0x79, 0x12, 0x40, 0x0a, 0x1b, 0x65, 0x6e, 0x66, + 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, 0x65, 0x63, 0x72, + 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x08, 0x52, 0x1b, + 0x65, 0x6e, 0x66, 0x6f, 0x72, 0x63, 0x65, 0x4f, 0x72, 0x67, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x53, + 0x65, 0x63, 0x72, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x64, + 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, + 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, + 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x0f, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, + 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x42, 0xe8, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x16, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x6f, 0x6e, 0x66, + 0x69, 0x67, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, + 0x5a, 0x36, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, + 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, + 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, + 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, + 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, + 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/sentry/kubeconfig_setting.proto b/proto/types/sentry/kubeconfig_setting.proto similarity index 82% rename from components/common/proto/types/sentry/kubeconfig_setting.proto rename to proto/types/sentry/kubeconfig_setting.proto index e2ff031..a94071b 100644 --- a/components/common/proto/types/sentry/kubeconfig_setting.proto +++ b/proto/types/sentry/kubeconfig_setting.proto @@ -1,7 +1,6 @@ syntax = "proto3"; package rafay.dev.types.sentry; -import "gogoproto/gogo.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "google/protobuf/timestamp.proto"; @@ -11,14 +10,11 @@ message KubeconfigRevocation { string partnerID = 3; string accountID = 4; bool isSSOUser = 5; - google.protobuf.Timestamp revokedAt = 6 [ - (gogoproto.stdtime) = true - ]; + google.protobuf.Timestamp revokedAt = 6; google.protobuf.Timestamp createdAt = 7 [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { read_only : true - }, - (gogoproto.stdtime) = true + } ]; } @@ -32,30 +28,22 @@ message KubeconfigSetting { google.protobuf.Timestamp createdAt = 7 [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { read_only : true - }, - (gogoproto.stdtime) = true + } ]; google.protobuf.Timestamp modifiedAt = 8 [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { read_only : true - }, - (gogoproto.stdtime) = true + } ]; google.protobuf.Timestamp deletedAt = 9 [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { read_only : true - }, - (gogoproto.stdtime) = true + } ]; bool enableSessionCheck = 10; - bool isSSOUser = 11; - bool enablePrivateRelay = 12; - bool enforceOrgAdminSecretAccess = 13; - bool disableWebKubectl = 14; - bool disableCLIKubectl = 15; } \ No newline at end of file diff --git a/components/common/proto/types/sentry/kubectl_cluster_setting.pb.go b/proto/types/sentry/kubectl_cluster_setting.pb.go similarity index 61% rename from components/common/proto/types/sentry/kubectl_cluster_setting.pb.go rename to proto/types/sentry/kubectl_cluster_setting.pb.go index 045c7c0..3f597e0 100644 --- a/components/common/proto/types/sentry/kubectl_cluster_setting.pb.go +++ b/proto/types/sentry/kubectl_cluster_setting.pb.go @@ -7,7 +7,6 @@ package sentry import ( - _ "github.com/gogo/protobuf/gogoproto" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -133,56 +132,53 @@ var file_proto_types_sentry_kubectl_cluster_setting_proto_rawDesc = []byte{ 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x6b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x5f, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x22, 0x9f, 0x03, 0x0a, 0x16, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, - 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, - 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, - 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, - 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, - 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, - 0x65, 0x63, 0x74, 0x6c, 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, - 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, - 0x74, 0x6c, 0x12, 0x45, 0x0a, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, - 0x6d, 0x70, 0x42, 0x09, 0x92, 0x41, 0x02, 0x40, 0x01, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x0a, 0x6d, - 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, 0x43, 0x0a, 0x09, 0x63, 0x72, 0x65, - 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0x92, 0x41, 0x02, 0x40, 0x01, 0x90, - 0xdf, 0x1f, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x43, - 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x09, 0x92, - 0x41, 0x02, 0x40, 0x01, 0x90, 0xdf, 0x1f, 0x01, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, - 0x64, 0x41, 0x74, 0x42, 0xfe, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, - 0x72, 0x79, 0x42, 0x1a, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, - 0x5a, 0x48, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, - 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, - 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, - 0x53, 0xaa, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0xe2, 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, - 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, + 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x93, 0x03, 0x0a, 0x16, + 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x53, 0x65, + 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x26, 0x0a, 0x0e, 0x6f, 0x72, + 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x44, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0e, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x44, 0x12, 0x1c, 0x0a, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, 0x18, + 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x49, 0x44, + 0x12, 0x2c, 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, + 0x62, 0x65, 0x63, 0x74, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, + 0x61, 0x62, 0x6c, 0x65, 0x57, 0x65, 0x62, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x12, 0x2c, + 0x0a, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, + 0x63, 0x74, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x11, 0x64, 0x69, 0x73, 0x61, 0x62, + 0x6c, 0x65, 0x43, 0x4c, 0x49, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x12, 0x41, 0x0a, 0x0a, + 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, 0x92, 0x41, + 0x02, 0x40, 0x01, 0x52, 0x0a, 0x6d, 0x6f, 0x64, 0x69, 0x66, 0x69, 0x65, 0x64, 0x41, 0x74, 0x12, + 0x3f, 0x0a, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x07, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x05, + 0x92, 0x41, 0x02, 0x40, 0x01, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, + 0x12, 0x3f, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, 0x74, 0x18, 0x08, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, + 0x05, 0x92, 0x41, 0x02, 0x40, 0x01, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x41, + 0x74, 0x42, 0xec, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x42, 0x1a, 0x4b, 0x75, 0x62, 0x65, 0x63, 0x74, 0x6c, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, + 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x16, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xe2, + 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, + 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/sentry/kubectl_cluster_setting.proto b/proto/types/sentry/kubectl_cluster_setting.proto similarity index 84% rename from components/common/proto/types/sentry/kubectl_cluster_setting.proto rename to proto/types/sentry/kubectl_cluster_setting.proto index c20b030..1ff4c85 100644 --- a/components/common/proto/types/sentry/kubectl_cluster_setting.proto +++ b/proto/types/sentry/kubectl_cluster_setting.proto @@ -1,7 +1,6 @@ syntax = "proto3"; package rafay.dev.types.sentry; -import "gogoproto/gogo.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "google/protobuf/timestamp.proto"; @@ -15,21 +14,18 @@ message KubectlClusterSettings { google.protobuf.Timestamp modifiedAt = 6 [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { read_only : true - }, - (gogoproto.stdtime) = true + } ]; google.protobuf.Timestamp createdAt = 7 [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { read_only : true - }, - (gogoproto.stdtime) = true + } ]; google.protobuf.Timestamp deletedAt = 8 [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { read_only : true - }, - (gogoproto.stdtime) = true + } ]; } diff --git a/components/common/proto/types/sentry/sentry.pb.go b/proto/types/sentry/sentry.pb.go similarity index 65% rename from components/common/proto/types/sentry/sentry.pb.go rename to proto/types/sentry/sentry.pb.go index 5a3967b..df13b15 100644 --- a/components/common/proto/types/sentry/sentry.pb.go +++ b/proto/types/sentry/sentry.pb.go @@ -7,9 +7,7 @@ package sentry import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/config" - _ "github.com/gogo/protobuf/gogoproto" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -1212,58 +1210,49 @@ var file_proto_types_sentry_sentry_proto_rawDesc = []byte{ 0x0a, 0x1f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2f, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x16, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x14, 0x67, 0x6f, 0x67, 0x6f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x67, 0x6f, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, - 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, - 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x22, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2f, 0x70, 0x6c, 0x61, 0x63, 0x65, - 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x99, 0x01, 0x0a, 0x12, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x28, 0x0a, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x10, 0xf2, 0xde, 0x1f, 0x0c, 0x70, 0x67, 0x3a, 0x22, 0x63, 0x61, 0x5f, 0x63, 0x65, - 0x72, 0x74, 0x22, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x25, 0x0a, 0x05, 0x63, - 0x61, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x0f, 0xf2, 0xde, 0x1f, 0x0b, - 0x70, 0x67, 0x3a, 0x22, 0x63, 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x22, 0x52, 0x05, 0x63, 0x61, 0x4b, - 0x65, 0x79, 0x12, 0x32, 0x0a, 0x09, 0x63, 0x61, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x73, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x14, 0xf2, 0xde, 0x1f, 0x10, 0x70, 0x67, 0x3a, 0x22, 0x63, - 0x61, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x61, 0x73, 0x73, 0x22, 0x52, 0x09, 0x63, 0x61, 0x4b, - 0x65, 0x79, 0x50, 0x61, 0x73, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc9, - 0x03, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, - 0x61, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0x92, 0x41, 0x2e, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, - 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x70, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x2f, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xc8, 0xde, - 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x48, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, - 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x4e, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, - 0x72, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, - 0x1f, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x12, 0x42, + 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, + 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x24, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x70, 0x62, + 0x2f, 0x76, 0x33, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0x60, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, + 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x61, 0x43, 0x65, 0x72, 0x74, 0x12, 0x14, + 0x0a, 0x05, 0x63, 0x61, 0x4b, 0x65, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x63, + 0x61, 0x4b, 0x65, 0x79, 0x12, 0x1c, 0x0a, 0x09, 0x63, 0x61, 0x4b, 0x65, 0x79, 0x50, 0x61, 0x73, + 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x63, 0x61, 0x4b, 0x65, 0x79, 0x50, 0x61, + 0x73, 0x73, 0x22, 0x16, 0x0a, 0x14, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, + 0x6e, 0x66, 0x72, 0x61, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xad, 0x03, 0x0a, 0x0e, 0x42, + 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x12, 0x64, 0x0a, + 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, + 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x31, 0x92, 0x41, 0x2e, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, + 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x3a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, + 0x72, 0x61, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x42, 0x27, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, + 0x73, 0x70, 0x65, 0x63, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, + 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x53, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x86, 0x03, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, @@ -1284,254 +1273,222 @@ var file_proto_types_sentry_sentry_proto_rawDesc = []byte{ 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x42, 0x04, 0xc8, 0xde, - 0x1f, 0x00, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x72, 0x0a, 0x15, 0x42, 0x6f, 0x6f, - 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x6f, - 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, - 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xca, 0x06, - 0x0a, 0x1a, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x2f, 0x0a, 0x08, - 0x69, 0x6e, 0x66, 0x72, 0x61, 0x52, 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x13, - 0xf2, 0xde, 0x1f, 0x0f, 0x62, 0x75, 0x6e, 0x3a, 0x22, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x5f, 0x72, - 0x65, 0x66, 0x22, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x52, 0x65, 0x66, 0x12, 0x4b, 0x0a, - 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x08, 0x42, 0x27, 0xea, 0xde, 0x1f, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x65, 0x72, 0xf2, 0xde, 0x1f, 0x13, 0x62, 0x75, 0x6e, 0x3a, 0x22, 0x61, 0x75, - 0x74, 0x6f, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, 0x52, 0x0c, 0x61, 0x75, - 0x74, 0x6f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x74, 0x0a, 0x16, 0x69, 0x67, - 0x6e, 0x6f, 0x72, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, - 0x73, 0x74, 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x42, 0x3c, 0xea, 0xde, 0x1f, 0x16, - 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0xf2, 0xde, 0x1f, 0x1e, 0x62, 0x75, 0x6e, 0x3a, 0x22, 0x69, - 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x5f, 0x6d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x5f, 0x72, - 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x22, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, - 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, - 0x12, 0x47, 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x08, 0x42, 0x25, 0xea, 0xde, 0x1f, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x41, - 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0xf2, 0xde, 0x1f, 0x12, 0x62, 0x75, 0x6e, 0x3a, 0x22, 0x61, - 0x75, 0x74, 0x6f, 0x5f, 0x61, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x22, 0x52, 0x0b, 0x61, 0x75, - 0x74, 0x6f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0c, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, - 0x32, 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x42, 0x30, 0xea, 0xde, 0x1f, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0xf2, 0xde, 0x1f, 0x1c, 0x62, 0x75, 0x6e, 0x3a, 0x22, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x2c, 0x75, 0x73, 0x65, - 0x5f, 0x7a, 0x65, 0x72, 0x6f, 0x22, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x54, 0x79, 0x70, 0x65, 0x12, 0x25, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x06, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x0f, 0xf2, 0xde, 0x1f, 0x0b, 0x62, 0x75, 0x6e, 0x3a, 0x22, 0x74, 0x6f, - 0x6b, 0x65, 0x6e, 0x22, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x5d, 0x0a, 0x05, 0x68, - 0x6f, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x42, 0x18, 0xf2, 0xde, 0x1f, 0x14, 0x62, - 0x75, 0x6e, 0x3a, 0x22, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, - 0x72, 0x6f, 0x22, 0x52, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x12, 0x68, 0x0a, 0x11, 0x69, 0x6e, - 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, - 0x08, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3a, 0xea, 0xde, 0x1f, 0x11, 0x69, 0x6e, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xf2, 0xde, 0x1f, 0x21, - 0x62, 0x75, 0x6e, 0x3a, 0x22, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x74, - 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, 0x65, 0x72, 0x6f, - 0x22, 0x52, 0x11, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x12, 0x74, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x40, 0xea, 0xde, 0x1f, 0x14, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x43, 0x6c, 0x75, - 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0xf2, 0xde, 0x1f, 0x24, - 0x62, 0x75, 0x6e, 0x3a, 0x22, 0x6f, 0x75, 0x74, 0x6f, 0x66, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x65, - 0x72, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x2c, 0x75, 0x73, 0x65, 0x5f, 0x7a, - 0x65, 0x72, 0x6f, 0x22, 0x52, 0x14, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x43, 0x6c, 0x75, 0x73, 0x74, - 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, - 0x6c, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xe9, 0x03, 0x0a, 0x16, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, 0x2a, 0x0b, - 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, - 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, - 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, - 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x04, 0x6b, - 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0x92, 0x41, 0x36, 0x2a, 0x04, - 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x16, 0x42, 0x6f, 0x6f, 0x74, - 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x70, 0x0a, 0x08, 0x6d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x42, 0x2f, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, - 0x1f, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x50, 0x0a, 0x04, - 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, - 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x56, - 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x52, 0x05, 0x69, 0x74, + 0x65, 0x6d, 0x73, 0x22, 0x72, 0x0a, 0x15, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x68, 0x6f, 0x73, 0x74, + 0x12, 0x45, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x31, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x06, - 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa4, 0x03, 0x0a, 0x1a, 0x42, 0x6f, 0x6f, 0x74, 0x73, - 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, - 0x65, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x2a, 0x0b, - 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, - 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, + 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, + 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0xcb, 0x03, 0x0a, 0x1a, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x53, 0x70, 0x65, 0x63, 0x12, 0x1a, 0x0a, 0x08, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x52, + 0x65, 0x66, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x52, + 0x65, 0x66, 0x12, 0x22, 0x0a, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, + 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0c, 0x61, 0x75, 0x74, 0x6f, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x36, 0x0a, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, + 0x4d, 0x75, 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x16, 0x69, 0x67, 0x6e, 0x6f, 0x72, 0x65, 0x4d, 0x75, + 0x6c, 0x74, 0x69, 0x70, 0x6c, 0x65, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x12, 0x20, + 0x0a, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x61, 0x75, 0x74, 0x6f, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, + 0x12, 0x56, 0x0a, 0x0c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x32, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, + 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, + 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0c, 0x74, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x43, + 0x0a, 0x05, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2d, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x05, 0x68, 0x6f, + 0x73, 0x74, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, + 0x69, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, + 0x65, 0x12, 0x32, 0x0a, 0x14, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x14, 0x6f, 0x75, 0x74, 0x4f, 0x66, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x54, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x22, 0x1e, 0x0a, 0x1c, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xcd, 0x03, 0x0a, 0x16, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, + 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, + 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4d, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x39, 0x92, 0x41, 0x36, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, + 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x16, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x40, 0x01, 0x52, + 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, + 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, 0x92, 0x41, + 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, + 0x46, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, + 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x70, 0x65, + 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x4c, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, + 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x06, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9e, 0x03, 0x0a, 0x1a, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, + 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x4c, 0x69, 0x73, 0x74, 0x12, 0x69, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x2a, 0x0b, 0x41, + 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, + 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, + 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, + 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x56, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x42, 0x92, + 0x41, 0x3f, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, + 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x3a, 0x1a, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, 0x40, + 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x44, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, + 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, + 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x96, 0x01, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, + 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, + 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, + 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 0x52, 0x65, 0x66, 0x12, 0x48, 0x0a, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x6f, + 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, + 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, + 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x22, + 0xe5, 0x01, 0x0a, 0x14, 0x42, 0x6f, 0x6f, 0x74, 0x53, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, + 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x4b, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, + 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, + 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, + 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, + 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, + 0x65, 0x64, 0x49, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, + 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6c, 0x61, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, + 0x72, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, + 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xad, 0x03, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, + 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, + 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x12, 0x56, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x42, - 0x92, 0x41, 0x3f, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, - 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x3a, 0x1a, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, - 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x4c, 0x69, 0x73, 0x74, - 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x4a, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x2e, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x42, 0x04, 0xc8, 0xde, 0x1f, 0x00, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x22, 0x96, 0x01, - 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x53, 0x70, 0x65, 0x63, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x20, 0x0a, 0x0b, 0x74, 0x65, - 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x52, 0x65, 0x66, 0x12, 0x48, 0x0a, 0x09, - 0x61, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, + 0x12, 0x45, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, + 0x92, 0x41, 0x2e, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, + 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, + 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x40, + 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x68, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, + 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, + 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x27, + 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x12, 0x3e, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, - 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x52, 0x09, 0x61, 0x67, 0x65, - 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x22, 0xe5, 0x01, 0x0a, 0x14, 0x42, 0x6f, 0x6f, 0x74, 0x53, - 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, - 0x4b, 0x0a, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0e, 0x32, 0x2b, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, - 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, - 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x69, 0x70, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x40, 0x0a, 0x0d, 0x6c, 0x61, - 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x6c, - 0x61, 0x73, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x65, 0x64, 0x49, 0x6e, 0x12, 0x20, 0x0a, 0x0b, - 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x67, 0x65, 0x72, 0x70, 0x72, 0x69, 0x6e, 0x74, 0x22, 0xc9, - 0x03, 0x0a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, - 0x74, 0x12, 0x64, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x44, 0x92, 0x41, 0x41, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x1b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, 0x73, 0x6d, - 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, 0x70, 0x69, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x45, 0x0a, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x31, 0x92, 0x41, 0x2e, 0x2a, 0x04, 0x4b, 0x69, 0x6e, 0x64, - 0x32, 0x14, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x0e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x70, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x23, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x2f, 0x92, 0x41, 0x24, 0x2a, 0x08, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x32, 0x18, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, - 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0xc8, 0xde, - 0x1f, 0x00, 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0x12, 0x48, 0x0a, 0x04, 0x73, 0x70, 0x65, 0x63, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, - 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, - 0xd0, 0xde, 0x1f, 0x01, 0x52, 0x04, 0x73, 0x70, 0x65, 0x63, 0x12, 0x4e, 0x0a, 0x06, 0x73, 0x74, - 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, - 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, - 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x53, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x42, 0x08, 0xc8, 0xde, 0x1f, 0x00, 0xd0, 0xde, - 0x1f, 0x01, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x8c, 0x03, 0x0a, 0x12, 0x42, + 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x04, 0x73, 0x70, 0x65, + 0x63, 0x12, 0x44, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x2c, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x53, + 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, + 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x86, 0x03, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, + 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x12, 0x69, + 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x2e, 0x6b, 0x38, + 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, 0x52, 0x0a, 0x61, + 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x04, 0x6b, 0x69, 0x6e, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, 0x04, 0x4b, 0x69, + 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4c, 0x69, 0x73, - 0x74, 0x12, 0x69, 0x0a, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x49, 0x92, 0x41, 0x46, 0x2a, 0x0b, 0x41, 0x50, 0x49, 0x20, - 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x32, 0x20, 0x41, 0x50, 0x49, 0x20, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3a, 0x13, 0x69, 0x6e, 0x66, 0x72, 0x61, - 0x2e, 0x6b, 0x38, 0x73, 0x6d, 0x67, 0x6d, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x76, 0x33, 0x40, 0x01, - 0x52, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x04, - 0x6b, 0x69, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x3a, 0x92, 0x41, 0x37, 0x2a, - 0x04, 0x4b, 0x69, 0x6e, 0x64, 0x32, 0x19, 0x4b, 0x69, 0x6e, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x3a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, - 0x4c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, - 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, - 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, - 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, - 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x42, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, - 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x42, 0x04, 0xc8, 0xde, - 0x1f, 0x00, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x2a, 0x35, 0x0a, 0x12, 0x42, 0x6f, 0x6f, - 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, - 0x19, 0x0a, 0x15, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, - 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x10, 0x00, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, - 0x2a, 0x51, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x61, 0x66, 0x61, 0x79, 0x43, - 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, 0x65, - 0x6c, 0x61, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x50, 0x69, - 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x10, 0x02, 0x1a, 0x04, 0x88, - 0xa3, 0x1e, 0x00, 0x2a, 0x3b, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, - 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x6e, 0x43, - 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x4f, - 0x66, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, 0x72, 0x10, 0x01, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, - 0x2a, 0x59, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, - 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, 0x4e, 0x6f, 0x74, 0x53, 0x65, - 0x74, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x52, 0x65, 0x67, 0x69, 0x73, 0x74, - 0x65, 0x72, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, 0x6f, 0x74, 0x41, 0x70, 0x70, - 0x72, 0x6f, 0x76, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, 0x41, 0x70, 0x70, 0x72, 0x6f, - 0x76, 0x65, 0x64, 0x10, 0x03, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x5d, 0x0a, 0x1a, 0x42, - 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, - 0x00, 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x0a, 0x0a, - 0x06, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x69, 0x78, - 0x65, 0x64, 0x10, 0x03, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x2a, 0x61, 0x0a, 0x19, 0x42, 0x6f, - 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, - 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x6f, 0x73, 0x74, 0x54, - 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x48, - 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x10, - 0x01, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x10, 0x02, 0x1a, 0x04, 0x88, 0xa3, 0x1e, 0x00, 0x42, 0xef, 0x01, - 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x0b, 0x53, 0x65, - 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x48, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, - 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x16, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, - 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xe2, 0x02, - 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, - 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x62, - 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x40, 0x01, 0x52, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0x12, 0x77, 0x0a, 0x08, 0x6d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x72, 0x61, + 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x2e, 0x76, 0x33, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x42, 0x32, 0x92, 0x41, 0x2f, 0x2a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x32, 0x1d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, + 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x40, 0x01, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x3c, 0x0a, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x2e, 0x42, 0x6f, 0x6f, 0x74, 0x73, + 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, + 0x2a, 0x2f, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, + 0x72, 0x61, 0x54, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x15, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x49, 0x6e, 0x66, 0x72, 0x61, 0x10, + 0x00, 0x2a, 0x4b, 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, + 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x12, 0x0a, 0x0e, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x43, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x10, 0x00, 0x12, 0x0e, 0x0a, 0x0a, 0x52, + 0x65, 0x6c, 0x61, 0x79, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x11, 0x0a, 0x0d, 0x50, + 0x69, 0x70, 0x65, 0x6c, 0x69, 0x6e, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x10, 0x02, 0x2a, 0x35, + 0x0a, 0x12, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, + 0x4d, 0x6f, 0x64, 0x65, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x6e, 0x43, 0x6c, 0x75, 0x73, 0x74, 0x65, + 0x72, 0x10, 0x00, 0x12, 0x10, 0x0a, 0x0c, 0x4f, 0x75, 0x74, 0x4f, 0x66, 0x43, 0x6c, 0x75, 0x73, + 0x74, 0x65, 0x72, 0x10, 0x01, 0x2a, 0x53, 0x0a, 0x13, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, + 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53, 0x74, 0x61, 0x74, 0x65, 0x12, 0x0a, 0x0a, 0x06, + 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x74, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x10, 0x01, 0x12, 0x0f, 0x0a, 0x0b, 0x4e, + 0x6f, 0x74, 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x10, 0x02, 0x12, 0x0c, 0x0a, 0x08, + 0x41, 0x70, 0x70, 0x72, 0x6f, 0x76, 0x65, 0x64, 0x10, 0x03, 0x2a, 0x57, 0x0a, 0x1a, 0x42, 0x6f, + 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x12, 0x54, 0x65, 0x6d, 0x70, + 0x6c, 0x61, 0x74, 0x65, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, 0x65, 0x74, 0x10, 0x00, + 0x12, 0x0a, 0x0a, 0x06, 0x43, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, + 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x10, 0x02, 0x12, 0x09, 0x0a, 0x05, 0x4d, 0x69, 0x78, 0x65, + 0x64, 0x10, 0x03, 0x2a, 0x5b, 0x0a, 0x19, 0x42, 0x6f, 0x6f, 0x74, 0x73, 0x74, 0x72, 0x61, 0x70, + 0x54, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x12, 0x12, 0x0a, 0x0e, 0x48, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x4e, 0x6f, 0x74, 0x53, + 0x65, 0x74, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x6f, 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, + 0x49, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x10, 0x01, 0x12, 0x14, 0x0a, 0x10, 0x48, 0x6f, + 0x73, 0x74, 0x54, 0x79, 0x70, 0x65, 0x45, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x10, 0x02, + 0x42, 0xdd, 0x01, 0x0a, 0x1a, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x42, + 0x0b, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x36, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, + 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, + 0x73, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x16, + 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, + 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xca, 0x02, 0x16, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0xe2, + 0x02, 0x22, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x5c, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, + 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x65, 0x6e, 0x74, 0x72, 0x79, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/sentry/sentry.proto b/proto/types/sentry/sentry.proto similarity index 68% rename from components/common/proto/types/sentry/sentry.proto rename to proto/types/sentry/sentry.proto index 732b0e3..eb6ac34 100644 --- a/components/common/proto/types/sentry/sentry.proto +++ b/proto/types/sentry/sentry.proto @@ -1,40 +1,26 @@ syntax = "proto3"; package rafay.dev.types.sentry; -import "gogoproto/gogo.proto"; import "google/protobuf/timestamp.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; import "proto/types/commonpb/v3/common.proto"; -import "proto/types/config/placement.proto"; enum BootstrapInfraType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; ClusterBootstrapInfra = 0; } enum BootstrapAgentType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - RafayConnector = 0; RelayAgent = 1; - PipelineAgent = 2; } enum BootstrapAgentMode { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - InCluster = 0; OutOfCluster = 1; } enum BootstrapAgentState { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - NotSet = 0; NotRegistered = 1; NotApproved = 2; @@ -42,9 +28,9 @@ enum BootstrapAgentState { } message BootstrapInfraSpec { - string caCert = 1 [ (gogoproto.moretags) = "pg:\"ca_cert\"" ]; - string caKey = 2 [ (gogoproto.moretags) = "pg:\"ca_key\"" ]; - string caKeyPass = 3 [ (gogoproto.moretags) = "pg:\"ca_key_pass\"" ]; + string caCert = 1; + string caKey = 2; + string caKeyPass = 3; } message BootstrapInfraStatus {} @@ -68,12 +54,9 @@ message BootstrapInfra { [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { title : "Metadata", description : "Metadata of the resource" - }, - (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - BootstrapInfraSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - BootstrapInfraStatus status = 5 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + }]; + BootstrapInfraSpec spec = 4; + BootstrapInfraStatus status = 5; } message BootstrapInfraList { @@ -97,13 +80,10 @@ message BootstrapInfraList { description : "Metadata of the list resource" read_only : true } ]; - repeated BootstrapInfra items = 4 [ (gogoproto.nullable) = false ]; + repeated BootstrapInfra items = 4; } enum BootstrapAgentTemplateType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; - TemplateTypeNotSet = 0; Client = 1; Server = 2; @@ -111,8 +91,6 @@ enum BootstrapAgentTemplateType { } enum BootstrapTemplateHostType { - // disable enum prefix - option (gogoproto.goproto_enum_prefix) = false; HostTypeNotSet = 0; HostTypeInternal = 1; HostTypeExternal = 2; @@ -124,33 +102,15 @@ message BootstrapTemplateHost { } message BootstrapAgentTemplateSpec { - string infraRef = 1 [ (gogoproto.moretags) = "bun:\"infra_ref\"" ]; - bool autoRegister = 2 [ - (gogoproto.moretags) = "bun:\"auto_register\"", - (gogoproto.jsontag) = "autoRegister" - ]; - bool ignoreMultipleRegister = 3 [ - (gogoproto.moretags) = "bun:\"ignore_multiple_register\"", - (gogoproto.jsontag) = "ignoreMultipleRegister" - ]; - bool autoApprove = 4 [ - (gogoproto.moretags) = "bun:\"auto_approve\"", - (gogoproto.jsontag) = "autoApprove" - ]; - BootstrapAgentTemplateType templateType = 5 [ - (gogoproto.moretags) = "bun:\"template_type,use_zero\"", - (gogoproto.jsontag) = "templateType" - ]; - string token = 6 [ (gogoproto.moretags) = "bun:\"token\"" ]; - repeated BootstrapTemplateHost hosts = 7 [ (gogoproto.moretags) = "bun:\"hosts,use_zero\"" ]; - string inClusterTemplate = 8 [ - (gogoproto.moretags) = "bun:\"incluster_template,use_zero\"", - (gogoproto.jsontag) = "inClusterTemplate" - ]; - string outOfClusterTemplate = 9 [ - (gogoproto.moretags) = "bun:\"outofcluster_template,use_zero\"", - (gogoproto.jsontag) = "outOfClusterTemplate" - ]; + string infraRef = 1; + bool autoRegister = 2; + bool ignoreMultipleRegister = 3; + bool autoApprove = 4; + BootstrapAgentTemplateType templateType = 5; + string token = 6; + repeated BootstrapTemplateHost hosts = 7; + string inClusterTemplate = 8; + string outOfClusterTemplate = 9; } message BootstrapAgentTemplateStatus {} @@ -174,12 +134,9 @@ message BootstrapAgentTemplate { [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { title : "Metadata", description : "Metadata of the resource" - }, - (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - BootstrapAgentTemplateSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - BootstrapAgentTemplateStatus status = 5 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + }]; + BootstrapAgentTemplateSpec spec = 4; + BootstrapAgentTemplateStatus status = 5; } message BootstrapAgentTemplateList { @@ -203,7 +160,7 @@ message BootstrapAgentTemplateList { description : "Metadata of the list resource" read_only : true } ]; - repeated BootstrapAgentTemplate items = 4 [ (gogoproto.nullable) = false ]; + repeated BootstrapAgentTemplate items = 4; } message BootstrapAgentSpec { @@ -238,12 +195,9 @@ message BootstrapAgent { [ (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { title : "Metadata", description : "Metadata of the resource" - }, - (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - BootstrapAgentSpec spec = 4 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; - BootStrapAgentStatus status = 5 - [ (gogoproto.nullable) = false, (gogoproto.embed) = true ]; + }]; + BootstrapAgentSpec spec = 4; + BootStrapAgentStatus status = 5; } // BootstrapAgentList is a list of bootstrap agents @@ -268,5 +222,5 @@ message BootstrapAgentList { description : "Metadata of the list resource" read_only : true } ]; - repeated BootstrapAgent items = 4 [ (gogoproto.nullable) = false ]; + repeated BootstrapAgent items = 4; } \ No newline at end of file diff --git a/components/common/proto/types/systempb/v3/idp.pb.go b/proto/types/systempb/v3/idp.pb.go similarity index 94% rename from components/common/proto/types/systempb/v3/idp.pb.go rename to proto/types/systempb/v3/idp.pb.go index 402d138..e22dc82 100644 --- a/components/common/proto/types/systempb/v3/idp.pb.go +++ b/proto/types/systempb/v3/idp.pb.go @@ -7,7 +7,7 @@ package systemv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -414,25 +414,23 @@ var file_proto_types_systempb_v3_idp_proto_rawDesc = []byte{ 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x64, 0x70, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x1a, 0x92, 0x41, 0x17, 0x0a, 0x15, 0x2a, 0x07, 0x49, 0x64, 0x70, 0x4c, 0x69, 0x73, 0x74, - 0x32, 0x08, 0x69, 0x64, 0x70, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0x8a, 0x02, 0x0a, + 0x32, 0x08, 0x69, 0x64, 0x70, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0xf8, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x08, - 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, + 0x49, 0x64, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, - 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, - 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, - 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, - 0x33, 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, - 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, - 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, - 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x76, 0x33, + 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x2e, 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, + 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0xe2, + 0x02, 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, + 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, + 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, + 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/systempb/v3/idp.proto b/proto/types/systempb/v3/idp.proto similarity index 100% rename from components/common/proto/types/systempb/v3/idp.proto rename to proto/types/systempb/v3/idp.proto diff --git a/components/common/proto/types/systempb/v3/oidc_provider.pb.go b/proto/types/systempb/v3/oidc_provider.pb.go similarity index 94% rename from components/common/proto/types/systempb/v3/oidc_provider.pb.go rename to proto/types/systempb/v3/oidc_provider.pb.go index 4764723..de1ac1a 100644 --- a/components/common/proto/types/systempb/v3/oidc_provider.pb.go +++ b/proto/types/systempb/v3/oidc_provider.pb.go @@ -7,7 +7,7 @@ package systemv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -425,25 +425,24 @@ var file_proto_types_systempb_v3_oidc_provider_proto_rawDesc = []byte{ 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x2e, 0x92, 0x41, 0x2b, 0x0a, 0x29, 0x2a, 0x10, 0x4f, 0x49, 0x44, 0x43, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x13, 0x4f, 0x49, 0x44, 0x43, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, - 0x73, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0x93, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, + 0x73, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0x81, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x4f, 0x69, 0x64, 0x63, 0x50, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, - 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, + 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, - 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, - 0x65, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x73, - 0x79, 0x73, 0x74, 0x65, 0x6d, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, - 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, - 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, - 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, - 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, + 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, + 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x3a, 0x3a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/systempb/v3/oidc_provider.proto b/proto/types/systempb/v3/oidc_provider.proto similarity index 100% rename from components/common/proto/types/systempb/v3/oidc_provider.proto rename to proto/types/systempb/v3/oidc_provider.proto diff --git a/components/common/proto/types/systempb/v3/organization.pb.go b/proto/types/systempb/v3/organization.pb.go similarity index 96% rename from components/common/proto/types/systempb/v3/organization.pb.go rename to proto/types/systempb/v3/organization.pb.go index 5bb268c..aa716de 100644 --- a/components/common/proto/types/systempb/v3/organization.pb.go +++ b/proto/types/systempb/v3/organization.pb.go @@ -7,7 +7,7 @@ package systemv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -628,24 +628,23 @@ var file_proto_types_systempb_v3_organization_proto_rawDesc = []byte{ 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x23, 0x92, 0x41, 0x20, 0x2a, 0x05, 0x49, 0x74, 0x65, 0x6d, 0x73, 0x32, 0x15, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, - 0x42, 0x93, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, + 0x42, 0x81, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x11, 0x4f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, - 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, - 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x76, 0x33, 0xa2, - 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, - 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, - 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0xe2, 0x02, - 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, - 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, - 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x79, 0x73, 0x74, - 0x65, 0x6d, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x70, + 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x76, 0x33, 0xa2, 0x02, 0x04, + 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, + 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x56, 0x33, + 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, + 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, + 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/systempb/v3/organization.proto b/proto/types/systempb/v3/organization.proto similarity index 100% rename from components/common/proto/types/systempb/v3/organization.proto rename to proto/types/systempb/v3/organization.proto diff --git a/components/common/proto/types/systempb/v3/partner.pb.go b/proto/types/systempb/v3/partner.pb.go similarity index 93% rename from components/common/proto/types/systempb/v3/partner.pb.go rename to proto/types/systempb/v3/partner.pb.go index 713fd32..f7f3855 100644 --- a/components/common/proto/types/systempb/v3/partner.pb.go +++ b/proto/types/systempb/v3/partner.pb.go @@ -7,7 +7,7 @@ package systemv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -347,24 +347,23 @@ var file_proto_types_systempb_v3_partner_proto_rawDesc = []byte{ 0x07, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0x32, 0x07, 0x50, 0x61, 0x72, 0x74, 0x6e, 0x65, 0x72, 0xd2, 0x01, 0x0a, 0x61, 0x70, 0x69, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0xd2, 0x01, 0x04, 0x6b, 0x69, 0x6e, 0x64, 0xd2, 0x01, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, - 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, 0x63, 0x42, 0x8e, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, + 0xd2, 0x01, 0x04, 0x73, 0x70, 0x65, 0x63, 0x42, 0xfc, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x50, 0x61, 0x72, 0x74, 0x6e, - 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, - 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x76, - 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, - 0x6d, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, - 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, - 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, - 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x79, - 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x76, 0x33, 0xa2, + 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, + 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, + 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0xe2, 0x02, + 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, + 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, + 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x79, 0x73, 0x74, + 0x65, 0x6d, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/systempb/v3/partner.proto b/proto/types/systempb/v3/partner.proto similarity index 100% rename from components/common/proto/types/systempb/v3/partner.proto rename to proto/types/systempb/v3/partner.proto diff --git a/components/common/proto/types/systempb/v3/project.pb.go b/proto/types/systempb/v3/project.pb.go similarity index 92% rename from components/common/proto/types/systempb/v3/project.pb.go rename to proto/types/systempb/v3/project.pb.go index 4d29d23..3ec4f09 100644 --- a/components/common/proto/types/systempb/v3/project.pb.go +++ b/proto/types/systempb/v3/project.pb.go @@ -7,7 +7,7 @@ package systemv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" @@ -307,24 +307,23 @@ var file_proto_types_systempb_v3_project_proto_rawDesc = []byte{ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x20, 0x92, 0x41, 0x1d, 0x0a, 0x1b, 0x2a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x6c, 0x69, 0x73, - 0x74, 0x42, 0x8e, 0x02, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, + 0x74, 0x42, 0xfc, 0x01, 0x0a, 0x1d, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x76, 0x33, 0x42, 0x0c, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x56, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x50, 0x01, 0x5a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x70, 0x62, 0x2f, - 0x76, 0x33, 0x3b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, - 0x54, 0x53, 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x56, 0x33, 0xca, 0x02, - 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, - 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, - 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, - 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x3a, - 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2f, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x70, 0x62, 0x2f, 0x76, 0x33, + 0x3b, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x53, + 0xaa, 0x02, 0x19, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x2e, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x19, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x25, 0x52, 0x61, 0x66, 0x61, 0x79, + 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x53, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x1d, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x3a, 0x3a, 0x56, 0x33, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/systempb/v3/project.proto b/proto/types/systempb/v3/project.proto similarity index 100% rename from components/common/proto/types/systempb/v3/project.proto rename to proto/types/systempb/v3/project.proto diff --git a/components/common/proto/types/userpb/v3/group.pb.go b/proto/types/userpb/v3/group.pb.go similarity index 94% rename from components/common/proto/types/userpb/v3/group.pb.go rename to proto/types/userpb/v3/group.pb.go index 89fe1e8..9f40398 100644 --- a/components/common/proto/types/userpb/v3/group.pb.go +++ b/proto/types/userpb/v3/group.pb.go @@ -7,8 +7,8 @@ package userv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + _ "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -414,23 +414,22 @@ var file_proto_types_userpb_v3_group_proto_rawDesc = []byte{ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x1e, 0x92, 0x41, 0x1b, 0x0a, 0x19, 0x2a, 0x09, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, - 0xfe, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, + 0xec, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, - 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, + 0x0a, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, - 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x75, 0x73, 0x65, 0x72, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x76, - 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x55, 0xaa, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, - 0x56, 0x33, 0xca, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x23, 0x52, - 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x55, - 0x73, 0x65, 0x72, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0xea, 0x02, 0x1b, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, - 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x55, 0x73, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x33, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x75, + 0x73, 0x65, 0x72, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x75, 0x73, 0x65, 0x72, 0x76, 0x33, 0xa2, + 0x02, 0x04, 0x52, 0x44, 0x54, 0x55, 0xaa, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, + 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x56, 0x33, + 0xca, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c, 0x56, 0x33, 0xe2, 0x02, 0x23, 0x52, 0x61, 0x66, + 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x55, 0x73, 0x65, + 0x72, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0xea, 0x02, 0x1b, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, + 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x55, 0x73, 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/userpb/v3/group.proto b/proto/types/userpb/v3/group.proto similarity index 100% rename from components/common/proto/types/userpb/v3/group.proto rename to proto/types/userpb/v3/group.proto diff --git a/components/common/proto/types/userpb/v3/user.pb.go b/proto/types/userpb/v3/user.pb.go similarity index 94% rename from components/common/proto/types/userpb/v3/user.pb.go rename to proto/types/userpb/v3/user.pb.go index 81d739c..8868050 100644 --- a/components/common/proto/types/userpb/v3/user.pb.go +++ b/proto/types/userpb/v3/user.pb.go @@ -7,8 +7,8 @@ package userv3 import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - _ "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + _ "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -406,23 +406,22 @@ var file_proto_types_userpb_v3_user_proto_rawDesc = []byte{ 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x40, 0x01, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x3a, 0x1c, 0x92, 0x41, 0x19, 0x0a, 0x17, 0x2a, 0x08, 0x55, 0x73, 0x65, 0x72, 0x4c, 0x69, 0x73, 0x74, 0x32, 0x09, 0x55, 0x73, 0x65, 0x72, 0x20, - 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0xfd, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x72, + 0x6c, 0x69, 0x73, 0x74, 0x40, 0x01, 0x42, 0xeb, 0x01, 0x0a, 0x1b, 0x63, 0x6f, 0x6d, 0x2e, 0x72, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x64, 0x65, 0x76, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x2e, 0x76, 0x33, 0x42, 0x09, 0x55, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, - 0x6f, 0x50, 0x01, 0x5a, 0x52, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x6f, 0x50, 0x01, 0x5a, 0x40, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x52, 0x61, 0x66, 0x61, 0x79, 0x53, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x73, 0x2f, 0x72, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, - 0x6e, 0x74, 0x73, 0x2f, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x70, 0x62, 0x2f, 0x76, 0x33, - 0x3b, 0x75, 0x73, 0x65, 0x72, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x55, 0xaa, 0x02, - 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, - 0x2e, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c, - 0x56, 0x33, 0xe2, 0x02, 0x23, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, - 0x79, 0x70, 0x65, 0x73, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, - 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x52, 0x61, 0x66, 0x61, 0x79, - 0x3a, 0x3a, 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x55, 0x73, - 0x65, 0x72, 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x75, 0x64, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x70, 0x62, 0x2f, 0x76, 0x33, 0x3b, 0x75, + 0x73, 0x65, 0x72, 0x76, 0x33, 0xa2, 0x02, 0x04, 0x52, 0x44, 0x54, 0x55, 0xaa, 0x02, 0x17, 0x52, + 0x61, 0x66, 0x61, 0x79, 0x2e, 0x44, 0x65, 0x76, 0x2e, 0x54, 0x79, 0x70, 0x65, 0x73, 0x2e, 0x55, + 0x73, 0x65, 0x72, 0x2e, 0x56, 0x33, 0xca, 0x02, 0x17, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, + 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, 0x65, 0x73, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c, 0x56, 0x33, + 0xe2, 0x02, 0x23, 0x52, 0x61, 0x66, 0x61, 0x79, 0x5c, 0x44, 0x65, 0x76, 0x5c, 0x54, 0x79, 0x70, + 0x65, 0x73, 0x5c, 0x55, 0x73, 0x65, 0x72, 0x5c, 0x56, 0x33, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x1b, 0x52, 0x61, 0x66, 0x61, 0x79, 0x3a, 0x3a, + 0x44, 0x65, 0x76, 0x3a, 0x3a, 0x54, 0x79, 0x70, 0x65, 0x73, 0x3a, 0x3a, 0x55, 0x73, 0x65, 0x72, + 0x3a, 0x3a, 0x56, 0x33, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/components/common/proto/types/userpb/v3/user.proto b/proto/types/userpb/v3/user.proto similarity index 100% rename from components/common/proto/types/userpb/v3/user.proto rename to proto/types/userpb/v3/user.proto diff --git a/components/usermgmt/scripts/resourcepermissions/createresources.go b/scripts/resourcepermissions/createresources.go similarity index 87% rename from components/usermgmt/scripts/resourcepermissions/createresources.go rename to scripts/resourcepermissions/createresources.go index bb83c9f..6ec071f 100644 --- a/components/usermgmt/scripts/resourcepermissions/createresources.go +++ b/scripts/resourcepermissions/createresources.go @@ -9,8 +9,8 @@ import ( "log" "path" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" "github.com/uptrace/bun" "github.com/uptrace/bun/dialect/pgdialect" "github.com/uptrace/bun/driver/pgdriver" @@ -58,7 +58,7 @@ func main() { } err = addResourcePermissions(dao, path.Join("scripts", "resourcepermissions", "data")) if err != nil { - fmt.Println("Run from components/usermgmt directory") + fmt.Println("Run from base directory") log.Fatal(err) } } diff --git a/components/usermgmt/scripts/resourcepermissions/data/account_read.json b/scripts/resourcepermissions/data/account_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/account_read.json rename to scripts/resourcepermissions/data/account_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/accountrole_read.json b/scripts/resourcepermissions/data/accountrole_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/accountrole_read.json rename to scripts/resourcepermissions/data/accountrole_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/accountrole_write.json b/scripts/resourcepermissions/data/accountrole_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/accountrole_write.json rename to scripts/resourcepermissions/data/accountrole_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/audit_read.json b/scripts/resourcepermissions/data/audit_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/audit_read.json rename to scripts/resourcepermissions/data/audit_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/certificate_read.json b/scripts/resourcepermissions/data/certificate_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/certificate_read.json rename to scripts/resourcepermissions/data/certificate_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/certificate_write.json b/scripts/resourcepermissions/data/certificate_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/certificate_write.json rename to scripts/resourcepermissions/data/certificate_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/cluster_scheduler_read.json b/scripts/resourcepermissions/data/cluster_scheduler_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/cluster_scheduler_read.json rename to scripts/resourcepermissions/data/cluster_scheduler_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/cluster_scheduler_write.json b/scripts/resourcepermissions/data/cluster_scheduler_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/cluster_scheduler_write.json rename to scripts/resourcepermissions/data/cluster_scheduler_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/clusterctl_read.json b/scripts/resourcepermissions/data/clusterctl_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/clusterctl_read.json rename to scripts/resourcepermissions/data/clusterctl_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/clusterctl_write.json b/scripts/resourcepermissions/data/clusterctl_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/clusterctl_write.json rename to scripts/resourcepermissions/data/clusterctl_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/console_all.json b/scripts/resourcepermissions/data/console_all.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/console_all.json rename to scripts/resourcepermissions/data/console_all.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/credential_read.json b/scripts/resourcepermissions/data/credential_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/credential_read.json rename to scripts/resourcepermissions/data/credential_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/credential_write.json b/scripts/resourcepermissions/data/credential_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/credential_write.json rename to scripts/resourcepermissions/data/credential_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/group_read.json b/scripts/resourcepermissions/data/group_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/group_read.json rename to scripts/resourcepermissions/data/group_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/group_write.json b/scripts/resourcepermissions/data/group_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/group_write.json rename to scripts/resourcepermissions/data/group_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_agent_read.json b/scripts/resourcepermissions/data/hub_agent_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_agent_read.json rename to scripts/resourcepermissions/data/hub_agent_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_agent_write.json b/scripts/resourcepermissions/data/hub_agent_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_agent_write.json rename to scripts/resourcepermissions/data/hub_agent_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_cluster_read.json b/scripts/resourcepermissions/data/hub_cluster_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_cluster_read.json rename to scripts/resourcepermissions/data/hub_cluster_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_cluster_write.json b/scripts/resourcepermissions/data/hub_cluster_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_cluster_write.json rename to scripts/resourcepermissions/data/hub_cluster_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_infraprovisioner_read.json b/scripts/resourcepermissions/data/hub_infraprovisioner_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_infraprovisioner_read.json rename to scripts/resourcepermissions/data/hub_infraprovisioner_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_infraprovisioner_write.json b/scripts/resourcepermissions/data/hub_infraprovisioner_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_infraprovisioner_write.json rename to scripts/resourcepermissions/data/hub_infraprovisioner_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_namespace_read.json b/scripts/resourcepermissions/data/hub_namespace_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_namespace_read.json rename to scripts/resourcepermissions/data/hub_namespace_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_namespace_write.json b/scripts/resourcepermissions/data/hub_namespace_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_namespace_write.json rename to scripts/resourcepermissions/data/hub_namespace_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_openapi_explorer.read.json b/scripts/resourcepermissions/data/hub_openapi_explorer.read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_openapi_explorer.read.json rename to scripts/resourcepermissions/data/hub_openapi_explorer.read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_organization_read.json b/scripts/resourcepermissions/data/hub_organization_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_organization_read.json rename to scripts/resourcepermissions/data/hub_organization_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_organization_write.json b/scripts/resourcepermissions/data/hub_organization_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_organization_write.json rename to scripts/resourcepermissions/data/hub_organization_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_partner_read.json b/scripts/resourcepermissions/data/hub_partner_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_partner_read.json rename to scripts/resourcepermissions/data/hub_partner_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_partner_write.json b/scripts/resourcepermissions/data/hub_partner_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_partner_write.json rename to scripts/resourcepermissions/data/hub_partner_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_pipeline_read.json b/scripts/resourcepermissions/data/hub_pipeline_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_pipeline_read.json rename to scripts/resourcepermissions/data/hub_pipeline_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_pipeline_write.json b/scripts/resourcepermissions/data/hub_pipeline_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_pipeline_write.json rename to scripts/resourcepermissions/data/hub_pipeline_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_project_read.json b/scripts/resourcepermissions/data/hub_project_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_project_read.json rename to scripts/resourcepermissions/data/hub_project_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_project_write.json b/scripts/resourcepermissions/data/hub_project_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_project_write.json rename to scripts/resourcepermissions/data/hub_project_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_repository_read.json b/scripts/resourcepermissions/data/hub_repository_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_repository_read.json rename to scripts/resourcepermissions/data/hub_repository_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_repository_write.json b/scripts/resourcepermissions/data/hub_repository_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_repository_write.json rename to scripts/resourcepermissions/data/hub_repository_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_wellknown_read.json b/scripts/resourcepermissions/data/hub_wellknown_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_wellknown_read.json rename to scripts/resourcepermissions/data/hub_wellknown_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_workload_read.json b/scripts/resourcepermissions/data/hub_workload_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_workload_read.json rename to scripts/resourcepermissions/data/hub_workload_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_workload_write.json b/scripts/resourcepermissions/data/hub_workload_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_workload_write.json rename to scripts/resourcepermissions/data/hub_workload_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_workloadtemplate_read.json b/scripts/resourcepermissions/data/hub_workloadtemplate_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_workloadtemplate_read.json rename to scripts/resourcepermissions/data/hub_workloadtemplate_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/hub_workloadtemplate_write.json b/scripts/resourcepermissions/data/hub_workloadtemplate_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/hub_workloadtemplate_write.json rename to scripts/resourcepermissions/data/hub_workloadtemplate_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/idle_timeout_settings_read.json b/scripts/resourcepermissions/data/idle_timeout_settings_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/idle_timeout_settings_read.json rename to scripts/resourcepermissions/data/idle_timeout_settings_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/idle_timeout_settings_write.json b/scripts/resourcepermissions/data/idle_timeout_settings_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/idle_timeout_settings_write.json rename to scripts/resourcepermissions/data/idle_timeout_settings_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubeconfig_read.json b/scripts/resourcepermissions/data/kubeconfig_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubeconfig_read.json rename to scripts/resourcepermissions/data/kubeconfig_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubeconfig_write.json b/scripts/resourcepermissions/data/kubeconfig_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubeconfig_write.json rename to scripts/resourcepermissions/data/kubeconfig_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubectl_cluster_read.json b/scripts/resourcepermissions/data/kubectl_cluster_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubectl_cluster_read.json rename to scripts/resourcepermissions/data/kubectl_cluster_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubectl_cluster_write.json b/scripts/resourcepermissions/data/kubectl_cluster_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubectl_cluster_write.json rename to scripts/resourcepermissions/data/kubectl_cluster_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubectl_clustersettings_read.json b/scripts/resourcepermissions/data/kubectl_clustersettings_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubectl_clustersettings_read.json rename to scripts/resourcepermissions/data/kubectl_clustersettings_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubectl_clustersettings_write.json b/scripts/resourcepermissions/data/kubectl_clustersettings_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubectl_clustersettings_write.json rename to scripts/resourcepermissions/data/kubectl_clustersettings_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubectl_full_access.json b/scripts/resourcepermissions/data/kubectl_full_access.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubectl_full_access.json rename to scripts/resourcepermissions/data/kubectl_full_access.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubectl_namespace_read.json b/scripts/resourcepermissions/data/kubectl_namespace_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubectl_namespace_read.json rename to scripts/resourcepermissions/data/kubectl_namespace_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/kubectl_namespace_write.json b/scripts/resourcepermissions/data/kubectl_namespace_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/kubectl_namespace_write.json rename to scripts/resourcepermissions/data/kubectl_namespace_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/lockout_settings_read.json b/scripts/resourcepermissions/data/lockout_settings_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/lockout_settings_read.json rename to scripts/resourcepermissions/data/lockout_settings_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/lockout_settings_write.json b/scripts/resourcepermissions/data/lockout_settings_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/lockout_settings_write.json rename to scripts/resourcepermissions/data/lockout_settings_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/namespace_read.json b/scripts/resourcepermissions/data/namespace_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/namespace_read.json rename to scripts/resourcepermissions/data/namespace_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/namespace_write.json b/scripts/resourcepermissions/data/namespace_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/namespace_write.json rename to scripts/resourcepermissions/data/namespace_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/ops_star_all.json b/scripts/resourcepermissions/data/ops_star_all.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/ops_star_all.json rename to scripts/resourcepermissions/data/ops_star_all.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/org_alert_read.json b/scripts/resourcepermissions/data/org_alert_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/org_alert_read.json rename to scripts/resourcepermissions/data/org_alert_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/org_alertconfig_read.json b/scripts/resourcepermissions/data/org_alertconfig_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/org_alertconfig_read.json rename to scripts/resourcepermissions/data/org_alertconfig_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/org_alertconfig_write.json b/scripts/resourcepermissions/data/org_alertconfig_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/org_alertconfig_write.json rename to scripts/resourcepermissions/data/org_alertconfig_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/org_auditLog_read.json b/scripts/resourcepermissions/data/org_auditLog_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/org_auditLog_read.json rename to scripts/resourcepermissions/data/org_auditLog_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/org_relayAudit_read.json b/scripts/resourcepermissions/data/org_relayAudit_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/org_relayAudit_read.json rename to scripts/resourcepermissions/data/org_relayAudit_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/organization_read.json b/scripts/resourcepermissions/data/organization_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/organization_read.json rename to scripts/resourcepermissions/data/organization_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/organization_write.json b/scripts/resourcepermissions/data/organization_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/organization_write.json rename to scripts/resourcepermissions/data/organization_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/partner_alertconfig_read.json b/scripts/resourcepermissions/data/partner_alertconfig_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/partner_alertconfig_read.json rename to scripts/resourcepermissions/data/partner_alertconfig_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/partner_alertconfig_write.json b/scripts/resourcepermissions/data/partner_alertconfig_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/partner_alertconfig_write.json rename to scripts/resourcepermissions/data/partner_alertconfig_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/partner_read.json b/scripts/resourcepermissions/data/partner_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/partner_read.json rename to scripts/resourcepermissions/data/partner_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/partner_write.json b/scripts/resourcepermissions/data/partner_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/partner_write.json rename to scripts/resourcepermissions/data/partner_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/partnerdetalis_read.json b/scripts/resourcepermissions/data/partnerdetalis_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/partnerdetalis_read.json rename to scripts/resourcepermissions/data/partnerdetalis_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_activityjobs_read.json b/scripts/resourcepermissions/data/project_activityjobs_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_activityjobs_read.json rename to scripts/resourcepermissions/data/project_activityjobs_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_activityjobs_write.json b/scripts/resourcepermissions/data/project_activityjobs_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_activityjobs_write.json rename to scripts/resourcepermissions/data/project_activityjobs_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_activityplans_read.json b/scripts/resourcepermissions/data/project_activityplans_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_activityplans_read.json rename to scripts/resourcepermissions/data/project_activityplans_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_activityplans_write.json b/scripts/resourcepermissions/data/project_activityplans_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_activityplans_write.json rename to scripts/resourcepermissions/data/project_activityplans_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_admin_write.json b/scripts/resourcepermissions/data/project_admin_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_admin_write.json rename to scripts/resourcepermissions/data/project_admin_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_agent_read.json b/scripts/resourcepermissions/data/project_agent_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_agent_read.json rename to scripts/resourcepermissions/data/project_agent_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_agent_version_read.json b/scripts/resourcepermissions/data/project_agent_version_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_agent_version_read.json rename to scripts/resourcepermissions/data/project_agent_version_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_agent_write.json b/scripts/resourcepermissions/data/project_agent_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_agent_write.json rename to scripts/resourcepermissions/data/project_agent_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_aggregate_status_read.json b/scripts/resourcepermissions/data/project_aggregate_status_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_aggregate_status_read.json rename to scripts/resourcepermissions/data/project_aggregate_status_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_alert_read.json b/scripts/resourcepermissions/data/project_alert_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_alert_read.json rename to scripts/resourcepermissions/data/project_alert_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_alertconfig_read.json b/scripts/resourcepermissions/data/project_alertconfig_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_alertconfig_read.json rename to scripts/resourcepermissions/data/project_alertconfig_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_alertconfig_write.json b/scripts/resourcepermissions/data/project_alertconfig_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_alertconfig_write.json rename to scripts/resourcepermissions/data/project_alertconfig_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_approval_customer_read.json b/scripts/resourcepermissions/data/project_approval_customer_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_approval_customer_read.json rename to scripts/resourcepermissions/data/project_approval_customer_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_approval_customer_write.json b/scripts/resourcepermissions/data/project_approval_customer_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_approval_customer_write.json rename to scripts/resourcepermissions/data/project_approval_customer_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_approval_read.json b/scripts/resourcepermissions/data/project_approval_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_approval_read.json rename to scripts/resourcepermissions/data/project_approval_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_approval_write.json b/scripts/resourcepermissions/data/project_approval_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_approval_write.json rename to scripts/resourcepermissions/data/project_approval_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_approvalsummary_read.json b/scripts/resourcepermissions/data/project_approvalsummary_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_approvalsummary_read.json rename to scripts/resourcepermissions/data/project_approvalsummary_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_auditLog_read.json b/scripts/resourcepermissions/data/project_auditLog_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_auditLog_read.json rename to scripts/resourcepermissions/data/project_auditLog_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_audit_read.json b/scripts/resourcepermissions/data/project_audit_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_audit_read.json rename to scripts/resourcepermissions/data/project_audit_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_certificate_read.json b/scripts/resourcepermissions/data/project_certificate_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_certificate_read.json rename to scripts/resourcepermissions/data/project_certificate_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_certificate_write.json b/scripts/resourcepermissions/data/project_certificate_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_certificate_write.json rename to scripts/resourcepermissions/data/project_certificate_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_cluster_override_read_workload.json b/scripts/resourcepermissions/data/project_cluster_override_read_workload.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_cluster_override_read_workload.json rename to scripts/resourcepermissions/data/project_cluster_override_read_workload.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_cluster_override_write_workload.json b/scripts/resourcepermissions/data/project_cluster_override_write_workload.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_cluster_override_write_workload.json rename to scripts/resourcepermissions/data/project_cluster_override_write_workload.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_cluster_scheduler_read.json b/scripts/resourcepermissions/data/project_cluster_scheduler_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_cluster_scheduler_read.json rename to scripts/resourcepermissions/data/project_cluster_scheduler_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_cluster_scheduler_write.json b/scripts/resourcepermissions/data/project_cluster_scheduler_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_cluster_scheduler_write.json rename to scripts/resourcepermissions/data/project_cluster_scheduler_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_clusterctl_read.json b/scripts/resourcepermissions/data/project_clusterctl_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_clusterctl_read.json rename to scripts/resourcepermissions/data/project_clusterctl_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_clusterctl_write.json b/scripts/resourcepermissions/data/project_clusterctl_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_clusterctl_write.json rename to scripts/resourcepermissions/data/project_clusterctl_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_container_registry_read.json b/scripts/resourcepermissions/data/project_container_registry_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_container_registry_read.json rename to scripts/resourcepermissions/data/project_container_registry_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_container_registry_write.json b/scripts/resourcepermissions/data/project_container_registry_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_container_registry_write.json rename to scripts/resourcepermissions/data/project_container_registry_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_credential_read.json b/scripts/resourcepermissions/data/project_credential_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_credential_read.json rename to scripts/resourcepermissions/data/project_credential_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_credential_write.json b/scripts/resourcepermissions/data/project_credential_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_credential_write.json rename to scripts/resourcepermissions/data/project_credential_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_customer_clusters_read.json b/scripts/resourcepermissions/data/project_customer_clusters_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_customer_clusters_read.json rename to scripts/resourcepermissions/data/project_customer_clusters_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_customer_clusters_write.json b/scripts/resourcepermissions/data/project_customer_clusters_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_customer_clusters_write.json rename to scripts/resourcepermissions/data/project_customer_clusters_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_customer_providers_read.json b/scripts/resourcepermissions/data/project_customer_providers_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_customer_providers_read.json rename to scripts/resourcepermissions/data/project_customer_providers_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_customer_providers_write.json b/scripts/resourcepermissions/data/project_customer_providers_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_customer_providers_write.json rename to scripts/resourcepermissions/data/project_customer_providers_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_customer_read.json b/scripts/resourcepermissions/data/project_customer_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_customer_read.json rename to scripts/resourcepermissions/data/project_customer_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_customer_write.json b/scripts/resourcepermissions/data/project_customer_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_customer_write.json rename to scripts/resourcepermissions/data/project_customer_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_dashboard_workload_read.json b/scripts/resourcepermissions/data/project_dashboard_workload_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_dashboard_workload_read.json rename to scripts/resourcepermissions/data/project_dashboard_workload_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_data_protection_location_read.json b/scripts/resourcepermissions/data/project_data_protection_location_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_data_protection_location_read.json rename to scripts/resourcepermissions/data/project_data_protection_location_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_data_protection_location_write.json b/scripts/resourcepermissions/data/project_data_protection_location_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_data_protection_location_write.json rename to scripts/resourcepermissions/data/project_data_protection_location_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_data_protection_policy_read.json b/scripts/resourcepermissions/data/project_data_protection_policy_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_data_protection_policy_read.json rename to scripts/resourcepermissions/data/project_data_protection_policy_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_data_protection_policy_write.json b/scripts/resourcepermissions/data/project_data_protection_policy_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_data_protection_policy_write.json rename to scripts/resourcepermissions/data/project_data_protection_policy_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_data_protection_read.json b/scripts/resourcepermissions/data/project_data_protection_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_data_protection_read.json rename to scripts/resourcepermissions/data/project_data_protection_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_data_protection_write.json b/scripts/resourcepermissions/data/project_data_protection_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_data_protection_write.json rename to scripts/resourcepermissions/data/project_data_protection_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_infra_overrides_read.json b/scripts/resourcepermissions/data/project_infra_overrides_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_infra_overrides_read.json rename to scripts/resourcepermissions/data/project_infra_overrides_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_infra_provisioner_read.json b/scripts/resourcepermissions/data/project_infra_provisioner_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_infra_provisioner_read.json rename to scripts/resourcepermissions/data/project_infra_provisioner_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_infra_provisioner_runtime_read.json b/scripts/resourcepermissions/data/project_infra_provisioner_runtime_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_infra_provisioner_runtime_read.json rename to scripts/resourcepermissions/data/project_infra_provisioner_runtime_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_infra_provisioner_write.json b/scripts/resourcepermissions/data/project_infra_provisioner_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_infra_provisioner_write.json rename to scripts/resourcepermissions/data/project_infra_provisioner_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_integrationEndpoint_read.json b/scripts/resourcepermissions/data/project_integrationEndpoint_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_integrationEndpoint_read.json rename to scripts/resourcepermissions/data/project_integrationEndpoint_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_integrationEndpoint_write.json b/scripts/resourcepermissions/data/project_integrationEndpoint_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_integrationEndpoint_write.json rename to scripts/resourcepermissions/data/project_integrationEndpoint_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_myapproval_read.json b/scripts/resourcepermissions/data/project_myapproval_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_myapproval_read.json rename to scripts/resourcepermissions/data/project_myapproval_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_myapprovalsummary_read.json b/scripts/resourcepermissions/data/project_myapprovalsummary_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_myapprovalsummary_read.json rename to scripts/resourcepermissions/data/project_myapprovalsummary_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_namespace_customer_read.json b/scripts/resourcepermissions/data/project_namespace_customer_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_namespace_customer_read.json rename to scripts/resourcepermissions/data/project_namespace_customer_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_namespace_customer_write.json b/scripts/resourcepermissions/data/project_namespace_customer_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_namespace_customer_write.json rename to scripts/resourcepermissions/data/project_namespace_customer_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_namespace_read.json b/scripts/resourcepermissions/data/project_namespace_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_namespace_read.json rename to scripts/resourcepermissions/data/project_namespace_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_namespace_write.json b/scripts/resourcepermissions/data/project_namespace_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_namespace_write.json rename to scripts/resourcepermissions/data/project_namespace_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_override_read.json b/scripts/resourcepermissions/data/project_override_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_override_read.json rename to scripts/resourcepermissions/data/project_override_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_override_write.json b/scripts/resourcepermissions/data/project_override_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_override_write.json rename to scripts/resourcepermissions/data/project_override_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipeline_customer_read.json b/scripts/resourcepermissions/data/project_pipeline_customer_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipeline_customer_read.json rename to scripts/resourcepermissions/data/project_pipeline_customer_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipeline_customer_write.json b/scripts/resourcepermissions/data/project_pipeline_customer_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipeline_customer_write.json rename to scripts/resourcepermissions/data/project_pipeline_customer_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipeline_org_admin_write.json b/scripts/resourcepermissions/data/project_pipeline_org_admin_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipeline_org_admin_write.json rename to scripts/resourcepermissions/data/project_pipeline_org_admin_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipeline_read.json b/scripts/resourcepermissions/data/project_pipeline_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipeline_read.json rename to scripts/resourcepermissions/data/project_pipeline_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipeline_variable_read.json b/scripts/resourcepermissions/data/project_pipeline_variable_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipeline_variable_read.json rename to scripts/resourcepermissions/data/project_pipeline_variable_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipeline_variable_write.json b/scripts/resourcepermissions/data/project_pipeline_variable_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipeline_variable_write.json rename to scripts/resourcepermissions/data/project_pipeline_variable_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipeline_write.json b/scripts/resourcepermissions/data/project_pipeline_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipeline_write.json rename to scripts/resourcepermissions/data/project_pipeline_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipelinesummary_customer_read.json b/scripts/resourcepermissions/data/project_pipelinesummary_customer_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipelinesummary_customer_read.json rename to scripts/resourcepermissions/data/project_pipelinesummary_customer_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_pipelinesummary_read.json b/scripts/resourcepermissions/data/project_pipelinesummary_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_pipelinesummary_read.json rename to scripts/resourcepermissions/data/project_pipelinesummary_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_placement_read.json b/scripts/resourcepermissions/data/project_placement_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_placement_read.json rename to scripts/resourcepermissions/data/project_placement_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_placement_write.json b/scripts/resourcepermissions/data/project_placement_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_placement_write.json rename to scripts/resourcepermissions/data/project_placement_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_providers_org_admin_write.json b/scripts/resourcepermissions/data/project_providers_org_admin_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_providers_org_admin_write.json rename to scripts/resourcepermissions/data/project_providers_org_admin_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_providers_read.json b/scripts/resourcepermissions/data/project_providers_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_providers_read.json rename to scripts/resourcepermissions/data/project_providers_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_providers_write.json b/scripts/resourcepermissions/data/project_providers_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_providers_write.json rename to scripts/resourcepermissions/data/project_providers_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_read.json b/scripts/resourcepermissions/data/project_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_read.json rename to scripts/resourcepermissions/data/project_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_registry_read.json b/scripts/resourcepermissions/data/project_registry_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_registry_read.json rename to scripts/resourcepermissions/data/project_registry_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_registry_write.json b/scripts/resourcepermissions/data/project_registry_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_registry_write.json rename to scripts/resourcepermissions/data/project_registry_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_relayAudit_read.json b/scripts/resourcepermissions/data/project_relayAudit_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_relayAudit_read.json rename to scripts/resourcepermissions/data/project_relayAudit_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_repository_read.json b/scripts/resourcepermissions/data/project_repository_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_repository_read.json rename to scripts/resourcepermissions/data/project_repository_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_repository_write.json b/scripts/resourcepermissions/data/project_repository_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_repository_write.json rename to scripts/resourcepermissions/data/project_repository_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_schedulerplacement_read.json b/scripts/resourcepermissions/data/project_schedulerplacement_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_schedulerplacement_read.json rename to scripts/resourcepermissions/data/project_schedulerplacement_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_schedulerplacement_write.json b/scripts/resourcepermissions/data/project_schedulerplacement_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_schedulerplacement_write.json rename to scripts/resourcepermissions/data/project_schedulerplacement_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_secretStore_read.json b/scripts/resourcepermissions/data/project_secretStore_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_secretStore_read.json rename to scripts/resourcepermissions/data/project_secretStore_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_secretStore_write.json b/scripts/resourcepermissions/data/project_secretStore_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_secretStore_write.json rename to scripts/resourcepermissions/data/project_secretStore_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_systemsync_read.json b/scripts/resourcepermissions/data/project_systemsync_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_systemsync_read.json rename to scripts/resourcepermissions/data/project_systemsync_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_systemsync_write.json b/scripts/resourcepermissions/data/project_systemsync_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_systemsync_write.json rename to scripts/resourcepermissions/data/project_systemsync_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_taskset_read.json b/scripts/resourcepermissions/data/project_taskset_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_taskset_read.json rename to scripts/resourcepermissions/data/project_taskset_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_taskset_write.json b/scripts/resourcepermissions/data/project_taskset_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_taskset_write.json rename to scripts/resourcepermissions/data/project_taskset_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_trigger_customer_read.json b/scripts/resourcepermissions/data/project_trigger_customer_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_trigger_customer_read.json rename to scripts/resourcepermissions/data/project_trigger_customer_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_trigger_customer_write.json b/scripts/resourcepermissions/data/project_trigger_customer_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_trigger_customer_write.json rename to scripts/resourcepermissions/data/project_trigger_customer_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_trigger_read.json b/scripts/resourcepermissions/data/project_trigger_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_trigger_read.json rename to scripts/resourcepermissions/data/project_trigger_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_trigger_write.json b/scripts/resourcepermissions/data/project_trigger_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_trigger_write.json rename to scripts/resourcepermissions/data/project_trigger_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_v2_namespace_read.json b/scripts/resourcepermissions/data/project_v2_namespace_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_v2_namespace_read.json rename to scripts/resourcepermissions/data/project_v2_namespace_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_v2_namespace_write.json b/scripts/resourcepermissions/data/project_v2_namespace_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_v2_namespace_write.json rename to scripts/resourcepermissions/data/project_v2_namespace_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workload_customer_read.json b/scripts/resourcepermissions/data/project_workload_customer_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workload_customer_read.json rename to scripts/resourcepermissions/data/project_workload_customer_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workload_customer_write.json b/scripts/resourcepermissions/data/project_workload_customer_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workload_customer_write.json rename to scripts/resourcepermissions/data/project_workload_customer_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workload_publish.json b/scripts/resourcepermissions/data/project_workload_publish.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workload_publish.json rename to scripts/resourcepermissions/data/project_workload_publish.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workload_read.json b/scripts/resourcepermissions/data/project_workload_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workload_read.json rename to scripts/resourcepermissions/data/project_workload_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workload_write.json b/scripts/resourcepermissions/data/project_workload_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workload_write.json rename to scripts/resourcepermissions/data/project_workload_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workloadtemplatev2_read.json b/scripts/resourcepermissions/data/project_workloadtemplatev2_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workloadtemplatev2_read.json rename to scripts/resourcepermissions/data/project_workloadtemplatev2_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workloadtemplatev2_write.json b/scripts/resourcepermissions/data/project_workloadtemplatev2_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workloadtemplatev2_write.json rename to scripts/resourcepermissions/data/project_workloadtemplatev2_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workloadv2_read.json b/scripts/resourcepermissions/data/project_workloadv2_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workloadv2_read.json rename to scripts/resourcepermissions/data/project_workloadv2_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_workloadv2_write.json b/scripts/resourcepermissions/data/project_workloadv2_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_workloadv2_write.json rename to scripts/resourcepermissions/data/project_workloadv2_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/project_write.json b/scripts/resourcepermissions/data/project_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/project_write.json rename to scripts/resourcepermissions/data/project_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/registry_read.json b/scripts/resourcepermissions/data/registry_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/registry_read.json rename to scripts/resourcepermissions/data/registry_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/registry_write.json b/scripts/resourcepermissions/data/registry_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/registry_write.json rename to scripts/resourcepermissions/data/registry_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/registryauthkey_read.json b/scripts/resourcepermissions/data/registryauthkey_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/registryauthkey_read.json rename to scripts/resourcepermissions/data/registryauthkey_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/registryauthkey_write.json b/scripts/resourcepermissions/data/registryauthkey_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/registryauthkey_write.json rename to scripts/resourcepermissions/data/registryauthkey_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/registryimage_read.json b/scripts/resourcepermissions/data/registryimage_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/registryimage_read.json rename to scripts/resourcepermissions/data/registryimage_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/registryimage_write.json b/scripts/resourcepermissions/data/registryimage_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/registryimage_write.json rename to scripts/resourcepermissions/data/registryimage_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/relaynetwork_read.json b/scripts/resourcepermissions/data/relaynetwork_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/relaynetwork_read.json rename to scripts/resourcepermissions/data/relaynetwork_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/relaynetwork_write.json b/scripts/resourcepermissions/data/relaynetwork_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/relaynetwork_write.json rename to scripts/resourcepermissions/data/relaynetwork_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/role_read.json b/scripts/resourcepermissions/data/role_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/role_read.json rename to scripts/resourcepermissions/data/role_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/role_write.json b/scripts/resourcepermissions/data/role_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/role_write.json rename to scripts/resourcepermissions/data/role_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/sso_read.json b/scripts/resourcepermissions/data/sso_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/sso_read.json rename to scripts/resourcepermissions/data/sso_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/sso_user_read.json b/scripts/resourcepermissions/data/sso_user_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/sso_user_read.json rename to scripts/resourcepermissions/data/sso_user_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/sso_user_write.json b/scripts/resourcepermissions/data/sso_user_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/sso_user_write.json rename to scripts/resourcepermissions/data/sso_user_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/sso_write.json b/scripts/resourcepermissions/data/sso_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/sso_write.json rename to scripts/resourcepermissions/data/sso_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/template_read.json b/scripts/resourcepermissions/data/template_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/template_read.json rename to scripts/resourcepermissions/data/template_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/user_keys_write.json b/scripts/resourcepermissions/data/user_keys_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/user_keys_write.json rename to scripts/resourcepermissions/data/user_keys_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/user_read.json b/scripts/resourcepermissions/data/user_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/user_read.json rename to scripts/resourcepermissions/data/user_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/user_write.json b/scripts/resourcepermissions/data/user_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/user_write.json rename to scripts/resourcepermissions/data/user_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/v2account_read.json b/scripts/resourcepermissions/data/v2account_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/v2account_read.json rename to scripts/resourcepermissions/data/v2account_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/v2debug_read.json b/scripts/resourcepermissions/data/v2debug_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/v2debug_read.json rename to scripts/resourcepermissions/data/v2debug_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/v2debug_write.json b/scripts/resourcepermissions/data/v2debug_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/v2debug_write.json rename to scripts/resourcepermissions/data/v2debug_write.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/workload_publish.json b/scripts/resourcepermissions/data/workload_publish.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/workload_publish.json rename to scripts/resourcepermissions/data/workload_publish.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/workload_read.json b/scripts/resourcepermissions/data/workload_read.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/workload_read.json rename to scripts/resourcepermissions/data/workload_read.json diff --git a/components/usermgmt/scripts/resourcepermissions/data/workload_write.json b/scripts/resourcepermissions/data/workload_write.json similarity index 100% rename from components/usermgmt/scripts/resourcepermissions/data/workload_write.json rename to scripts/resourcepermissions/data/workload_write.json diff --git a/components/usermgmt/scripts/resourceroles/createresourceroles.go b/scripts/resourceroles/createresourceroles.go similarity index 95% rename from components/usermgmt/scripts/resourceroles/createresourceroles.go rename to scripts/resourceroles/createresourceroles.go index d83ab15..fce438d 100644 --- a/components/usermgmt/scripts/resourceroles/createresourceroles.go +++ b/scripts/resourceroles/createresourceroles.go @@ -10,8 +10,8 @@ import ( "os" "path" - "github.com/RafaySystems/rcloud-base/components/common/pkg/persistence/provider/pg" - "github.com/RafaySystems/rcloud-base/components/usermgmt/internal/models" + "github.com/RafaySystems/rcloud-base/internal/models" + "github.com/RafaySystems/rcloud-base/internal/persistence/provider/pg" "github.com/google/uuid" "github.com/uptrace/bun" "github.com/uptrace/bun/dialect/pgdialect" diff --git a/components/usermgmt/scripts/resourceroles/data.json b/scripts/resourceroles/data.json similarity index 100% rename from components/usermgmt/scripts/resourceroles/data.json rename to scripts/resourceroles/data.json diff --git a/components/adminsrv/server/audit_info.go b/server/audit_info.go similarity index 88% rename from components/adminsrv/server/audit_info.go rename to server/audit_info.go index 4595cfa..5eac4dc 100644 --- a/components/adminsrv/server/audit_info.go +++ b/server/audit_info.go @@ -5,11 +5,11 @@ import ( "fmt" "strings" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" + "github.com/RafaySystems/rcloud-base/pkg/query" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/sentry/kubeconfig" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" + "github.com/RafaySystems/rcloud-base/pkg/sentry/kubeconfig" + "github.com/RafaySystems/rcloud-base/pkg/service" ) type auditInfoServer struct { diff --git a/components/adminsrv/server/bootstrap.go b/server/bootstrap.go similarity index 79% rename from components/adminsrv/server/bootstrap.go rename to server/bootstrap.go index 458d79b..874923c 100644 --- a/components/adminsrv/server/bootstrap.go +++ b/server/bootstrap.go @@ -5,20 +5,21 @@ import ( "database/sql" "fmt" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" + "github.com/RafaySystems/rcloud-base/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/gateway" - "github.com/RafaySystems/rcloud-base/components/common/pkg/log" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/pkg/gateway" + "github.com/RafaySystems/rcloud-base/pkg/log" + "github.com/RafaySystems/rcloud-base/pkg/query" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" + "google.golang.org/protobuf/types/known/timestamppb" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/util" + "github.com/RafaySystems/rcloud-base/pkg/sentry/cryptoutil" + "github.com/RafaySystems/rcloud-base/pkg/sentry/util" ) var _log = log.GetLogger() @@ -46,9 +47,9 @@ type RelayAgentDownloadData struct { } type bootstrapServer struct { - bs service.BootstrapService - passFunc cryptoutil.PasswordFunc - configPool configrpc.ConfigPool + bs service.BootstrapService + passFunc cryptoutil.PasswordFunc + cs service.ClusterService } var _ sentryrpc.BootstrapServer = (*bootstrapServer)(nil) @@ -248,17 +249,46 @@ func (s *bootstrapServer) RegisterBootstrapAgent(ctx context.Context, in *sentry if template.Metadata.Name == "rafay-core-relay-agent" { _log.Info("updating cluster status for :: ", agent.Metadata.Name) - err = s.bs.UpdateClusterStatus(ctx, agent.Metadata.Name) + err = s.updateClusterStatus(ctx, agent.Metadata.Name) } return } +func (s *bootstrapServer) updateClusterStatus(ctx context.Context, clusterID string) error { + cluster := &infrav3.Cluster{ + Metadata: &commonv3.Metadata{ + Id: clusterID, + }, + Spec: &infrav3.ClusterSpec{ + ClusterData: &infrav3.ClusterData{ + ClusterStatus: &infrav3.ClusterStatus{ + Conditions: []*infrav3.ClusterCondition{ + { + Type: infrav3.ClusterConditionType_ClusterCheckIn, + Status: commonv3.RafayConditionStatus_Success, + LastUpdated: timestamppb.Now(), + Reason: "Relay agent established connection.", + }, + { + Type: infrav3.ClusterConditionType_ClusterRegister, + Status: commonv3.RafayConditionStatus_Success, + LastUpdated: timestamppb.Now(), + Reason: "Relay agent established connection.", + }, + }, + }, + }, + }, + } + return s.cs.UpdateClusterConditionStatus(ctx, cluster) +} + func (s *bootstrapServer) GetBootstrapAgentConfig(ctx context.Context, in *sentry.BootstrapAgent) (*commonv3.HttpBody, error) { return nil, nil } // NewBootstrapServer return new bootstrap server -func NewBootstrapServer(bs service.BootstrapService, f cryptoutil.PasswordFunc, c configrpc.ConfigPool) sentryrpc.BootstrapServer { - return &bootstrapServer{bs, f, c} +func NewBootstrapServer(bs service.BootstrapService, f cryptoutil.PasswordFunc, cs service.ClusterService) sentryrpc.BootstrapServer { + return &bootstrapServer{bs, f, cs} } diff --git a/components/cluster-scheduler/server/cluster.go b/server/cluster.go similarity index 63% rename from components/cluster-scheduler/server/cluster.go rename to server/cluster.go index 9a819e7..3d4a430 100644 --- a/components/cluster-scheduler/server/cluster.go +++ b/server/cluster.go @@ -5,27 +5,24 @@ import ( "context" "encoding/base64" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/internal/fixtures" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/bootstrapper" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/credentials" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/scheduler" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - infrapbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/internal/cluster/fixtures" + "github.com/RafaySystems/rcloud-base/pkg/common" + "github.com/RafaySystems/rcloud-base/pkg/query" + "github.com/RafaySystems/rcloud-base/pkg/service" + rpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/scheduler" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + infrapbv3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" ) type clusterServer struct { service.ClusterService - credentials.Signer - downloadData bootstrapper.DownloadData + downloadData common.DownloadData } // NewClusterServer returns new cluster server implementation -func NewClusterServer(es service.ClusterService, signer credentials.Signer, data *bootstrapper.DownloadData) rpcv3.ClusterServer { +func NewClusterServer(es service.ClusterService, data *common.DownloadData) rpcv3.ClusterServer { return &clusterServer{ ClusterService: es, - Signer: signer, downloadData: *data, } } @@ -70,23 +67,6 @@ func (s *clusterServer) UpdateCluster(ctx context.Context, e *infrapbv3.Cluster) return edge, nil } -func (s *clusterServer) RegisterCluster(ctx context.Context, rcr *rpcv3.RegisterClusterRequest) (*rpcv3.RegisterClusterResponse, error) { - cert, err := s.Sign(rcr.SigningRequest) - if err != nil { - return nil, err - } - - _, err = s.Register(ctx, rcr.Token) - if err != nil { - return nil, err - } - - return &rpcv3.RegisterClusterResponse{ - Certificate: cert, - CaCertificate: s.GetCACert(), - }, nil -} - func (s *clusterServer) DownloadCluster(ctx context.Context, cluster *infrapbv3.Cluster) (*commonv3.HttpBody, error) { c, err := s.Select(ctx, cluster, true) if err != nil { @@ -101,7 +81,7 @@ func (s *clusterServer) DownloadCluster(ctx context.Context, cluster *infrapbv3. } err = fixtures.DownloadTemplate.Execute(bb, struct { - DownloadData bootstrapper.DownloadData + DownloadData common.DownloadData Cluster *infrapbv3.Cluster }{ s.downloadData, c, diff --git a/components/adminsrv/server/cluster_authz.go b/server/cluster_authz.go similarity index 64% rename from components/adminsrv/server/cluster_authz.go rename to server/cluster_authz.go index 648fbbf..865d23a 100644 --- a/components/adminsrv/server/cluster_authz.go +++ b/server/cluster_authz.go @@ -3,11 +3,10 @@ package server import ( "context" - configrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/config" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/sentry/authz" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" + "github.com/RafaySystems/rcloud-base/pkg/sentry/authz" + "github.com/RafaySystems/rcloud-base/pkg/service" ) type clusterAuthzServer struct { @@ -18,12 +17,11 @@ type clusterAuthzServer struct { kcs service.KubectlClusterSettingsService kss service.KubeconfigSettingService //apn models.AccountProjectNamespaceService - cPool configrpc.ConfigPool } // GetUserAuthorization return authorization profile of user for a given cluster func (s *clusterAuthzServer) GetUserAuthorization(ctx context.Context, req *sentryrpc.GetUserAuthorizationRequest) (*sentryrpc.GetUserAuthorizationResponse, error) { - resp, err := authz.GetAuthorization(ctx, req, s.bs, s.aps, s.gps, s.krs, s.kcs, s.kss, s.cPool) + resp, err := authz.GetAuthorization(ctx, req, s.bs, s.aps, s.gps, s.krs, s.kcs, s.kss) if err != nil { _log.Errorw("error getting auth profile", "req", req, "error", err.Error()) return nil, err @@ -32,14 +30,13 @@ func (s *clusterAuthzServer) GetUserAuthorization(ctx context.Context, req *sent } // NewClusterAuthzServer returns New ClusterAuthzServer -func NewClusterAuthzServer(bs service.BootstrapService, aps service.AccountPermissionService, gps service.GroupPermissionService, krs service.KubeconfigRevocationService, kcs service.KubectlClusterSettingsService, kss service.KubeconfigSettingService, cPool configrpc.ConfigPool) sentryrpc.ClusterAuthorizationServer { +func NewClusterAuthzServer(bs service.BootstrapService, aps service.AccountPermissionService, gps service.GroupPermissionService, krs service.KubeconfigRevocationService, kcs service.KubectlClusterSettingsService, kss service.KubeconfigSettingService) sentryrpc.ClusterAuthorizationServer { return &clusterAuthzServer{ - bs: bs, - aps: aps, - gps: gps, - krs: krs, - kcs: kcs, - kss: kss, - cPool: cPool, + bs: bs, + aps: aps, + gps: gps, + krs: krs, + kcs: kcs, + kss: kss, } } diff --git a/components/usermgmt/server/group.go b/server/group.go similarity index 82% rename from components/usermgmt/server/group.go rename to server/group.go index 44914e2..6590c0c 100644 --- a/components/usermgmt/server/group.go +++ b/server/group.go @@ -3,10 +3,10 @@ package server import ( "context" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/user" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - userpbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/service" + "github.com/RafaySystems/rcloud-base/pkg/service" + rpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/user" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + userpbv3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "google.golang.org/protobuf/types/known/timestamppb" ) diff --git a/components/usermgmt/server/idp.go b/server/idp.go similarity index 79% rename from components/usermgmt/server/idp.go rename to server/idp.go index f3f3dee..d58e551 100644 --- a/components/usermgmt/server/idp.go +++ b/server/idp.go @@ -3,9 +3,9 @@ package server import ( "context" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" - systemv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/service" + "github.com/RafaySystems/rcloud-base/pkg/service" + rpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/system" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "google.golang.org/protobuf/types/known/emptypb" ) diff --git a/components/adminsrv/server/kubeconfig.go b/server/kubeconfig.go similarity index 93% rename from components/adminsrv/server/kubeconfig.go rename to server/kubeconfig.go index 856c372..33dcd45 100644 --- a/components/adminsrv/server/kubeconfig.go +++ b/server/kubeconfig.go @@ -6,15 +6,15 @@ import ( "sort" "time" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/constants" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/sentry/kubeconfig" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/query" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/cryptoutil" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/util" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - commonv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - sentry "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/constants" + "github.com/RafaySystems/rcloud-base/pkg/query" + "github.com/RafaySystems/rcloud-base/pkg/sentry/cryptoutil" + "github.com/RafaySystems/rcloud-base/pkg/sentry/kubeconfig" + "github.com/RafaySystems/rcloud-base/pkg/sentry/util" + "github.com/RafaySystems/rcloud-base/pkg/service" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" + commonv3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + sentry "github.com/RafaySystems/rcloud-base/proto/types/sentry" "google.golang.org/protobuf/types/known/timestamppb" ) @@ -105,7 +105,7 @@ func (s *kubeConfigServer) GetOrganizationSetting(ctx context.Context, req *sent return nil, err } if orgID != opts.Organization { - return nil, fmt.Errorf("invalid request") + opts.Organization = orgID } ks, err := s.kss.Get(ctx, opts.Organization, "", false) if err == constants.ErrNotFound { diff --git a/components/adminsrv/server/kubectl_cluster_settings.go b/server/kubectl_cluster_settings.go similarity index 90% rename from components/adminsrv/server/kubectl_cluster_settings.go rename to server/kubectl_cluster_settings.go index 237fec2..78ba18b 100644 --- a/components/adminsrv/server/kubectl_cluster_settings.go +++ b/server/kubectl_cluster_settings.go @@ -3,11 +3,11 @@ package server import ( "context" - "github.com/RafaySystems/rcloud-base/components/adminsrv/internal/constants" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/util" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" - "github.com/RafaySystems/rcloud-base/components/common/proto/types/sentry" + "github.com/RafaySystems/rcloud-base/internal/constants" + "github.com/RafaySystems/rcloud-base/pkg/sentry/util" + "github.com/RafaySystems/rcloud-base/pkg/service" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" + "github.com/RafaySystems/rcloud-base/proto/types/sentry" "google.golang.org/grpc/metadata" ) diff --git a/components/cluster-scheduler/server/metro.go b/server/metro.go similarity index 85% rename from components/cluster-scheduler/server/metro.go rename to server/metro.go index 6e0a036..5ba5996 100644 --- a/components/cluster-scheduler/server/metro.go +++ b/server/metro.go @@ -3,9 +3,9 @@ package server import ( "context" - "github.com/RafaySystems/rcloud-base/components/cluster-scheduler/pkg/service" - systemrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" - infrav3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/infrapb/v3" + "github.com/RafaySystems/rcloud-base/pkg/service" + systemrpc "github.com/RafaySystems/rcloud-base/proto/rpc/system" + infrav3 "github.com/RafaySystems/rcloud-base/proto/types/infrapb/v3" "github.com/google/uuid" ) diff --git a/components/usermgmt/server/oidc_provider.go b/server/oidc_provider.go similarity index 81% rename from components/usermgmt/server/oidc_provider.go rename to server/oidc_provider.go index b55731e..4b396cd 100644 --- a/components/usermgmt/server/oidc_provider.go +++ b/server/oidc_provider.go @@ -3,9 +3,9 @@ package server import ( "context" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" - systemv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/service" + "github.com/RafaySystems/rcloud-base/pkg/service" + rpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/system" + systemv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" "google.golang.org/protobuf/types/known/emptypb" ) diff --git a/components/adminsrv/server/organization.go b/server/organization.go similarity index 85% rename from components/adminsrv/server/organization.go rename to server/organization.go index 04255e8..2360ecc 100644 --- a/components/adminsrv/server/organization.go +++ b/server/organization.go @@ -3,9 +3,9 @@ package server import ( "context" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - systemrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" - systempbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/pkg/service" + systemrpc "github.com/RafaySystems/rcloud-base/proto/rpc/system" + systempbv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" ) type organizationServer struct { diff --git a/components/adminsrv/server/partner.go b/server/partner.go similarity index 82% rename from components/adminsrv/server/partner.go rename to server/partner.go index 2eb70b0..d266369 100644 --- a/components/adminsrv/server/partner.go +++ b/server/partner.go @@ -3,9 +3,9 @@ package server import ( "context" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - systemrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" - systempbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/pkg/service" + systemrpc "github.com/RafaySystems/rcloud-base/proto/rpc/system" + systempbv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" ) type partnerServer struct { diff --git a/components/adminsrv/server/project.go b/server/project.go similarity index 84% rename from components/adminsrv/server/project.go rename to server/project.go index aaff3a2..6f165c9 100644 --- a/components/adminsrv/server/project.go +++ b/server/project.go @@ -3,9 +3,9 @@ package server import ( "context" - "github.com/RafaySystems/rcloud-base/components/adminsrv/pkg/service" - systemrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/system" - systempbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/systempb/v3" + "github.com/RafaySystems/rcloud-base/pkg/service" + systemrpc "github.com/RafaySystems/rcloud-base/proto/rpc/system" + systempbv3 "github.com/RafaySystems/rcloud-base/proto/types/systempb/v3" ) type projectServer struct { diff --git a/components/adminsrv/server/relaypeerclient.go b/server/relaypeerclient.go similarity index 99% rename from components/adminsrv/server/relaypeerclient.go rename to server/relaypeerclient.go index 525ce88..66d2000 100644 --- a/components/adminsrv/server/relaypeerclient.go +++ b/server/relaypeerclient.go @@ -10,7 +10,7 @@ import ( "regexp" "time" - relayrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" + relayrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" "github.com/dgraph-io/ristretto" ) diff --git a/components/adminsrv/server/relaypeerservice.go b/server/relaypeerservice.go similarity index 99% rename from components/adminsrv/server/relaypeerservice.go rename to server/relaypeerservice.go index ca58430..6cb5f0e 100644 --- a/components/adminsrv/server/relaypeerservice.go +++ b/server/relaypeerservice.go @@ -7,8 +7,8 @@ import ( "sync" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - sentryrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" + "github.com/RafaySystems/rcloud-base/pkg/grpc" + sentryrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" "github.com/dgraph-io/ristretto" "github.com/google/uuid" ) diff --git a/components/adminsrv/server/relaypeerservice_test.go b/server/relaypeerservice_test.go similarity index 96% rename from components/adminsrv/server/relaypeerservice_test.go rename to server/relaypeerservice_test.go index 4bada27..a47f7b5 100644 --- a/components/adminsrv/server/relaypeerservice_test.go +++ b/server/relaypeerservice_test.go @@ -11,9 +11,9 @@ import ( "testing" "time" - "github.com/RafaySystems/rcloud-base/components/common/pkg/grpc" - "github.com/RafaySystems/rcloud-base/components/common/pkg/sentry/peering" - relayrpc "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/sentry" + "github.com/RafaySystems/rcloud-base/pkg/grpc" + "github.com/RafaySystems/rcloud-base/pkg/sentry/peering" + relayrpc "github.com/RafaySystems/rcloud-base/proto/rpc/sentry" "github.com/google/uuid" "google.golang.org/grpc/credentials" ) diff --git a/components/usermgmt/server/role.go b/server/role.go similarity index 82% rename from components/usermgmt/server/role.go rename to server/role.go index 107faa1..e8fd8f0 100644 --- a/components/usermgmt/server/role.go +++ b/server/role.go @@ -3,10 +3,10 @@ package server import ( "context" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/role" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - rolepbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/service" + "github.com/RafaySystems/rcloud-base/pkg/service" + rpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/role" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + rolepbv3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" "google.golang.org/protobuf/types/known/timestamppb" ) diff --git a/components/usermgmt/server/rolepermission.go b/server/rolepermission.go similarity index 66% rename from components/usermgmt/server/rolepermission.go rename to server/rolepermission.go index 0cbe9a2..a065027 100644 --- a/components/usermgmt/server/rolepermission.go +++ b/server/rolepermission.go @@ -3,9 +3,9 @@ package server import ( "context" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/role" - rolepbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/rolepb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/service" + "github.com/RafaySystems/rcloud-base/pkg/service" + rpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/role" + rolepbv3 "github.com/RafaySystems/rcloud-base/proto/types/rolepb/v3" ) type rolepermissionServer struct { diff --git a/components/adminsrv/server/testdata/ca.crt b/server/testdata/ca.crt similarity index 100% rename from components/adminsrv/server/testdata/ca.crt rename to server/testdata/ca.crt diff --git a/components/adminsrv/server/testdata/peersvc.crt b/server/testdata/peersvc.crt similarity index 100% rename from components/adminsrv/server/testdata/peersvc.crt rename to server/testdata/peersvc.crt diff --git a/components/adminsrv/server/testdata/peersvc.key b/server/testdata/peersvc.key similarity index 100% rename from components/adminsrv/server/testdata/peersvc.key rename to server/testdata/peersvc.key diff --git a/components/adminsrv/server/testdata/query.sql b/server/testdata/query.sql similarity index 100% rename from components/adminsrv/server/testdata/query.sql rename to server/testdata/query.sql diff --git a/components/usermgmt/server/user.go b/server/user.go similarity index 82% rename from components/usermgmt/server/user.go rename to server/user.go index a8a9dba..9e3e8fc 100644 --- a/components/usermgmt/server/user.go +++ b/server/user.go @@ -3,10 +3,10 @@ package server import ( "context" - rpcv3 "github.com/RafaySystems/rcloud-base/components/common/proto/rpc/user" - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" - userpbv3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/userpb/v3" - "github.com/RafaySystems/rcloud-base/components/usermgmt/pkg/service" + "github.com/RafaySystems/rcloud-base/pkg/service" + rpcv3 "github.com/RafaySystems/rcloud-base/proto/rpc/user" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" + userpbv3 "github.com/RafaySystems/rcloud-base/proto/types/userpb/v3" "google.golang.org/protobuf/types/known/timestamppb" ) diff --git a/components/usermgmt/server/utils.go b/server/utils.go similarity index 81% rename from components/usermgmt/server/utils.go rename to server/utils.go index e631d50..98b2e15 100644 --- a/components/usermgmt/server/utils.go +++ b/server/utils.go @@ -1,7 +1,7 @@ package server import ( - v3 "github.com/RafaySystems/rcloud-base/components/common/proto/types/commonpb/v3" + v3 "github.com/RafaySystems/rcloud-base/proto/types/commonpb/v3" "google.golang.org/protobuf/types/known/timestamppb" )