Skip to content

Latest commit

 

History

History
201 lines (174 loc) · 11 KB

File metadata and controls

201 lines (174 loc) · 11 KB

Go API client for gopureclient

No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)

Overview

This API client was generated by the OpenAPI Generator project.

  • API version: 2.0
  • Package version: FA_2_0

Installation

Install the following dependencies:

go get github.com/stretchr/testify/assert
go get github.com/stretchr/testify/require
go get golang.org/x/crypto
go get golang.org/x/sys
go get github.com/golang-jwt/jwt/v5

Put the package under your project folder and add the following in import:

import gopureclient "github.com/PureStorage-OpenConnect/go-pure-client/flasharray/FA_2_0"

Configuration

To build configuration use configuration builder.

An example for OAuth authentication where user is pureuser, issuer is go-test, key id is 123e4567-e89b-12d3-a456-426614174000, client id is 123e4567-e89b-12d3-a456-426614174000, privateKeyBytes contains RSA private key protected by password pwd123:

configuration, err := openapiclient.NewConfigurationBuilder("[ARRAY_URL]").
	OAuth("pureuser", "go-test", "123e4567-e89b-12d3-a456-426614174000", "123e4567-e89b-12d3-a456-426614174000", "pwd123", privateKeyBytes).
	DisableSSLVerification().
	Build()

An example for API token authentication:

configuration, err := openapiclient.NewConfigurationBuilder("[ARRAY_URL]").
	APIToken(apiToken).
	DisableSSLVerification().
	Build()

An example for anonymous authentication:

configuration, err := openapiclient.NewConfigurationBuilder("[ARRAY_URL]").
	DisableSSLVerification().
	Build()

Builder methods:

Method Description
UserAgent Sets custom user agent
DisableSSLVerification Disables verification of certificate chain
DebugMode Enables debug mode
HTTPClient Sets custom HTTPClient
Timeout Sets request timeout of the default HTTP client
OAuthWithRawTokenID Sets OAuth authentication with raw ID token
OAuth Sets OAuth authentication with private key
APIToken Sets API token authentication

By default requests time out after 90 seconds, including reading the response body. Use Timeout to change this, or Timeout(0) to disable it. When you bring your own client via HTTPClient, set the timeout on that client instead; combining it with Timeout is rejected by Build, as is DisableSSLVerification.

Documentation for API Endpoints

All URIs are relative to http://localhost

Class Method HTTP request Description
AuthorizationAPI LoginPost Post /api/2.0/login POST login (placeholder)
AuthorizationAPI LogoutPost Post /api/2.0/logout POST logout (placeholder)
AuthorizationAPI ApiAPIVersionGet Get /api/api_version List available API versions
AuthorizationAPI Oauth210TokenPost Post /oauth2/1.0/token Get access token
ConnectionsAPI ConnectionsDelete Delete /api/2.0/connections Break a connection between a volume and its host or host group
ConnectionsAPI ConnectionsGet Get /api/2.0/connections List volume connections
ConnectionsAPI ConnectionsPost Post /api/2.0/connections Create a connection between a volume and host or host group
HostGroupsAPI HostGroupsDelete Delete /api/2.0/host-groups Delete a host group
HostGroupsAPI HostGroupsGet Get /api/2.0/host-groups List host groups
HostGroupsAPI HostGroupsHostsGet Get /api/2.0/host-groups/hosts List host groups associated with hosts
HostGroupsAPI HostGroupsPatch Patch /api/2.0/host-groups Manage a host group
HostGroupsAPI HostGroupsPerformanceByArrayGet Get /api/2.0/host-groups/performance/by-array List host group performance data by array
HostGroupsAPI HostGroupsPerformanceGet Get /api/2.0/host-groups/performance List host group performance data
HostGroupsAPI HostGroupsPost Post /api/2.0/host-groups Create a host group
HostsAPI HostsDelete Delete /api/2.0/hosts Delete a host
HostsAPI HostsGet Get /api/2.0/hosts List hosts
HostsAPI HostsHostGroupsGet Get /api/2.0/hosts/host-groups List hosts associated with host groups
HostsAPI HostsPatch Patch /api/2.0/hosts Manage a host
HostsAPI HostsPerformanceByArrayGet Get /api/2.0/hosts/performance/by-array List host performance data by array
HostsAPI HostsPerformanceGet Get /api/2.0/hosts/performance List host performance data
HostsAPI HostsPost Post /api/2.0/hosts Create a host
VolumeSnapshotsAPI VolumeSnapshotsDelete Delete /api/2.0/volume-snapshots Eradicate a volume snapshot
VolumeSnapshotsAPI VolumeSnapshotsGet Get /api/2.0/volume-snapshots List volume snapshots
VolumeSnapshotsAPI VolumeSnapshotsPatch Patch /api/2.0/volume-snapshots Manage a volume snapshot
VolumeSnapshotsAPI VolumeSnapshotsPost Post /api/2.0/volume-snapshots Generate a volume snapshot
VolumeSnapshotsAPI VolumeSnapshotsTransferGet Get /api/2.0/volume-snapshots/transfer List volume snapshots with transfer statistics
VolumesAPI VolumesDelete Delete /api/2.0/volumes Eradicate a volume
VolumesAPI VolumesGet Get /api/2.0/volumes List volumes
VolumesAPI VolumesPatch Patch /api/2.0/volumes Manage a volume
VolumesAPI VolumesPerformanceByArrayGet Get /api/2.0/volumes/performance/by-array List volume performance data by array
VolumesAPI VolumesPerformanceGet Get /api/2.0/volumes/performance List volume performance data
VolumesAPI VolumesPost Post /api/2.0/volumes Create a volume
VolumesAPI VolumesSpaceGet Get /api/2.0/volumes/space List volume space information

Documentation For Models

Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains a number of utility functions to easily obtain pointers to values of basic types. Each of these functions takes a value of the given basic type and returns a pointer to it:

  • PtrBool
  • PtrInt
  • PtrInt32
  • PtrInt64
  • PtrFloat
  • PtrFloat32
  • PtrFloat64
  • PtrString
  • PtrTime