{"id":20110697,"url":"https://github.com/dell/goscaleio","last_synced_at":"2025-04-06T01:09:43.789Z","repository":{"id":40384759,"uuid":"179599495","full_name":"dell/goscaleio","owner":"dell","description":null,"archived":false,"fork":false,"pushed_at":"2024-10-29T08:53:12.000Z","size":724,"stargazers_count":8,"open_issues_count":2,"forks_count":13,"subscribers_count":16,"default_branch":"main","last_synced_at":"2024-10-29T09:46:51.729Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dell.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-04-05T00:58:58.000Z","updated_at":"2024-10-29T07:37:53.000Z","dependencies_parsed_at":"2023-12-14T08:31:06.255Z","dependency_job_id":"d44b1a55-1a97-4e8b-8aac-0c06565cd683","html_url":"https://github.com/dell/goscaleio","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dell%2Fgoscaleio","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dell%2Fgoscaleio/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dell%2Fgoscaleio/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dell%2Fgoscaleio/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dell","download_url":"https://codeload.github.com/dell/goscaleio/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247419861,"owners_count":20936012,"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-13T18:13:24.092Z","updated_at":"2025-04-06T01:09:43.767Z","avatar_url":"https://github.com/dell.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Goscaleio\nThe *Goscaleio* project represents API bindings that can be used to provide ScaleIO functionality into other Go applications.\n\n\n- [Current State](#state)\n- [Usage](#usage)\n- [Licensing](#licensing)\n- [Support](#support)\n\n## Use Cases\nAny application written in Go can take advantage of these bindings.  Specifically, things that are involved in monitoring, management, and more specifically infrastructrue as code would find these bindings relevant.\n\n\n## \u003ca id=\"state\"\u003eCurrent State\u003c/a\u003e\nEarly build-out and pre-documentation stages.  The basics around authentication and object models are there.\n\n\n## \u003ca id=\"usage\"\u003eUsage\u003c/a\u003e\n\n### Logging in\n\n    client, err := goscaleio.NewClient()\n    if err != nil {\n      log.Fatalf(\"err: %v\", err)\n    }\n\n    _, err = client.Authenticate(\u0026goscaleio.ConfigConnect{endpoint, username, password})\n    if err != nil {\n      log.Fatalf(\"error authenticating: %v\", err)\n    }\n\n    fmt.Println(\"Successfuly logged in to ScaleIO Gateway at\", client.SIOEndpoint.String())\n\n\n### Reusing the authentication token\nOnce a client struct is created via the ```NewClient()``` function, you can replace the ```Token``` with the saved token.\n\n    client, err := goscaleio.NewClient()\n    if err != nil {\n      log.Fatalf(\"error with NewClient: %s\", err)\n    }\n\n    client.SetToken(oldToken)\n\n### Get Systems\nRetrieving systems is the first step after authentication which enables you to work with other necessary methods.\n\n#### All Systems\n\n    systems, err := client.GetInstance()\n    if err != nil {\n      log.Fatalf(\"err: problem getting instance %v\", err)\n    }\n\n#### Find a System\n\n    system, err := client.FindSystem(systemid,\"\",\"\")\n    if err != nil {\n      log.Fatalf(\"err: problem getting instance %v\", err)\n    }\n\n\n### Get Protection Domains\nOnce you have a ```System``` struct you can then get other things like ```Protection Domains```.\n\n    protectiondomains, err := system.GetProtectionDomain()\n    if err != nil {\n      log.Fatalf(\"error getting protection domains: %v\", err)\n    }\n\n## Debugging\n\nTwo environment variables can be set to aid in debugging\n\nEnv Var | Default Value |\n-- | -- |\n`GOSCALEIO_DEBUG` | `false`\n`GOSCALEIO_SHOWHTTP` | `false`\n\nSetting `GOSCALEIO_DEBUG` well enable logging to `stdout`.\nSetting `GOSCALEIO_SHOWHTTP` will log all HTTP requests and responses to `stdout`.\n\n\n\u003ca id=\"licensing\"\u003eLicensing\u003c/a\u003e\n---------\nLicensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at \u003chttp://www.apache.org/licenses/LICENSE-2.0\u003e\n\nUnless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.\n\n\u003ca id=\"support\"\u003eSupport\u003c/a\u003e\n-------\n\nFor any issues, questions or feedback, please follow our [support process](https://github.com/dell/csm/blob/main/docs/SUPPORT.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdell%2Fgoscaleio","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdell%2Fgoscaleio","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdell%2Fgoscaleio/lists"}