Skip to content

Commit 11a13cd

Browse files
authored
Update MRN operations with cloud api (#346)
* Update MRN operations with cloud api
1 parent d558b08 commit 11a13cd

13 files changed

Lines changed: 30106 additions & 30 deletions

File tree

app/connection.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,21 @@ import (
66
"fmt"
77
"net/url"
88

9-
"github.com/temporalio/tcld/app/credentials/apikey"
10-
"github.com/temporalio/tcld/app/credentials/oauth"
119
"github.com/urfave/cli/v2"
1210
"google.golang.org/grpc"
1311
"google.golang.org/grpc/credentials"
1412
"google.golang.org/grpc/credentials/insecure"
1513
"google.golang.org/grpc/metadata"
14+
15+
"github.com/temporalio/tcld/app/credentials/apikey"
16+
"github.com/temporalio/tcld/app/credentials/oauth"
1617
)
1718

1819
const (
1920
VersionHeader = "tcld-version"
2021
CommitHeader = "tcld-commit"
2122
TemporalCloudAPIVersionHeader = "temporal-cloud-api-version"
22-
TemporalCloudAPIVersion = "2024-03-18-00"
23+
TemporalCloudAPIVersion = "2024-05-13-00"
2324
)
2425

2526
func GetServerConnection(c *cli.Context, opts ...grpc.DialOption) (context.Context, *grpc.ClientConn, error) {

app/namespace.go

Lines changed: 20 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313
"go.uber.org/multierr"
1414

1515
"github.com/temporalio/tcld/protogen/api/auth/v1"
16-
"github.com/temporalio/tcld/protogen/api/common/v1"
16+
"github.com/temporalio/tcld/protogen/api/cloud/cloudservice/v1"
1717
"github.com/temporalio/tcld/protogen/api/sink/v1"
1818

1919
"github.com/kylelemons/godebug/diff"
@@ -139,16 +139,18 @@ var (
139139
)
140140

141141
type NamespaceClient struct {
142-
client namespaceservice.NamespaceServiceClient
143-
authClient authservice.AuthServiceClient
144-
ctx context.Context
142+
client namespaceservice.NamespaceServiceClient
143+
cloudAPIClient cloudservice.CloudServiceClient
144+
authClient authservice.AuthServiceClient
145+
ctx context.Context
145146
}
146147

147148
func NewNamespaceClient(ctx context.Context, conn *grpc.ClientConn) *NamespaceClient {
148149
return &NamespaceClient{
149-
client: namespaceservice.NewNamespaceServiceClient(conn),
150-
authClient: authservice.NewAuthServiceClient(conn),
151-
ctx: ctx,
150+
client: namespaceservice.NewNamespaceServiceClient(conn),
151+
cloudAPIClient: cloudservice.NewCloudServiceClient(conn),
152+
authClient: authservice.NewAuthServiceClient(conn),
153+
ctx: ctx,
152154
}
153155
}
154156

@@ -296,19 +298,16 @@ func (c *NamespaceClient) addRegion(ctx *cli.Context) error {
296298
return fmt.Errorf("namespace cloud provider is required")
297299
}
298300

299-
res, err := c.client.GlobalizeNamespace(c.ctx, &namespaceservice.GlobalizeNamespaceRequest{
300-
RequestId: ctx.String(RequestIDFlagName),
301-
Namespace: ctx.String(NamespaceFlagName),
302-
TargetRegion: &common.RegionID{
303-
CloudProvider: cloudProvider,
304-
Name: region,
305-
},
306-
ResourceVersion: ns.GetResourceVersion(),
301+
res, err := c.cloudAPIClient.AddNamespaceRegion(c.ctx, &cloudservice.AddNamespaceRegionRequest{
302+
Namespace: ctx.String(NamespaceFlagName),
303+
Region: fmt.Sprintf("%s-%s", cloudProvider, region),
304+
ResourceVersion: ns.GetResourceVersion(),
305+
AsyncOperationId: ctx.String(RequestIDFlagName),
307306
})
308307
if err != nil {
309308
return err
310309
}
311-
return PrintProto(res)
310+
return PrintProto(res.GetAsyncOperation())
312311
}
313312

314313
func (c *NamespaceClient) listNamespaces() error {
@@ -449,18 +448,15 @@ func (c *NamespaceClient) failoverNamespace(ctx *cli.Context) error {
449448
return fmt.Errorf("cloud provider is required")
450449
}
451450

452-
res, err := c.client.FailoverNamespace(c.ctx, &namespaceservice.FailoverNamespaceRequest{
453-
Namespace: namespace,
454-
RequestId: ctx.String(RequestIDFlagName),
455-
TargetRegion: &common.RegionID{
456-
CloudProvider: cloudProvider,
457-
Name: ctx.String(namespaceRegionFlagName),
458-
},
451+
res, err := c.cloudAPIClient.FailoverNamespaceRegion(c.ctx, &cloudservice.FailoverNamespaceRegionRequest{
452+
Namespace: namespace,
453+
Region: fmt.Sprintf("%s-%s", cloudProvider, ctx.String(namespaceRegionFlagName)),
454+
AsyncOperationId: ctx.String(RequestIDFlagName),
459455
})
460456
if err != nil {
461457
return err
462458
}
463-
return PrintProto(res)
459+
return PrintProto(res.GetAsyncOperation())
464460
}
465461

466462
// ReadCACerts reads ca certs based on cli flags.

go.mod

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ require (
1515
go.uber.org/multierr v1.11.0
1616
golang.org/x/mod v0.12.0
1717
golang.org/x/oauth2 v0.15.0
18-
golang.org/x/term v0.15.0
18+
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d
1919
google.golang.org/grpc v1.59.0
2020
)
2121

@@ -36,6 +36,7 @@ require (
3636
golang.org/x/sys v0.15.0 // indirect
3737
golang.org/x/text v0.14.0 // indirect
3838
google.golang.org/appengine v1.6.7 // indirect
39+
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d // indirect
3940
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d // indirect
4041
google.golang.org/protobuf v1.31.0 // indirect
4142
gopkg.in/yaml.v3 v3.0.1 // indirect

go.sum

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -94,8 +94,6 @@ golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBc
9494
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
9595
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
9696
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
97-
golang.org/x/term v0.15.0 h1:y/Oo/a/q3IXu26lQgl04j/gjuBDOBlx7X6Om1j2CPW4=
98-
golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0=
9997
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
10098
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
10199
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
@@ -112,6 +110,10 @@ golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8T
112110
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
113111
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
114112
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
113+
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY=
114+
google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4=
115+
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d h1:DoPTO70H+bcDXcd39vOqb2viZxgqeBeSGtZ55yZU4/Q=
116+
google.golang.org/genproto/googleapis/api v0.0.0-20230822172742-b8732ec3820d/go.mod h1:KjSP20unUpOx5kyQUFa7k4OJg0qeJ7DEZflGDu2p6Bk=
115117
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d h1:uvYuEyMHKNt+lT4K3bN6fGswmK8qSvcreM3BwjDh+y4=
116118
google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M=
117119
google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk=

0 commit comments

Comments
 (0)