Skip to content

registry-connect: what to import for API Gateway APIs? #163

@timburks

Description

@timburks

Our first effort to import from API Gateway imports each gateway as an API and includes a deployment and spec (if the spec is available). This uses the gateway and api-config resources. These are also associated with a top-level api resource, which is fairly sparse:

$ gcloud api-gateway apis list --format json
[
  {
    "createTime": "2022-08-09T23:21:09.797675125Z",
    "displayName": "shakes",
    "managedService": "shakes-2zd0s6jcf3fpb.apigateway.timburks-test.cloud.goog",
    "name": "projects/timburks-test/locations/global/apis/shakes",
    "state": "ACTIVE",
    "updateTime": "2022-08-09T23:22:46.663939562Z"
  },
  {
    "createTime": "2022-10-18T01:52:26.685353895Z",
    "displayName": "bookstore",
    "managedService": "bookstore-0kmzty5nm7anj.apigateway.timburks-test.cloud.goog",
    "name": "projects/timburks-test/locations/global/apis/bookstore",
    "state": "ACTIVE",
    "updateTime": "2022-10-18T01:54:04.933554988Z"
  },
  {
    "createTime": "2022-08-12T21:04:25.885733799Z",
    "displayName": "hello",
    "labels": {
      "x": "3",
      "y": "4"
    },
    "managedService": "hello-1uw9r3za60r8p.apigateway.timburks-test.cloud.goog",
    "name": "projects/timburks-test/locations/global/apis/hello",
    "state": "ACTIVE",
    "updateTime": "2022-08-12T21:28:43.440993482Z"
  },
  {
    "createTime": "2022-10-05T19:17:32.327653674Z",
    "displayName": "thirdparty",
    "managedService": "thirdparty-1omvx0hwvgzap.apigateway.timburks-test.cloud.goog",
    "name": "projects/timburks-test/locations/global/apis/thirdparty",
    "state": "ACTIVE",
    "updateTime": "2022-10-05T19:19:10.637324810Z"
  }
]

I think it would be useful to import each of these as API resources and link them to their associated gateways, but if this is all the information we have, there's not much to put in those new API resources. I'm curious to see what's in the managedService records but haven't looked up how to get those from the Service Management (?) API.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Discussion

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions