Skip to content

Commit

Permalink
addressing some PR feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
jasonmadigan committed Apr 30, 2024
1 parent e54e7e0 commit 6ef8259
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 54 deletions.
25 changes: 7 additions & 18 deletions cmd/generate_gatewayapi_httproute.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,8 @@ import (
)

var (
generateGatewayAPIHTTPRouteOAS string
generateGatewayAPIHTTPRouteOAS string
generateGatewayAPIHTTPRouteFormat string
)

//kuadrantctl generate gatewayapi httproute --oas [OAS_FILE_PATH | OAS_URL | @]
Expand All @@ -24,24 +25,12 @@ func generateGatewayApiHttpRouteCommand() *cobra.Command {
Use: "httproute",
Short: "Generate Gateway API HTTPRoute from OpenAPI 3.0.X",
Long: "Generate Gateway API HTTPRoute from OpenAPI 3.0.X",
RunE: func(cmd *cobra.Command, args []string) error {
outputFormat, err := cmd.Flags().GetString("output-format")
if err != nil {
return err
}

oasPath, err := cmd.Flags().GetString("oas")
if err != nil {
return err
}

return runGenerateGatewayApiHttpRoute(cmd, oasPath, outputFormat)
},
RunE: runGenerateGatewayApiHttpRoute,
}

// OpenAPI ref
cmd.Flags().StringVar(&generateGatewayAPIHTTPRouteOAS, "oas", "", "Path to OpenAPI spec file (in JSON or YAML format), URL, or '-' to read from standard input (required)")
cmd.Flags().StringP("output-format", "o", "yaml", "Output format: 'yaml' or 'json'. Default: yaml")
cmd.Flags().StringVarP(&generateGatewayAPIHTTPRouteFormat, "output-format", "o", "yaml", "Output format: 'yaml' or 'json'. Default: yaml")
err := cmd.MarkFlagRequired("oas")
if err != nil {
panic(err)
Expand All @@ -50,8 +39,8 @@ func generateGatewayApiHttpRouteCommand() *cobra.Command {
return cmd
}

func runGenerateGatewayApiHttpRoute(cmd *cobra.Command, oasPath, outputFormat string) error {
oasDataRaw, err := utils.ReadExternalResource(oasPath)
func runGenerateGatewayApiHttpRoute(cmd *cobra.Command, args []string) error {
oasDataRaw, err := utils.ReadExternalResource(generateGatewayAPIHTTPRouteOAS)
if err != nil {
return err
}
Expand All @@ -70,7 +59,7 @@ func runGenerateGatewayApiHttpRoute(cmd *cobra.Command, oasPath, outputFormat st
httpRoute := buildHTTPRoute(doc)

var outputBytes []byte
if outputFormat == "json" {
if generateGatewayAPIHTTPRouteFormat == "json" {
outputBytes, err = json.Marshal(httpRoute)
} else { // default to YAML if not explicitly JSON
outputBytes, err = yaml.Marshal(httpRoute)
Expand Down
29 changes: 11 additions & 18 deletions cmd/generate_kuadrant_authpolicy.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,31 +17,24 @@ import (
"github.com/kuadrant/kuadrantctl/pkg/utils"
)

var (
generateAuthPolicyOAS string
generateAuthPolicyFormat string
)

//kuadrantctl generate kuadrant authpolicy --oas [OAS_FILE_PATH | OAS_URL | @]

func generateKuadrantAuthPolicyCommand() *cobra.Command {
cmd := &cobra.Command{
Use: "authpolicy",
Short: "Generate Kuadrant AuthPolicy from OpenAPI 3.0.X",
Long: "Generate Kuadrant AuthPolicy from OpenAPI 3.0.X",
RunE: func(cmd *cobra.Command, args []string) error {
outputFormat, err := cmd.Flags().GetString("output-format")
if err != nil {
return err
}

oasPath, err := cmd.Flags().GetString("oas")
if err != nil {
return err
}

return runGenerateKuadrantAuthPolicy(cmd, oasPath, outputFormat)
},
RunE: runGenerateKuadrantAuthPolicy,
}

// OpenAPI ref
cmd.Flags().StringVar(&generateGatewayAPIHTTPRouteOAS, "oas", "", "Path to OpenAPI spec file (in JSON or YAML format), URL, or '-' to read from standard input (required)")
cmd.Flags().StringP("output-format", "o", "yaml", "Output format: 'yaml' or 'json'. Default: yaml")
cmd.Flags().StringVar(&generateAuthPolicyOAS, "oas", "", "Path to OpenAPI spec file (in JSON or YAML format), URL, or '-' to read from standard input (required)")
cmd.Flags().StringVarP(&generateAuthPolicyFormat, "output-format", "o", "yaml", "Output format: 'yaml' or 'json'. Default: yaml")
err := cmd.MarkFlagRequired("oas")
if err != nil {
panic(err)
Expand All @@ -50,8 +43,8 @@ func generateKuadrantAuthPolicyCommand() *cobra.Command {
return cmd
}

func runGenerateKuadrantAuthPolicy(cmd *cobra.Command, oasPath, outputFormat string) error {
oasDataRaw, err := utils.ReadExternalResource(oasPath)
func runGenerateKuadrantAuthPolicy(cmd *cobra.Command, args []string) error {
oasDataRaw, err := utils.ReadExternalResource(generateAuthPolicyOAS)
if err != nil {
return err
}
Expand All @@ -70,7 +63,7 @@ func runGenerateKuadrantAuthPolicy(cmd *cobra.Command, oasPath, outputFormat str
ap := buildAuthPolicy(doc)

var outputBytes []byte
if outputFormat == "json" {
if generateAuthPolicyFormat == "json" {
outputBytes, err = json.Marshal(ap)
} else { // default to YAML if not explicitly JSON
outputBytes, err = yaml.Marshal(ap)
Expand Down
29 changes: 11 additions & 18 deletions cmd/generate_kuadrant_ratelimitpolicy.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,28 +20,21 @@ import (

//kuadrantctl generate kuadrant ratelimitpolicy --oas [OAS_FILE_PATH | OAS_URL | @]

var (
generateRateLimitPolicyOAS string
generateRateLimitPolicyFormat string
)

func generateKuadrantRateLimitPolicyCommand() *cobra.Command {
cmd := &cobra.Command{
Use: "ratelimitpolicy",
Short: "Generate Kuadrant Rate Limit Policy from OpenAPI 3.0.X",
Long: "Generate Kuadrant Rate Limit Policy from OpenAPI 3.0.X",
RunE: func(cmd *cobra.Command, args []string) error {
outputFormat, err := cmd.Flags().GetString("output-format")
if err != nil {
return err
}

oasPath, err := cmd.Flags().GetString("oas")
if err != nil {
return err
}

return runGenerateKuadrantRateLimitPolicy(cmd, oasPath, outputFormat)
},
RunE: runGenerateKuadrantRateLimitPolicy,
}

cmd.Flags().String("oas", "", "Path to OpenAPI spec file (in JSON or YAML format) or URL (required)")
cmd.Flags().StringP("output-format", "o", "yaml", "Output format: 'yaml' or 'json'. Default: yaml")
cmd.Flags().StringVar(&generateRateLimitPolicyOAS, "oas", "", "Path to OpenAPI spec file (in JSON or YAML format), URL, or '-' to read from standard input (required)")
cmd.Flags().StringVarP(&generateRateLimitPolicyFormat, "output-format", "o", "yaml", "Output format: 'yaml' or 'json'. Default: yaml")

if err := cmd.MarkFlagRequired("oas"); err != nil {
fmt.Println("Error setting 'oas' flag as required:", err)
Expand All @@ -51,8 +44,8 @@ func generateKuadrantRateLimitPolicyCommand() *cobra.Command {
return cmd
}

func runGenerateKuadrantRateLimitPolicy(cmd *cobra.Command, oasPath, outputFormat string) error {
oasDataRaw, err := utils.ReadExternalResource(oasPath)
func runGenerateKuadrantRateLimitPolicy(cmd *cobra.Command, args []string) error {
oasDataRaw, err := utils.ReadExternalResource(generateRateLimitPolicyOAS)
if err != nil {
return err
}
Expand All @@ -71,7 +64,7 @@ func runGenerateKuadrantRateLimitPolicy(cmd *cobra.Command, oasPath, outputForma
rlp := buildRateLimitPolicy(doc)

var outputBytes []byte
if outputFormat == "json" {
if generateRateLimitPolicyFormat == "json" {
outputBytes, err = json.Marshal(rlp)
} else { // default to YAML if not explicitly JSON
outputBytes, err = yaml.Marshal(rlp)
Expand Down

0 comments on commit 6ef8259

Please sign in to comment.