Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NOJIRA: make sdk generation external pluggable/configurable & regenate SDK #373

Merged
merged 2 commits into from
Sep 3, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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
Loading