{"id":22379130,"url":"https://github.com/sky-uk/go-pulse-vtm","last_synced_at":"2025-07-31T01:31:46.795Z","repository":{"id":57658718,"uuid":"92197309","full_name":"sky-uk/go-pulse-vtm","owner":"sky-uk","description":"Go Bindings for Pulse Secure Virtual Traffic Manager","archived":false,"fork":false,"pushed_at":"2018-01-12T10:13:08.000Z","size":301,"stargazers_count":5,"open_issues_count":3,"forks_count":2,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-06-20T06:26:10.796Z","etag":null,"topics":["brocade","brocade-traffic-manager","pulse-vtm","stingray","vtm"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/sky-uk.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-05-23T16:48:57.000Z","updated_at":"2024-06-20T06:26:10.797Z","dependencies_parsed_at":"2022-09-16T04:52:15.614Z","dependency_job_id":null,"html_url":"https://github.com/sky-uk/go-pulse-vtm","commit_stats":null,"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fgo-pulse-vtm","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fgo-pulse-vtm/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fgo-pulse-vtm/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sky-uk%2Fgo-pulse-vtm/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sky-uk","download_url":"https://codeload.github.com/sky-uk/go-pulse-vtm/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228204606,"owners_count":17884711,"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":["brocade","brocade-traffic-manager","pulse-vtm","stingray","vtm"],"created_at":"2024-12-04T23:09:03.686Z","updated_at":"2024-12-04T23:09:04.220Z","avatar_url":"https://github.com/sky-uk.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# go-pulse-vtm - Go Bindings for the Pulse Secure Virtual Traffic Manager (vTM)\n\n## Overview\n\nThis is the GoLang API wrapper for Pulse Secure  Virtual Traffic Manager (vTM).\nStarting from version 0.4.0 the API has been redesigned.\n\nThis repository used to be called go-brocade-vtm. Since version 0.4.50, this repository has been renamed to go-pulse-vtm.\n\n# API usage\n\n## Importing the API\n\n```\n    import(\"github.com/sky-uk/go-pulse-vtm/api\")\n```\n\n## Connecting to a Pulse vTM server\nThe Connect API returns a client object or an error in case of issues.\nThe APIVersion parameter can be used to specify a server API version to use;\nin case it is not provided, the list of available API versions is retrieved\nfrom the server and the highest available is used.\nCustom headers can be passed at connection time, if not passed the content type\nis anyhow set to \"application/json\"\n\n```\n    headers := make(map[string]string)\n    // set your custom headers...\n\tparams := Params{\n\t\tAPIVersion: \"3.8\",\n\t\tServer:    server,\n\t\tUsername:  username,\n\t\tPassword:  password,\n\t\tIgnoreSSL: true,\n\t\tDebug:     true,\n        Headers:   headers,\n\t}\n\n\tclient, err := Connect(params)\n```\n\n## Dealing with configuration resources\n\n### Setting (creating/updating) a resource\nThe Set API is provided to both create and update a configuration resource.\nThe last input paramenter is a pointer to a map (or struct) where the new\ncreated/updated resource is provided back.\n\n```\n    err := client.Set(\u003cresource type\u003e,\u003cresource name\u003e, \u003cresource profile\u003e, \u003cpointer to map/struct\u003e)\n\n    // example\n\tprofile := make(map[string]interface{})\n    name := \"new_virtual_server_8347\"\n    // fill the profile...\n    //...\n\n\tupdatedRes := make(map[string]interface{})\n\terr = client.Set(\"virtual_servers\", name, profile, \u0026updatedRes)\n```\n\n\n### Getting a resource\n\n#### Retrieve a resource by its name\n```\n    err := client.GetByName(\u003cresource type\u003e, \u003cresource name\u003e, \u003cpointer to map/struct\u003e)\n```\n\n#### Retrieve a resource by its url\n```\n    err := client.GetByURL(\u003cresource type\u003e, \u003cresource name\u003e, \u003cpointer to map/struct\u003e)\n```\n\n\n### Deleting a resource\n\n```\n    err := client.Delete(\u003cresource type\u003e, \u003cresource name\u003e)\n```\n\n### Getting all resource types\nThe ``GetAllResourceTypes`` returns the list of all resource types\n```\n    types, err := client.GetAllResourceTypes()\n```\n\n\n### Getting all resources of a type\nThe ``GetAllResources`` API returns a list of maps containing names/urls of all \nresources of the provided type.\n\n```\n    objs, err := client.GetAllResources(\u003cresource type\u003e)\n```\n\n## Dealing with information resources\nThe ``GetInformation`` API returns the information section for the passed server name\n```\n    info, err := client.GetInformation(\u003cserver name\u003e)\n```\n\n## Dealing with statistics\nThe ``GetStatistics`` API returns all the statistics resources for a server node name\n```\n    stats, err := client.GetStatistics(\u003cserver name\u003e)\n```\n\n## Getting the server state\nThe ``GetState`` API returns the current state for the passed server node name\n```\n    state, err := client.GetState(\u003cserver name\u003e)\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky-uk%2Fgo-pulse-vtm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsky-uk%2Fgo-pulse-vtm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsky-uk%2Fgo-pulse-vtm/lists"}