Repository: kubeflow/pipelines

Issue:
[sdk] Wrong type hint of create_run_from_job_spec
### Environment

*  KFP version: -
*  KFP SDK version: 1.6.5
*  All dependencies version:
   * kfp-pipeline-spec: 0.1.8
   * kfp-server-api: 1.6.0

### Steps to reproduce

The type hint of `create_run_from_job_spec` says `str`, but it actually returns `dict`.

https://github.com/kubeflow/pipelines/blob/74d27e7e7ec88c62154a3dc5fb19cb27fc2922e6/sdk/python/kfp/v2/google/client/client.py#L258-L268

```python
from kfp.v2 import compiler, dsl
from kfp.v2.google.client import AIPlatformClient

compiler.Compiler().compile(pipeline_func=pipeline_func, package_path=pipeline_json)
api_client = AIPlatformClient(project_id=project_id, region="us-central1")

# `response` is actually `dict`, but the type hint says `str`.
response = api_client.create_run_from_job_spec(...)
```

### Expected result

- The return types of `create_run_from_job_spec` should be `dict`
- The return types of `_submit_job` (called in `create_run_from_job_spec`) should be `dict`

https://github.com/kubeflow/pipelines/blob/74d27e7e7ec88c62154a3dc5fb19cb27fc2922e6/sdk/python/kfp/v2/google/client/client.py#L207-L211

### Materials and Reference

<!-- Help us debug this issue by providing resources such as: sample code, background context, or links to references. -->

---

<!-- Don't delete message below to encourage users to support your issue! -->
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

[sdk] Wrong type hint of create_run_from_job_spec
### Environment

*  KFP version: -
*  KFP SDK version: 1.6.5
*  All dependencies version:
   * kfp-pipeline-spec: 0.1.8
   * kfp-server-api: 1.6.0

### Steps to reproduce

The type hint of `create_run_from_job_spec` says `str`, but it actually returns `dict`.

https://github.com/kubeflow/pipelines/blob/74d27e7e7ec88c62154a3dc5fb19cb27fc2922e6/sdk/python/kfp/v2/google/client/client.py#L258-L268

```python
from kfp.v2 import compiler, dsl
from kfp.v2.google.client import AIPlatformClient

compiler.Compiler().compile(pipeline_func=pipeline_func, package_path=pipeline_json)
api_client = AIPlatformClient(project_id=project_id, region="us-central1")

# `response` is actually `dict`, but the type hint says `str`.
response = api_client.create_run_from_job_spec(...)
```

### Expected result

- The return types of `create_run_from_job_spec` should be `dict`
- The return types of `_submit_job` (called in `create_run_from_job_spec`) should be `dict`

https://github.com/kubeflow/pipelines/blob/74d27e7e7ec88c62154a3dc5fb19cb27fc2922e6/sdk/python/kfp/v2/google/client/client.py#L207-L211

### Materials and Reference

<!-- Help us debug this issue by providing resources such as: sample code, background context, or links to references. -->

---

<!-- Don't delete message below to encourage users to support your issue! -->
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.



Discussion:
/assign
You are always more than welcome to make a PR @sfujiwara if you find things like this. 
/assign
You are always more than welcome to make a PR @sfujiwara if you find things like this. 

Resolving patch:
diff --git a/sdk/python/kfp/v2/google/client/client.py b/sdk/python/kfp/v2/google/client/client.py
--- a/sdk/python/kfp/v2/google/client/client.py
+++ b/sdk/python/kfp/v2/google/client/client.py
@@ -208,7 +208,7 @@ def _submit_job(
       self,
       job_spec: Mapping[str, Any],
       job_id: Optional[str] = None,
-  ) -> str:
+  ) -> dict:
     """Submits a pipeline job to run on AIPlatformPipelines service.
 
     Args:
@@ -265,7 +265,7 @@ def create_run_from_job_spec(
       cmek: Optional[str] = None,
       service_account: Optional[str] = None,
       network: Optional[str] = None,
-      labels: Optional[Mapping[str, str]] = None) -> str:
+      labels: Optional[Mapping[str, str]] = None) -> dict:
     """Runs a pre-compiled pipeline job on AIPlatformPipelines service.
 
     Args:


Test patch: