swagger

package
v0.0.0-...-b864956 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 20, 2023 License: MIT Imports: 20 Imported by: 0

README

Go API client for Cisco PSIRT openVuln API

The Cisco Product Security Incident Response Team (PSIRT) openVuln API is a RESTful API that allows customers to obtain Cisco Security Vulnerability information in different machine-consumable formats. APIs are important for customers because they allow their technical staff and programmers to build tools that help them do their job more effectively (in this case, to keep up with security vulnerability information).

For more information about the Cisco PSIRT openVuln API visit https://developer.cisco.com/psirt For detail steps on how to use the API go to: https://developer.cisco.com/psirt This is a beta release of a swagger YAML for the Cisco PSIRT openVuln API To access the API sign in with your Cisco CCO account at http://apiconsole.cisco.com and register an application to receive a client_id and a client_secret.

To obtain client ID and client secret:

  1. Visit https://apiconsole.cisco.com/
  2. Sign In
  3. Select My Applications Tab
  4. Register a New Application by:
  • Entering Application Name
  • Under OAuth2.0 Credentials check Client Credentials
  • Under Select APIs choose Cisco PSIRT openVuln API
  • Agree to the terms and service and click Register
  1. Take note of the "rate contract" presented like e.g.:
 Rate Limits
 10    Calls per second
 5,000    Calls per day
  1. Note the value of "Client ID" (a string like e.g. 'abc12abcd13abcdefabcde1a')
  2. Note the value of "Client Secret" (a string like e.g. '1a2abcDEfaBcDefAbcDeFA3b')

Documentation for API Endpoints

For more information about the openVuln API and how to access it visit: https://developer.cisco.com/psirt

Documentation For Authorization

psirt_openvuln_api_auth

Example

	auth := context.WithValue(context.Background(), sw.ContextAccessToken, "ACCESSTOKENSTRING")
    r, err := client.Service.Operation(auth, args)

Or via OAuth2 module to automatically refresh tokens and perform user authentication.

	import 	"golang.org/x/oauth2"

    / .. Perform OAuth2 round trip request and obtain a token .. //

    tokenSource := oauth2cfg.TokenSource(createContext(httpClient), &token)
	auth := context.WithValue(oauth2.NoContext, sw.ContextOAuth2, tokenSource)
    r, err := client.Service.Operation(auth, args)

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ContextOAuth2 takes a oauth2.TokenSource as authentication for the request.
	ContextOAuth2 = contextKey("token")

	// ContextBasicAuth takes BasicAuth as authentication for the request.
	ContextBasicAuth = contextKey("basic")

	// ContextAccessToken takes a string oauth2 access token as authentication for the request.
	ContextAccessToken = contextKey("accesstoken")

	// ContextAPIKey takes an APIKey as authentication for the request
	ContextAPIKey = contextKey("apikey")
)

Functions

func CacheExpires

func CacheExpires(r *http.Response) time.Time

CacheExpires helper function to determine remaining time before repeating a request.

Types

type APIClient

type APIClient struct {

	// API Services
	DefaultApi *DefaultApiService
	// contains filtered or unexported fields
}

APIClient manages communication with the Cisco PSIRT openVuln API API v0.0.4 In most cases there should be only one, shared, APIClient.

func NewAPIClient

func NewAPIClient(cfg *Configuration) *APIClient

NewAPIClient creates a new API client. Requires a userAgent string describing your application. optionally a custom http.Client to allow for advanced features such as caching.

func (*APIClient) ChangeBasePath

func (c *APIClient) ChangeBasePath(path string)

Change base path to allow switching to mocks

type APIKey

type APIKey struct {
	Key    string
	Prefix string
}

APIKey provides API key based authentication to a request passed via context using ContextAPIKey

type APIResponse

type APIResponse struct {
	*http.Response `json:"-"`
	Message        string `json:"message,omitempty"`
	// Operation is the name of the swagger operation.
	Operation string `json:"operation,omitempty"`
	// RequestURL is the request URL. This value is always available, even if the
	// embedded *http.Response is nil.
	RequestURL string `json:"url,omitempty"`
	// Method is the HTTP method used for the request.  This value is always
	// available, even if the embedded *http.Response is nil.
	Method string `json:"method,omitempty"`
	// Payload holds the contents of the response body (which may be nil or empty).
	// This is provided here as the raw response.Body() reader will have already
	// been drained.
	Payload []byte `json:"-"`
}

func NewAPIResponse

func NewAPIResponse(r *http.Response) *APIResponse

func NewAPIResponseWithError

func NewAPIResponseWithError(errorMessage string) *APIResponse

type BasicAuth

type BasicAuth struct {
	UserName string `json:"userName,omitempty"`
	Password string `json:"password,omitempty"`
}

BasicAuth provides basic http authentication to a request passed via context using ContextBasicAuth

type Configuration

type Configuration struct {
	BasePath      string            `json:"basePath,omitempty"`
	Host          string            `json:"host,omitempty"`
	Scheme        string            `json:"scheme,omitempty"`
	DefaultHeader map[string]string `json:"defaultHeader,omitempty"`
	UserAgent     string            `json:"userAgent,omitempty"`
	HTTPClient    *http.Client
}

func NewConfiguration

func NewConfiguration() *Configuration

func (*Configuration) AddDefaultHeader

func (c *Configuration) AddDefaultHeader(key string, value string)

type DefaultApiService

type DefaultApiService service

func (*DefaultApiService) SecurityAdvisoriesAdvisoryAdvisoryIdGet

func (a *DefaultApiService) SecurityAdvisoriesAdvisoryAdvisoryIdGet(ctx context.Context, advisoryId string) (*http.Response, error)

DefaultApiService Used to obtain an advisory given its advisory ID `advisory_id` (i.e., cisco-sa-20180221-ucdm) * @param ctx context.Context for authentication, logging, tracing, etc. @param advisoryId advisory ID @return

func (*DefaultApiService) SecurityAdvisoriesAllGet

func (a *DefaultApiService) SecurityAdvisoriesAllGet(ctx context.Context) (*http.Response, error)

DefaultApiService Used to obtain information about all published security advisories. By default the output is in JSON. To obtain the output in XML use the .xml extension. For example, /advisories/all.xml * @param ctx context.Context for authentication, logging, tracing, etc. @return

func (*DefaultApiService) SecurityAdvisoriesCveCveIdGet

func (a *DefaultApiService) SecurityAdvisoriesCveCveIdGet(ctx context.Context, cveId string) (*http.Response, error)

DefaultApiService Used to obtain an advisory using a given Common Vulnerability Enumerator (CVE). The `cve_id` format is CVE-YYYY-NNNN. For more information about CVE visit http://cve.mitre.org/ * @param ctx context.Context for authentication, logging, tracing, etc. @param cveId CVE Identifier (i.e., CVE-YYYY-NNNN) @return

func (*DefaultApiService) SecurityAdvisoriesIosGet

func (a *DefaultApiService) SecurityAdvisoriesIosGet(ctx context.Context, version string) (*http.Response, error)

DefaultApiService Used to obtain all advisories that affects the given ios version * @param ctx context.Context for authentication, logging, tracing, etc. @param version IOS version to obtain security advisories @return

func (*DefaultApiService) SecurityAdvisoriesIosxeGet

func (a *DefaultApiService) SecurityAdvisoriesIosxeGet(ctx context.Context, version string) (*http.Response, error)

DefaultApiService Used to obtain all advisories that affects the given ios version * @param ctx context.Context for authentication, logging, tracing, etc. @param version IOS version to obtain security advisories @return

func (*DefaultApiService) SecurityAdvisoriesLatestNumberGet

func (a *DefaultApiService) SecurityAdvisoriesLatestNumberGet(ctx context.Context, number int32) (*http.Response, error)

DefaultApiService Used to obtain all the latest security advisories given an absolute number. For instance, the latest 10 or latest 5. * @param ctx context.Context for authentication, logging, tracing, etc. @param number An absolute number to obtain the latest security advisories. @return

func (*DefaultApiService) SecurityAdvisoriesProductGet

func (a *DefaultApiService) SecurityAdvisoriesProductGet(ctx context.Context, product string) (*http.Response, error)

DefaultApiService Used to obtain all the advisories that affects the given product name. * @param ctx context.Context for authentication, logging, tracing, etc. @param product An product name to obtain security advisories that matches given product name. @return

func (*DefaultApiService) SecurityAdvisoriesSeveritySeverityFirstpublishedGet

func (a *DefaultApiService) SecurityAdvisoriesSeveritySeverityFirstpublishedGet(ctx context.Context, severity string, startDate string, endDate string) (*http.Response, error)

DefaultApiService Used to obtain all security advisories for a given security impact rating (critical, high, medium, or low) and additionally filter based of firstpublished start date and enddate. * @param ctx context.Context for authentication, logging, tracing, etc. @param severity Used to obtain all advisories that have a security impact rating of critical @param startDate @param endDate @return

func (*DefaultApiService) SecurityAdvisoriesSeveritySeverityGet

func (a *DefaultApiService) SecurityAdvisoriesSeveritySeverityGet(ctx context.Context, severity string) (*http.Response, error)

DefaultApiService Used to obtain all security advisories for a given security impact rating (critical, high, medium, or low). * @param ctx context.Context for authentication, logging, tracing, etc. @param severity Critical, High, Medium, Low @return

func (*DefaultApiService) SecurityAdvisoriesSeveritySeverityLastpublishedGet

func (a *DefaultApiService) SecurityAdvisoriesSeveritySeverityLastpublishedGet(ctx context.Context, severity string, startDate string, endDate string) (*http.Response, error)

DefaultApiService Used to obtain all security advisories for a given security impact rating (critical, high, medium, or low). * @param ctx context.Context for authentication, logging, tracing, etc. @param severity Used to obtain all advisories that have a security impact rating of critical @param startDate @param endDate @return

func (*DefaultApiService) SecurityAdvisoriesYearYearGet

func (a *DefaultApiService) SecurityAdvisoriesYearYearGet(ctx context.Context, year string) (*http.Response, error)

DefaultApiService Used to obtain all security advisories that have were orginally published in a specific year `YYYY`. * @param ctx context.Context for authentication, logging, tracing, etc. @param year The four digit year. @return

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL