{"id":18798764,"url":"https://github.com/f5networks/f5cs-sdk","last_synced_at":"2025-07-09T17:35:55.023Z","repository":{"id":144229420,"uuid":"290907696","full_name":"F5Networks/f5cs-sdk","owner":"F5Networks","description":null,"archived":false,"fork":false,"pushed_at":"2021-02-24T23:20:31.000Z","size":812,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":4,"default_branch":"release","last_synced_at":"2025-05-21T19:53:34.948Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/F5Networks.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-27T23:58:17.000Z","updated_at":"2020-10-21T22:42:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"cd7511d2-57b3-4815-afbc-6a8a5eba4c2c","html_url":"https://github.com/F5Networks/f5cs-sdk","commit_stats":null,"previous_names":[],"tags_count":15,"template":false,"template_full_name":null,"purl":"pkg:github/F5Networks/f5cs-sdk","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F5Networks%2Ff5cs-sdk","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F5Networks%2Ff5cs-sdk/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F5Networks%2Ff5cs-sdk/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F5Networks%2Ff5cs-sdk/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/F5Networks","download_url":"https://codeload.github.com/F5Networks/f5cs-sdk/tar.gz/refs/heads/release","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F5Networks%2Ff5cs-sdk/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264502280,"owners_count":23618567,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-07T22:12:55.539Z","updated_at":"2025-07-09T17:35:54.200Z","avatar_url":"https://github.com/F5Networks.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SDK for F5CS services\n\n## SDK Overview - golang only\n\nThis SDK is generated using openapi-generator tool (Link here). openapi-generator supports auto-generation of SDK for numerous languages using openapi specification.\n\nThis repository contains the `Go` generated SDK only. SDK for other languages can be easily generated by modifying the generation Makefile.\n\n## SDK Generation and Current Status\n\nThe SDK generation needs only 1 input - the openapi spec file. As of now, the openapi spec files from subscription-service, authentication-service and dashboard-service are copied over from the respective repostories in the `schema` folder.\n\nTODO - To directly use the openapi spec files from respective repos instead of copying manually.\n\nTo generate Golang SDK for new schemas, you can just update the Makefile with the new spec files. To generate the SDK, use the following command.\n\n```\nmake gensdk\n\n```\n\nOther language support can be easily added.\n\n## SDK Usage\n\nEach Generated package has an example of how to use the SDK and Readme corresponding to it. However, here is an example of how to use the SDK to Login to F5CS account and Get Subscriptions for the account.\n\n```golang\n\nimport (\n\t\"log\"\n\t\"context\"\n\tauthentication \"gitswarm.f5net.com/f5aas/f5cs-sdk/generated/authentication\"\n\tsubscription \"gitswarm.f5net.com/f5aas/f5cs-sdk/generated/subscription\"\n)\n\nfunc main() {\n\tauthCfg := authentication.NewConfiguration()\n\t// Authentication Client\n\tauthClient := authentication.NewAPIClient(authCfg)\n\t// Login\n\tlogin, _, err := authClient.AuthenticationServiceApi.Login(context.Background(), authentication.AuthenticationServiceLoginRequest{\n\t\tUsername: USERNAME,\n\t\tPassword: PASSWORD,\n\t})\n\tif err != nil {\n\t\tlog.Print(\"Login failed\")\n\t\treturn\n\t}\n\tcfg := subscription.NewConfiguration()\n\t// Subscription Client using the AccessToken from above Login\n\tc := subscription.NewAPIClient(cfg)\n\tauth := context.WithValue(context.Background(), subscription.ContextAccessToken, login.AccessToken)\n\t// Invoke ListSubscriptions API\n\tsubs, _, err := c.SubscriptionServiceApi.ListSubscriptions(auth, ACCOUNT, \u0026subscription.ListSubscriptionsOpts{})\n\tif err != nil {\n\t\tlog.Print(\"ListSubscriptions failed\")\n\t\treturn\n\t}\n}\n\n\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff5networks%2Ff5cs-sdk","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff5networks%2Ff5cs-sdk","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff5networks%2Ff5cs-sdk/lists"}