Skip to content

Commit

Permalink
NOJIRA: make sdk generation external pluggable/configurable & regenat…
Browse files Browse the repository at this point in the history
…e SDK (#373)

* make sdk generation external pluggable/configurable
* regen SDK
  • Loading branch information
mjudeikis authored Sep 3, 2024
1 parent 83b05ce commit 63950fc
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 25 deletions.
7 changes: 5 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
SHELL := /bin/bash

export API_TAGS ?= ExternalClusterAPI,PoliciesAPI,NodeConfigurationAPI,NodeTemplatesAPI,AuthTokenAPI,ScheduledRebalancingAPI,InventoryAPI,UsersAPI,OperationsAPI,EvictorAPI,SSOAPI,CommitmentsAPI,WorkloadOptimizationAPI
export SWAGGER_LOCATION ?= https://api.cast.ai/v1/spec/openapi.json

default: build

.PHONY: init-examples
Expand All @@ -26,8 +29,8 @@ format-tf:

.PHONY: generate-sdk
generate-sdk:
@echo "==> Generating castai sdk client"
@API_TAGS=ExternalClusterAPI,PoliciesAPI,NodeConfigurationAPI,NodeTemplatesAPI,AuthTokenAPI,ScheduledRebalancingAPI,InventoryAPI,UsersAPI,OperationsAPI,EvictorAPI,SSOAPI,CommitmentsAPI,WorkloadOptimizationAPI go generate castai/sdk/generate.go
echo "==> Generating castai sdk client"
go generate castai/sdk/generate.go

# The following command also rewrites existing documentation
.PHONY: generate-docs
Expand Down
10 changes: 5 additions & 5 deletions castai/resource_organization_members.go
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ const (
FieldOrganizationMembersMembers = "members"
)

const (
var (
ownerRole = "owner"
viewerRole = "viewer"
memberRole = "member"
Expand Down Expand Up @@ -97,7 +97,7 @@ func resourceOrganizationMembersCreate(ctx context.Context, data *schema.Resourc
}

newMemberships = append(newMemberships, sdk.CastaiUsersV1beta1NewMembershipByEmail{
Role: ownerRole,
Role: &ownerRole,
UserEmail: email,
})
}
Expand All @@ -108,7 +108,7 @@ func resourceOrganizationMembersCreate(ctx context.Context, data *schema.Resourc

for _, email := range emails {
newMemberships = append(newMemberships, sdk.CastaiUsersV1beta1NewMembershipByEmail{
Role: viewerRole,
Role: &viewerRole,
UserEmail: email,
})
}
Expand All @@ -119,7 +119,7 @@ func resourceOrganizationMembersCreate(ctx context.Context, data *schema.Resourc

for _, email := range emails {
newMemberships = append(newMemberships, sdk.CastaiUsersV1beta1NewMembershipByEmail{
Role: memberRole,
Role: &memberRole,
UserEmail: email,
})
}
Expand Down Expand Up @@ -285,7 +285,7 @@ func resourceOrganizationMembersUpdate(ctx context.Context, data *schema.Resourc
newMemberships := make([]sdk.CastaiUsersV1beta1NewMembershipByEmail, 0, len(manipulations.membersToAdd))
for user, role := range manipulations.membersToAdd {
newMemberships = append(newMemberships, sdk.CastaiUsersV1beta1NewMembershipByEmail{
Role: role,
Role: &role,
UserEmail: user,
})
}
Expand Down
99 changes: 84 additions & 15 deletions castai/sdk/api.gen.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions castai/sdk/generate.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package sdk

//go:generate echo "generating sdk for: ${API_TAGS}"
//go:generate echo "generating sdk for: ${API_TAGS} from ${SWAGGER_LOCATION}"
//go:generate go install github.com/deepmap/oapi-codegen/cmd/oapi-codegen@v1.11.0
//go:generate oapi-codegen -o api.gen.go --old-config-style -generate types -include-tags $API_TAGS -package sdk https://api.cast.ai/v1/spec/openapi.json
//go:generate oapi-codegen -o client.gen.go --old-config-style -templates codegen/templates -generate client -include-tags $API_TAGS -package sdk https://api.cast.ai/v1/spec/openapi.json
//go:generate oapi-codegen -o api.gen.go --old-config-style -generate types -include-tags $API_TAGS -package sdk $SWAGGER_LOCATION
//go:generate oapi-codegen -o client.gen.go --old-config-style -templates codegen/templates -generate client -include-tags $API_TAGS -package sdk $SWAGGER_LOCATION
//go:generate go install github.com/golang/mock/mockgen
//go:generate mockgen -source client.gen.go -destination mock/client.go . ClientInterface

0 comments on commit 63950fc

Please sign in to comment.