Sync cloud-sdk-go v0.14.1#85
Conversation
Bump cloud-sdk dependency to the v0.14.1 release candidate and expose the new read-only namespace-assignment RPCs as CLI commands. - go.mod: go.temporal.io/cloud-sdk v0.13.0 -> v0.14.1-0.20260616191445-e6c2bafd1bf5 (pinned to RC commit e6c2bafd1bf5e2fcbdbfcb7ff1086cabcbb47b7a) - New commands (additive only): - cloud namespace user list - cloud namespace service-account list - cloud namespace user-group list - Regenerated commands.gen.go and cloudservice mock for the new RPCs. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 2 potential issues.
Reviewed by Cursor Bugbot for commit b851fc2. Configure here.
| }, | ||
| printer.PrintResourceOptions{ | ||
| Fields: []string{"Id", "Email", "NamespaceAccess"}, | ||
| }, |
There was a problem hiding this comment.
Wrong table fields for identities
Medium Severity
In default (non-JSON) output, PrintResourceList only renders struct fields named in Fields. The service-account and user-group list handlers request Email, but those assignment types expose Name and DisplayName instead (as in the unit tests and SDK shape). Table views omit the primary identifier column and only show id and access.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit b851fc2. Configure here.
| }, | ||
| printer.PrintResourceOptions{ | ||
| Fields: []string{"Id", "Email", "NamespaceAccess"}, | ||
| }, |
There was a problem hiding this comment.
Inherited access hidden in tables
Medium Severity
All three namespace assignment list commands document direct and inherited access, and the API returns InheritedAccess, but table Fields omit it. Rows with inherited-only access (e.g. email with no NamespaceAccess in tests) show a blank permission column with no indication the access is inherited.
Additional Locations (2)
Reviewed by Cursor Bugbot for commit b851fc2. Configure here.


Sync cloud-sdk-go v0.14.1
Keeps
cloud-clipinned to the current state of thecloud-sdk-goreleasecandidate/v0.14.1branch and exposes the new SDK API surface in theCLI. Runs before the SDK RC is merged so the downstream CLI work can be
reviewed alongside the SDK candidate.
Source candidates
(Sync cloud-api v0.17.1 cloud-sdk-go#57)
releasecandidate/v0.14.1@e6c2bafd1bf5e2fcbdbfcb7ff1086cabcbb47b7aDependency bump
go.temporal.io/cloud-sdk:v0.13.0→v0.14.1-0.20260616191445-e6c2bafd1bf5e6c2bafd1bf5e2fcbdbfcb7ff1086cabcbb47b7a(
go get go.temporal.io/cloud-sdk@e6c2bafd1bf5e2fcbdbfcb7ff1086cabcbb47b7a), thengo mod tidy.go.modon the RC branch(e.g.
go.temporal.io/api, the genproto modules).cloud-clialreadyrequires versions at or above everything the SDK declares, so MVS keeps the
existing (higher) versions — no alignment downgrade was needed and no drift
was introduced.
SDK changes detected (
v0.13.0→ RC)Purely additive — no removed, renamed, or signature-changed symbols.
New RPCs on
CloudService(all read-only, paginated):GetUserNamespaceAssignments(namespace, page_size, page_token)→users []UserNamespaceAssignmentGetServiceAccountNamespaceAssignments(namespace, page_size, page_token)→service_accounts []ServiceAccountNamespaceAssignmentGetUserGroupNamespaceAssignments(namespace, page_size, page_token)→groups []UserGroupNamespaceAssignmentNew identity message types (each: id, name/email/display_name,
namespace_access,inherited_access,resource_version):identity/v1.UserNamespaceAssignmentidentity/v1.ServiceAccountNamespaceAssignmentidentity/v1.UserGroupNamespaceAssignmentNew enum value:
region/v1.Region_CloudProvider:CLOUD_PROVIDER_AZURE = 3. No CLI codechange required — cloud-provider values render automatically via the existing
RegisterEnumToStringConverter[...Region_CloudProvider]registration incommands.go, socloud region get/listwill display Azure regions once theSDK is bumped.
CLI changes
Existing commands updated: none. (No wrapped SDK method changed signature or
gained fields; the only field-level additions are on the brand-new assignment
types.)
New commands added (read-only, mirroring existing
listconventions; eachtakes the standard required
--namespace/-n, optional--page-size,--page-token, and--api-key/--server):cloud namespace user list— wrapsGetUserNamespaceAssignmentscloud namespace service-account list— wrapsGetServiceAccountNamespaceAssignmentscloud namespace user-group list— wrapsGetUserGroupNamespaceAssignmentsImplemented in
temporalcloudcli/commands.namespace.access.gowith unit tests incommands.namespace.access_test.go.commands.yml, the generatedcommands.gen.go, and the regenerated cloudservice mock are updatedaccordingly.
make all(gen + build + mocks + test) passes.Backward compatibility
No backward-incompatible changes were made — additions only. No existing
command, subcommand, flag, positional argument, default, type, or output was
removed, renamed, or changed. All new flags are optional with safe defaults
(empty/zero), so existing invocations behave identically. Nothing had to be
skipped for compatibility reasons.
RC pseudo-version note
This pins an RC pseudo-version (
v0.14.1-0.20260616191445-e6c2bafd1bf5),not a published tag. Once
cloud-sdk-go v0.14.1is released, the dependencyshould be re-pinned to the tagged version. That is a separate, human-driven
follow-up and is out of scope for this PR.
Note
Low Risk
Read-only, additive CLI and dependency bump with no changes to existing command behavior; identity listing is operationally sensitive but does not modify access.
Overview
Bumps
go.temporal.io/cloud-sdkfromv0.13.0to thev0.14.1RC commit and wires up the new read-only Get*NamespaceAssignments RPCs in the CLI.Under
temporal cloud namespace, three newlistsubcommands let operators see who has access to a namespace (direct and inherited):user,service-account, anduser-group. Each supports--namespace, pagination via--page-size/--page-token, and prints Id, Email (or equivalent), and NamespaceAccess through the existing printer. Handlers live incommands.namespace.access.go;commands.yml, generatedcommands.gen.go, and the cloudservice mock are updated to match.No existing commands or flags change; SDK surface is additive only (including Azure region enum support via existing enum rendering, with no extra CLI work in this diff).
Reviewed by Cursor Bugbot for commit b851fc2. Bugbot is set up for automated code reviews on this repo. Configure here.